以前可以使用 nltk.misc.babelfish
来翻译,但是雅虎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':'拉丁语'...}
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]: 这是一支笔