ВебмастерМетрикаВиджетыРекламная сетьДиректПоиск для сайтаAPI
Войти
Ctrl предыдущаяследующая Ctrl

Метод translate

Осуществляет перевод текста.

Описание

Translation translate(string key, string lang, string text[], string format, string options);

Входные параметры

Входные параметры могут передаваться либо с помощью HTTP GET-запроса (см. пример), либо с помощью HTTP POST-запроса, где параметры передаются в body HTTP-запроса.

Пример запроса:

XML-интерфейс:

https://translate.yandex.net/api/v1.5/tr/translate?key=API-ключ&lang=en-ru&text=To+be,+or+not+to+be%3F&text=That+is+the+question.

JSON-интерфейс:

https://translate.yandex.net/api/v1.5/tr.json/translate?key=API-ключ&lang=en-ru&text=To+be,+or+not+to+be%3F&text=That+is+the+question.

JSONP-интерфейс (для функции myCallback):

https://translate.yandex.net/api/v1.5/tr.json/translate?key=API-ключ&lang=en-ru&text=To+be,+or+not+to+be%3F&text=That+is+the+question.&callback=myCallback

Список входных параметров.

Параметр Тип Описание
Обязательные
key string API-ключ. Получите бесплатный API-ключ на этой странице.
lang string

Направление перевода (например, "en-ru" или "ru"). Задается в виде:

  1. Пары кодов языков, перечисленных через дефис. Например, "en-ru" задает перевод с английского на русский.
  2. Одиночного кода языка. Например, "ru" задает перевод на русский язык. В этом случае язык исходного текста определяется автоматически.
text string[]

Текст, который требуется перевести.

Ограничения:

  • Для POST- запросов максимальный размер передаваемого текста составляет 10000 символов.
  • В GET-запросах ограничивается не размер передаваемого текста, а размер всей строки запроса, которая кроме текста может содержать и другие параметры. Максимальный размер строки запроса - 10Кб.
Необязательные
format string

Формат текста.

Возможные значения:

  • plain - текст без разметки (значение по умолчанию);
  • html - текст в формате HTML.
options string

Опции перевода.

Возможные значения:

  • 1 - определять язык автоматически. Например, если в параметре lang перепутано направление перевода в паре, то сервис автоматически определит язык текста и вернет его в теге detected:
    http://translate.yandex.net/api/v1.5/tr/translate?key=API-ключ&lang=en-ru&text=привет&options=1
    <Translation code="200" lang="en-ru">
      <detected lang="ru"/>
      <text>привет</text>
    </Translation>

Возвращает

В XML-интерфейсе возвращает структуру Translation, содержащую переведенный текст. Например:

<?xml version="1.0" encoding="utf-8"?>
<Translation code="200" lang="en-ru">
   <text>Быть или не быть?</text>
   <text>Вот в чем вопрос.</text>
</Translation>

Элементы XML-схемы ответа:

  • Translation — корневой элемент, содержит элементы text (по одному для каждого фрагмента). Атрибут code содержит код возврата (см. таблицу), атрибут lang - код языка фрагмента, определенный сервисом.
  • text — массив строк с переведенным текстом (для XML-интерфейса — последовательность элементов <text>). Количество элементов в массиве совпадает с числом параметров text в запросе.

Таблица 2.  Коды ошибок

Код Значение Описание
ERR_OK 200

Операция выполнена успешно.

ERR_KEY_INVALID 401

Ключ API невалиден.

ERR_KEY_BLOCKED 402

Ключ API заблокирован.

ERR_DAILY_REQ_LIMIT_EXCEEDED 403

Превышено суточное ограничение на количество запросов (с учетом вызовов метода detect).

ERR_DAILY_CHAR_LIMIT_EXCEEDED 404

Превышено суточное ограничение на объем переведенного текста (с учетом вызовов метода detect).

ERR_TEXT_TOO_LONG 413

Превышен максимальный размер текста.

ERR_UNPROCESSABLE_TEXT 422

Текст не может быть переведен.

ERR_LANG_NOT_SUPPORTED 501

Заданное направление перевода не поддерживается.

В JSON-интерфейсе вместо XML-элементов возвращаются JavaScript-объекты с теми же именами и семантикой:

{
   "code": 200,
   "lang": "en-ru",
   "text": [
      "Быть или не быть?",
      "Вот в чем вопрос."
    ]
}

В JSONP-интерфейсе те же самые JavaScript-объекты возвращаются в callback-функции (например, myCallback):

myCallback({
   "code": 200,
   "lang": "en-ru",
   "text": [
      "Быть или не быть?",
      "Вот в чем вопрос."
    ]
})