如何使用 python 轻松地进行机器翻译?

How can I easily machine translate something with python?

您以前可以使用 nltk.misc.babelfish 来翻译东西,但是 Yahoo Babelfish API 宕机了。有没有简单的方法可以做到这一点?

>>> import translate
>>> translate('carpe diem', 'latin', 'english')

'seize the day' 

Goslate 是一个很好的库,它使用 Google 翻译:http://pythonhosted.org/goslate/

这是文档中的示例:

>>> import goslate
>>> gs = goslate.Goslate()
>>> print(gs.translate('hello world', 'de'))
hallo welt

为了从 "carpe diem" 到 "seize the day":

>>> print(gs.translate('carpe diem', 'en', 'la'))
seize the day

所以它与以前的 Babelfish API 本质上是一样的,但是目标语言和源语言的顺序调换了。还有一件事——如果你需要找出短代码,gs.get_languages() 会给你一个包含每种支持语言的所有短代码的字典:{...'la':'Latin'...}

googletrans 和 NLTK 是进行任何语言处理翻译的好库

from nltk import sent_tokenize

from googletrans import Translator

translator = Translator()

data = "All work and no play makes jack dull boy. All work and no play 
makes jack a dull boy."

token = sent_tokenize(data)

for tt in token:
    translatedText = translator.translate(tt, dest="ko")
    print(translatedText.text)

结果:

所有的工作和娱乐使杰克成为一个迟钝的男孩。

所有的工作和娱乐使杰克成为一个迟钝的男孩。

您可以使用 python translate 库。 使用 pip 安装:

$ pip install translate

代码示例:

In [1]: from translate import Translator
In [2]: translator= Translator(to_lang="zh")
In [3]: translation = translator.translate("This is a pen.")
Out [3]: 这是一支笔