GOOGLE ADS

понедельник, 25 апреля 2022 г.

В translate() отсутствует 1 обязательный позиционный аргумент: 'текст'

Я хочу перевести твит с индонезийского языка на английский, поэтому после того, как я смогу получить твит, я запускаю этот код:

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

Но я получил эту конкретную ошибку:

TypeError: translate() отсутствует 1 обязательный позиционный аргумент: "текст"

Все ли знают, что за ошибка, и как я могу это исправить?


Решение проблемы

Это связано с тем, что вы используете Translatorкласс напрямую, а не сначала создаете экземпляр. При прямом вызове .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')

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...