i18n slice 1 release C: storage, sharing, sign-in, guest, catch-all and debug pages in English

- 11 templates converted (storage, storage_network, storage_init, storage_attach, sharing, login,
  claim, launcher_shared, launcher_share_password, catchall, debug); every key translated.
  Six ASCII-only Hungarian JS fragments the extractor missed were found by eye and converted by hand
  (", majd a(z)", "FIGYELEM:", "jelenlegi:", "mp", "p", " db").
- login, claim, both guest share pages and the catch-all render through executeTemplateLang (the
  household language; no session CSRF, no escrow reminder). renderLogin now takes the request.
- Page titles: TitleKey for storage, network storage, the two drive wizards and sharing.
  TestHandlerTitleKeysMatchHungarianTitle pins handler literal == hu.json value for every TitleKey.
- Tests: TestDirectRenderHandlersFollowLanguage (real routes, en + hu),
  TestI18nDirectRenderPagesHaveNoAdminChrome (escrow reminder due; none on the guest page).
- Fixture correction: the release C cases had invented page titles; the cases now carry the handlers'
  real titles (and the wizard pages their real page name), and those 12 fixtures were RE-CAPTURED from
  the unconverted templates at 0555091. The diff to the old fixtures is the <title> line (and the nav
  highlight on the two wizard pages) only.
- i18n gate: HU_FORMAL_CEILING 12 -> 16 — four more „ön" forms in the converted copy, unchanged by rule (R-516).

Hungarian: byte-identical (TestI18nParity against fixtures from unconverted templates).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-09-17 18:29:53 +02:00
parent 0555091f83
commit ac149c2aa4
36 changed files with 1696 additions and 559 deletions
@@ -1,6 +1,6 @@
{{define "catchall"}}
<!DOCTYPE html>
<html lang="hu">
<html lang="{{T "layout.html_lang"}}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
@@ -35,11 +35,11 @@ body{background:#0A1220;color:#EDF2F9;font-family:-apple-system,BlinkMacSystemFo
<div class="status-text">{{.StatusText}}</div>
<div>
{{if .AppSlug}}
<a class="btn btn-primary" href="{{.ControllerURL}}/apps/{{.AppSlug}}">Alkalmazás kezelése</a>
<a class="btn btn-primary" href="{{.ControllerURL}}/apps/{{.AppSlug}}">{{T "catchall.alkalmazas_kezelese"}}</a>
{{else}}
<a class="btn btn-primary" href="{{.ControllerURL}}/stacks">Alkalmazások</a>
<a class="btn btn-primary" href="{{.ControllerURL}}/stacks">{{T "catchall.alkalmazasok"}}</a>
{{end}}
<a class="btn btn-outline" href="{{.ControllerURL}}">Vezérlőpult</a>
<a class="btn btn-outline" href="{{.ControllerURL}}">{{T "catchall.vezerlopult"}}</a>
</div>
<div class="host-label">{{.Host}}</div>
</div>