def translate_text(text, target_language='zh-cn', max_retries=3): translation = None retries = 0
translator = Translator(service_urls=['translate.googleapis.com'], user_agent=get_random_user_agent())
while translation is None and retries < max_retries:
try:
translation = translator.translate(text, dest=target_language).text
sleep(1)
except Exception as e:
if retries >= 2:
sleep(5)
retries += 1
continue
if translation is None:
logging.warning(f"Translation <<<{text}>>> failed: {e}, have retry {retries} times, will jump to next line.")
return text
else:
logging.info(f"Translation <<<{text}>>> success: {translation}")
return translation
2024-06-27 16:17:57 INFO Translation <<<Georgia>>> success: 乔治亚州 2024-06-27 16:17:58 INFO Translation <<<Portugal>>> success: 葡萄牙 2024-06-27 16:17:58 INFO Translated countries: ['乔治亚州', '葡萄牙']
Georgia 没有正确的翻译成格鲁吉亚,而是翻译成了乔治亚州,Turkey 翻译成了火鸡
这个有办法设置吗? Google 了一圈资料,没看到解决办法
1
alfchin 153 天前 via iPhone
要有上下文才不会错。加个上文进去翻译完取最后一段就好
|
2
yyzh 153 天前 via Android
上下文联想+1
|
3
riggzh 153 天前
本来乔治亚州也是 Georgia
|
4
vacuitym 153 天前
这种需要上下文,感觉很适合用 AI 处理
|
5
LLaMA2 152 天前
笨点的方法
Georgia 和 Turkey 等所有国家的名称 全部使用 "country xxxxxx" 这样,得到的结果是 “国家 格鲁吉亚”和"国家 土耳其" |
6
Ericcccccccc 152 天前
Turkey 翻译成了火鸡 有啥问题
|