Войти
Русь. История России. Современная Россия
  • Что изучает социальная психология
  • Океан – наше будущее Роль Мирового океана в жизни Земли
  • Ковер из Байё — какие фильмы смотрели в Средние века
  • Библиотека: читающий малыш
  • Всадник без головы: главные герои, краткая характеристика
  • 3 стили речи. Стили текста. Жанры текста в русском языке. §2. Языковые признаки научного стиля речи
  • Yandex Translate API: PHP и небольшое исследование сервиса. Перевод в других поисковых системах

    Yandex Translate API: PHP и небольшое исследование сервиса. Перевод в других поисковых системах

    Посещая различные страницы сайтов или форумов, вы часто сталкиваетесь с необходимостью перевода, как отдельных фраз и предложений, так и страниц полностью. Использование в таких ситуациях сторонних онлайн переводчиков – весьма неудобное решение. Именно поэтому, в большинстве современных обозревателей есть функция автоматического перевода, исключением не стал и Яндекс браузер.

    В этой статье, я не буду рассуждать о качестве перевода, а остановлюсь на удобстве использования данной встроенной функции и решении попутных проблем.

    Как включить переводчик

    Главная особенность встроенного переводчика в Яндекс.Браузере – вы не можете переводить отрывки текста на страницах на выбранный вами язык. При установке, Яндекс.Браузер определяет основной язык вашей OS и ставит по умолчанию именно этот язык для интерфейса. В дальнейшем, все посещаемые страницы будет предложено перевести именно на этот язык .

    Пример . У вас Русскоязычная Windows, соответственно браузер отображается на Русском языке. Все просматриваемые страницы, имеющие язык отличный от вышеуказанного, неважно какой – Французский, Немецкий или Итальянский, будет предложено перевести на Русский.

    Таким образом, с помощью Яндекс.Браузера можно перевести:

    • Отдельное слово, фразу или весь текст на странице;
    • Целиком всю страницу, включая её интерфейс.

    Если вам требуется перевод текста на язык отличающийся от языка, установленного в браузере — воспользуйтесь онлайн-сервисами, например, тем же Яндекс переводчиком.

    Отключить даже предложение о переводе, можно в настройках, в разделе «Языки». Для этого снимите галочки с указанных пунктов, и перезапустите обозреватель.

    Перевод страниц не работает

    В случаях, когда переводчик в Яндекс Браузере не работает – проверьте правильность настроек и основной язык браузера.

    Приведите настройки к виду, отображенному на картинке и все должно заработать.

    Расширения для перевода страниц

    Компания Яндекс использует собственный переводчик в описываемом браузере. Качество перевода может значительно отличаться от других сервисов, особенно в узких тематиках.

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

    Google Переводчик

    Корпорация Google, позаботилась не только о собственных пользователях, но и о пользователях других браузеров, выпустив одноименное расширение.

    Найти и скачать его можно в интернет магазине Хром.

    После установки в Яндекс.Браузер, справа от адресной строки появится иконка, позволяющая сделать перевод.

    В отличие от встроенного переводчика, Google Translate позволяет переводить текст страницы на любой из представленных на выбор.

    Удалить расширение можно в разделе «Дополнения».

    ImTranslator

    В отличие от всех вышеописанных, ImTranslator не имеет собственной базы слов, а является лишь оболочкой для словарей от Google, Microsoft и Translator.

    После установки расширения, в контекстном меню, появится пункт, позволяющий перевести страницу на любой из 91 представленного языка.

    Итоги

    Задача перевода страниц целиком или отдельных фраз и слов в Яндекс.Браузере, может быть решена широким списком инструментов. Не стоит ограничивать себя лишь встроенным переводчиком – используйте дополнительные возможности, и вы получите весьма читабельный текст на выходе.

    В этой статье мы рассмотрим удобный, функциональный и бесплатный онлайн переводчик от компании Google. С его помощью можно перевести с одного языка на другой слово, текст или даже сайт, прослушать как звучит слово на иностранном языке, добавить слово в свой словарь. Онлайн-переводчик незаменим, если вам нужен срочный доступ к словарю либо вы ведете онлайн-переписку на иностранном языке и нужно посмотреть как пишутся или переводятся те или иные слова.

    Для начала его использования необходимо войти в браузер на вашем компьютере и ввести в строке адрес переводчика translate.google.com

    Перед вами откроется окно.

    Панель и использование переводчика достаточно просты. Давайте разберем несколько основных этапов работы с переводчиком:

    1. Как выбрать языки переводы
    2. Как ввести текст для перевода
    3. Как работать с результатами перевода

    Как выбрать языки перевода

    Слева (белое окошко) находится поле для ввода текста, который необходимо перевести.

    Соответственно темно-серым цветом обозначен первоначальный язык, с которого мы будем переводить (английский).

    Справа – финальный перевод текста на нужный вам язык. Соответственно темно-серым цветом обозначен активный язык фразы, на который нужно перевести (на примере — русский).

    Выбираем языки перевода:

    Изначально при открытии переводчика установлены языки перевода по умолчанию. В нашем случае, язык, с которого идет перевод – английский, язык, на который идет перевод – русский.

    Для того, чтобы поменять языки переводов, необходимы их выбрать в специальном выпадающем меню нужные вам языки для перевода текста.

    Не забывайте: слева выбирается язык, с которого переводим, а справа – на который переводим. К слову: переводчик Google позволяет переводит с /на 80 языков (где еще найти такого полиглота?).

    Если вы не знаете, с какого языка нужно перевести (бывает и такое!), то воспользуйтесь функцией Определить язык. Конечно, она не всегда корректно работает на моей памяти, но весьма полезна, когда помощи ждать неоткуда.

    Точность определения зависит от объема введенного текста: чем больше текста вы ввели – тем больше точность.

    Есть еще одна удобная кнопка, которая позволяет поменять местами языки перевода. Это будет полезно если, например, вы написали сообщение на английском, используя русско-английский переводчик (например в переписке в Скайпе), а потом тут же получили ответ, который нужно быстро перевести уже с английского на русский. Чтобы поменять языки перевода местами, используйте вот эту кнопку:

    Как ввести текст для перевода

    Переводчик от Google позволяет переводить отдельные слова, предложения и тексты.

    Источники текста могут быть разные, в частности можно:

    • Вставить скопированный текст либо вписать его
    • Продиктовать текст (нужен подключенный микрофон)
    • Использовать рукописный ввод (рисовать символы пальцем на экране – для владельцев планшетов и смартфонов либо рисовать мышкой)
    • Виртуальная клавиатура (можно использовать, если у вас на компьютере нет какой-то раскладки, например немецкой, и вы не знаете как набрать тот или иной символ)
    • Перевести текст из файла
    • Перевести страничку в интернете

    Давайте разбираться со всеми этими способами.

    Вставить или напечатать текст

    Стандартный и самый часто используемый способ.

    Для этого нужно скопировать интересующий вас текст либо набрать его непосредственно в левом окне переводчика

    После ввода текста перевод должен автоматически отобразиться в правой части окна. Если вы печатаете текст вручную, то перевод будет обновляться автоматически по мере ввода текста.

    Если вы хотите отключить функцию моментального перевода, то нажмите в левом нижнем углу страницы вот эту ссылочку

    Теперь нужно будет нажимать синюю кнопку «Перевести» , после чего в правом окне вы получите результат перевода

    Включить назад моментальный перевод можно сделать там же – в левом нижнем углу страницы.

    Как надиктовать текст переводчику Гугл

    Для активации этого способа ввода нужно нажать на иконку микрофона в углу поля ввода текста для перевода.

    Появится такой вот значок

    Чтобы убрать этот режим ввода нужно снова нажать на ту же иконку либо на любую часть появившегося поля с фразой «Говорите». При длительном отсутствии звука этот способ ввода также автоматически выключится.

    Такой способ ввода текста полезен не для ленивых, как можно сразу подумать, а для людей с ограниченными возможностями, а также для тех, кому неудобно печатать: это владельцы смартфонов и планшетов.

    Как использовать виртуальную клавиатуру в Google Translate

    Эта опция очень пригодится в том случае, если вам нужно набрать текст, скажем, на немецком, а на клавиатуре у вас только русские и английские символы. Итак, выбираем в языке исходного текста нужный вам язык. Для примера берем немецкий. Справа от иконки микрофона будет иконка для выбора способ ввода. Смотрите на скриншоте

    Тут показана клавиатура, рядом с ней стрелочка. По нажатии на иконку клавиатуры мы сразу увидим нашу виртуальную клавиатуру, при нажатии на стрелочку – увидим список доступных альтернативных способов ввода

    Это могут быть разные раскладки клавиатуры этого языка (например, если есть диалекты). В данном случае можно выбрать немецкую швейцарскую раскладку и еще зачем-то американскую. Также доступен режим Рукописного ввода, который рассмотрим ниже.

    Мы ничего не трогаем, у нас выбран немецкий (строка затемнена – значит выбран). Поэтому просто нажимаем на иконку клавиатуры.

    Вот и наша клавиатура. Обращаться с нею просто – нажимаем мышкой нужные кнопки (пальцем – если у вас планшет или смартфон) либо набираем текст на клавиатуре, только теперь клавиши будут печатать не те символы, что у вас на клавишах клавиатуры, а те, которые вы видите на виртуальной клавиатуре.

    Чтобы закрыть её, нажмите крестик в правом верхнем углу виртуальной клавиатуры либо еще раз нажмите на иконку клавиатуры.

    Как использовать рукописный ввод

    Эта функция понадобится вам в том случае, если нет клавиатуры либо вы не знаете, как напечатать на ней тот или иной символ. Представим, что вам нужно перевести китайский иероглиф на русский. Специально для урока я перевел одно слово и попробую перевести его обратно.

    Итак, у нас есть иероглиф (или иероглифы) на китайском. Как их ввести? Выбираем китайский язык, выбираем способ ввода (иконка справа от микрофона). В зависимости от языка моет быть несколько способов ввода. Для английского функция рукописного ввода неактивна – она там не нужна.

    Появится такое вот окошко

    Начинаем в нем рисовать наш иероглиф мышкой! Чтобы рисовать, держим нажатой левую кнопку мыши. Чтобы закончить линию, отпускаем левую кнопку и начинаем мышкой новую линию.

    Итак, у меня получилось вот что

    Система предлагает сразу под рисунком варианты (они появятся почти сразу и будут меняться по мере дополнения рисунка). Первый вариант очень похож на наш. Выбираем его

    Ура! Все получилось, мы получили верный перевод!

    Как перевести файл

    Сразу предупреждаю, что перевести можно только файлы PDF, TXT, DOC, PPT, XLS или RTF . Если не знаете, что такое расширение файла, почитайте соответствующую статью на этом блоге.

    Нажимаем, попросит выбрать файл

    Выбираем, после этого нажимаем кнопку Перевести. Моментальный перевод тут уже не работает. На новой страничке откроется перевод. Конечно, форматирование не сохранится, вы увидите переносы строк невпопад, возможно поедут или не будут отображаться таблицы, списки и пр., но текст будет переведен.

    Как перевести сайт

    Тут все просто: в окно текста для перевода вставляем ссылку на нужный сайт. Например, хотим перевести на русский сайт газеты New York Times

    Теперь вы можете ходить по сайту, все страницы будут автоматически переводиться на указанный язык. Сверху видна панель переводчика Гугл – можно на ней сменить язык либо переключиться на оригинал (нажать кнопку Оригинал).

    Другие полезные возможности переводчика, такие как произношение, добавление текста себе в онлайн-словарь, добавление своего варианта перевода мы рассмотрим в отдельной статье, т.к. эта уже затянулась. Также в скором времени появится видеоурок по этой статье, т.к. видео смотреть интереснее, согласитесь.

    Подведем итоги:

    Плюсы: быстро и просто в использовании, много языков и способов ввода.

    Минусы: данный переводчик больше подходит для перевода отдельных слов или часто употребляемых выражений/предложений. С текстами может возникнуть проблема, так как перевод фактически происходит «в лоб», например, при переводе длинных сложносочиненных предложений с английского на русский, не всегда наблюдается сохранение падежей, чисел, и соответственно смысл немного смазывается, но общий смысл предложений сохраняется. Также перевод некоторых устойчивых выражений и идиом (иногда даже распространенных) может вызывать у переводчика затруднения и неадекватный результат.

    Помню ситуации времен учебы в университете и школе, когда нежелание посидеть со словариком и сделать домашнее задание по английскому языку вкупе с желанием сделать все побыстрее приводило к плачевным результатам, а иногда и вовсе комичным. Вот вам пример: фразу «How can I get to Minsk?» перевел как «Как я могу получить в Минск», вместо «Как я могу добраться до Минска?».

    В следующих статьях мы подробнее рассмотрим другие переводчики, в частности онлайн-переводчик Яндекса. Подписывайтесь на рассылку, чтобы не пропустить эти уроки.

    Напишите в комментариях, каким переводчиком пользуетесь вы?

    После закрытия Гуглом своих API для перевода проблема поиска онлайн-сервис для машинного перевода стала особенно актуальной.
    В Интернете много сервисов перевода с громкими именами: Промт, Прагма и пр. Нет никакой проблемы в PHP смоделировать обращения к страницам сервисов и получить результаты перевода. Но есть проблема: почти все сервисы в ответ на простой GET или POST запрос отдают не результат перевода, а целиком страницу во всей красе, начиная с DTD. Как говорят у нас на Украине, “дурных нэма”.
    После анализа было выяснено, что есть только два сервиса, которые отдают в ответ на запрос только результат перевода: Яндекс и Bing от Microsoft.

    Забегая значительно вперед, укажем области применения и особенности:

    Яндекс проще в использовании, прекрасно переводит с русского и на русский, но тут же и недостаток: Яндекс переводит только с русского или только на русский. Перевести Яндексом с украинского на английский в одну операцию невозможно.

    Bing этим не страдает, но зато:
    - переводы, в которых участвует русский или украинский, страдают сильным “акцентом” и обязательно требуют правки
    - использование Bing в режиме free имеет некоторые ограничения
    - для использования Bing требуется некий идентификатор веб-приложения - appID, само по себе получение которого не связано с юридическими трудностями - это фактически просто регистрация, но которая представляет собой увлекательный и длинный квест.

    Итак, какие задачи должна решать библиотека/класс для перевода?

    1. Получение языков, с которых и на которые можно переводить, и их допустимых комбинаций
    2. Собственно сам перевод текста

    Сразу ремарка. Из соображений здравого смысла ясно, что в один заход перевести “Войну и мир” не получится. Приземление на технический уровень дает более четкое ограничение: переводчик Янекса использует GET-запросы, соотв. - очень грубо - примерно 2000 символов за один раз, не более. Это совсем немного, примерно 2 небольших абзаца текста, даже небольшая публикация на сайте выйдет за эти рамки.
    Отсюда следующая задача:

    3. Перевод больших фрагментов текста.

    Ну и представим задачу: мультиязычный сайт. Гонять каждый раз переводчик за переводом элементов интерфейса и прочих текстов на сайте - это, мягко говоря, неразумно. Соответственно задача:

    4. Кеширование.

    Кеширование нужно еще для одной цели: переводчик от Яндекса хорош, но не идеален, особенно с учетом богатства русского языка. Зачастую хотелось бы поправить результат перевода, а для этого нужно его где-то хранить.

    Итак, Яндекс.Переводчик
    Исходники и задокументированы на русском языке.

    1) Языки перевода.
    Класс Yandex_Translate содержит три метода с говорящими названиями:
    yandexGetLangsPairs() - получение доступных пар языков FROM->TO
    yandexGet_FROM_Langs()
    yandexGet_TO_Langs()

    Пример (этот пример - полный, ниже подключение файлов, создание экземпляра класса, элементы форматирования вывода и пр. буду опущены.)

    include_once "Yandex_Translate.php";
    $pairs = $translator->yandexGetLangsPairs();
    print_r($pairs);

    Получим вот такие комбинации (они, кстати, меняются время от времени):
    => en-ru
    => ru-en
    => ru-uk
    => uk-ru
    => pl-ru
    => ru-pl
    => tr-ru
    => ru-tr
    => de-ru
    => ru-de
    => fr-ru
    => ru-fr
    => it-ru
    => es-ru
    => ru-es

    Обратите внимание, что во всех парах есть язык ru, ну об этом выше уже говорилось.

    Два других метода дают языки по отдельности и могут быть использованы, например, для формирования селектов или других элементов выбора.

    2. Перевод
    Один метод, три аргумента: с какого, на какой и собственно переводимый текст.
    Обратите внимание также на важное свойство eolSymbol - окончание строки. Если его установить неверно, не будет форматирования выходного текста (см. комментарии в исходниках).

    Пример:
    $text = file_get_contents("text.txt");
    $translatedText = $translator->yandexTranslate("ru", "uk", $text);
    echo $translatedText;

    Начало файла text.txt:
    Марио Пьюзо Крестный отец
    Посвящается Энтони Клири
    КНИГА ПЕРВАЯ
    За всяким большим состоянием кроется преступление.

    Результат выполнения скрипта:
    Маріо п’юзо Хрещений батько
    Присвячується Ентоні Клірі
    ПЕРША КНИГА
    За кожним великим станом криється злочин.

    Сразу обратим внимание - перевод хороший, но правка требуется.

    3. Перевод больших текстов
    Для перевода больших текстов служит абстрактный класс Big_Text_Translate
    Принцип следующий.
    Сначала текст разбивается на предложения, используя разделитель sentensesDelimiter - по умолчанию точка.
    Правильнее конечно было бы использовать точку с пробелом, но в реальных, например, “каментах” пробел после точки запросто может “ацуцтвовать”. Поэтому так, проблем в реальной работе это не вызывает, но свойство можно переопределить.
    Затем предложения собираются в текстовые фрагменты, размер которых не превышает заданного значения symbolLimit - по умолчанию 2000.
    Текстовые фрагменты готовы для перевода, семантика и форматирование - сохранены. Формированием фрагментов занимается статический метод toBigPieces, на выходе - массив.
    Метод fromBigPieces склеивает переведенные фрагменты обратно в цельный текст.
    Пример

    $bigText = file_get_contents("text_big.txt");
    $textArray = Big_Text_Translate::toBigPieces($bigText);

    $numberOfTextItems = count($textArray);

    Foreach ($textArray as $key=>$textItem){

    //Показываем прогресс перевода
    echo "Переведен фрагмент ".$key." из ".$numberOfTextItems;
    flush();

    $translatedItem = $translator->yandexTranslate("ru", "uk", $textItem);
    $translatedArray[$key] = $translatedItem;
    }

    $translatedBigText = Big_Text_Translate::fromBigPieces($translatedArray);

    Echo $translatedBigText;
    Выполнение примера пробуйте сами - все есть в репозитории.

    Уважаемые хабражители! Если материал представляет интерес, то готовится его продолжение, включающее разделы:
    - кеширование результатов перевода в несколько уровней
    - работа с сервисом Bing
    - полноценное демо: построение мультиязычного сайта.

    Языки перевода

    Наш мультиязычный онлайн-переводчик текстов поддерживает направления перевода для таких языков:
    • украинский
    • русский
    • английский
    • польский
    • немецкий
    • латышский
    • казахский
    • французский

    Ввод текста и выбор направления перевода

    Исходный текст нужно напечатать либо скопировать в верхнее окно и выбрать направление перевода из выпадающего меню. Например, для русско-украинского перевода , нужно ввести текст на русском языке в верхнее окно и выбрать из выпадающего меню пункт «русский» , затем «украинский» . Далее необходимо нажать клавишу Перевести , и Вы получите под формой результат перевода – украинский текст.

    Специализированные словари

    Если исходный текст для перевода относится к специфической отрасли, выберите тему специализированного лексического словаря из выпадающего списка, например, Бизнес, Интернет, Законы, Музыка и другие. По умолчанию используется словарь общей лексики.

    Проверка орфографии

    Качество перевода зависит от правильности написания исходного текста. Советуем воспользоваться Проверкой орфографии. Проверка орфографии работает для украинского, русского и английского языков.

    Транслитерация

    При переписке с адресатом, у которого не установлена кириллица, можно воспользоваться транслитерацией . Транслитерация поддерживает русский и украинский языки, и транслитерирует как с латиницы в кириллицу, так и с кириллицы в латиницу.

    Виртуальная клавиатура

    Если необходимой раскладки нет на Вашем компьютере, воспользуйтесь виртуальной клавиатурой . Виртуальная клавиатура предлагается для русского, украинского, английского, немецкого, французского, испанского и итальянского языков.

    Яндекс.Переводчик - это онлайн-сервис, предназначенный для выполнения машинного перевода текстов до 10 тысяч знаков в любом направлении между 93 языками. Его можно использовать в качестве двуязычного словаря, а также для распознавания текстовых элементов на изображениях и страницах интернет-сайтов. Сервис доступен в онлайн-версии и в виде приложения для Android, iOS и Windows Phone.

    Яндекс.Переводчик ориентирован на решение широкого круга задач, связанных с переводом, для русскоязычной аудитории. Изучающим языки предоставляется возможность заучивать при помощи «карточек» слова и выражения, добавленные в «Избранное». Вебмастерам, программистам и разработчикам программного обеспечения предлагается Яндекс.Переводчик для локализации выпускаемых продуктов. Стоимость рассчитывается исходя из объёмов переводимого текста, для небольших проектов до 10 млн знаков в месяц подготовлен бесплатный тариф.

    Чтобы приступить к переводу, можно воспользоваться печатным или голосовым вводом, вставить адрес сайта или загрузить изображение с помощью . Для кириллицы и латиницы есть экранная клавиатура. В процессе ввода запроса выполняется проверка орфографии, предоставляются подсказки об окончании или следующем слове, происходит автоматическое определение языка и синхронный подбор соответствий. На мобильных устройствах поддерживается распознавание слов, линий или текстовых блоков на снимке с фотокамеры. Выбор вариантов основан на гибридной технологии с использованием статистической и нейронной модели и машинного обучения для оценки результатов. При пословном переводе могут отображаться часть речи, словоформы и синонимы заданной лексической единицы, её соответствия, отсортированные по степени вероятности, с примерами употребления и варианты использования каждой пары в параллельных текстах. Для некоторых языков доступно прослушивание озвученного произношения. В полнотекстовом режиме можно просмотреть словарную статью для выделенного слова. Предусмотрена возможность сообщить об ошибке с добавлением комментария. Предварительное скачивание данных для необходимого языкового направления обеспечивает оффлайн-доступ к приложениям для Android и iOS.

    Ключевые особенности

    • Бесплатный переводчик в мобильной и онлайн-версии
    • Распознавание и перевод текста на изображениях
    • Голосовой ввод для английского, русского, украинского и турецкого языков
    • Полностью русскоязычные интерфейс и раздел помощи
    • Бесплатный API Яндекс.Переводчик при переводе до 10 млн символов в месяц