中英文翻译指令报错以及只部分翻译问题解决方法
评论
收藏

中英文翻译指令报错以及只部分翻译问题解决方法

经验分享
翊尘
2024-10-27 02:13·浏览量:976
翊尘
发布于 2024-10-27 02:13976浏览

一、问题背景及描述

前段时间有个客户在影刀客户端使用翻译扩展操作中的中英文翻译指令实现翻译商品评价并将翻译结果写入excel这一需求时,发现指令写完运行时出现了错误,报错内容是<ValueError:翻译异常,请稍后再试>,刚开始以为只是网络问题或者开了VPN,关掉再运行就好了,结果重试多次并且关掉VPN之后还是出现同样的错误。

同时另一个问题是:当待翻译的文本中带有。或者.符号时,翻译结果就只到这里,后面的就不翻译了,如下:

通过问题反馈以及询问指令开发老师,老师表示不是很想在官方指令里进行改动,因为怕传入的语句里面万一真的有特殊字符,就是说即使改了但是如果出现特殊字符作为符号也还是会出现同样的问题,所以他给我们的方案是对将要翻译的文本进行预处理。另外,该指令调用的是有道的接口,本来就是白嫖的,所以对调用次数有限制,调用几次就不行了,因此小伙伴如果有大量文本翻译的需求时要注意这点。

二、解决方法

1.关闭VPN

当出现<ValueError:翻译异常,请稍后再试>这个报错时,首先检查是否开了VPN,如果有开,关闭了再重试。

2.控制调用频率

如果待翻译的内容较多,而且较追求翻译准确度时,需要适当控制使用中英文翻译指令的频率,即控制调用接口的频率,以下是有道API文档给出的请求频率以及查询字符数要求,虽然请求频率和单次查询最大字符数都挺多的,但这是付费模式下的,对于免费的自然语言翻译服务,各接口只给一定量的免费查询字符数。所以有时候报错了,不一定是请求频率的问题,也可能是免费查询字符数用完了。。。。。。

3.待翻译文本预处理

为解决只翻译第一个。或者.前面内容的问题,可以先对文本进行处理,比如将文本中的。或者.替换成其他符号再进行翻译,翻译后再将符号替换回去,如下。

4.改用中英互译指令

影刀中不止这个指令可以用于翻译,还有一个是文本扩展功能中的中英互译,而且该指令没有只翻译第一个。或者.前面内容的部分翻译问题,传入的文本可以全部进行翻译。由于该指令调用的翻译接口为百度翻译接口,需要在百度翻译开放平台获取baiduID和对应的密钥,请求频率以及字符数要求如下:

注册方式:https://api.fanyi.baidu.com/api/trans/product/prodinfo,步骤也很简单,具体如下:


获取到baiduID和密钥之后直接传入就行,可以看到能完整翻译。

收藏2
全部评论1
最新
发布评论
评论