翻译 python 无法正确自动检测语言

Translate python not auto detecting language properly

我目前正在为此使用翻译模块 (https://pypi.org/project/translate/)。

test = input(">> ")
test = test.split()
lang = test[-1].replace("-","")
del test[-1]
test = ' '.join(test)
print(lang)
print(test)
translator = Translator(from_lang='autodetect', to_lang=lang)
translation = translator.translate(test)
print(translation)

输入“hola -en”我应该期望它把它翻译成“hello”——而不是输出为“hola”,没有变化。如果我执行“hello -es”,我应该期望它会将其翻译成“hola”,它确实如此。

我似乎无法弄清楚为什么从英语以外的语言进行翻译不起作用。

示例:

>> hello -es
to_lang: es
input: hello
output: Hola

>> hola -en
to_lang: en
input: hola
output: hola

好吧,我做了一个解决方法,解决了我的问题,但没有解决自动检测问题。 在用户输入中添加第二个参数以包含“from_lang”可解决此问题。

test = input(">> ")
test = test.split()
to_lang = test[-1].replace("-","")
from_lang = test[-2].replace("-","")
del test[-1]
del test[-1]
test = ' '.join(test)
print(from_lang,to_lang)
print(test)
translator = Translator(from_lang=from_lang, to_lang=to_lang)
translation = translator.translate(test)
print(translation)