Skip to main content

Цепочки резервных локалей для всех фреймворков

Большинство фреймворков 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

или нажмите, чтобы выбрать

Целевые языки

Регистрация не требуетсяМгновенный расчёт

Частые вопросы о резервных локалях