Закрепить код провайдера
Провайдер хочет не то, что даёт лестница фолбэка. Исправляется одной правкой.
Цель: Baidu хочет cht для традиционного китайского. Без настройки zh-TW фолбэчится в zh — это то, что прод шлёт сегодня, и это неправильно.
Проверьте текущий ответ
curl ".../v1/resolve?provider=baidu_translate&language=zh-TW"
{ "language": "zh-TW", "code": "zh", "match": "base_language", "via_language": "zh" }
match: base_language — это и есть признак: никто эту пару не настраивал, лестница угадала.
Закрепите
Admin → Providers → baidu_translate → Matrix, поиск chinese, найдите Chinese (Traditional), введите cht в ячейку, кликните вне неё.
Рамка ячейки зеленеет, чип источника меняется на exact, появляется ↺ Unpin.
Проверьте
curl ".../v1/resolve?provider=baidu_translate&language=zh-TW"
{ "language": "zh-TW", "code": "cht", "match": "exact" }
Без рестарта и без ожидания кеша — каталог инвалидируется при записи.
Пометка пары неподдерживаемой
Иногда ответ в том, что ответа нет. ✕ Unsupported на строке это фиксирует:
{ "language": "ceb", "code": null, "supported": false, "match": null }
Тогда вызывающие знают, что провайдера нужно пропустить, а не слать запрос, который упадёт.
Помечайте только то, что проверили
supported: false — фактическое утверждение, по которому вызывающий будет действовать. Если вы пару не тестировали, оставьте её выведенной: ошибочное false тихо убирает провайдера из выбора для этого языка.
Открепление
Очистите ячейку. Явная строка удаляется, пара возвращается к лестнице фолбэка. Полезно, когда провайдер добавил поддержку кода, который вы закрепили на что-то другое.
Как найти, что закреплять
Matrix → Show → Derived only показывает все пары, которые для этого провайдера никто не проверял. Скомбинируйте с Kind → Regional — базовые языки почти никогда не стоит закреплять.
Сначала пройдите языки, которые вы действительно продаёте; хвост списка редко стоит времени.
Далее
- Editing the Matrix — полный экран
- Fallback Policies — что сделало «derived»