DeckLingo for PPTX
Use this skill for translation tasks on existing .pptx decks when the output must stay editable and visually close to the source.
It is designed to stay tool-agnostic so the same skill package can be used in Codex-style environments, OpenClaw-style environments, and other agent runtimes that can execute local scripts and read SKILL.md.
Install on ClawHub:
clawhub install decklingo-pptx
Best search phrases for this skill:
- translate powerpoint to chinese
- translate pptx to english
- localize presentation deck
- translate speaker notes in powerpoint
- glossary aware ppt translation
What This Skill Covers
- User-selectable translation target language
- User-selectable source language, including English to Chinese workflows
- User-selectable working/output language for the skill itself
- Translation of editable text in slides, speaker notes, layouts, and slide masters
- Terminology control through glossary files
- Verification that requested source-language text no longer remains in editable text objects
- Scan-only and dry-run workflows before writing output
Real Example Prompts
- Translate this PowerPoint from English to Simplified Chinese and keep all speaker notes editable.
- Convert this Chinese lecture deck into fluent English, but keep file names, URLs, and numbers unchanged.
- Localize this PPTX into Japanese using my glossary and tell me if any source-language text remains in layouts or masters.
When To Use It
- Use it when the source deck must remain editable after translation.
- Use it when you need slides, notes, layouts, or masters translated selectively.
- Use it when repeated terminology should stay stable with a glossary.
When Not To Use It
- Do not use it when the deck text is baked into screenshots or flattened images.
- Do not use it when the user wants a full visual redesign rather than translation.
- Do not use it as a generic document translator for PDFs, DOCX, or websites.
Defaults
source language: auto
target language: infer from the request; if not clear, use the most obvious requested language
english -> chinese is a first-class workflow, not a fallback case
working/output language: use the user's current language by default
translation scope: slides on, notes on, layouts off, masters off unless the user requests a full inherited-text cleanup
Keep these separate:
- Target language: the language written into the deck
- Working language: the language used in logs, summaries, and user-facing notes
Workflow
- Determine:
- input PPTX path
- output PPTX path
- source language
- target language
- working language
- whether notes/layouts/masters should be translated
- Run the scan script first when the deck is unfamiliar or large.
- Prefer XML-level translation so the deck remains editable and layout drift stays low.
- Translate paragraph-sized text instead of isolated run fragments whenever possible.
- Preserve numbers, dates, URLs, filenames, code snippets, and product names unless translation is clearly needed.
- Re-scan the result and report:
- output file path
- paragraph counts
- glossary usage
- any remaining source-language text in editable objects
Scripts
Use the bundled scripts:
python .trae/skills/decklingo-pptx/scripts/scan_pptx_text.py \
--input "path/to/input.pptx" \
--source-lang zh \
--include-notes \
--include-layouts \
--include-masters
python .trae/skills/decklingo-pptx/scripts/translate_pptx_text.py \
--input "path/to/input.pptx" \
--output "path/to/output.pptx" \
--source-lang auto \
--target-lang en \
--ui-lang zh \
--include-notes \
--glossary-file ".trae/skills/decklingo-pptx/assets/glossary.sample.json" \
--report-file "translation-report.json"
Common Options
--source-lang: source language code, default auto
--target-lang: target language code such as en, ja, fr, de, zh-CN
--ui-lang: language for logs and summaries, usually zh or en
--include-notes: include speaker notes
--include-layouts: include slide layouts
--include-masters: include slide masters
--glossary-file: JSON glossary mapping source terms to preferred translations
--skip-pattern-file: regex patterns to protect text like URLs, file names, code identifiers, or custom labels
--report-file: write a machine-readable JSON report
--dry-run: inspect and translate in memory without writing a new deck
--backup-suffix: backup suffix used when translating in place, default .bak
When To Load References
Notes
- Reuse or patch a better project-local translator if the repository already contains one.
- If network translation is required, verify connectivity first.
- If the user asks for design cleanup after translation, pair this skill with a slide-layout skill rather than rebuilding the deck here.
- Treat third-party skills and scripts as untrusted code and review them before enabling.
- Minimal runtime requirements: Python 3.10+,
lxml, deep-translator, ZIP read/write access.
- Changelog: see references/changelog.md.
1---2name: decklingo-pptx3description: Translate editable PowerPoint decks into Chinese, English, Japanese, and other target languages while preserving layout, glossary consistency, and editability. Use for PPTX localization, English-to-Chinese slides, Chinese-to-English decks, speaker note translation, and glossary-aware presentation workflows.4license: MIT5---6
7# DeckLingo for PPTX
8
9Use this skill for translation tasks on existing `.pptx` decks when the output must stay editable and visually close to the source.
10
11It is designed to stay tool-agnostic so the same skill package can be used in Codex-style environments, OpenClaw-style environments, and other agent runtimes that can execute local scripts and read `SKILL.md`.
12
13Install on ClawHub:
14
15```bash
16clawhub install decklingo-pptx
17```
18
19Best search phrases for this skill:
20
21- translate powerpoint to chinese
22- translate pptx to english
23- localize presentation deck
24- translate speaker notes in powerpoint
25- glossary aware ppt translation
26
27## What This Skill Covers
28
29- User-selectable translation target language
30- User-selectable source language, including English to Chinese workflows
31- User-selectable working/output language for the skill itself
32- Translation of editable text in slides, speaker notes, layouts, and slide masters
33- Terminology control through glossary files
34- Verification that requested source-language text no longer remains in editable text objects
35- Scan-only and dry-run workflows before writing output
36
37## Real Example Prompts
38
39- Translate this PowerPoint from English to Simplified Chinese and keep all speaker notes editable.
40- Convert this Chinese lecture deck into fluent English, but keep file names, URLs, and numbers unchanged.
41- Localize this PPTX into Japanese using my glossary and tell me if any source-language text remains in layouts or masters.
42
43## When To Use It
44
45- Use it when the source deck must remain editable after translation.
46- Use it when you need slides, notes, layouts, or masters translated selectively.
47- Use it when repeated terminology should stay stable with a glossary.
48
49## When Not To Use It
50
51- Do not use it when the deck text is baked into screenshots or flattened images.
52- Do not use it when the user wants a full visual redesign rather than translation.
53- Do not use it as a generic document translator for PDFs, DOCX, or websites.
54
55## Defaults
56
57- `source language`: `auto`
58- `target language`: infer from the request; if not clear, use the most obvious requested language
59- `english -> chinese` is a first-class workflow, not a fallback case
60- `working/output language`: use the user's current language by default
61- `translation scope`: slides on, notes on, layouts off, masters off unless the user requests a full inherited-text cleanup
62
63Keep these separate:
64
65- **Target language**: the language written into the deck
66- **Working language**: the language used in logs, summaries, and user-facing notes
67
68## Workflow
69
701. Determine:
71 - input PPTX path
72 - output PPTX path
73 - source language
74 - target language
75 - working language
76 - whether notes/layouts/masters should be translated
772. Run the scan script first when the deck is unfamiliar or large.
783. Prefer XML-level translation so the deck remains editable and layout drift stays low.
794. Translate paragraph-sized text instead of isolated run fragments whenever possible.
805. Preserve numbers, dates, URLs, filenames, code snippets, and product names unless translation is clearly needed.
816. Re-scan the result and report:
82 - output file path
83 - paragraph counts
84 - glossary usage
85 - any remaining source-language text in editable objects
86
87## Scripts
88
89Use the bundled scripts:
90
91```bash
92python .trae/skills/decklingo-pptx/scripts/scan_pptx_text.py \
93 --input "path/to/input.pptx" \
94 --source-lang zh \
95 --include-notes \
96 --include-layouts \
97 --include-masters
98```
99
100```bash
101python .trae/skills/decklingo-pptx/scripts/translate_pptx_text.py \
102 --input "path/to/input.pptx" \
103 --output "path/to/output.pptx" \
104 --source-lang auto \
105 --target-lang en \
106 --ui-lang zh \
107 --include-notes \
108 --glossary-file ".trae/skills/decklingo-pptx/assets/glossary.sample.json" \
109 --report-file "translation-report.json"
110```
111
112## Common Options
113
114- `--source-lang`: source language code, default `auto`
115- `--target-lang`: target language code such as `en`, `ja`, `fr`, `de`, `zh-CN`
116- `--ui-lang`: language for logs and summaries, usually `zh` or `en`
117- `--include-notes`: include speaker notes
118- `--include-layouts`: include slide layouts
119- `--include-masters`: include slide masters
120- `--glossary-file`: JSON glossary mapping source terms to preferred translations
121- `--skip-pattern-file`: regex patterns to protect text like URLs, file names, code identifiers, or custom labels
122- `--report-file`: write a machine-readable JSON report
123- `--dry-run`: inspect and translate in memory without writing a new deck
124- `--backup-suffix`: backup suffix used when translating in place, default `.bak`
125
126## When To Load References
127
128- Read [references/glossary-schema.md](./references/glossary-schema.md) when you need to create or edit a glossary file.
129- Read [references/translation-modes.md](./references/translation-modes.md) when choosing whether to include notes, layouts, or masters.
130- Read [references/platform-compatibility.md](./references/platform-compatibility.md) when packaging the skill for Codex, OpenClaw, or another agent runtime.
131
132## Notes
133
134- Reuse or patch a better project-local translator if the repository already contains one.
135- If network translation is required, verify connectivity first.
136- If the user asks for design cleanup after translation, pair this skill with a slide-layout skill rather than rebuilding the deck here.
137- Treat third-party skills and scripts as untrusted code and review them before enabling.
138- Minimal runtime requirements: Python 3.10+, `lxml`, `deep-translator`, ZIP read/write access.
139- Changelog: see [references/changelog.md](./references/changelog.md).