Головна/Провайдери/Політики фолбеку ENУКРРУС API-довідник (ReDoc) ↗

Політики фолбеку

Що робить провайдер із ненастроєною регіональною мовою — і чому жоден не їде на strict.

fallback_policy провайдера вирішує одне: що відповісти для регіональної мови без явного рядка. Вона ніколи не впливає на базові мови і ніколи не перекриває наявний рядок.

Три політики

base_language

Надіслати код базової мови. pt-BRpt, de-CHde, ar-EGar.

{ "language": "pt-BR", "code": "pt", "match": "base_language", "via_language": "pt" }

Ви втрачаєте регіональну відмінність, але отримуєте код, який провайдер напевно розуміє. Саме на цьому їдуть усі провайдери, і саме це робить консоль сьогодні.

passthrough

Надіслати канонічний код без змін. pt-BR лишається pt-BR.

{ "language": "pt-BR", "code": "pt-BR", "match": "passthrough" }

Для рушіїв, чий набір прийнятних кодів не є стандартом: клієнтська дотренована модель знає рівно ті теги, на яких її вчили, і зрізання до базового тега — гірша здогадка, ніж не зрізати.

strict

Відповісти supported: false, code: null. Не вгадувати.

{ "language": "pt-BR", "code": null, "supported": false, "match": null }

Для API, що відхиляють невідомі теги з 4xx, — після того, як ви скурували, які пари справді працюють. Хибна здогадка там коштує впалої задачі; впасти раніше — дешевше.

Чому жоден не їде на strict

Спокусливо позначити DeepL, Azure й Amazon як strict — їхні API справді віддають 400 на невідомі теги, і їхні notes це кажуть.

Це зламало б прод.

Фолбек консолі — lang_region_list.code[:2], тож сьогодні незамапена pt-BR доходить до Amazon Translate як pt — і працює, бо pt не є невідомим тегом для Amazon. У Amazon 6 явних рядків консолі на 87 активних регіональних мов; решта 81 резолвиться саме через це зрізання просто зараз. Засіяти Amazon як strict означало б перетворити 81 робочу пару на supported: false того дня, коли сервіс пішов у бій.

Правило

strict — це опт-ін по провайдеру, вмикається після того, як справді непідтримувані пари цього провайдера зафіксовані явно, а не до. Позначити пару непідтримуваною — це твердження про факт; позначити провайдера strict — це твердження про все, що ви не перевіряли.

Поле notes провайдера несе шортлист кандидатів.

Позначити одну пару непідтримуваною

strict потрібен рідко. Якщо ви знаєте, що конкретна пара падає, зафіксуйте саме її — з матриці, кнопкою ✕ Unsupported, або:

POST /admin/mapping
provider=deepl_api&language=ceb&action=unsupported

Це дає supported: false для пари, яку ви перевірили, і не чіпає жодної іншої. Див. Закріпити код провайдера.

Зміна політики

АдмінкаProviders → оберіть провайдера → Fallback policy. Діє з наступного запиту; кеш каталогу скидається при записі.

Перш ніж переводити провайдера на strict, подивіться на його лічильник derived у таблиці покриття. Це рівно та кількість пар, які почнуть відповідати supported: false.

Далі