Осуществляет перевод текста.
Описание
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"). Задается в виде:
- Пары кодов языков, перечисленных через дефис. Например, "en-ru" задает перевод с английского на русский.
- Одиночного кода языка. Например, "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": [
"Быть или не быть?",
"Вот в чем вопрос."
]
})