Перевод текста

Краткое содержание

JSON- и JSONP-интерфейсы

Ответ возвращается в формате JSON. Если задан параметр callback, JSON-объект оборачивается в функцию, с названием, указанным в этом параметре (JSONP).

Синтаксис запроса

https://translate.yandex.net/api/v1.5/tr.json/translate
  ? [key=<API-ключ>]
  & [text=<переводимый текст>]
  & [lang=<направление перевода>]
  & [format=<формат текста>]
  & [options=<опции перевода>]
  & [callback=<имя callback-функции>]

key

API-ключ

text

Текст, который необходимо перевести.

В запросе можно использовать несколько параметров text.

Внимание

Для исходного текста обязательно используйте URL-кодирование.

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

  • Для POST-запросов максимальный размер передаваемого текста составляет 10 000 символов.

  • В GET-запросах ограничивается не размер передаваемого текста, а размер всей строки запроса, которая кроме текста может содержать и другие параметры.

    Максимальный размер строки — от 2 до 10 КБ (зависит от версии используемого браузера).

lang

Направление перевода.

Может задаваться одним из следующих способов:

  • В виде пары кодов языков («с какого»-«на какой»), разделенных дефисом. Например, en-ru обозначает перевод с английского на русский.
  • В виде кода конечного языка (например ru). В этом случае сервис пытается определить исходный язык автоматически.

format

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

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

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

options

В настоящее время доступна единственная опция — признак включения в ответ автоматически определенного языка переводимого текста. Этому соответствует значение 1 этого параметра.

Если язык переводимого текста задан в явном виде, т. е. параметр lang представлен в виде пары кодов, то первый код однозначно определяет исходный язык. Это означает, что параметр options не позволяет переключиться в режим автоматического определения языка. Однако он позволяет понять, правильно ли был указан исходный язык в параметре lang.

callback

Имя функции обратного вызова. Используется для получения JSONP-ответа.

Примечание

Все специальные символы должны быть экранированы.

Пример запроса
POST /api/v1.5/tr.json/translate?lang=en-ru&key=API-KEY HTTP/1.1
Host: translate.yandex.net
Accept: */*
Content-Length: 17
Content-Type: application/x-www-form-urlencoded

text=Hello World!
Пример ответа
HTTP/1.1 200 OK
Server: nginx
Content-Type: application/json; charset=utf-8
Content-Length: 68
Connection: keep-alive
Keep-Alive: timeout=120
X-Content-Type-Options: nosniff
Date: Thu, 31 Mar 2016 10:50:20 GMT
{
    "code": 200,
    "lang": "en-ru",
    "text": [
        "Здравствуй, Мир!"
    ]
}

XML-интерфейс

Ответ возвращается в формате XML.

Синтаксис запроса

https://translate.yandex.net/api/v1.5/tr/translate
  ? [key=<API-ключ>]
  & [text=<переводимый текст>]
  & [lang=<направление перевода>]
  & [format=<формат текста>]
  & [options=<опции перевода>]

key

API-ключ

text

Текст, который необходимо перевести.

В запросе можно использовать несколько параметров text.

Внимание

Для исходного текста обязательно используйте URL-кодирование.

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

  • Для POST-запросов максимальный размер передаваемого текста составляет 10 000 символов.

  • В GET-запросах ограничивается не размер передаваемого текста, а размер всей строки запроса, которая кроме текста может содержать и другие параметры.

    Максимальный размер строки — от 2 до 10 КБ (зависит от версии используемого браузера).

lang

Направление перевода.

Может задаваться одним из следующих способов:

  • В виде пары кодов языков («с какого»-«на какой»), разделенных дефисом. Например, en-ru обозначает перевод с английского на русский.
  • В виде кода конечного языка (например ru). В этом случае сервис пытается определить исходный язык автоматически.

format

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

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

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

options

В настоящее время доступна единственная опция — признак включения в ответ автоматически определенного языка переводимого текста. Этому соответствует значение 1 этого параметра.

Если язык переводимого текста задан в явном виде, т. е. параметр lang представлен в виде пары кодов, то первый код однозначно определяет исходный язык. Это означает, что параметр options не позволяет переключиться в режим автоматического определения языка. Однако он позволяет понять, правильно ли был указан исходный язык в параметре lang.

Примечание

Все специальные символы должны быть экранированы.

Пример запроса
POST /api/v1.5/tr/translate?lang=en-ru&key=API-KEY HTTP/1.1
Host: translate.yandex.net
Accept: */*
Content-Length: 17
Content-Type: application/x-www-form-urlencoded

text=Hello World!
Пример ответа
HTTP/1.1 200 OK
Server: nginx
Content-Type: application/xml; charset=utf-8
Content-Length: 68
Connection: keep-alive
Keep-Alive: timeout=120
X-Content-Type-Options: nosniff
Date: Thu, 31 Mar 2016 10:50:20 GMT

<?xml version="1.0" encoding="utf-8"?>
<Translation code="200" lang="en-ru">
    <text>Здравствуй, Мир!</text>
</Translation>

Коды ответов

Описание возможных кодов ответов.

Значение Описание
200 Операция выполнена успешно
401 Неправильный API-ключ
402 API-ключ заблокирован
404 Превышено суточное ограничение на объем переведенного текста
413 Превышен максимально допустимый размер текста
422 Текст не может быть переведен
501 Заданное направление перевода не поддерживается