Google 为 Python 提供了可以实时翻译的模块 googletrans,使用非常简单。

下载

1
$ pip install googletrans

使用

翻译英文

1
2
3
4
5
6
from googletrans import Translator

translate = Translator()
result = translate.translate('中国')
print(result.text)
# China

默认翻译为英文,也可以指定想要的语言

翻译中文

1
2
3
4
5
6
from googletrans import Translator

translate = Translator()
result = translate.translate('China', dest='zh-CN')
print(result.text)
# 中国

灵活使用

模块虽好,但也有不完善的地方,比如当有连字符的时候就有可能翻译不出来,比如

1
America/Argentina/Jujuy

这时候只能原样返回,但是用 Google 的翻译工具是可以出结果的,那只能想想办法,比
如把练习替换为空格

1
2
result = translate.translate('America/Argentina/Jujuy'.replace("/", " "), dest='zh-CN')
# 美国阿根廷胡胡伊

这样就能得到想要的结果了

有一个问题,它是实时请求的 Google API,所以速度上不是很快,更适合一次性写入库的翻译操作。

可选的翻译种类有

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
LANGUAGES = {
    'af': 'afrikaans',
    'sq': 'albanian',
    'ar': 'arabic',
    'be': 'belarusian',
    'bg': 'bulgarian',
    'ca': 'catalan',
    'zh-CN': 'chinese_simplified',
    'zh-TW': 'chinese_traditional',
    'hr': 'croatian',
    'cs': 'czech',
    'da': 'danish',
    'nl': 'dutch',
    'en': 'english',
    'eo': 'esperanto',
    'et': 'estonian',
    'tl': 'filipino',
    'fi': 'finnish',
    'fr': 'french',
    'gl': 'galician',
    'de': 'german',
    'el': 'greek',
    'iw': 'hebrew',
    'hi': 'hindi',
    'hu': 'hungarian',
    'is': 'icelandic',
    'id': 'indonesian',
    'ga': 'irish',
    'it': 'italian',
    'ja': 'japanese',
    'ko': 'korean',
    'la': 'latin',
    'lv': 'latvian',
    'lt': 'lithuanian',
    'mk': 'macedonian',
    'ms': 'malay',
    'mt': 'maltese',
    'no': 'norwegian',
    'fa': 'persian',
    'pl': 'polish',
    'pt': 'portuguese',
    'ro': 'romanian',
    'ru': 'russian',
    'sr': 'serbian',
    'sk': 'slovak',
    'sl': 'slovenian',
    'es': 'spanish',
    'sw': 'swahili',
    'sv': 'swedish',
    'th': 'thai',
    'tr': 'turkish',
    'uk': 'ukrainian',
    'vi': 'vietnamese',
    'cy': 'welsh',
    'yi': 'yiddish',
  }

03-17 00:39