Работа с API Яндекс Переводчика

Научимся работе с API на языке программирования C#. В этом уроке мы напишем программу в Visual Studio на Windows Forms, которая будет переводить текст с русского языка на английский и обратно при помощи веб-запросов к API Яндекс Переводчика. Также можно скачать исходник, разработанной программы.

Что такое API?

API (сокращение от английского Application Programming Interface) – это интерфейс программирования приложений. Интернет-сервисы, библиотеки, операционная система и др. предоставляют разработчикам интерфейсы для взаимодействия со своими наборами готовых классов, методов и данных. В результате этого мы можем в своих приложениях использовать функции других интернет-сервисов.

API предоставляют многие сервисы, в частности это социальные сети ВКонтакте, Instagram и Twitter; также это могут быть всевозможные переводчики, конвертеры валют, информационные и новостные сервисы. Кроме того, Вы сами можете сделать API на собственном web-ресурсе и использовать его при разработке своих приложений, либо сделать его публичным – и тогда другие люди смогут им воспользоваться.

Вот что такое API.

Почему Яндекс, а не Google?

Яндекс Переводчик предоставляет бесплатное API, а в Google Translate – оно платное: 20$ за каждый миллион переводимых символов.

Стоимость использования Google Translate API

Стоит сказать, что имеется демо период. Так что если интересуетесь, то возможность попробовать есть.

Получение API-ключа

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

Для этого переходим по ссылке https://tech.yandex.ru/keys/get/?service=trnsl, соглашаемся с условиями и нажимаем кнопку “Получить API-ключ”. При необходимости можно добавить описание к ключу, но это не обязательно.

Получение бесплатного API-ключа Яндекс Переводчика

Затем ключ будет успешно создан:

API-ключ Яндекс Переводчика

Скопируйте его себе и сохраните, затем он нам понадобится. Никому не говорите свой ключ. Будет плохо, если кто-то им воспользуется. Если всё-таки это произошло – имеется возможность его заблокировать, а затем получить новый.

На бесплатный ключ, который мы только что получили, существуют ограничения Яндекса (далее цитата из Пользовательского соглашения) “на объем переводимого текста – в размере до 1 000 000 символов в сутки, но не более 10 000 000 символов месяц”. Если нужно больше – то для этого существуют платные тарифы на API.

Проектирование интерфейса программы

В начале давайте договоримся о направлении перевода: программа будет выполнять перевод с русского языка на английский и обратно.

Создайте в Visual Studio новый проект Windows Forms на языке программирования C#.

Как и в классическом интерфейсе переводчика, знакомого каждому из нас, нам понадобится: два текстовых поля (TextBox) и кнопка (Button) “Перевести”. Кроме того, поместим на форму элемент управления GroupBox и в него добавим два переключателя RadioButton – тем самым мы обеспечим их согласованную работу (выбранным всегда остаётся только один). Вот, что должно получиться:

Работа с API Яндекс Переводчика - Интерфейс программы

Размер шрифта мы установили равным 11 пунктов. В контролах TextBox параметр Multiline сделали равным true – это позволит выполнять в текстом поле перенос строки.

Создание интерфейса программы для работы через API завершено.

Написание кода

Создадим класс, который будет выполнять работу с Яндекс API Переводчика посредством web-запросов. Назовем класс YandexTranslator.

Класс содержит единственный метод public string Translate(string s, string lang). Метод принимает в качетве аргементов: строку s – исходный текст для перевода, строку lang – направление перевода (например, ru-en – русско-английский). Возвращает метод строку с переведённым текстом.

Код класса YandexTranslator:

Не забудьте указать ключ от API Яндекс Переводчика вместо слов “ВАШ API-КЛЮЧ”!

В классе формы нужно создать экземпляр класса YandexTranslator, добавить в код обработчика события нажатия кнопки “Перевести” операторы выбора для задания нужного направления перевода (в завосимости от выбранного RadioButton), а также вызов метода Translate непосредственно для выполнения перевода. Код From1:

Написание программы для работы с API Яндекс Переводчика на Windows Forms и языке C# завершено!

Скачать исходник программы или перейти в репозиторий на GitHub:

Скачать исходник Репозиторий проекта на GitHub

 

Структура web-запроса к API

Запрос к API переводчика содержит ряд обязательных параметров – это: key=<API-ключ> & text=<переводимый текст> & lang=<направление перевода>. Необязательные параметры, такие как формат и опции перевода, мы использовать не стали.

Запрос к Яндекс API возвращает ответ в виде структуры JSON. Его можно десериализовать, например, с помощью классов из библиотеки Newtonsoft.Json на C#. Мы же, для демонстрации, выполнили извлечение результата перевода проще – с помощью извлечения подстроки.

Полная информация о запросах, их параметрах и ответах сервера есть в официальной документации.

Все сервисы с публичным API (например, социальные сети) обычно имеют документацию по работе с ним.

Резюме

Демонстрация программы по работе с API Яндекс Переводчика

Демонстрация работы программы

В этой статье, на примере Яндекс Переводчика, мы рассмотрели работу с API.

Подводя итоги, можно сказать, что:

  • Для работы с API необходимо получить ключ или токен;
  • Для работы с API используются web-запросы;
  • Ответы обычно возвращаются в виде структур данных, таких как JSON или XML.

Спасибо за прочтение!

Работа с API Яндекс Переводчика
5 (100%) 5 votes

Поделиться в соц. сетях:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">