Python实现中英文互译

发布时间:2024年01月21日


使用预训练模型时经常会涉及到中英文互译,总结一下方法

translate库

安装

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")

有道翻译API

	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']
文章来源:https://blog.csdn.net/zly_Always_be/article/details/135727711
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。