1

Тема: Простий перекладач Укр - Англ

Добрий день.
Є перекладач

from googletrans import Translator
translate = Translator() 
text = 'Привіт'
translated = translate.translate(text=text, src='ua', dest= 'en')
print(translated)

Видає помилку.

<coroutine object Translator.translate at 0x000002124572C340>
<sys>:0: RuntimeWarning: coroutine 'Translator.translate' was never awaited

Що я роблю не так?
Дякую!

2

Re: Простий перекладач Укр - Англ

print(asyncio.run(translated))

3

Re: Простий перекладач Укр - Англ

Дякую, але помилка.
Запит

from googletrans import Translator
import asyncio
translate = Translator() 
text = 'Привіт'
translated = translate.translate(text=text, src='ua', dest= 'en')
print(asyncio.run(translated))

Видав помилку

Traceback (most recent call last):
  File "c:\Users\Comp\Desktop\Python\New\Translate_PY.py", line 11, in <module>
    print(asyncio.run(translated))
          ~~~~~~~~~~~^^^^^^^^^^^^
  File "C:\Users\Comp\AppData\Local\Programs\Python\Python313\Lib\asyncio\runners.py", line 194, in run
    return runner.run(main)
           ~~~~~~~~~~^^^^^^
  File "C:\Users\Comp\AppData\Local\Programs\Python\Python313\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "C:\Users\Comp\AppData\Local\Programs\Python\Python313\Lib\asyncio\base_events.py", line 720, 
in run_until_complete
    return future.result()
           ~~~~~~~~~~~~~^^
  File "C:\Users\Comp\Desktop\Python\New\.venv\Lib\site-packages\googletrans\client.py", line 261, in translate
    raise ValueError("invalid source language")
ValueError: invalid source language

4

Re: Простий перекладач Укр - Англ

І що ж вам тут не зрозуміло? Неправильний код мови. Ідете в документацію і дивитеся, які там бувають мови.

Подякували: leofun011

5

Re: Простий перекладач Укр - Англ

Дякую. Вийшло.

from googletrans import Translator
import asyncio
translate = Translator() 
text = 'Півень'
translated = translate.translate(text=text, src='uk', dest= 'en')
print(asyncio.run(translated))

Як тепер отримати тільки текст?

Translated(src=uk, dest=en, text=Cock, pronunciation=None, extra_data="{'translat...")

6

Re: Простий перекладач Укр - Англ

А що з цього приводу в документації пишуть?

7

Re: Простий перекладач Укр - Англ

Пробував - не виходить.

8

Re: Простий перекладач Укр - Англ

alexen написав:

Пробував - не виходить.

Що саме не виходить, яка помилка?

9

Re: Простий перекладач Укр - Англ

Запит

from googletrans import Translator
import asyncio
translate = Translator() 
text = 'Півень'
translated = translate.translate(text=text, src='uk', dest= 'en')
print(asyncio.run(translated(text)))

Помилка

Traceback (most recent call last):
  File "c:\Users\Comp\Desktop\Python\New\Translate_PY.py", line 11, in <module>
    print(asyncio.run(translated(text)))
                      ~~~~~~~~~~^^^^^^
TypeError: 'coroutine' object is not callable
<sys>:0: RuntimeWarning: coroutine 'Translator.translate' was never awaited

10

Re: Простий перекладач Укр - Англ

Бо бібліотека не асинхронна, відповідно asyncio.run можна викинути.

11

Re: Простий перекладач Укр - Англ

Судячи з https://pypi.org/project/googletrans/, вам треба

print(asyncio.run(translated()).text)

робити. Але майже напевно це вам не допоможе, бо ви не знаєте Python, не бажаєте читати документацію і навіть не бажаєте пояснювати, що і навіщо ви робите.

Подякували: leofun011

12

Re: Простий перекладач Укр - Англ

Дякую.
Я знайшов торхи інший вихід, можливо складніший.

from googletrans import Translator
import asyncio
translate = Translator() 
text = 'Червоні панчохи'
translated = (asyncio.run(translate.translate(text=text, src='uk', dest= 'en'))).text
print(translated)

На жаль, я ще початківець - треба вміти розуміти документацію.
Бажання навчитись є.
Ще раз дякую за допомогу.
Простий перекладач стане у нагоді.