Справочник по неофициальному REST-интерфейсу Google Translate API и связанным параметрам
Google Translate предлагает официальный API через Google Cloud Translation, но существует также неофициальный REST-интерфейс, который используется веб-версией Google Translate, расширениями Chrome и некоторыми клиентскими приложениями. Этот интерфейс не имеет официальной документации, однако благодаря анализу сетевого трафика и обратной разработке выявлены основные параметры запросов и их значения.
Основные параметры запроса
Параметр |
Описание |
client |
Идентификатор клиента, от имени которого выполняется запрос. Примеры: gtx , webapp , te_lib , dict-chrome-ex . От значения зависит формат ответа и ограничения. |
sl |
Язык исходного текста (source language). Код языка, например, en (английский), auto — автоопределение. |
tl |
Язык перевода (target language), например, ru (русский). |
q |
Текст для перевода. |
dt |
Тип данных, которые нужно вернуть в ответе (data type). Можно указывать несколько раз. Подробнее ниже. |
ie |
Кодировка входного текста, обычно UTF-8 . |
oe |
Кодировка выходных данных, обычно UTF-8 . |
hl |
Язык интерфейса (локализация подсказок и сообщений). |
tk |
Токен безопасности, генерируемый динамически для защиты от злоупотреблений (не всегда обязателен). |
dj |
Если dj=1 , ответ возвращается в формате JSON с именованными полями (более структурированный и удобный для парсинга). |
v |
Версия API или протокола, например, v=1.0 . Влияет на формат и логику обработки запроса. |
op |
Тип операции (operation), например, translate , detect . Если пустой или отсутствует, по умолчанию — перевод. |
source |
Метка источника запроса, например, source=icon — запрос инициирован через иконку интерфейса (служебный параметр для аналитики). |
otf |
Опция "on-the-fly". Если 1 , перевод выполняется с оптимизациями. |
ssel |
Индекс выделения исходного текста (для подсветки слов). |
tsel |
Индекс выделения перевода. |
kc |
Количество возвращаемых альтернативных вариантов перевода. |
tab |
Указывает активную вкладку интерфейса, например, tab=TT — "Text-to-Text" (перевод текста). |
Значения параметра dt
(data type)
Значение |
Описание |
t |
Сам перевод текста (основной результат). |
at |
Альтернативные варианты перевода. |
rm |
Морфологический разбор исходного текста (анализ слов). |
bd |
Информация о словах, например, части речи. |
ex |
Примеры использования слов и фраз. |
ss |
Синонимы. |
md |
Метаданные, например, словарные данные. |
Популярные значения параметра client
Значение |
Описание |
gtx |
Расширение Google Translate (Google Translate eXtension). |
webapp |
Веб-приложение Google Translate. |
te_lib |
Внутренняя библиотека Google Chrome для перевода. Позволяет обходить некоторые ограничения по скорости. |
dict-chrome-ex |
Клиент расширения Google Dictionary для Chrome. Используется с endpoint clients5.google.com/translate_a/t . |
Альтернативные endpoint'ы
URL |
Клиент |
Особенности |
https://translate.googleapis.com/translate_a/single |
gtx , webapp , te_lib |
Основной неофициальный endpoint. Требует токен tk для стабильной работы. |
https://clients5.google.com/translate_a/t |
dict-chrome-ex |
Используется расширением Google Dictionary. Не требует API-ключа, требует User-Agent. |
https://translate.google.com/translate_a/single |
webapp |
Веб-версия Google Translate. |
https://clients5.google.com/translate_a/t?client=dict-chrome-ex&sl=en&tl=ru&q=hello
- Используется в расширениях Chrome (Google Dictionary).
- Не требует API-ключа.
- Для стабильной работы желательно использовать User-Agent браузера (например, Chrome).
- Можно вводить напрямую в адресную строку браузера — запрос сработает, и вернётся JSON-ответ.
Служебные и внутренние параметры (телеметрия, логирование)
Параметр |
Значение и назначение |
textlen |
Длина исходного текста (число символов). |
ttt |
Внутренний счётчик или таймер, связанный с обработкой запроса (точное назначение неизвестно). |
ttl |
Время жизни или лимит времени для запроса/сессии (возможно в миллисекундах). |
ttf |
Время до первого ответа или начала обработки (точное значение не подтверждено). |
sr |
Флаг статуса, возможно "source recognized" или "success response". |
nca |
Внутренний параметр, связанный с категорией события, например, te_time — время обработки в Translate Engine. |
logld |
Идентификатор лога или версии логирования, например, vTE_20240910 — версия Translate Engine с датой. |
Эти параметры используются Google для внутреннего мониторинга, логирования и анализа производительности. Они не влияют на результат перевода и не обязательны для формирования запроса.
Особенности использования
- User-Agent: при программных запросах (curl, Python, JS) рекомендуется указывать User-Agent браузера (например, Chrome), чтобы избежать блокировок и проблем с кодировкой. В браузере User-Agent уже установлен, поэтому для простых запросов ввод URL напрямую работает.
- Токен
tk
: для стабильной работы и больших объёмов запросов часто требуется динамически генерируемый токен безопасности.
- Формат ответа: параметр
dj=1
переключает ответ в удобный JSON с именованными полями.
- Ограничения: неофициальный API может изменяться без предупреждения, использование может нарушать условия Google.
- Рекомендуется: для стабильной и масштабной интеграции использовать официальный Google Cloud Translation API.
Краткое описание некоторых параметров
Параметр |
Описание |
source=icon |
Указывает, что запрос инициирован через иконку интерфейса (служебный параметр). |
tab=TT |
Активная вкладка интерфейса — "Text-to-Text" (перевод текста). |
op |
Тип операции (translate , detect и т.п.), по умолчанию перевод. |
v |
Версия API или протокола, например, 1.0 . |
No comments:
Post a Comment