Python使用translate库实现多语种互相翻译
作者:j-hacker1412
在python中,有个多语种翻译包,可以将各种语言进行翻译转换,例如英语转中文,韩语转中文,日语转韩语等,这个包便是translate,而且使用方便,翻译准确率还可以!
支持语言范围
主要覆盖语种
- 亚洲语言:中文(简/繁)、日语、韩语、越南语、泰语、印地语、印尼语、马来语、菲律宾语等35。
- 欧洲语言:英语、法语、德语、西班牙语、葡萄牙语、意大利语、荷兰语、波兰语、俄语、乌克兰语、土耳其语等516。
- 中东与非洲语言:阿拉伯语、希伯来语、波斯语、乌尔都语等5。
- 其他语言:匈牙利语、哈萨克语、印度语等16。
语言总量
支持超过 40 种语言互译,覆盖全球主流语种5。
语言参数格式
使用时可选择以下两种参数格式指定语言:
- 全称(如
"Chinese"
、"Japanese"
) - 语言代码(如
"ZH"
、"JA"
),部分语言支持细分代码(如英语"EN-US"
)314。
示例代码:
from translate import Translator # 中文→英语 Translator(from_lang="Chinese", to_lang="English").translate("你好") # 中文→日语(代码形式) Translator(from_lang="ZH", to_lang="JA").translate("你好")
例如:
from_lang | to_lang |
---|---|
english | chinese |
i need you | 我需要你 |
Japanese | chinese |
今日の天気はどうですか? | 今天天气怎么样? |
Japanese | Korean |
今日の天気はどうですか? | 오늘 날씨는 어떻습니까? |
注意:如果不指定from_lang属性,则默认为english,to_lang属性必须指定一种输出语言,否则会报错。
文件翻译实例(翻译结果输出文件)
该程序读取指定的文本文件,并将其中的文本内容(英文)翻译成目标语言(中文)。如果一行字符数超过500,则将其分割成更小的部分进行翻译。最终,将翻译结果写入新的文件,并显示翻译结果文件的路径。如果指定的文件路径不存在,则会显示相应的提示信息。用户需要输入要翻译的文本文件的路径。
下面是代码
注意下面的代码使用了一个第三方库,需要你在cmd中输入:pip install translate,下载这个第三方库。
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): # 打开文本文件并读取内容 with open(file_path, "r", encoding="utf-8") as file: lines = file.readlines() # 初始化结果列表 translations = [] # 逐行翻译文本 for line in lines: # 如果行的字符数超过500,将其分割成更小的部分进行翻译 if len(line) > 500: # 按逗号分割行 segments = line.split(",") for segment in segments: # 翻译段落 translation = translate_text(segment.strip()) # 追加到结果列表中 translations.append(translation) else: # 翻译行 translation = translate_text(line.strip()) # 追加到结果列表中 translations.append(translation) # 将翻译结果写入新的文件 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("文件翻译完成,翻译结果已写入文件: " + translated_file_path) else: print("指定的文件路径不存在") # 输入要翻译的文本文件路径 file_path = input("请输入要翻译的文本文档的路径: ") translate_file(file_path)
给大家展示一下效果:
如图是要翻译的文本文档:
它的路径为D:\\123.txt.
接下来运行程序
当程序运行成功后,就可以在 包含上面代码的.py文件所在的目录看到存储翻译结果的文本文档了
如图:
translated_123.txt就是了。
总结
translate库,将指定的英文文本文件翻译成中文,如果遇到超过500字符的行,它会自动分割并逐段翻译,然后将所有翻译结果写入新文件,用户需提供文件路径,程序会检查文件是否存在,并在成功翻译后显示结果文件的位置
到此这篇关于Python使用translate库实现多语种互相翻译的文章就介绍到这了,更多相关Python用translate实现中英等互译内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!