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"
}