ZetCode

Python Google 翻译器

最后修改于 2024 年 1 月 29 日

Python Google 翻译器教程展示了如何使用 googletrans 模块在 Python 中翻译文本。

Python googletrans 是一个翻译文本的模块。它使用 Google Translate Ajax API 来检测语言并翻译文本。

Python googletrans 列出语言

在第一个示例中,我们列出了支持的语言。

languages.py
#!/usr/bin/python

import googletrans

print(googletrans.LANGUAGES)

该程序以 Python 字典的形式列出了所有支持的语言。

import googletrans

我们导入 googletrans 模块。

print(googletrans.LANGUAGES)

我们打印 googletrans.LANGUAGES 变量。

$ languages.py
{'af': 'afrikaans', 'sq': 'albanian', 'am': 'amharic', 'ar': 'arabic', 'hy': 'armenian', 
'az': 'azerbaijani', 'eu': 'basque', 'be': 'belarusian', 'bn': 'bengali', 'bs': 'bosnian', 
'bg': 'bulgarian', 'ca': 'catalan', 'ceb': 'cebuano', 'ny': 'chichewa', 
'zh-cn': 'chinese (simplified)', 'zh-tw': 'chinese (traditional)', 'co': 'corsican', 
'hr': 'croatian', 'cs': 'czech', 'da': 'danish', ... }

在输出中,我们可以看到支持的语言。

Python googletrans 检测语言

googletrans 可用于检测语言。

detecting.py
#!/usr/bin/python

from googletrans import Translator

text1 = '''
A Római Birodalom (latinul Imperium Romanum) az ókori Róma által létrehozott 
államalakulat volt a Földközi-tenger medencéjében
'''

text2 = '''
Vysoké Tatry sú najvyššie pohorie na Slovensku a v Poľsku a sú zároveň jediným 
horstvom v týchto štátoch s alpským charakterom. 
'''

translator = Translator()

dt1 = translator.detect(text1)
print(dt1)

dt2 = translator.detect(text2)
print(dt2)

在示例中,我们有两个不同的文本。我们使用 detect 方法来确定文本的语言。

from googletrans import Translator

我们导入 Translator,它用于进行翻译。

text1 = '''
A Római Birodalom (latinul Imperium Romanum) az ókori Róma által létrehozott 
államalakulat volt a Földközi-tenger medencéjében
'''

text2 = '''
Vysoké Tatry sú najvyššie pohorie na Slovensku a v Poľsku a sú zároveň jediným 
horstvom v týchto štátoch s alpským charakterom. 
'''

这是要翻译的两段文本。第一段是匈牙利语,第二段是斯洛伐克语。

translator = Translator()

创建了一个 Translator 实例。

dt1 = translator.detect(text1)
print(dt1)

我们使用 detect 方法确定文本的语言,并将结果打印到控制台。该方法打印语言和置信度值,该值是正确猜测语言的概率。

$ ./detecting.py
Detected(lang=hu, confidence=1.0)
Detected(lang=sk, confidence=1.0)

两种语言都被正确检测到。

Python googletrans 简单翻译

翻译是通过 Translatortranslate 方法完成的。

simple.py
#!/usr/bin/python

from googletrans import Translator

translator = Translator()
translated = translator.translate('Бороди́нское сраже́ние')

print(translated.text)

如果我们不指定源语言和目标语言,googletrans 会尝试检测语言并将其翻译成英语。

translated = translator.translate('Бороди́нское сраже́ние')

我们翻译了一段俄语文本。我们得到了一个翻译后的对象。

print(translated.text)

要获得翻译结果,我们打印翻译后对象的 text 字段。

$ ./simple.py
Battle of Borodino

源语言和目标语言

在下面的示例中,我们指定了源语言和目标语言。

source_dest.py
#!/usr/bin/python

from googletrans import Translator

translator = Translator()

translated = translator.translate('svízelná situace', src='cs', dest='hu')

print(translated.text)

该示例将捷克语文本翻译成匈牙利语。

translated = translator.translate('svízelná situace', src='cs', dest='hu')

源语言通过 src 选项指定,目标语言通过 dest 选项指定。

$ ./source_dest.py
bizonytalan helyzetben

Python googletrans 翻译列表

我们可以翻译文本列表。

translate_list.py
#!/usr/bin/python

from googletrans import Translator

translator = Translator()

data = ['Dobrý deň', 'majestátny orol', 'krehká dohoda']

translated = translator.translate(data, src='sk', dest='en')

for trans in translated:
    print(f'{trans.origin} -> {trans.text}')

在示例中,我们翻译了 Python 列表中的三个文本值。

$ ./translate_list.py
Dobrý deň -> Good day
majestátny orol -> majestic eagle
krehká dohoda -> fragile agreement

来源

Python Googletrans 文档

在本文中,我们使用了 Python Google 翻译器。

作者

我叫 Jan Bodnar,我是一名热情的程序员,拥有丰富的编程经验。我自 2007 年以来一直在撰写编程文章。到目前为止,我已撰写了 1400 多篇文章和 8 本电子书。我在编程教学方面有十多年的经验。

列出所有 Python 教程