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ǔ)言:
- 全稱(如
"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)的提示信息。用戶需要輸入要翻譯的文本文件的路徑。
下面是代碼
注意下面的代碼使用了一個(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ě)入新文件,用戶需提供文件路徑,程序會(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)文章
Python使用pyinstaller實(shí)現(xiàn)學(xué)生管理系統(tǒng)流程
pyinstaller是一個(gè)非常簡(jiǎn)單的打包python的py文件的庫(kù),下面這篇文章主要給大家介紹了關(guān)于Python?Pyinstaller庫(kù)安裝步驟以及使用方法的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02Python DataFrame使用drop_duplicates()函數(shù)去重(保留重復(fù)值,取重復(fù)值)
這篇文章主要介紹了Python DataFrame使用drop_duplicates()函數(shù)去重(保留重復(fù)值,取重復(fù)值),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07python實(shí)現(xiàn)單目標(biāo)、多目標(biāo)、多尺度、自定義特征的KCF跟蹤算法(實(shí)例代碼)
這篇文章主要介紹了python實(shí)現(xiàn)單目標(biāo)、多目標(biāo)、多尺度、自定義特征的KCF跟蹤算法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01Python完整實(shí)現(xiàn)俄羅斯方塊游戲全解
俄羅斯方塊是一個(gè)最初由阿列克謝帕吉特諾夫在蘇聯(lián)設(shè)計(jì)和編程的益智類視頻游戲。本文將利用python實(shí)現(xiàn)這一經(jīng)典的小游戲,需要的可以參考一下2022-03-03pycharm三個(gè)有引號(hào)不能自動(dòng)生成函數(shù)注釋的問(wèn)題
這篇文章主要介紹了解決pycharm三個(gè)有引號(hào)不能自動(dòng)生成函數(shù)注釋的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02Python Pandas數(shù)據(jù)分析工具用法實(shí)例
這篇文章主要介紹了Python Pandas數(shù)據(jù)分析工具用法實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11使用wxPython實(shí)現(xiàn)逐行加載HTML內(nèi)容并實(shí)時(shí)顯示效果
這篇博客中,我們將詳細(xì)分析如何使用 wxPython 構(gòu)建一個(gè)簡(jiǎn)單的桌面應(yīng)用程序,用于逐行加載并顯示 HTML 文件的內(nèi)容,并在加載完成后通過(guò)瀏覽器組件呈現(xiàn)最終頁(yè)面,通過(guò)該應(yīng)用,我們可以體驗(yàn)到逐行加載 HTML 內(nèi)容的視覺(jué)效果,類似于模擬代碼輸入,需要的朋友可以參考下2024-11-11Python實(shí)現(xiàn)上傳Minio和阿里Oss文件
這篇文章主要介紹了如何通過(guò)Python上傳Minio和阿里OSS文件,文中的示例代碼介紹得很詳細(xì),對(duì)我們的工作和學(xué)習(xí)都有一定的價(jià)值,感興趣的小伙伴可以了解一下2021-12-12