Files
felhom.eu/documentation/audits/i18n-slice5-2026-09-20/README.md
T
admin 8e9401c6bf
gates / gates (push) Successful in 27s
Localisation slice 5 CLOSED: the catalog speaks English and the floor is at 0.257.0
Part C shipped the same day the pilot was read: fifty apps in three pushes, 1 031 of
1 032 strings. The English Apps list shows ZERO Hungarian app descriptions across all
53 apps — the only Hungarian left on it is the "Naprakész" badge (R-589) and the
language picker naming itself, which is correct.

The Hungarian Apps list is identical to the pre-slice capture once the per-session
CSRF token AND Docker's own "Up N hours" container string are normalised. Both
normalisations are stated in the evidence rather than applied quietly — the second
one moved because two hours of wall clock passed between captures, not because any
copy changed.

Fleet floor raised to 0.257.0 with the declared MinAgent 0.131.0, above the vouched
golden so the declaration carries it. demo-felhom went 0.255.0 -> 0.257.0 by itself
in under 12 seconds and THEN rendered the English tagline: the floor delivered the
feature, not a version string.

Rows: R-593 (papra describes a session-signing key as "the app's subdomain" — the one
string left untranslated) and R-594 (the catalog gate can convict a retrieval promise
but has no way to REGISTER a true one, which the shared vocabulary's design calls
for). R-560 closed. 281 -> 287 rows.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-09-20 16:40:59 +02:00

80 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Localisation slice 5 — the app catalog's own words (R-560), 2026-09-20
Controller **v0.257.0** (the read path) + the catalog **pilot**, then — after the operator read the
pilot and said go — **all fifty remaining apps in three batches**, and then **the fleet floor raised
to 0.257.0**. 1 031 of the catalog's 1 032 customer-facing strings are English.
Method: **endpoint-level**. No browser is available on DooPlex, so every page below was fetched with
`curl` from inside the guest at the controller's container address, with the customer `Host` header
and a real logged-in session — the same handlers and the same templates the browser drives, with only
the rendering skipped. Said plainly because a claim of "the page shows X" has to name how it was seen.
## What is here
| path | what |
|---|---|
| `B/live/cap-before/` | demo-hp guest 9201 on **0.257.0**, BEFORE the pilot push — 7 pages × hu/en |
| `B/live/cap-after/` | the same 7 pages × hu/en AFTER the push and a forced template sync |
| `B/old-controller/old-before/` | demo-felhom guest 9201 on **0.255.0**, before the block reached it |
| `B/old-controller/old-after/` | the same, after the block reached it (sync confirmed positively) |
| `B/hungarian-parity.txt` | the before/after comparison of every Hungarian page |
| `B/english-leftovers.txt` | the accent + ASCII-folded scan of every English page, with its controls |
| `C1/b1-before/`, `C1/b1-after/` | four batch-1 apps × hu/en, around that push's sync |
| `C3/final/`, `C3/final2/` | after the LAST batch: the whole Apps list in both languages, and five batch-3 apps |
## Part C, and the floor
**The English Apps list shows ZERO Hungarian app descriptions, across all 53 apps** (`C3/final/`).
The only Hungarian on that page is the „Naprakész" update badge (R-589, ten occurrences) and the
language picker naming itself, which is correct — a picker names each language in its own tongue.
**The Hungarian Apps list is identical to the pre-slice capture**, once two things are normalised:
the per-session CSRF token, and Docker's own „Up N hours" container-status string, which moved
because two hours of wall clock passed between the captures. Nothing else differs. Both
normalisations are stated here rather than applied quietly.
**The floor was raised to 0.257.0** with `min_agent` 0.131.0 declared — above the vouched golden
0.246.0, so the declaration is what carries it. Hub log: `managed floor SERVED for demo-felhom:
floor 0.257.0, agent requirement "0.131.0" from declared (golden 0.246.0)`. demo-felhom went
**0.255.0 → 0.257.0 by itself in under 12 seconds**, healthy, `settle-gate: GO — at/above floor
0.257.0`, **and then rendered the English tagline**. Peti's box and tester-1 are DOWN and take it
unattended when they return.
## The three results of the pilot phase
**1. The English pages show the English catalog text.** privatebin's tagline, use cases and first
steps, paperless-ngx's select options and folder label, romm's optional-config group — all English on
`?lang=en`.
**2. The Hungarian did not move.** All seven Hungarian pages are byte-identical before and after the
push apart from the per-session CSRF token. Equal raw byte counts, equal hashes once the token is
normalised. That is §1 of `architecture/10-localisation.md`, measured rather than read.
**3. An older controller ignores the block.** demo-felhom runs 0.255.0. Its pages hash identically
before and after, and its log shows no parse warning — **in a 93-line window that contains the sync's
own lines**, so the absence is evidence and not a dead log.
## What is still Hungarian on an English app page
Three things, and the first is correct:
1. the language picker's own „Magyar" button — a picker names each language in its own tongue;
2. the update badge „Naprakész" and its tooltip — **R-589**;
3. the data-folder card's consequence sentence — **R-590**, the one that makes a promise about files.
The Apps LIST also shows fifty Hungarian descriptions: those are the apps nobody has translated yet.
## What was NOT proven here
Whether an app's "first steps" name the buttons that app's **English** interface actually shows. No
gate and no endpoint can answer that; it needs somebody to open the app. The lines are listed per app
in `app-catalog-felhom.eu/REPORT.md` under "unverified UI labels" and belong to the slice-6 walk
(R-561).
## Teardown
Nothing was installed or removed on either box. Three template files changed on both (the catalog
sync), which is what the sync does. The staged password file and the capture scripts were shredded
from both Proxmox hosts and both guests; `ls` confirms they are gone. Both boxes were left on
Hungarian.