
Ланцюжки резервних локалей для кожного фреймворку
Більшість фреймворків i18n повністю пропускають батьківські локалі. Якщо для користувача pt-BR немає ключа, він бачить англійський текст, а не цілком придатний переклад pt-PT. Бібліотеки locale-chain розв’язують цю проблему за допомогою налаштовуваних ланцюжків із глибоким злиттям.
Проблема: фреймворки пропускають батьківські локалі
Ви випускаєте переклад pt-PT із 2,000 ключів. Ваш файл pt-BR містить 200 регіональних замін. Що відбувається з 1,800 однаковими ключами? Більшість фреймворків показують текст резервної локалі, зазвичай англійський, замість батьківської локалі. Ваші бразильські користувачі бачать суміш португальської та англійської — недоладний інтерфейс, через який Ваш застосунок здається незавершеним.
Це не рідкісний виняток. Із цією проблемою стикається кожен застосунок із регіональними варіантами (zh-Hans/zh-Hant, es/es-419, en-US/en-GB, fr/fr-CA). Стандартна поведінка майже кожного фреймворку i18n неправильна для регіональних локалей.
Як працює резервний механізм із глибоким злиттям
Коли користувач вибирає pt-BR, бібліотека завантажує повідомлення з кожної локалі в ланцюжку резервних локалей і глибоко об’єднує їх у порядку пріоритету. Регіональні ключі замінюють батьківські, а батьківські заповнюють прогалини. У результаті формується повний набір повідомлень без жодного відсутнього перекладу.
Приклад: pt-BR визначає 'cart.checkout' як 'Finalizar compra'. pt-PT визначає 'cart.checkout' як 'Concluir compra', а 'cart.empty' — як 'Carrinho vazio'. Об’єднаний результат для pt-BR використовує текст оформлення покупки з pt-BR, але для повідомлення про порожній кошик бере переклад із pt-PT замість англійського тексту.
Доступно для 17 фреймворків
Для кожного фреймворку існує окрема бібліотека locale-chain, яка природно інтегрується з його системою i18n. Установіть пакет і налаштуйте свої ланцюжки — глибоке злиття автоматично виконуватиметься під час завантаження.
Спробуйте i18n Agent зараз
Перетягніть сюди файл для перекладу
JSON, YAML, PO, XML, CSV, Markdown, Properties
або натисніть, щоб вибрати
Цільові мови