Documents

translate-pdf

wshuyi/translate-pdf-skill · updated Apr 8, 2026

$npx skills add https://github.com/wshuyi/translate-pdf-skill --skill translate-pdf
summary

Translate PDF documents to any language while preserving layout, colors, and styling.

  • Three-step workflow: extract text strings, create a JSON translation mapping, then apply translations with language-specific font selection
  • Supports five font families covering Latin languages, Simplified Chinese, Traditional Chinese, Japanese, and Korean
  • CJK fonts automatically scale to 90% for optimal text fitting within original PDF boundaries
  • Preserves all original formatting including colors
skill.md

PDF Translation

Translate PDF text while preserving structure, colors, and background styling.

Workflow

Step 1: Extract texts

python {skill_path}/scripts/extract_texts.py <input.pdf>

Review output to see all unique text strings in the PDF.

Step 2: Create translation mapping

Translate each text to target language. Create JSON file:

{
  "Original Text 1": "Translated 1",
  "Original Text 2": "Translated 2"
}

Save as translations.json next to input PDF.

Step 3: Apply translations

python {skill_path}/scripts/translate_pdf.py <input.pdf> translations.json <output.pdf> --font <fontname>

Font options:

Font Language
helv Latin (English, Spanish, Portuguese, French, German, etc.)
china-ss Simplified Chinese
china-ts Traditional Chinese
japan Japanese
korea Korean

Output naming

Append language suffix: filename_EN.pdf, filename_ZH.pdf, filename_JA.pdf

Tips

  • Keep proper nouns, abbreviations, technical terms unchanged when appropriate
  • CJK fonts auto-scale to 90% for better fit
  • Use transparent fill to preserve original background colors