987 B
987 B
i18n key manifest + drift check
Issue: #240
This repo keeps shared lobby keyspaces in two files:
- Contract source:
shared/i18n/lobby.json - Key manifest:
shared/i18n/key-manifest.json
The manifest is intentionally small and explicit. It lists:
- Supported locales (
locales) - Frontend error key set (
frontend_error_keys) - Backend error code set (
backend_error_codes) - Backend translation key set (
backend_error_keys) - Optional contract-only aliases (
allowed_contract_only_backend_codes)
Local check
Run the read-only drift checker from repo root:
python3 scripts/check_i18n_drift.py
The script returns non-zero when it detects drift, including:
- key set mismatch between manifest and shared catalog
- missing backend→frontend mapping coverage
- mapping to unknown frontend keys
- mappings for unknown backend codes
- missing/empty locale translations (
en/da)
No CI gating changes are included in this task; this is a local guardrail.