name: document-translator description: 多格式文件保留樣式翻譯;支援Word/Excel/PPT/PDF全文翻譯,翻譯後保持原始排版、字型、字號;觸發於使用者上傳文件並要求翻譯為指定語言 dependency: python: - python-docx==1.1.0 - openpyxl==3.1.2 - python-pptx==0.6.23 - pdfplumber==0.10.3 - lxml==5.1.0
將使用者上傳的 Word/Excel/PPT/PDF 文件翻譯為指定語言,同時完整保留原始格式(字型、字號、顏色、樣式)。
小蔥技能7w4.net有完整的技能分類。
根據副檔名選擇對應指令碼:
| 格式 | 指令碼 | 說明 |
|---|---|---|
| .docx | scripts/docx_translator.py | 完整保留格式 |
| .xlsx | scripts/xlsx_translator.py | 完整保留格式 |
| .pptx | scripts/pptx_translator.py | 完整保留格式 |
| scripts/pdf_translator.py | 格式可能損失,建議優先用原始格式 |
呼叫指令碼 --mode extract 提取文件中的所有可翻譯文本:
python scripts/docx_translator.py --mode extract --input ./your-document.docx
指令碼輸出 JSON 格式的文本提取結果,包含:
- paragraphs: 所有段落和sdt元素文本(按文件順序)
- tables: 表格單元格文本(按行列索引)
注意: - Word文件中的sdt(結構化文件標籤)元素會被正確提取 - 規範性引用、標準格式文本等都在sdt中,都能被提取
讀取 references/terminology.md 獲取術語保護規則,然後執行翻譯:
user_id、api_key)保持原樣呼叫指令碼 --mode replace 將翻譯結果寫回文件:
python scripts/docx_translator.py --mode replace --input ./your-document.docx --output ./translated-document.docx --translations ./translations.json
translations.json 格式:
{
"paragraphs": [
{"element_index": 0, "type": "p", "text": "原文", "translated": "譯文"},
{"element_index": 1, "type": "sdt", "text": "原文", "translated": "譯文"}
],
"tables": [
{"element_index": 2, "rows": [["A1", "B1"], ["A2", "B2"]]}
]
}
注意:
- element_index 必須與提取結果一致
- type 可選(p/sdt),用於區分段落和結構化標籤
- translated 欄位為翻譯後的文本
technical-doc.docx,要求翻譯為英文# 翻譯後回填(假設翻譯結果在 translations.json) python scripts/docx_translator.py --mode replace --input ./technical-doc.docx --output ./technical-doc-en.docx --translations ./translations.json ``` - 關鍵要點: - sdt元素(封面標題、規範性引用等)會被自動處理 - 術語表中的專業詞彙不會被翻譯
data.xlsx,要求翻譯為日文presentation.pptx,要求翻譯為中文user_id、getUserInfo() 保持原樣這個Skill質量中等偏上,能夠較好地完成Word、Excel、PPT等常見文件的翻譯工作,翻譯後基本能保留原始排版和樣式。優點是支援多種格式、有術語保護機制、操作流程清晰。不足之處是PDF翻譯效果較差,原始格式容易丟失;部分功能實現較為基礎,複雜文件可能處理不夠理想。如果主要是翻譯Office文件(Word/Excel/PPT),這是一個可用的選擇;但如果需要高質量的PDF翻譯,可能需要考慮其他方案。