最近來越南出差,遇到要將自己學習心得轉換成越南文給越南同事看。就研究了一下如何用Python來翻譯整個Word的文件,具越南同事說他有比對中文跟越南文意思差不多。
本文將教您如何使用 Python 的 python-docx
與 googletrans
套件,快速完成 Word 文件的自動翻譯。
本教學以繁體中文翻譯為越南語為範例,並提供程式碼的逐步解說。
python 3.11.3
python-docx version: 1.1.2
googletrans version: 4.0.0-rc.1
在開始之前,請確保您已安裝以下必要的 Python 套件:
pip install python-docx
pip install googletrans==4.0.0-rc1
以下是完整的程式碼,功能是將 Word 文件中的段落逐一翻譯並儲存為新文件。
from docx import Document
from googletrans import Translator
def translate_word_document(input_file, output_file, source_lang='zh-cn', target_lang='vi'):
# 加載翻譯器
translator = Translator()
# 打開 Word 文件
doc = Document(input_file)
# 遍歷每個段落
for paragraph in doc.paragraphs:
if paragraph.text.strip(): # 確保段落非空
try:
# 翻譯文字
translated_text = translator.translate(paragraph.text, src=source_lang, dest=target_lang).text
# 替換原段落的文字
paragraph.text = translated_text
except Exception as e:
print(f"翻譯失敗: {paragraph.text}, 錯誤信息: {e}")
# 保存翻譯後的文件
doc.save(output_file)
print(f"翻譯完成,已保存至 {output_file}")
# 使用範例
input_file = r"原始文件路徑.docx" # 替換為您的原始 Word 文件路徑
output_file = r"翻譯後文件路徑.docx" # 替換為您希望儲存的路徑
translate_word_document(input_file, output_file)
from docx import Document
from googletrans import Translator
Document
是 python-docx
提供的主要類,用於讀取和編輯 Word 文件。Translator
是 googletrans
提供的翻譯器類,支援多種語言的翻譯。translate_word_document
這個函式接收四個參數:
input_file
:原始 Word 文件的路徑。output_file
:翻譯後文件的儲存路徑。source_lang
:源語言(預設為簡體中文 zh-cn
)。target_lang
:目標語言(預設為越南語 vi
)。translator = Translator()
doc = Document(input_file)
Document
類開啟指定的 Word 文件。for paragraph in doc.paragraphs:
if paragraph.text.strip(): # 確保段落非空
try:
translated_text = translator.translate(paragraph.text, src=source_lang, dest=target_lang).text
paragraph.text = translated_text
except Exception as e:
print(f"翻譯失敗: {paragraph.text}, 錯誤信息: {e}")
translator.translate
翻譯段落文字,指定源語言與目標語言。doc.save(output_file)
原始文件路徑.docx
)。input_file
和 output_file
替換為實際的文件路徑後執行程式碼。googletrans
使用 Google Translate 進行翻譯,適用於一般情境,但專業文件可能需要進一步校對。googletrans
非官方 API,可能受限於 Google Translate 的反爬機制,若出現問題建議使用官方 API。