Создайте свой собственный языковой переводчик в кратчайшие сроки с помощью этого простого руководства
Сегодня в мире говорят более чем на 7 000 языков. При таком разнообразии возникает необходимость их изучения, чтобы мы могли понимать друг друга. Из-за огромного количества языков мы, несомненно, упускаем возможности обмениваться идеями, знаниями и личным самовыражением
К счастью, вы можете общаться с помощью переводчика, в том числе машинного. Наберите или произнесите предложение, и программа переведет его на нужный вам язык. Используя модуль Googlerans Python, вы можете создать свой собственный базовый переводчик с помощью всего нескольких строк кода
Что такое Googletrans?
Googletrans – это модуль, который использует API Google Translate для обнаружения и перевода предложений с одного языка на другой. Несколько особенностей этого модуля:
Если вы ищете альтернативу или просто хотите изучить современное состояние технологии перевода, вы можете использовать эти инструменты браузера для перевода веб-страниц
Поиск списка языков, которые поддерживает GoogleTrans
Начните с установки модуля, используя предпочтительный метод; наиболее простой способ – установщик Pip
Вы можете столкнуться с проблемами, связанными с версией googletrans, которую вы установили. Если вы видите ошибки при выполнении этих примеров, попробуйте установить версию 3. 1. 0a0, т.е.pip install googletrans==3. 1. 0a0
Googletrans поддерживает множество языков для конвертации. Чтобы узнать список поддерживаемых языков, выполните следующий фрагмент кода Python:
import googletrans
print(googletrans.LANGUAGES)
Импортируйте библиотеку Googlerans в вашу среду и используйте LANGUAGES для получения списка языков и аббревиатуры вместе с ними
Результат работы этой программы будет похож на этот скриншот:
Использование Googletrans для определения языка
Одна из лучших особенностей Googlerans заключается в том, что он автоматически определяет входной язык, поэтому вам не нужно указывать его самостоятельно. Чтобы определить язык, импортируйте Translator, присутствующий в модуле googletrans, и создайте его экземпляр. Используйте метод detect() и передайте строку на любом желаемом языке. Выведите результат с помощью оператора print()
from googletrans import Translator
translator = Translator()
print(translator.detect('이 문장은 한글로 쓰여졌습니다.'))
print(translator.detect('この文章は日本語で書かれました。'))
print(translator.detect('This sentence is written in English.'))
Этот фрагмент кода Python выдает следующий результат:
Он отображает аббревиатуру обнаруженного языка, например en для английского, и показывает точность, с которой он обнаружил язык
Использование Googletrans для автоматического обнаружения и перевода на нужный язык
Импортируйте Translator из модуля googletrans и передайте несколько строк текста, который вы хотите преобразовать. Создайте экземпляр Translator. Возьмите два параметра: текст, который выступает в качестве источника, и язык назначения, в который вы хотите преобразовать текст, и передайте их методу translate()
Метод translate() автоматически определяет и переводит ваш текст на нужный язык. Отображение переведенного текста. Отображается исходный язык, язык назначения и переведенный текст. Вы можете использовать функцию text для отображения только переведенного текста
from googletrans import Translator
test = ''' आयरन मैन मार्वल कॉमिक्स का सुपर हीरो है। चरित्र लेखक और संपादक स्टैन ली द्वारा बनाया गया था,
और इसकी स्क्रिप्ट लारी लिबियर द्वारा विकसित की गई थी,
और डिजाइन कलाकार डॉन हैक और जैक किर्बी द्वारा बनाया गया था।
चरित्र ने अपनी पहली उपस्थिति टेल्स ऑफ सस्पेंस #३९ (कवर मार्च १९६३) में दर्ज की। '''
translator = Translator()
translated = translator.translate(test, dest = 'en')
print(translated.text)
Выход для автоматического определения и перевода языка следующий:
Использование Googletrans для выполнения массового перевода
Вы можете выполнять массовые переводы языков. Для этого импортируйте нужный модуль и создайте экземпляр Translator. Используйте метод translate и передайте список текстовых строк вместе с аббревиатурой языка, в который вы хотите перевести язык
Выполните итерацию над возвращаемым объектом и используйте функцию origin для отображения оригинального текста и параметр text для отображения переведенного текста
from googletrans import Translator
translator = Translator()
translations = translator.translate(['What do you know?', 'Is this true?', 'We will eat a burger tomorrow'], dest='hi')
for translation in translations:
print(translation.origin, ' -> ', translation.text)
Выходные данные для Googletrans, выполняющего Bulk Translation, следующие:
Как переводить с одного языка на другой с помощью аудио
Вы также можете использовать свой голос для взаимодействия с переводчиком и создать простую версию Google Assistant для перевода в реальном времени. Для этого импортируйте модуль распознавания речи с псевдонимом spr. Импортируйте библиотеку googletrans для перевода и gTTS (Google Text-to-Speech) для преобразования переведенного текста в звуковой файл, который можно прослушать. Импортируйте os для сохранения аудиофайла
import speech_recognition as spr
from googletrans import Translator
from gtts import gTTS
import os
Создайте объект класса Recognizer для распознавания слов, произносимых пользователем в качестве ввода, и другой объект для инициализации микрофона для захвата голоса
recog1 = spr.Recognizer()
mc = spr.Microphone()
Используйте оператор with как часть обработки исключений. Используя объект микрофона в качестве источника, выполните следующие действия. Инициализируйте объект транслятора для перевода. Установите язык источника и желаемый язык назначения. Сообщите пользователю, чтобы он произнес что-нибудь, используя оператор print
Используйте метод adjust_for_ambient_noise() для калибровки при первом прослушивании. Вы делаете это, поскольку свойство порога экземпляра, вероятно, установлено на более высокое значение и затем регулируется в соответствии с услышанным голосом. Калибровка автоматически установит порог на более низкое значение
Используйте свойство прослушивания для записи одной фразы. Программа записывает голос до тех пор, пока не наступит несколько секунд тишины или не прекратится подача звука. Используйте функцию recognize_google() для использования Google Web API и распознавания речи из аудиоисточника. В качестве альтернативы можно также использовать Bing, IBM, Sphinx и Wit
with mc as source:
translator = Translator()
from_lang = 'en'
to_lang = 'hi'
print('Speak something.')
recog1.adjust_for_ambient_noise(source, duration=0. 2)
audio = recog1.listen(source)
get_sentence = recog1.recognize_google(audio)
Выведите на экран фразу, распознанную из аудиозаписи. Передайте предложение, язык источника и язык назначения в функцию translate(). Выведите переведенный текст на экран, вызвав параметр text и отобразив его с помощью оператора print
print('Phrase to be Translated :' + get_sentence)
text_to_translate = translator.translate(get_sentence,
src=from_lang,
dest=to_lang)
text = text_to_translate.text
print('The translated text is: ', text)
Наконец, используйте gTTS для преобразования текста в речь. Передайте текст, язык для чтения и, по желанию, установите параметр slow в false. Сохраните голос в виде mp3-файла и используйте модуль os для запуска сохраненного аудиофайла
speak = gTTS(text=text, lang=to_lang, slow=False)
speak.save('captured_voice.mp3')
os.system('start captured_voice.mp3')
Последняя строка этой программы требует команду start для воспроизведения mp3-файла. В зависимости от локальной среды вам может понадобиться заменить ее другой командой. Например, в macOS можно использовать команду afplay
При переводе с одного языка на другой с использованием звука вы получите следующий результат:
Альтернативы Google Translate
Хотя Google Translate является самым популярным сайтом для перевода, он имеет ограниченные возможности настройки, поэтому может не подойти для некоторых случаев использования
Если Google Translate не удовлетворяет вашим потребностям, вы можете изучить альтернативные варианты, такие как iTranslate, Baidu Translate, Liguee и DeepL. Они бесплатны, поддерживают множество платформ и могут лучше подойти для вашего использования
Комментировать