v0.247.0: i18n spike — the dashboard can speak English, Hungarian byte-identical
gates / gates (push) Successful in 19s

Message bundles (internal/i18n) expanded into templates before parsing, one
template set per language. Launcher, /backups, /apps/<slug> and the layout
converted; household language setting, POST /settings/language, ?lang= override,
report field. Parity test against fixtures captured from unconverted templates;
copy gates read templates expanded; new i18n_missing_gate.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-09-17 14:50:57 +02:00
parent 89dd3e94b1
commit 612c417024
49 changed files with 11734 additions and 248 deletions
+5
View File
@@ -48,6 +48,11 @@ type Report struct {
// their own password). The hub ingests it SET-ONLY: a later false (wiped settings.json
// after DR) never un-claims the customer hub-side.
Claimed bool `json:"claimed"`
// Language (v0.247.0, i18n) — the household's dashboard language ("hu" | "en"), so the hub's
// customer e-mails can follow it (plan slice 3). Additive: the hub stores the raw report and no hub
// release reads it yet. Always present, never omitted: a box that never chose reports "hu".
Language string `json:"language"`
}
// SystemReport holds host-level system info.