[Python]將Word文件整個翻譯,繁體中文轉換越南文

更新於 發佈於 閱讀時間約 7 分鐘

最近來越南出差,遇到要將自己學習心得轉換成越南文給越南同事看。就研究了一下如何用Python來翻譯整個Word的文件,具越南同事說他有比對中文跟越南文意思差不多。

本文將教您如何使用 Python 的 python-docx googletrans 套件,快速完成 Word 文件的自動翻譯。

本教學以繁體中文翻譯為越南語為範例,並提供程式碼的逐步解說。

我測試版本為

python 3.11.3
python-docx version: 1.1.2
googletrans version: 4.0.0-rc.1

繁體中文範本

raw-image

轉換成越南文

raw-image

開始準備

在開始之前,請確保您已安裝以下必要的 Python 套件:

  1. python-docx:用於處理 Word 文件(.docx 格式)。
  2. googletrans:Google 翻譯 API 的非官方實現,用於進行多語言翻譯。
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)

詳細解析

1. 載入所需的模組

from docx import Document
from googletrans import Translator
  • Documentpython-docx 提供的主要類,用於讀取和編輯 Word 文件。
  • Translatorgoogletrans 提供的翻譯器類,支援多種語言的翻譯。

2. 定義函式 translate_word_document

這個函式接收四個參數:

  • input_file:原始 Word 文件的路徑。
  • output_file:翻譯後文件的儲存路徑。
  • source_lang:源語言(預設為簡體中文 zh-cn)。
  • target_lang:目標語言(預設為越南語 vi)。

3. 初始化翻譯器

translator = Translator()
  • 建立一個翻譯器實例,稍後會用於翻譯文字。

4. 讀取 Word 文件

doc = Document(input_file)
  • 使用 Document 類開啟指定的 Word 文件。

5. 遍歷段落並翻譯

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 翻譯段落文字,指定源語言與目標語言。
  • 錯誤處理:若翻譯失敗,程式會列印錯誤訊息並繼續處理其他段落。

6. 儲存翻譯後的文件

doc.save(output_file)
  • 翻譯完成後,將結果存為新 Word 文件。

如何使用

  1. 準備原始文件
    將您要翻譯的 Word 文件放置在指定目錄,記下其路徑(例如:原始文件路徑.docx)。
  2. 執行程式碼
    input_fileoutput_file 替換為實際的文件路徑後執行程式碼。

注意事項

  1. 翻譯品質
    googletrans 使用 Google Translate 進行翻譯,適用於一般情境,但專業文件可能需要進一步校對。
  2. API 限制
    googletrans 非官方 API,可能受限於 Google Translate 的反爬機制,若出現問題建議使用官方 API。
  3. 格式損失
    目前程式僅翻譯純文字,對於表格、圖片、超連結等複雜格式的支援有限。


留言
avatar-img
留言分享你的想法!
avatar-img
螃蟹_crab的沙龍
149會員
293內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。 興趣是攝影,踏青,探索未知領域。 人生就是不斷的挑戰及自我認清,希望老了躺在床上不會後悔自己什麼都沒做。
螃蟹_crab的沙龍的其他內容
2025/04/29
1. 什麼是虛擬環境 (venv)? 虛擬環境就是讓你在同一台電腦上,可以為不同的專案建立「獨立」的 Python 環境,互不干擾。 例如:某個專案用 Dash 3.0.4,另一個用 Dash 4.0,不會互相影響。 2. 如何建立一個新的 venv? 打開終端機 Terminal / C
Thumbnail
2025/04/29
1. 什麼是虛擬環境 (venv)? 虛擬環境就是讓你在同一台電腦上,可以為不同的專案建立「獨立」的 Python 環境,互不干擾。 例如:某個專案用 Dash 3.0.4,另一個用 Dash 4.0,不會互相影響。 2. 如何建立一個新的 venv? 打開終端機 Terminal / C
Thumbnail
2024/09/14
通過 memory_profiler 來測試優化前後的程式。 上一篇memory_profiler工具的說明介紹 以下是一個記憶體使用量較高的原始程式碼,接著對程式進行優化後,再次使用 memory_profiler 來比較優化前後的記憶體使用情況。
Thumbnail
2024/09/14
通過 memory_profiler 來測試優化前後的程式。 上一篇memory_profiler工具的說明介紹 以下是一個記憶體使用量較高的原始程式碼,接著對程式進行優化後,再次使用 memory_profiler 來比較優化前後的記憶體使用情況。
Thumbnail
2024/09/14
memory_profiler 是一個用來測量 Python 程式記憶體使用情況的工具,它可以幫助開發者了解程式的記憶體消耗,特別是在執行長時間運行或處理大量數據的程式時非常有用。 有別於tracemalloc模組,memory_profiler能在每一行程式碼上顯示記憶體變化,但相對的就不適合埋
Thumbnail
2024/09/14
memory_profiler 是一個用來測量 Python 程式記憶體使用情況的工具,它可以幫助開發者了解程式的記憶體消耗,特別是在執行長時間運行或處理大量數據的程式時非常有用。 有別於tracemalloc模組,memory_profiler能在每一行程式碼上顯示記憶體變化,但相對的就不適合埋
Thumbnail
看更多
你可能也想看
Thumbnail
🌐 想看懂外文網站,但翻譯內容總是卡卡的? 「沉浸式翻譯」讓你輕鬆突破語言障礙! https://www.youtube.com/watch?v=IZiwEtLGTk0 🎯 這款擴充功能有多強大? 🌍 雙語對照模式:原文+翻譯並排顯示,閱讀更流暢,不用再頻繁切換語言! 🔄
Thumbnail
🌐 想看懂外文網站,但翻譯內容總是卡卡的? 「沉浸式翻譯」讓你輕鬆突破語言障礙! https://www.youtube.com/watch?v=IZiwEtLGTk0 🎯 這款擴充功能有多強大? 🌍 雙語對照模式:原文+翻譯並排顯示,閱讀更流暢,不用再頻繁切換語言! 🔄
Thumbnail
Máy phiên dịch tiếng Nhật là dòng sản phẩm dịch thuật hữu ích nhất hiện nay. Bởi nhu cầu của khách hàng cần đi công tác, du lịch Nhật Bản ngày càng nh
Thumbnail
Máy phiên dịch tiếng Nhật là dòng sản phẩm dịch thuật hữu ích nhất hiện nay. Bởi nhu cầu của khách hàng cần đi công tác, du lịch Nhật Bản ngày càng nh
Thumbnail
超多人以為我的外語能力很好,事實是不怎樣,而且我懶得想怎麼講,寧可當個啞巴不跟別人交流,當個文盲看不懂眼前所有的文字。 李笑來(中國作者)文章提到一直說自己英文不好,那可否請問你的中文就很好了嗎?
Thumbnail
超多人以為我的外語能力很好,事實是不怎樣,而且我懶得想怎麼講,寧可當個啞巴不跟別人交流,當個文盲看不懂眼前所有的文字。 李笑來(中國作者)文章提到一直說自己英文不好,那可否請問你的中文就很好了嗎?
Thumbnail
Photo by Elissa Garcia on Unsplash 倘若你的主修是外語,大眾第一反應就是「好優秀啊」,緊接著就覺得你不教學至少還能靠翻譯吃飯。然而,普羅大眾沒有考慮到:若果真如此,翻譯類系所存在的意義何在呢? 遙想最近的某「產、官、學」合作的研討會上專家如雲,首先發表的是被邀請來的
Thumbnail
Photo by Elissa Garcia on Unsplash 倘若你的主修是外語,大眾第一反應就是「好優秀啊」,緊接著就覺得你不教學至少還能靠翻譯吃飯。然而,普羅大眾沒有考慮到:若果真如此,翻譯類系所存在的意義何在呢? 遙想最近的某「產、官、學」合作的研討會上專家如雲,首先發表的是被邀請來的
Thumbnail
你有沒有想過,佛系學習英文,超級初學者也能很有自信地與老外聊天? 「只背200個單字+30句表達法」,正港台灣人也能無痛苦學會多國外語!
Thumbnail
你有沒有想過,佛系學習英文,超級初學者也能很有自信地與老外聊天? 「只背200個單字+30句表達法」,正港台灣人也能無痛苦學會多國外語!
Thumbnail
在這個高度競爭的全球化商業社會裡面,職場英文可說是不可或缺的能力,至於商用職場英文提升有哪些方法呢? 以下提供三種方法給大家,其中新飛編編最推薦的方法就是「把自己丟進英文環境裡」,像是前往菲律賓遊學就是一個很棒的方式,讓自己待在只能講英文的菲律賓語言學校環境裡面,一個月就會超有感提升英文力! 職場英
Thumbnail
在這個高度競爭的全球化商業社會裡面,職場英文可說是不可或缺的能力,至於商用職場英文提升有哪些方法呢? 以下提供三種方法給大家,其中新飛編編最推薦的方法就是「把自己丟進英文環境裡」,像是前往菲律賓遊學就是一個很棒的方式,讓自己待在只能講英文的菲律賓語言學校環境裡面,一個月就會超有感提升英文力! 職場英
Thumbnail
語言翻譯是讓你成為專業作家的一種有趣且有益的方式。無論你選擇處理哪兩種語言,你除了將享受整個翻譯的過程,同時又能透過閱讀和修改詞語增廣見聞,不過,有時翻譯某些對外國人來說沒有意義的單字、俚語或諺語可能是一件苦差事。以下為你整理透過哪些有用的工具、提示和技巧來減輕你在翻譯時會遇到的困難!
Thumbnail
語言翻譯是讓你成為專業作家的一種有趣且有益的方式。無論你選擇處理哪兩種語言,你除了將享受整個翻譯的過程,同時又能透過閱讀和修改詞語增廣見聞,不過,有時翻譯某些對外國人來說沒有意義的單字、俚語或諺語可能是一件苦差事。以下為你整理透過哪些有用的工具、提示和技巧來減輕你在翻譯時會遇到的困難!
Thumbnail
語言翻譯是讓你成為專業作家的一種有趣且有益的方式。無論你選擇處理哪兩種語言,你除了將享受整個翻譯的過程,同時又能透過閱讀和修改詞語增廣見聞,不過,有時翻譯某些對外國人來說沒有意義的單字、俚語或諺語可能是一件苦差事。以下為你整理透過哪些有用的工具、提示和技巧來減輕你在翻譯時會遇到的困難!
Thumbnail
語言翻譯是讓你成為專業作家的一種有趣且有益的方式。無論你選擇處理哪兩種語言,你除了將享受整個翻譯的過程,同時又能透過閱讀和修改詞語增廣見聞,不過,有時翻譯某些對外國人來說沒有意義的單字、俚語或諺語可能是一件苦差事。以下為你整理透過哪些有用的工具、提示和技巧來減輕你在翻譯時會遇到的困難!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News