## v0.247.0 — the dashboard can speak English: mechanism proven on three pages, Hungarian byte-identical (2026-09-17, i18n spike) **MinAgent: 0.131.0** (unchanged — nothing here talks to the agent). **No hub release needed:** the report gains an additive `language` field the hub stores raw and does not read yet. **Nothing changes for a household.** Hungarian stays the default and the only language shown; the switch appears only on an English page or a request carrying `?lang=`. - **Mechanism — a flat message bundle, expanded BEFORE the template is parsed.** `internal/i18n/locales/{hu,en}.json` (embedded; hu authoritative). Converted templates carry `{{T "key"}}` markers; `loadTemplates` parses one template set per language after `i18n.Expand` has replaced them, so the Hungarian set is parsed from the same bytes, in the same escaping contexts, as before. Chosen over `golang.org/x/text/message` because the inventory found no gender and only count-plurals (English `key.one`/`key.other`; Hungarian has one form), and over a runtime `T` func because the contextual escaper would change Hungarian bytes (`+`, `'`, `"`) and need per-context handling inside `