Как создать переводчик с помощью Python
Программирование

Как создать переводчик с помощью Python

Создайте свой собственный языковой переводчик в кратчайшие сроки с помощью этого простого руководства

Сегодня в мире говорят более чем на 7 000 языков. При таком разнообразии возникает необходимость их изучения, чтобы мы могли понимать друг друга. Из-за огромного количества языков мы, несомненно, упускаем возможности обмениваться идеями, знаниями и личным самовыражением

К счастью, вы можете общаться с помощью переводчика, в том числе машинного. Наберите или произнесите предложение, и программа переведет его на нужный вам язык. Используя модуль Googlerans Python, вы можете создать свой собственный базовый переводчик с помощью всего нескольких строк кода

Что такое Googletrans?

Googletrans – это модуль, который использует API Google Translate для обнаружения и перевода предложений с одного языка на другой. Несколько особенностей этого модуля:

  • Бесплатность: Вам не нужно платить за использование этого модуля.
  • Неограниченный: В отличие от большинства API, GoogleTrans не ограничен по тарифу, и вы можете использовать его для неограниченного количества переводов.
  • Надежность: Google – один из самых надежных источников в Интернете.Google Translate использует те же серверы, что и 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. Они бесплатны, поддерживают множество платформ и могут лучше подойти для вашего использования

    Об авторе

    Алексей Белоусов

    Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

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

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