如何使用 Python 构建翻译器

当今世界有 7,000 多种语言。语言如此多样化,我们需要学习这些语言才能相互理解。由于语言数量众多,我们无疑错失了分享想法、知识和个人表达的机会。

幸运的是,你可以借助翻译器(包括机器翻译器)进行交流。输入或说出你的句子,程序就可以将其转换成你想要的语言。使用 Googletrans Python 模块,你只需几行代码就可以构建自己的基本翻译器。

什么是 Googletrans?

Googletrans 是一个使用 Google Translate API 来检测句子并将其从一种语言翻译成另一种语言的模块。该模块的一些功能如下:

  • 免费:您无需支付任何费用即可使用此模块。
  • 无限制:与大多数 API 不同,Googletrans 没有速率限制,您可以使用它进行无限制的翻译。
  • 可靠:Google 是互联网上最值得信赖的来源之一。Googletrans 使用与 Google Translate 相同的服务器。
  • 自动语言检测:与其他翻译器不同,您无需指定源语言。此模块可以自动检测语言,即使您不知道句子来自哪种语言或方言,它也能正常工作。
  • 批量翻译:您不必逐个翻译一个句子或一个段落,而是可以输入多个句子或段落的列表。

如果你正在寻找替代方案,或者只是想探索翻译技术的现状,你可以使用这些。

查找 Googletrans 支持的语言列表

首先使用您喜欢的方法安装模块;是最直接的方法。

您可能会遇到与您安装的 googletrans 版本有关的问题。如果您在运行这些示例时看到错误,请尝试安装版本 3.1.0a0,即pip 安装 googletrans==3.1.0a0

Googletrans 支持多种语言转换。要查找其支持的语言列表,请运行以下 Python 代码片段:

import googletrans\nprint(googletrans.LANGUAGES) 

将 Googletrans 库导入到你的环境中并使用语言获取语​​言及其首字母缩略词的列表。

该程序的输出将类似于此屏幕截图:

使用 Googletrans 检测语言

Googletrans 的一大优点是它会自动检测输入语言,因此您无需自行提供。要检测语言,请导入翻译者存在于谷歌翻译模块并创建其实例。使用探测()方法并传递任意所需语言的字符串。使用打印()陈述。

from googletrans import Translator\ntranslator = Translator()\nprint(translator.detect('이 문장은 한글로 쓰여졌습니다.'))\nprint(translator.detect('この文章は日本語で書かれました。'))\nprint(translator.detect('This sentence is written in English.')) 

此 Python 代码片段产生以下输出:

它显示检测到的语言的缩写,例如为了英语并显示其检测语言的准确度。

使用 Googletrans 自动检测并翻译成所需语言

进口翻译者来自谷歌翻译模块并传递一些要转换的文本行。创建一个实例翻译者. 接受两个参数,即作为源的文本和目标,以及要转换的语言,并将其传递给翻译()方法。

翻译()方法会自动检测并将您的文本翻译成您想要的语言。显示翻译后的文本。这将显示源语言、目标语言和翻译后的文本。您可以使用文本功能仅显示翻译后的文本。

from googletrans import Translator\ntest = ''' आयरन मैन मार्वल कॉमिक्स का सुपर हीरो है। चरित्र लेखक और संपादक स्टैन ली द्वारा बनाया गया था,\nऔर इसकी स्क्रिप्ट लारी लिबियर द्वारा विकसित की गई थी,\nऔर डिजाइन कलाकार डॉन हैक और जैक किर्बी द्वारा बनाया गया था।\nचरित्र ने अपनी पहली उपस्थिति टेल्स ऑफ सस्पेंस #३९ (कवर मार्च १९६३) में दर्ज की। '''\ntranslator = Translator()\ntranslated = translator.translate(test, dest = 'en')\nprint(translated.text) 

自动检测和翻译语言的输出是:

使用Googletrans进行批量翻译

您可以执行语言的批量翻译。要执行此操作,请导入所需的模块并创建翻译者。 使用翻译方法并传递文本字符串列表以及要将语言转换为的所需语言缩写。

遍历返回的对象并使用 origin 函数显示原始文本和 text 参数显示翻译后的文本。

from googletrans import Translator\ntranslator = Translator()\ntranslations = translator.translate(['What do you know?', 'Is this true?', 'We will eat a burger tomorrow'], dest='hi')\nfor translation in translations:\n print(translation.origin, ' -> ', translation.text) 

Googletrans 执行批量翻译的输出是:

如何使用音频将一种语言翻译成另一种语言

您还可以使用语音与翻译器进行交互,并构建一个简单的。为此,请导入语音识别模块别名为斯普尔. 导入谷歌翻译翻译图书馆和语音合成(Google 文本转语音)将翻译的文本转换为您可以听到的音频文件。导入操作系统保存音频文件。

import speech_recognition as spr\nfrom googletrans import Translator\nfrom gtts import gTTS\nimport os 

创建一个类对象识别器用于识别用户所说的单词作为输入,另一个对象用于初始化麦克风以捕获语音。

recog1 = spr.Recognizer()\nmc = spr.Microphone() 

使用语句作为异常处理的一部分。使用麦克风对象作为源,执行以下操作。初始化翻译器对象以进行翻译。设置源语言和所需的目标语言。使用打印语句通知用户说些什么。

使用调整环境噪声()方法在第一次开始监听时进行校准。这样做是因为实例的阈值属性可能设置为较高的值,然后根据听到的声音进行调整。校准此方法会自动将此阈值设置为较低的值。

使用 listen 属性录制单个短语。程序会一直录制语音,直到出现几秒钟的静音或没有更多音频输入。使用识别_google()使用 Google Web API 并识别音频源中的语音。或者,您也可以使用 Bing、IBM、Sphinx 和 Wit。

with mc as source:\n translator = Translator()\n from_lang = 'en'\n to_lang = 'hi'\n print("Speak something...")\n recog1.adjust_for_ambient_noise(source, duration=0.2)\n audio = recog1.listen(source)\n get_sentence = recog1.recognize_google(audio) 

显示从音频中识别出的短语。将句子、源语言和目标语言传递给翻译()函数。通过调用text参数显示翻译后的文本,并使用打印陈述。

    print("Phrase to be Translated :" + get_sentence)\n text_to_translate = translator.translate(get_sentence,\n src=from_lang,\n dest=to_lang)\n text = text_to_translate.text\n print("The translated text is: ", text) 

最后,使用语音合成将文本转换为语音。传递文本、要读取的语言,并可选地将 slow 参数设置为 false。将语音保存为 mp3 文件并使用操作系统模块来运行已保存的音频文件。

    speak = gTTS(text=text, lang=to_lang, slow=False)\n speak.save("captured_voice.mp3")\n os.system("start captured_voice.mp3") 

该程序的最后一行需要开始命令来播放 mp3 文件。您可能需要用不同的命令替换此命令,具体取决于您的本地环境。例如,在 macOS 上,您可以使用播放命令。

使用音频将一种语言翻译成另一种语言所获得的输出是:

谷歌翻译的替代品

虽然谷歌翻译是最受欢迎的翻译网站,但其定制功能有限,因此可能不适合某些用例。

如果 Google 翻译不能满足您的需求,您可以探索 iTranslate、百度翻译、Liguee 和 DeepL 等替代方案。这些翻译都是免费的,支持许多平台,可能更适合您使用。


精选文章

如何使用 Thanos Snap 隐藏 Safari 中的干扰项

如何使用 Thanos Snap 隐藏 Safari 中的干扰项

骁龙 X 系列命名和编号方案详解(附基准测试)

骁龙 X 系列命名和编号方案详解(附基准测试)

如何在 iOS 18 上设置自定义电池充电限制

如何在 iOS 18 上设置自定义电池充电限制

无需重置手机即可从 iPhone 和三星传输 WhatsApp

无需重置手机即可从 iPhone 和三星传输 WhatsApp

如何安装和运行 macOS Beta 版和稳定版

如何安装和运行 macOS Beta 版和稳定版

近期热门

Flipkart 和亚马逊大排灯节促销

Flipkart 和亚马逊大排灯节促销

iPhone 上的 Genmoji(iOS 18):如何使用以及何时使用

iPhone 上的 Genmoji(iOS 18):如何使用以及何时使用

如何在 iPhone、iPad 和 Mac 上使用新密码应用程序

如何在 iPhone、iPad 和 Mac 上使用新密码应用程序

iPhone 16 与 iPhone 16 Pro:USB 传输速度有何不同

iPhone 16 与 iPhone 16 Pro:USB 传输速度有何不同

A18 Pro 与 A17 Pro:AnTuTu、Geekbench、AI 和其他基准测试

A18 Pro 与 A17 Pro:AnTuTu、Geekbench、AI 和其他基准测试

随机推荐

如何使用 Thanos Snap 隐藏 Safari 中的干扰项

如何使用 Thanos Snap 隐藏 Safari 中的干扰项

骁龙 X 系列命名和编号方案详解(附基准测试)

骁龙 X 系列命名和编号方案详解(附基准测试)

如何在 iOS 18 上设置自定义电池充电限制

如何在 iOS 18 上设置自定义电池充电限制

无需重置手机即可从 iPhone 和三星传输 WhatsApp

无需重置手机即可从 iPhone 和三星传输 WhatsApp

如何安装和运行 macOS Beta 版和稳定版

如何安装和运行 macOS Beta 版和稳定版

玻璃钢生产厂家邳州五一商场美陈珠海祥云玻璃钢花盆上海小区玻璃钢雕塑价格商场圣诞美陈雕塑小区玻璃钢雕塑定制云浮小品玻璃钢动物雕塑南通玻璃钢花盆生产厂龙岩户外景观玻璃钢雕塑烟台市玻璃钢人物雕塑多少钱廊坊玻璃钢雕塑价格江西人物玻璃钢雕塑多少钱安徽欧式玻璃钢雕塑定做价格商丘卡通玻璃钢雕塑哪家好酒瓶玻璃钢雕塑定制厂家肇庆公园摆件玻璃钢人物雕塑河北玻璃钢动物雕塑公司广西玻璃钢雕塑怎么计算南平玻璃钢雕塑凳子东莞玻璃钢雕塑主题玻璃钢花盆生产技术与视频实惠的玻璃钢仿铜雕塑淮南定制玻璃钢雕塑厂家朔州玻璃钢人物雕塑新密不锈钢玻璃钢雕塑六安玻璃钢雕塑制作厂家公园标识玻璃钢仿铜雕塑定做登封人物玻璃钢雕塑抚州小区玻璃钢雕塑公司吉林省玻璃钢雕塑价格火烈鸟玻璃钢动物雕塑定做香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化