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:
@@ -1,3 +1,46 @@
|
||||
## v0.248.0 — English for apps and settings: ten more pages, Hungarian byte-identical (2026-09-17, R-556 release A)
|
||||
|
||||
**MinAgent: 0.131.0** (unchanged). **No hub release needed.** Nothing changes for a Hungarian household:
|
||||
the switch is still shown only on English pages (decision 6 stands until release C).
|
||||
|
||||
- **Converted:** `dashboard`, `stacks`, `logs`, `monitoring`, `app_import`, `app_export`, `deploy`,
|
||||
`settings_system`, `settings_security`, `settings_notifications` (572 markers). `app_row`,
|
||||
`meta_badge`, `icons` carry no copy (verified). 16 repeated strings now share `common.*` keys
|
||||
where the meaning is the same everywhere; „Mentés" (Save/Backup), „Frissítés" (Update/Refresh),
|
||||
„Indítás" (Start/Boot) deliberately stay per page.
|
||||
- **Parity:** 25 new fixture states captured from the UNCONVERTED templates (commit `6be55a0`) before
|
||||
any of these pages carried a marker. Five v0.247.0 fixtures were re-captured from v0.246.0
|
||||
(`89dd3e94`) because their one-word Hungarian data had to become multi-word (below).
|
||||
- **New test — `TestI18nParityCoversEveryMarker`:** every marker occurrence must be rendered by some
|
||||
parity case. It found two gaps in v0.247.0's own pages (the app page's Install button; one „Due"
|
||||
tag), closed with two new cases captured from v0.246.0.
|
||||
- **English page test widened:** only fixture strings of 2+ words or 12+ characters are masked; titles
|
||||
go through `addLanguageData`. Measured: with one English nav key deleted, the old test flagged 8
|
||||
cases and missed the 6 launcher cases; the new one flags all 14.
|
||||
- **Retrieval-promise gate reads English** (`EN_PATTERNS`, `ALLOWLIST_EN`): HEAD passed a planted
|
||||
„Your old backups can be restored at any time." in `en.json`; the gate now convicts it and accepts the
|
||||
same place carrying a sentence that promises nothing. Decoys in `test_gate_decoys.py`.
|
||||
- **Go-side copy on these pages:** titles via `TitleKey` (dashboard, stacks, monitoring, the three
|
||||
settings pages); `infraMeta` descriptions (and samba's name) from the bundle, Hungarian pinned equal
|
||||
to `inframeta.go`.
|
||||
- **Found, not converted:** `backups_remote.html` decides with `indexOf('Fut')` against its own
|
||||
Hungarian status text (row filed); converting that word would silently break the English page's
|
||||
progress poll. Composite page titles (logs, deploy, export) and `lifecycleBadge`/`updateBadge`
|
||||
remain Hungarian — slice 2.
|
||||
- **Extractor:** ASCII-only Hungarian it missed on these pages — Mind, Folyamat, Titkos, Processzor,
|
||||
Hamarosan, aldomain, „Az adatai itt voltak", Figyelem, pelda@email.hu — converted by hand; words added
|
||||
to its list (not „Mind": an English homograph). It also learnt that a JS string can start inside an
|
||||
attribute value.
|
||||
- `HU_FORMAL_CEILING` 6 → 10: the converted copy carries four more „ön" forms (R-516), unchanged by rule.
|
||||
- Old wording tests (`TestDiskMeter_*`, `TestNetworkBadgeTemplates_DistinctStrings`,
|
||||
`TestSettingsSectionInventory`) read the Hungarian expansion (`huTemplateSource`), not the raw file.
|
||||
- `loadTemplates` logs its parse duration per language (DEBUG).
|
||||
|
||||
**Red-proofs** (`felhom.eu/documentation/audits/i18n-slice1-2026-09-17/A/redproofs.txt`): parity (one byte
|
||||
of `dashboard.lemezek_allapota` → 4 dashboard cases name line and bytes); coverage (a marker in an
|
||||
unreachable launcher branch → named, while parity stayed green); mask widening (8 vs 14 cases);
|
||||
retrieval gate (HEAD rc 0 on the planted promise → fixed gate convicts, negative control accepted).
|
||||
|
||||
## 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
|
||||
|
||||
Reference in New Issue
Block a user