Python使用translate庫(kù)實(shí)現(xiàn)多語(yǔ)種互相翻譯
在python中,有個(gè)多語(yǔ)種翻譯包,可以將各種語(yǔ)言進(jìn)行翻譯轉(zhuǎn)換,例如英語(yǔ)轉(zhuǎn)中文,韓語(yǔ)轉(zhuǎn)中文,日語(yǔ)轉(zhuǎn)韓語(yǔ)等,這個(gè)包便是translate,而且使用方便,翻譯準(zhǔn)確率還可以!
支持語(yǔ)言范圍
主要覆蓋語(yǔ)種
- 亞洲語(yǔ)言:中文(簡(jiǎn)/繁)、日語(yǔ)、韓語(yǔ)、越南語(yǔ)、泰語(yǔ)、印地語(yǔ)、印尼語(yǔ)、馬來(lái)語(yǔ)、菲律賓語(yǔ)等35。
- 歐洲語(yǔ)言:英語(yǔ)、法語(yǔ)、德語(yǔ)、西班牙語(yǔ)、葡萄牙語(yǔ)、意大利語(yǔ)、荷蘭語(yǔ)、波蘭語(yǔ)、俄語(yǔ)、烏克蘭語(yǔ)、土耳其語(yǔ)等516。
- 中東與非洲語(yǔ)言:阿拉伯語(yǔ)、希伯來(lái)語(yǔ)、波斯語(yǔ)、烏爾都語(yǔ)等5。
- 其他語(yǔ)言:匈牙利語(yǔ)、哈薩克語(yǔ)、印度語(yǔ)等16。
語(yǔ)言總量
支持超過(guò) 40 種語(yǔ)言互譯,覆蓋全球主流語(yǔ)種5。
語(yǔ)言參數(shù)格式
使用時(shí)可選擇以下兩種參數(shù)格式指定語(yǔ)言:
- 全稱(chēng)(如
"Chinese"、"Japanese") - 語(yǔ)言代碼(如
"ZH"、"JA"),部分語(yǔ)言支持細(xì)分代碼(如英語(yǔ)"EN-US")314。
示例代碼:
from translate import Translator
# 中文→英語(yǔ)
Translator(from_lang="Chinese", to_lang="English").translate("你好")
# 中文→日語(yǔ)(代碼形式)
Translator(from_lang="ZH", to_lang="JA").translate("你好")
例如:
| from_lang | to_lang |
|---|---|
| english | chinese |
| i need you | 我需要你 |
| Japanese | chinese |
| 今日の天気はどうですか? | 今天天氣怎么樣? |
| Japanese | Korean |
| 今日の天気はどうですか? | ?? ??? ?????? |
注意:如果不指定from_lang屬性,則默認(rèn)為english,to_lang屬性必須指定一種輸出語(yǔ)言,否則會(huì)報(bào)錯(cuò)。
文件翻譯實(shí)例(翻譯結(jié)果輸出文件)
該程序讀取指定的文本文件,并將其中的文本內(nèi)容(英文)翻譯成目標(biāo)語(yǔ)言(中文)。如果一行字符數(shù)超過(guò)500,則將其分割成更小的部分進(jìn)行翻譯。最終,將翻譯結(jié)果寫(xiě)入新的文件,并顯示翻譯結(jié)果文件的路徑。如果指定的文件路徑不存在,則會(huì)顯示相應(yīng)的提示信息。用戶(hù)需要輸入要翻譯的文本文件的路徑。
下面是代碼
注意下面的代碼使用了一個(gè)第三方庫(kù),需要你在cmd中輸入:pip install translate,下載這個(gè)第三方庫(kù)。
from translate import Translator
import os
def translate_text(text):
translator = Translator(to_lang="zh")
translation = translator.translate(text)
return translation
def translate_file(file_path):
# 檢查文件路徑是否存在
if os.path.isfile(file_path):
# 打開(kāi)文本文件并讀取內(nèi)容
with open(file_path, "r", encoding="utf-8") as file:
lines = file.readlines()
# 初始化結(jié)果列表
translations = []
# 逐行翻譯文本
for line in lines:
# 如果行的字符數(shù)超過(guò)500,將其分割成更小的部分進(jìn)行翻譯
if len(line) > 500:
# 按逗號(hào)分割行
segments = line.split(",")
for segment in segments:
# 翻譯段落
translation = translate_text(segment.strip())
# 追加到結(jié)果列表中
translations.append(translation)
else:
# 翻譯行
translation = translate_text(line.strip())
# 追加到結(jié)果列表中
translations.append(translation)
# 將翻譯結(jié)果寫(xiě)入新的文件
translated_file_path = "translated_" + os.path.basename(file_path)
with open(translated_file_path, "w", encoding="utf-8") as file:
file.write("\n".join(translations))
print("文件翻譯完成,翻譯結(jié)果已寫(xiě)入文件: " + translated_file_path)
else:
print("指定的文件路徑不存在")
# 輸入要翻譯的文本文件路徑
file_path = input("請(qǐng)輸入要翻譯的文本文檔的路徑: ")
translate_file(file_path)
給大家展示一下效果:
如圖是要翻譯的文本文檔:

它的路徑為D:\\123.txt.
接下來(lái)運(yùn)行程序

當(dāng)程序運(yùn)行成功后,就可以在 包含上面代碼的.py文件所在的目錄看到存儲(chǔ)翻譯結(jié)果的文本文檔了
如圖:

translated_123.txt就是了。
總結(jié)
translate庫(kù),將指定的英文文本文件翻譯成中文,如果遇到超過(guò)500字符的行,它會(huì)自動(dòng)分割并逐段翻譯,然后將所有翻譯結(jié)果寫(xiě)入新文件,用戶(hù)需提供文件路徑,程序會(huì)檢查文件是否存在,并在成功翻譯后顯示結(jié)果文件的位置
到此這篇關(guān)于Python使用translate庫(kù)實(shí)現(xiàn)多語(yǔ)種互相翻譯的文章就介紹到這了,更多相關(guān)Python用translate實(shí)現(xiàn)中英等互譯內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于torch.optim的靈活使用詳解(包括重寫(xiě)SGD,加上L1正則)
今天小編就為大家分享一篇關(guān)于torch.optim的靈活使用詳解(包括重寫(xiě)SGD,加上L1正則),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
基于python requests selenium爬取excel vba過(guò)程解析
這篇文章主要介紹了基于python requests selenium爬取excel vba過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
Python運(yùn)算符之成員運(yùn)算符(in/not in)的使用場(chǎng)景詳解
這篇文章主要探索Python成員運(yùn)算符(in/not in)的使用場(chǎng)景與優(yōu)化技巧,提升代碼效率與質(zhì)量,掌握核心概念、應(yīng)用場(chǎng)景與常見(jiàn)問(wèn)題解決方案,助你成為Python高手,需要的朋友可以參考下2026-05-05
Python extract及contains方法代碼實(shí)例
這篇文章主要介紹了Python extract及contains方法代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
python獲取beautifulphoto隨機(jī)某圖片代碼實(shí)例
python獲取beautifulphoto隨機(jī)某圖片代碼實(shí)例,大家參考使用吧2013-12-12
Python?UserWarning:?Glyph?missing?from?font(s)?DejaVu?
這篇文章主要介紹了Python?UserWarning:?Glyph?missing?from?font(s)?DejaVu?Sans警告及解決方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2026-01-01
Python OpenCV處理圖像之圖像像素點(diǎn)操作
這篇文章主要為大家詳細(xì)介紹了Python OpenCV處理圖像之圖像像素點(diǎn)操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
Python隊(duì)列RabbitMQ 使用方法實(shí)例記錄
這篇文章主要介紹了Python隊(duì)列RabbitMQ 使用方法,結(jié)合實(shí)例形式分析了Python隊(duì)列RabbitMQ創(chuàng)建隊(duì)列發(fā)送消息與創(chuàng)建消費(fèi)者消費(fèi)信息相關(guān)操作技巧,需要的朋友可以參考下2019-08-08
python實(shí)現(xiàn)數(shù)組平移K位問(wèn)題
這篇文章主要介紹了python實(shí)現(xiàn)數(shù)組平移K位問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02

