文档翻译

👤 没肚脐眼上帝 📦 v1.0.0 ⭐ 4.4 ⬇️ 263 下载
📄 办公效率 免费

📖 技能介绍


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


文档翻译 Skill

任务目标

将用户上传的 Word/Excel/PPT/PDF 文档翻译为指定语言,同时完整保留原始格式(字体、字号、颜色、样式)。

前置准备

  • 确认文档格式:docx/xlsx/pptx/pdf
  • 术语表已就绪:翻译前读取 references/terminology.md,对列出的术语执行保护性处理

操作步骤

第一步:识别文档格式

根据文件扩展名选择对应脚本:

格式 脚本 说明
.docx scripts/docx_translator.py 完整保留格式
.xlsx scripts/xlsx_translator.py 完整保留格式
.pptx scripts/pptx_translator.py 完整保留格式
.pdf 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 获取术语保护规则,然后执行翻译:

  1. 对提取的文本进行翻译,目标语言由用户指定
  2. 术语保护:对术语表中的词汇不翻译,保持原样
  3. 代码/字段key不翻译:对技术标识符(如 user_idapi_key)保持原样
  4. 注释翻译:数学公式下方的描述性注释需要翻译

第四步:回填翻译

调用脚本 --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 字段为翻译后的文本

第五步:检查与调整

  • Word/Excel/PPT:格式基本保持,文本长度变化可能导致换行调整
  • PDF:格式可能有损失,输出后检查排版
  • 目录/页码:翻译后可能需要手动更新域

使用示例

示例1:翻译 Word 文档

  • 场景:用户上传 technical-doc.docx,要求翻译为英文
  • 操作: ```bash # 提取文本 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 ``` - 关键要点: - sdt元素(封面标题、规范性引用等)会被自动处理 - 术语表中的专业词汇不会被翻译

示例2:翻译 Excel 表格

  • 场景:用户上传 data.xlsx,要求翻译为日文
  • 操作:提取表格内容 → 翻译单元格 → 回填
  • 关键要点:每个单元格独立翻译,保持原位置

示例3:翻译 PPT

  • 场景:用户上传 presentation.pptx,要求翻译为中文
  • 操作:提取幻灯片文本 → 翻译 → 回填
  • 关键要点:每页幻灯片的文本框内容都会被翻译

资源索引

注意事项

  • 图片内文字:不提取翻译(除非用户明确要求)
  • 数学公式:公式本身不翻译,公式下方的描述性注释需要翻译
  • 代码片段:保持原样不翻译
  • 字段key/参数名:如 user_idgetUserInfo() 保持原样
  • 文本长度变化
  • Word/Excel/PPT:自动换行调整,基本可接受
  • PDF:可能需要手动调整
  • 目录/页码:翻译后建议手动更新域
  • sdt元素:Word文档中的结构化文档标签(如标准封面标题、规范性引用说明)会被正确处理

🤖 AI 评测

这个Skill质量中等偏上,能够较好地完成Word、Excel、PPT等常见文档的翻译工作,翻译后基本能保留原始排版和样式。优点是支持多种格式、有术语保护机制、操作流程清晰。不足之处是PDF翻译效果较差,原始格式容易丢失;部分功能实现较为基础,复杂文档可能处理不够理想。如果主要是翻译Office文档(Word/Excel/PPT),这是一个可用的选择;但如果需要高质量的PDF翻译,可能需要考虑其他方案。

📊 多维度评分

适应性4.8
规范性4.3
有效性4.3
可靠性4
可信度4.8

📁 包含文件 (17 个)

📄 SKILL.md 5.3 KB
📄 extract_helper.py 916 B
📄 extract_self_improving.py 1.1 KB
📄 extracted_text.json 78.7 KB
📄 extracted_text_self_improving.json 71.5 KB
📄 generate_pdf.py 3 KB
📄 references/terminology.md 2.7 KB
📄 scripts/docx_translator.py 9.1 KB
📄 scripts/extract_pdf_fix.py 1001 B
📄 scripts/pdf_translator.py 3.7 KB
📄 scripts/pptx_translator.py 4.1 KB
📄 scripts/replace_pdf_fix.py 2 KB
📄 scripts/xlsx_translator.py 3.6 KB
📄 translate_and_build.py 48.2 KB
📄 translate_self_improving.py 56.3 KB
📄 translations.json 48.9 KB
📄 translations_self_improving.json 54.7 KB

🔥 大家都在搜

wps 写作 pdf 苹果