文件翻譯

👤 沒肚臍眼上帝 📦 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 文件翻譯為指定語言,同時完整保留原始格式(字型、字號、顏色、樣式)。

前置準備

小蔥技能7w4.net有完整的技能分類。

  • 確認文件格式: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