v0.248.0: i18n slice 1 release A — apps and settings in English, Hungarian byte-identical (R-556)
gates / gates (push) Successful in 20s
gates / gates (push) Successful in 20s
Ten pages converted against fixtures captured from unconverted templates (6be55a0); marker
coverage test; English page mask narrowed; English retrieval-promise stems; common keys;
title keys and infraMeta from the bundle; old wording tests read the Hungarian expansion.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -3621,8 +3621,10 @@ Design: `felhom.eu/documentation/architecture/10-localisation.md`. Inventory:
|
||||
|
||||
**What a household sees:** nothing new. Hungarian is the default and the only language shown unless
|
||||
the language is switched. English covers the **launcher**, the **backups overview** (`/backups`), the
|
||||
**app page** (`/apps/<slug>`) and the shared **layout** (menu, banners, the layout's modals) — other
|
||||
pages keep their Hungarian body inside an English menu.
|
||||
**app page** (`/apps/<slug>`), the shared **layout**, and since v0.248.0 the **dashboard, apps list,
|
||||
logs, monitoring, import, export, deploy/settings-of-an-app and the three settings pages** — other
|
||||
pages keep their Hungarian body inside an English menu. Server-built messages and catalog copy stay
|
||||
Hungarian (slices 2 and 5).
|
||||
|
||||
- **Bundles:** `internal/i18n/locales/hu.json` (authoritative, every key) and `en.json`, embedded.
|
||||
Flat `key → text`; a value may carry template actions (`{{.RecoveryAbandonDate}}`) and inline
|
||||
@@ -3650,7 +3652,9 @@ pages keep their Hungarian body inside an English menu.
|
||||
exist, no orphans, the English gap and the formal „ön" count only shrink (ratchets), no pleading
|
||||
English. The emoji, native-confirm, secret-in-markup and retrieval-promise gates read templates
|
||||
**expanded** through `scripts/i18n_bundle.py`; mojibake scans the bundles.
|
||||
- **Release gate:** `TestI18nParity` compares the Hungarian render of 14 fixture states with HTML
|
||||
- **Coverage:** `TestI18nParityCoversEveryMarker` fails when any marker occurrence is rendered by no
|
||||
parity case. Fixtures are written only when missing (`-update-i18n-golden`, `-i18n-golden-only`).
|
||||
- **Release gate:** `TestI18nParity` compares the Hungarian render of every fixture state with HTML
|
||||
captured from the unconverted templates (`internal/web/testdata/i18n_parity/`). Fixtures are never
|
||||
regenerated to make a conversion pass.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user