translate() 缺少 1 个必需的位置参数:'text'

translate() missing 1 required positional argument: 'text'

我想将一条推文从印度尼西亚语翻译成英语,所以在我收到一条推文后,我 运行 此代码:

from googletrans import Translator

tweet = tweet.text # This saves the twitter text
tw_inggris = Translator.translate(tweet, src='id', dest='en')

但我收到了这个特定错误:

TypeError: translate() missing 1 required positional argument: 'text'

大家都知道错误是什么吗?我该如何解决?

这是因为您直接使用 Translator class 而不是先创建一个实例。直接在 class 上调用 .translate() 函数会将第一个参数视为 self,将第二个参数视为 text(因此会出现错误)。所以你需要做这样的事情:

from googletrans import Translator

tweet = tweet.text
translator = Translator()
tw_inggris = translator.translate(tweet, src='id', dest='en')

或者对于单次使用,您可以简单地这样做:

Translator().translate(tweet.text, src='ar', dest='en')