v0.258.0: the last four Hungarian things an English household met
gates / gates (push) Successful in 24s

R-589 the update badge, R-590 the data-folder backup sentence, R-573 the two channel
banners, R-572 two dead helpers. All four were built in Go, which is why neither the
template parity fixtures nor TestI18nEnglishPages could see them; slice 5's LIVE proof
is what found them.

R-590 is the one that matters most: it is a promise about the customer's files. It
said, in Hungarian and under an already-English folder label, that a drop-zone is
temporary and unbacked. The test now asserts the CONSEQUENCE in both languages — and
that the two languages do not produce the same string, which would mean the English
fell back.

R-572 is not what its row said. The row claimed a template renders "vasárnap" on an
English page; measured, NO template and no Go file called pruneLabel or
nextPruneLabel. They were dead func-map entries returning Hungarian, so they are
deleted rather than translated — translating dead code would add machinery with no
reader and a test pinning a fiction. Deletion is fail-loud and that was proven: a
template naming the removed function panics loadTemplates at startup.

Five red-proofs. One of them says something about the gate rather than the code: the
Go-parity gate does not measure localeFuncs keys against the base capture, so the
citation to TestLocaleFuncsHungarianBundleMatchesFuncMap is what carries them — the
test was extended to make that citation true.

MinAgent: 0.131.0 (unchanged). Hungarian byte-identical.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-09-20 18:10:53 +02:00
parent ecefdf2dc5
commit 7c4a33b6d1
12 changed files with 425 additions and 74 deletions
+22 -1
View File
@@ -2286,5 +2286,26 @@
"event.crossdrive_completed": "Second backup copy finished: %s",
"event.crossdrive_failed": "Second backup copy failed: %s",
"event.disaster_recovery_started": "Disaster recovery started (%d app(s))",
"event.disaster_recovery_completed": "Disaster recovery finished (%d succeeded, %d failed)"
"event.disaster_recovery_completed": "Disaster recovery finished (%d succeeded, %d failed)",
"badge.update.current": "Up to date",
"badge.update.current.title": "This app is running the newest version available.",
"badge.update.behind": "Update available",
"badge.update.behind.today": " — today",
"badge.update.behind.title": "A newer version of this app is available. Select the Update button to start it.",
"badge.lifecycle.abandoned": "No longer maintained",
"badge.lifecycle.abandoned.title": "The people who made this app stopped working on it. The installed version keeps working, but updates and security fixes no longer arrive for it.",
"datapath.consequence.import_excluded": "Copy the files to be processed in here. The app reads them and then deletes them from here — this folder is temporary and is not backed up.",
"datapath.consequence.excluded": "This folder is temporary and is not backed up.",
"datapath.consequence.kept": "This is where your files are kept. It is backed up.",
"datapath.free_space": "%.1f GB free",
"alert.agent_channel.construction_error": "The storage agent's connection is set up wrongly.",
"alert.agent_channel.pin_mismatch": "The storage agent's certificate has changed.",
"alert.agent_channel.unauthorized": "The storage agent refused access.",
"alert.agent_channel.misconfigured": "The storage agent's address cannot be resolved.",
"alert.agent_channel.unreachable": "The storage agent cannot be reached.",
"alert.agent_channel.timeout": "The storage agent is not answering.",
"alert.agent_channel.unknown": "The storage agent cannot be reached.",
"alert.endpoint_drift": "The storage agent's address in the settings is out of date.",
"badge.update.behind.days.one": " — %d day ago",
"badge.update.behind.days.other": " — %d days ago"
}
+21 -1
View File
@@ -2275,5 +2275,25 @@
"event.crossdrive_completed": "Másodlagos mentés elkészült: %s",
"event.crossdrive_failed": "Másodlagos mentés sikertelen: %s",
"event.disaster_recovery_started": "Katasztrófa helyreállítás elindítva (%d alkalmazás)",
"event.disaster_recovery_completed": "Katasztrófa helyreállítás befejezve (%d sikeres, %d sikertelen)"
"event.disaster_recovery_completed": "Katasztrófa helyreállítás befejezve (%d sikeres, %d sikertelen)",
"badge.update.current": "Naprakész",
"badge.update.current.title": "Ez az alkalmazás a legfrissebb elérhető változatot futtatja.",
"badge.update.behind": "Frissítés elérhető",
"badge.update.behind.today": " — ma",
"badge.update.behind.title": "Újabb változat érhető el ehhez az alkalmazáshoz. A frissítés indításához nyomd meg a Frissítés gombot.",
"badge.lifecycle.abandoned": "Nem karbantartott",
"badge.lifecycle.abandoned.title": "Az alkalmazás fejlesztője felhagyott a fejlesztéssel. A telepített verzió továbbra is használható, de frissítések és biztonsági javítások már nem érkeznek hozzá.",
"datapath.consequence.import_excluded": "Ide másold a feldolgozandó fájlokat. Az alkalmazás beolvassa, majd törli innen — ez a mappa átmeneti, és nem készül róla biztonsági mentés.",
"datapath.consequence.excluded": "Ez a mappa átmeneti, és nem készül róla biztonsági mentés.",
"datapath.consequence.kept": "Itt tárolódnak a fájljaid. Biztonsági mentés készül róla.",
"datapath.free_space": "%.1f GB szabad",
"alert.agent_channel.construction_error": "A tárolókezelő ügynök kapcsolata hibásan beállítva.",
"alert.agent_channel.pin_mismatch": "A tárolókezelő ügynök tanúsítványa megváltozott.",
"alert.agent_channel.unauthorized": "A tárolókezelő ügynök elutasította a hozzáférést.",
"alert.agent_channel.misconfigured": "A tárolókezelő ügynök címe nem feloldható.",
"alert.agent_channel.unreachable": "A tárolókezelő ügynök nem elérhető.",
"alert.agent_channel.timeout": "A tárolókezelő ügynök nem válaszol.",
"alert.agent_channel.unknown": "A tárolókezelő ügynök nem elérhető.",
"alert.endpoint_drift": "A tárolókezelő ügynök címe elavult a beállításokban.",
"badge.update.behind.days": " — %d napja"
}