Перевод текста в реальном времени
Можно ли реализовать автоматический перевод текста после печатания? Суть заключается в том, что в любое поле, где можно печатать, переводить текст в реальном времени (можно и комбинациями клавиш переводить). Код не имеет ничего общего с переводом текста в реальном времени, но суть примерно такая.
from googletrans import Translator while True: word = str(input()) translator = Translator() result = translator.translate(word, dest = 'en') print(result.text)
Отслеживать
73.7k 112 112 золотых знаков 38 38 серебряных знаков 55 55 бронзовых знаков
задан 2 дек 2021 в 19:19
ByteBlunder ByteBlunder
143 1 1 серебряный знак 8 8 бронзовых знаков
Автоматический перевод текста с помощью Selenium в Python
Доброго времени суток! В данной статье я покажу Вам как можно автоматизировать перевод (в примере — с английского на русский) небольших кусков текста с Selenium.
Проект создается в бесплатной среде разработки PyCharm Community Edition. Помимо этого вам еще нужен будет скачанный драйвер браузера Chromium — вот здесь Вы можете найти нужную версию: https://chromedriver.storage.googleapis.com/index.html.
Итак, для начала установим сам Selenium:
$ pip install selenium
Далее скачанный файл chromedriver положите в папку venv/bin (предполагается, что Вы работаете в виртуальной среде, автоматически созданной при генерировании проекта PyCharm)
А теперь непосредственно код:
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
# чтение английского содержимого
def get_file_content(filename):
with open(filename, ‘r’) as fd:
return fd.read()
# запись полученного ответа
def write_file(filename, content):
with open(filename, ‘w’) as fd:
fd.write(content)
# сам перевод
def get_translate():
driver = Chrome()
# размер окна
driver.set_window_size(1360, 860)
# ссылка на сервис перевода
driver.get(«https://translate-service-url/»)
# засыпаем на 5 секунд
time.sleep(5)
# читаем содержимое файла и отправляем его в форму перевода
fakeArea = driver.find_element(by=By.ID, value=»inputText»)
content = get_file_content(‘english.txt’)
fakeArea.send_keys(content)
# получаем перевод
translation = driver.find_element(by=By.ID, value=»outputText»)
value = translation.get_attribute(‘textContent’)
# записываем в файл
write_file(‘./output.txt’, value)
print(«Перевод текста завершен»)
if __name__ == ‘__main__’:
get_translate()
Вот таким образом мы получили программу, которая сама заходит на сайт, делает перевод и сохраняет его нам в файл. Однако, обратите внимание, что часто сервисы проверяют запросы на предмет их совершения автоматическими программами — ботами и показывают капчу. В таком случае, например, желательно останавливать работу программы на небольшие промежутки времени, чтобы бот не был забанен.

![]()
Создано 07.06.2022 13:55:26
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
- Кнопка:
Она выглядит вот так: - Текстовая ссылка:
Она выглядит вот так: Как создать свой сайт - BB-код ссылки для форумов (например, можете поставить её в подписи):
Комментарии ( 0 ):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Copyright © 2010-2024 Русаков Михаил Юрьевич. Все права защищены.
API Google Translate перевод текста на Python

Приветствую всех, в этой статье я покажу как на Python можно создать самого простого переводчика с помощью библиотеки Googletrans.
Знакомство
Googletrans — это бесплатная и неограниченная библиотека Python, в которой реализован API Google Translate. Он использует API Google Translate Ajax для вызова методов перевода и определение языка.
- Максимальное количество символов в одном тексте — 15 КБ.
- Из-за ограничений веб-версии Google Translate этот API не гарантирует, что библиотека будет работать должным образом.
- Если вы хотите использовать стабильный API, я настоятельно рекомендую вам использовать официальный API перевода Google.
- Если вы получаете ошибку HTTP 5xx или ошибки типа #6, вероятно это связано с тем, что Google заблокировал IP-адрес вашего клиента.
Быстрый старт
Установим библиотеку через PyPI (Совместим с Python 3.6+).
pip install googletrans
Пример кода, который переведет текст hello world на русский
from googletrans import Translator translator = Translator() result = translator.translate('hello world', src='en', dest='ru') print(result.text) # Привет мир
- translate(text, dest=’en’, src=’auto’)
- text — Исходный текст для перевода.
- src — Язык исходного текста
- dest — Язык для перевода исходного текста.
Так же можно определить язык текста.
from googletrans import Translator translator = Translator() r1 = translator.detect('你好') r2 = translator.detect('Привет') print(f'Язык: , достоверность: ') print(f'Язык: , достоверность: ')- detected(lang, confidence)
- lang — обнаруженный язык
- confidence — достоверность результата обнаружения
Языковые коды для перевода
Так же можно использовать массив для перевода текста
from googletrans import Translator translator = Translator() translations = translator.translate(['여보세요', 'Hello', 'Ahoj'], dest='ru') for translation in translations: print(translation.origin, ' -> ', translation.text) #여보세요 -> Привет #Hello -> Привет #Ahoj -> ЗдравствуйПеревод текста с помощью Google Translate API в Python
Если вы не прятались под скалой, вы, вероятно, много раз использовали Google Translate. Всякий раз, когда вы пытаетесь перевести слово или предложение с определенного языка на другой, именно API Google Translate предоставляет вам желаемые результаты в фоновом режиме. Хотя вы можете переводить что угодно, просто перейдя на веб-страницу Google Translate, вы также можете интегрировать Google Translate API в свои веб-приложения или программы для ПК. Самое лучшее в API — это то, что он чрезвычайно прост в настройке и использовании.
На самом деле вы можете многое сделать с помощью Google Translate API, начиная от определения языков и заканчивая простым переводом текста, настройкой исходного и целевого языков и переводом целых списков текстовых фраз. В этой статье вы узнаете, как работать с Google Translate API на языке программирования Python.
Установка Google Translate API
Прежде чем вы сможете работать с Google Translate API в Python, вам нужно будет установить его. Существует два разных способа установки API. Первый способ прост. Просто зайдите в терминал и используйте pip для установки API, как и для любой другой библиотеки Python. Для этого введите в своем терминале следующую команду:
pip install googletransНажмите Enter и модуль Python для Google Translate API будет установлен в вашей системе.
Если вы установили дистрибутив Python для Anaconda, вы можете установить API с помощью Anaconda Prompt. В этом конкретном методе вы замените в приведенной выше команде pip на conda , как показано в следующем фрагменте кода:
conda install googletransТеперь, когда вы установили API, мы увидим его в действии с помощью нескольких примеров.
Список поддерживаемых языков
Google Translate API поддерживает множество языков. Чтобы вывести список всех поддерживаемых языков, запустите следующий скрипт:
import googletrans print(googletrans.LANGUAGES)В приведенном выше примере вы используете ключевое слово import для импорта модуля googletrans . Впоследствии вы можете перечислить все названия языков, напечатав атрибут LANGUAGES модуля googletrans .
При выполнении вышеприведенный фрагмент кода перечислит имена всех поддерживаемых языков вместе с их сокращенной записью. Вот как будет выглядеть вывод:
Основное использование
Основное использование Google Translate API — это, конечно, перевод слов или предложений с одного языка на другой. Для этого мы должны импортировать класс Translator из модуля googletrans .
from googletrans import TranslatorДалее вы должны создать объект класса Translator .
translator = Translator()Как только объект класса Translator создан, вы передадите текст на исходном языке в качестве параметра методу translate() объекта класса Translator() , как показано ниже:
result = translator.translate('Mitä sinä teet')В приведенном выше сценарии мы передаем финский текст методу translate() .
Метод translate() возвращает объект, содержащий информацию о переводе текста, источника и назначения языков и произношения текста. По умолчанию метод translate() возвращает английский перевод текста, переданного ему. В нашем случае объект, возвращаемый методом translate() , сохраняется в переменной result .
Объект, возвращаемый методом translate() , имеет следующие атрибуты:
- src : Исходный язык
- dest : Язык назначения, установленный на английский (en)
- origin : Оригинальный текст, в нашем примере это Mitä sinä teet
- text : Переведенный текст, в нашем случае это будет «what are you doing?»
- pronunciation : Произношение переведенного текста
Давайте напечатаем все вышеперечисленные атрибуты и посмотрим, что мы получим
print(result.src) print(result.dest) print(result.origin) print(result.text) print(result.pronunciation)fi en Mitä sinä teet What are you doing What are you doingВыходные данные показывают, что исходный язык — финский (fi), а язык назначения — английский (en). Переведенное предложение можно распечатать через атрибут text .
В приведенном выше примере мы не указали исходный язык. Поэтому Google Translate API пытается определить исходный язык. Аналогично, мы также не указали ни одного языка назначения, и поэтому API перевел исходный язык на язык по умолчанию, английский. Но что, если вы хотите указать исходный и целевой языки?
Указание исходного и целевого языков
На самом деле, очень легко указать язык назначения и исходный язык в Google Translate API. Вот код, который вы будете использовать для передачи только исходного языка:
result = translator.translate('Mikä on nimesi', src='fi')Чтобы добавить только целевой язык, вы должны добавить атрибут dest , за которым следует код языка:
result = translator.translate('Mikä on nimesi', dest='fr')Вы также можете передать исходный и целевой языки одновременно:
result = translator.translate('Mikä on nimesi', src='fi', dest='fr')Давайте теперь переведем финское предложение на французский, а затем напечатаем исходный и целевой языки, а также переведенный текст. На этот раз мы укажем исходный и целевой языки.
from googletrans import Translator translator = Translator() result = translator.translate('Mikä on nimesi', src='fi', dest='fr') print(result.src) print(result.dest) print(result.text)Приведенный выше фрагмент кода даст следующий результат.
fi fr Quel est votre nomПеревод списка фраз
Также можно перевести список текстовых фраз с помощью Google Translate API. Основной процесс такой же, как описано выше. Вам просто нужно передать список, содержащий фразы, в качестве параметра метода translate() . Это полезно для того, чтобы пакет фраз переводился отдельно, но все в одном вызове API.
Давайте создадим список строк, содержащих некоторые фразы из французского языка.
sentences = ['Bienvenu', 'Comment allez-vous', 'je vais bien']Теперь пришло время вызвать метод translate() и передать в качестве параметров список, исходный язык и язык назначения.
result = translator.translate(sentences, src='fr', dest='sw')В приведенном выше сценарии исходный язык — французский, а язык назначения — суахили.
Метод translate() возвращает список объектов, если вы передаете список фраз к нему. Каждый объект в списке, возвращаемый методом translate() , соответствует каждой фразе в списке ввода, который должен быть переведен. Лучший способ найти перевод каждой входной фразы в списке — это перебрать список выходных объектов. Затем вы можете использовать text , origin , src и другие атрибуты отдельных объектов, чтобы увидеть перевод отдельных фраз в списке ввода.
В приведенном ниже сценарии мы перебираем список объектов, возвращаемых методом translate() , а затем печатаем источник и переведенный текст:
for trans in result: print(f' -> ')Следующий результат будет отображаться на экране.
Bienvenu -> karibu Comment allez-vous -> Vipi wewe je vais bien -> Niko sawaПеревод текстовых документов
Вы также можете переводить текстовые документы через Google Translate API. Все, что вам нужно сделать, это прочитать текстовый файл в Python, используя метод open , прочитать текст и передать его в метод translate() .
Первый шаг — открыть файл в режиме «чтения»:
f = open('C:\\Users\\Khurram\\Desktop\\test.txt', 'r')Вы также можете проверить, находится ли файл в режиме «чтения», используя свойство mode :
if f.mode == 'r':Далее вы можете использовать метод f.read() для чтения содержимого файла. Содержимое файла может быть сохранено в любой переменной. В нашем случае имя переменной будет contents .
Мы также напечатаем переменную contents , чтобы проверить, правильно ли Python читает текстовый файл:
contents = f.read() print(contents)Вот вывод содержимого файла:
We are going to translate this text file using Python. Subsequently, we will also translate it into French.Убедитесь, что у вас есть вышеуказанный контент в вашем текстовом файле, если вы хотите следовать нашему примеру.
Мы убедились, что Python обращается к текстовому файлу и читает его. Теперь мы переведем результат, импортировав тот же старый класс Translate , что и раньше.
from googletrans import Translator file_translate = Translator()Следующим шагом является передача переменной contents , содержащей входной текст, в функцию translate() . Наконец, напечатайте атрибут text объекта, возвращенного методом translate() , и вы получите переведенную строку.
result = translator.translate(contents, dest='fr') print(result.text)Вывод должен выглядеть следующим образом:
Nous allons traduire ce fichier texte en Python. Par la suite, nous le traduirons également en français.Чтобы записать переведенный текст в тот же файл или другой текстовый файл, вы просто откроете файл в режиме записи («w»). Затем вам нужно вызвать метод write() и передать ему переведенный текст, как показано ниже:
with open('C:\\Users\\Khurram\\Desktop\\test_2.txt', 'w') as f: f.write(result.text)В приведенном выше примере мы использовали менеджер контекста with для автоматического открытия и закрытия потока записи. Во-вторых, мы открыли файл в режиме записи. Наконец, мы использовали метод write() для записи переведенной строки в новый файл.
Вывод
Google Translate — это инструмент с API, который помогает вам выполнять множество различных функций, связанных с переводом. Мы только поцарапали поверхность с приведенными выше примерами. Вам предлагается практиковать API, а также изучать и понимать, как использовать его в реальных приложениях.