我正在使用提供者为Microsoft的translate
程序包尝试使用语言翻译代码。输入的文本有2种语言,英语和俄语,我的语言是英语。翻译后的文本不会更改为英语。任何人都可以提供一些输入吗?
from translate import Translator
to_lang = "en"
translator = Translator(provider='microsoft', to_lang=to_lang, secret_access_key=secret)
translator.translate("Elapsed Task Time – время в течение, которого выполнялась задача ")
'Elapsed Task Time – время в течение, которого выполнялась задача '
这是我尝试比较的问题
from googletrans import Translator
translator = Translator()
translator.translate(r.text, dest='en').text
"Elapsed Task Time - the time during which the task was performed"
预期结果:
"Elapsed Task Time - the time during which the task was performed"
答案 0 :(得分:1)
无论出于何种原因,该库中使用的Microsoft翻译器API的(较旧)版本都无法正确地自动检测混合语言。如果您的混合语言包括英语,并且您为另一种语言指定了from_lang
,则它将起作用。它总是检测英语。例如,如果您指定from_lang='ru'
并翻译为“ it”,则英语部分也将翻译为意大利语。
因此,回到您的情况,这应该可行:
translator = Translator(provider='microsoft', to_lang=to_lang, from_lang='ru', secret_access_key=secret)
也就是说,我建议您查看:https://github.com/MicrosoftTranslator/Text-Translation-API-V3-Python。特别是Translate.py。这样应该可以正常工作,并且使用最新的API(更准确地说,您可以控制哪个API)。