在单个文档中翻译多种语言的问题

Issue with translating multiple languages in a single document

我正在尝试使用 translate 包的语言翻译代码,其中提供者是 Microsoft。输入文本有英语和俄语两种语言,我的语言是英语。翻译后的文本不会更改为英文。谁能提供一些意见?

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"

无论出于何种原因,此库中使用的(较旧)版本的 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)。