Language Service Wiki
Как каждый провайдер называет каждый язык — и как это у нас спросить.
Это вики для разработчиков Language Service: единого источника правды о языках, которые платформа умеет переводить, и о точной строке кода, которую API каждого провайдера ожидает для них.
Задача узкая и неблагодарная. Упрощённый китайский — это zh-CN для Yandex, zh-Hans для DeepL и Azure, zh-Hans-CN ещё для нескольких. Бразильский португальский приходит из интеграций как pt-BR, pt_BR, PT-BR или por-br. Ошибка здесь — не ошибка валидации, которую видно на тестах: это либо задача, упавшая на стороне провайдера, либо, что хуже, задача, которая тихо вернулась переведённой не в тот вариант.
Итак: пришлите любое написание и провайдера — получите точную строку, которую нужно положить в запрос.
GET /v1/resolve?provider=deepl_api&language=pt_BR
{ "query": "pt_BR", "provider": "deepl_api", "language": "pt-BR",
"code": "PT-BR", "supported": true, "match": "exact" }
Без аутентификации
Здесь только открытые справочные данные — какие языки существуют и как они называются. Нет токена, который нужно получить, и нет заголовка, который нужно выставить. Редактирование каталога — другое дело: оно за логином на /admin.
Выберите свой путь
| Вы… | Начните здесь |
|---|---|
| Новичок — хочу, чтобы один вызов просто сработал | Quickstart |
| Рантайм перевода, резолвящий source и target | Resolution Ladder, далее Резолвинг всей задачи |
| Интеграция, принимающая коды снаружи | Aliases and Normalisation, далее Нормализация входящих кодов |
| Переводите вызовы с хелперов консоли | Migrating from the Console |
| Курируете каталог | Admin Panel · Editing the Matrix |
| Запускаете или деплоите сервис | Deployment · Rebuilding the Seed |
Две идеи, которые стоит прочитать первыми
Один код на пару. Для любой (провайдер, язык) есть ровно одна строка, которую мы отправляем. Легаси-консоль допускала несколько и брала ту строку, которую база вернула первой — 330 пар были неоднозначными именно так. См. Core Concepts.
Каждый ответ говорит, как он получен. match отличает настроенный маппинг от разумного фолбэка, так что вызывающий, которому нужна точность, видит разницу. См. Resolution Ladder.
Справочник API
Интерактивный ReDoc отдаёт сам API. Однострочное описание каждой операции со ссылками на страницы — Endpoints Index.
Карта разделов
00 Начало работы — Quickstart · Core Concepts · Errors and Conventions
01 Языки — Language Catalog · Aliases and Normalisation
02 Провайдеры — Providers and Vendors · Fallback Policies
03 Резолвинг — Resolution Ladder
04 Админка — Admin Panel · Editing the Matrix
05 Интеграция — Migrating from the Console
06 Эксплуатация — Deployment · Rebuilding the Seed
07 Рецепты — Резолвинг языка · Резолвинг всей задачи · Нормализация входящих кодов · Закрепить код провайдера · Добавить язык · Подключить провайдера
08 Справочник — Endpoints Index · Error Codes · Glossary