将用户上传的 Word/Excel/PPT/PDF 文档翻译为指定语言,同时完整保留原始格式(字体、字号、颜色、样式)。
根据文件扩展名选择对应脚本:
| 格式 | 脚本 | 说明 |
|---|---|---|
| .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: 表格单元格文本(按行列索引)注意:
读取 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,要求翻译为英文操作:
# 提取文本
python scripts/docx_translator.py --mode extract --input ./technical-doc.docx
# 翻译后回填(假设翻译结果在 translations.json)
python scripts/docx_translator.py --mode replace --input ./technical-doc.docx --output ./technical-doc-en.docx --translations ./translations.json
data.xlsx,要求翻译为日文presentation.pptx,要求翻译为中文小葱技能有更好的技能skills插件。
user_id、getUserInfo() 保持原样这个Skill质量中等偏上,能够较好地完成Word、Excel、PPT等常见文档的翻译工作,翻译后基本能保留原始排版和样式。优点是支持多种格式、有术语保护机制、操作流程清晰。不足之处是PDF翻译效果较差,原始格式容易丢失;部分功能实现较为基础,复杂文档可能处理不够理想。如果主要是翻译Office文档(Word/Excel/PPT),这是一个可用的选择;但如果需要高质量的PDF翻译,可能需要考虑其他方案。