ppt-ooxml-translator
This skill provides a CLI for PPTX (OOXML) localization workflows (unpack/collect/apply/normalize/validate/repack) and supports JSON job files and glossary inputs. It requires callers to run the CLI via shell commands (e.g., python3 -m pip install ., ppt-ooxml-tool --json workflow ...) and does not request network or secret access.
ppt-ooxml-tool
Tool-agnostic CLI for PPTX OOXML localization workflows.
ppt-ooxml-translator is an AI-agent Skill that standardizes and automates PPTX (OOXML) localization workflows. It provides an end-to-end pipeline from unpacking, text extraction, translation apply-back, terminology normalization, and font standardization to final repacking, with structured JSON outputs for integration across clients and orchestration systems. The Skill is model-agnostic; translation model choice is delegated to the caller.
What It Does
- Unpack
.pptxinto OOXML files - Extract all
a:ttext runs into TSV - Apply translated TSV back to XML by stable IDs
- Normalize terminology and font by language preset
- Validate XML parse + font consistency
- Repack OOXML back into
.pptx
This project is model-agnostic. It does not bundle any LLM. Any client can call this CLI and use its own model for translation.
Install
python3 -m pip install .
Or editable mode for development:
python3 -m pip install -e .
Quick Start
1) Print bilingual help
ppt-ooxml-tool help --lang both
2) End-to-end one command
ppt-ooxml-tool --json workflow \
--input ./input.pptx \
--root ./unpacked \
--include slides,notes,masters \
--lang ja \
--glossary ./examples/glossary.example.json \
--output ./output.ja.pptx
3) Job file mode (recommended for external agents)
ppt-ooxml-tool --json runfile --job ./examples/job.example.json
Command Surface
helpunpackcollectapplynormalizevalidaterepackworkflowrunfile
All commands support --json for machine-readable output.
Language -> Font Preset
en->Calibrija->Yu Gothiczh-cn->Microsoft YaHeizh-tw->Microsoft JhengHeiko->Malgun Gothicar->Tahoma
You can override with --font.
Input / Output Expectations
- Packed input: pass
.pptxpath via--input - Unpacked input: folder must contain
[Content_Types].xmlandppt/ - Default TSV path pattern:
<unpacked_root>/translation.<lang>.tsv - Default repack path pattern:
<unpacked_root>.out.pptx(or explicit--output)
Integration Notes
- External tools only need shell command execution + JSON parsing.
- Translation generation should write the TSV
targetcolumn without changing row count/order. - Keep placeholders and numeric tokens intact.
License
MIT. See LICENSE.