
Цепочки резервных локалей для всех фреймворков
Большинство фреймворков i18n полностью пропускают родительские локали. Пользователь pt-BR при отсутствии ключа видит английский, а не подходящий перевод pt-PT. Библиотеки locale-chain исправляют это с помощью настраиваемых цепочек глубокого объединения.
Проблема: фреймворки пропускают родительские локали
Вы выпускаете переводы pt-PT с 2000 ключей. В файле pt-BR есть 200 региональных переопределений. Что происходит с остальными 1800 одинаковыми ключами? Большинство фреймворков показывает резервную локаль, обычно английскую, вместо родительской. Бразильские пользователи видят смесь португальского и английского: нарушенный интерфейс, из-за которого приложение кажется незавершённым.
Это не редкий сценарий. С проблемой сталкивается каждое приложение с региональными вариантами (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
или нажмите, чтобы выбрать
Целевые языки