Определяет структуру ресурсов, API, хранилище, инструменты, матрицу тестирования и проверки релиза для выбора локали. Этот справочник фиксирует границы принятия, поведение при ошибках и наблюдаемые доказательства, оставляя при этом настраиваемыми ограничения, специфичные для среды.
Статус пакета: справочный контекст готов к проверке человеком. Контракт и сценарии тестирования завершены, но не утверждается, что реализующая команда прошла их.
Решение
Для выбора локали принять канонические данные, нейтральные к локали, плюс явную локаль представления. Реализовать поведение через один авторитетный путь записи, типизированные интерфейсы, явное состояние и идемпотентную обработку побочных эффектов. Этот пакет является справочным контрактом: команда, внедряющая его, должна выбрать числовые ограничения, провайдеров, юрисдикции и ответственных за эксплуатацию на основе данных из собственной среды.
Область применения
- Акторы выбора локали, входные данные, выходные данные, состояния, версии политики или схемы и внешне видимые результаты, описанные в этом блоке реализации.
- Основные и альтернативные интерфейсы, фоновые задачи, кэши, интеграции, вспомогательные пути и доказательства, которые могут задействовать ту же границу.
- Конфигурация, развертывание, восстановление и обязанности по проверке, специфичные для внедрения, необходимые для безопасного применения справочника.
Вне этого блока
- Выбор универсального поставщика, фреймворка, юрисдикции, числового порога, периода хранения или целевого уровня обслуживания для всех внедряющих.
- Утверждение, что упакованные сценарии были запущены на нижестоящей реализации или что этот справочник предоставляет юридическую, безопасность или сертификацию доступности.
Контракт
- Сохранять канонические значения и стабильные ключи перевода; применять локально-специфичное форматирование только на границах представления или генерации документов.
- Разрешать запрошенные, пользовательские, организационные и продуктовые запасные локали через одну детерминированную, наблюдаемую цепочку.
- Использовать языковые теги и данные локали из поддерживаемых стандартов; не выводить язык, регион, валюту или юридические условия друг из друга.
- Тестировать расширение, категории множественного числа, двунаправленный текст, отсутствующие ресурсы, часовые пояса, валюты и ввод на нелатинице с помощью репрезентативных фикстур.
- Валидировать входные данные один раз на границе и сохранять нормализованное представление, используемое нижестоящей логикой.
- Сохранять бизнес-транзакцию до или атомарно с записью в исходящем журнале; потребители устраняют дублирование по устойчивому идентификатору операции.
- Разрешать локаль через явный приоритет предпочтения пользователя, политики аккаунта или организации, поддерживаемого браузера или устройства, продукта по умолчанию и задокументированной цепочки запасных вариантов.
- Канонизировать языковые теги, различать язык, регион и часовой пояс, сохранять явный выбор, избегать циклов перенаправления и последовательно повторно отображать даты, числа, сообщения и направление после изменений.
Руководство по реализации
- Сначала выпустить добавочные изменения в хранилище и интерфейсах, заполнить наблюдаемым образом, затем вывести из эксплуатации старые пути после подтверждения совместимости.
- Смоделировать входы, выходы, акторов, состояния, инварианты, побочные эффекты и доказательства выбора локали до выбора деталей фреймворка или поставщика.
- Хранить применимую версию контракта или политики выбора локали вместе с материальным состоянием, чтобы миграции, воспроизведение и решения поддержки оставались атрибутируемыми.
- Внедрять путь за контролируемым развертыванием, сравнивать ожидаемые и наблюдаемые результаты и сохранять проверенный маршрут восстановления до получения полного подтверждения внедрения.
Обработка ошибок и меры предосторожности
- Отсутствующий или недействительный ресурс следует объявленной цепочке запасных вариантов, безопасно записывает ключ и локаль и никогда не раскрывает внутренний идентификатор как окончательный текст.
- Недопустимое или противоречивое состояние выбора локали отклоняется или помещается в карантин; реализация никогда не угадывает значение, расширяющее полномочия или дублирующее эффект.
- Повторные попытки ограничены и используют устойчивую идентичность; после исчерпания работы достигают проверяемого конечного состояния с ответственным владельцем.
Проверка и эксплуатация
- Внедрять сбои зависимостей до и после сохранения и доказывать, что повторная попытка сходится к одному внешне видимому результату.
- Мониторить успех выбора локали, отказ, ошибку валидации, сбой зависимости, исчерпание повторных попыток и восстановление по версии контракта без чувствительных данных.
- Повторно запускать парные положительные и отрицательные фикстуры после изменений политики, схемы, зависимостей, миграций или границ и сохранять полученные доказательства.
Предположения внедрения
- Имена и значения в примерах — это конкретные фикстуры, а не универсальные значения по умолчанию; внедряющие заменяют их на основе задокументированных данных и ответственности.
- Внедряющая система может предоставить аутентифицированную идентичность, устойчивые версии операций или записей, ограниченную телеметрию и контролируемый путь для изменений.
Примеры, похожие на исполняемые, в этом пакете являются фикстурами и контрактами приемки. Запустите валидатор коллекции для проверки структуры и метаданных, затем переведите и выполните сценарии в целевом репозитории перед фиксацией доказательств реализации.