:
使用预训练模型时经常会涉及到中英文互译,总结一下方法
安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple translate
使用
#中文翻译成英文
translator = Translator(from_lang='chinese',to_lang='english')
result = translator.translate("你好,世界!")
#英文翻译成中文
translator = Translator(from_lang='english', to_lang='chinese')
result = translator.translate("hello,world!")
但是翻译稍微复杂的语句就会报错:
RuntimeError: generator raised StopIteration
解决方法:
实际测试之后,发现是from_lang、to_lang两个参数的问题,语言设置写"Chinese"、"ZH"都可以,但是用"Chinese"这种就会报错,全部不改为缩写;
tran=translate.Translator(from_lang="ZH",to_lang="EN")
url = '接口'
data = {
'from': 'AUTO',
'to': 'AUTO',
'smartresult': 'dict',
'client': 'fanyideskweb',
'salt': '1500092479607',
'sign': 'd9f9a3aa0a7b34241b3fe30505e5d436',
'doctype': 'json',
'version': '2.1',
'keyfrom': 'fanyi.web',
'action': 'FY_BY_CL1CKBUTTON',
'typoResult': 'true'}
data['i'] = content.replace('\n', '')
data = urllib.parse.urlencode(data).encode('utf-8')
wy = urllib.request.urlopen(url, data)
html = wy.read().decode('utf-8')
ta = json.loads(html)
res = ta['translateResult'][0][0]['tgt']