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)

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

13

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

До речі можете спробувати ще переклад за допомогою ChatGPT:

from openai import OpenAI

client = OpenAI(
    api_key="sk-proj-XXXXXXXXXXXXX"
)

text = 'Червоні панчохи'

response = client.responses.create(
    model="gpt-4o-mini",
    input="Translate from uk into en. Respond just with translation.\n\n" + text
)

print(response.output_text)

Треба отримати OpenAI API KEY, ось інструкція українською мовою, та замінити "sk-proj-XXXXXXXXXXXXX" у коді. Сплачувати не треба, OpenAI дає тестови запити робити безкоштовно.

Та ще треба встановити сам клієнт OpenAI:

pip install openai

Відповідь з ChatGPT:

Red stockings

Я останній рік перекладаю за допомогою ChatGPT, а не Google Translate, тому що переклад краще та й можна за допомогою промпту задати певні правила перекладу.