[i18n-A] i18n-Infrastruktur: Locales-Loader + t()-Helper + <html lang> #72

Closed
opened 2026-06-04 10:42:13 +02:00 by greggy · 0 comments
Owner

Parent

Sub-Issue A von #71 (Multi-Language Epic) - Milestone Multi-Language MVP

Ziel

Technische Grundlage fuer Uebersetzungen. Keine UI-Aenderungen, nur Infrastruktur. B, C, D, E, F bauen auf A auf.

Akzeptanzkriterien

  • app/Locales/ mit 4 Dateien: de.php, uk.php, ru.php, en.php
  • Jede Datei: $GLOBALS['__locale'] = [ ... ]
  • app/Helpers/i18n.php mit t(string $key, ?array $vars = null): string
  • t() faellt auf DE zurueck bei fehlendem Key (kein Notice/Warning)
  • current_locale(): string und set_locale(string $locale): void
  • haus-schleusingen.html rendert <html lang="<?= current_locale() ?>">
  • og:locale reagiert auf Locale (Placeholder, echte Texte in C)
  • PHPUnit-Smoke-Test: t("haus.titel") aus jeder Datei liefert non-empty String

DoR

  • Akzeptanzkriterien messbar
  • Aufwand: S (~2-4h)
  • Out-of-Scope definiert
  • Abhaengigkeiten: keine
  • Labels vergeben

Out-of-Scope

  • Echte Uebersetzungstexte (C), Switcher UI (B), Flaggen (D), Tests > Smoke (F)

Abhaengigkeiten

  • Blockiert: B, C, D, E, F
## Parent Sub-Issue A von **#71** (Multi-Language Epic) - Milestone **Multi-Language MVP** ## Ziel Technische Grundlage fuer Uebersetzungen. Keine UI-Aenderungen, nur Infrastruktur. B, C, D, E, F bauen auf A auf. ## Akzeptanzkriterien - [ ] `app/Locales/` mit 4 Dateien: `de.php`, `uk.php`, `ru.php`, `en.php` - [ ] Jede Datei: `$GLOBALS['__locale'] = [ ... ]` - [ ] `app/Helpers/i18n.php` mit `t(string $key, ?array $vars = null): string` - [ ] `t()` faellt auf DE zurueck bei fehlendem Key (kein Notice/Warning) - [ ] `current_locale(): string` und `set_locale(string $locale): void` - [ ] `haus-schleusingen.html` rendert `<html lang="<?= current_locale() ?>">` - [ ] `og:locale` reagiert auf Locale (Placeholder, echte Texte in C) - [ ] PHPUnit-Smoke-Test: `t("haus.titel")` aus jeder Datei liefert non-empty String ## DoR - [x] Akzeptanzkriterien messbar - [x] Aufwand: **S** (~2-4h) - [x] Out-of-Scope definiert - [x] Abhaengigkeiten: keine - [x] Labels vergeben ## Out-of-Scope - Echte Uebersetzungstexte (C), Switcher UI (B), Flaggen (D), Tests > Smoke (F) ## Abhaengigkeiten - Blockiert: B, C, D, E, F
greggy added this to the Multi-Language MVP milestone 2026-06-04 10:42:13 +02:00
greggy added the
ReadyForDev
type/feature
priority/P1
i18n
labels 2026-06-04 10:42:13 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: greggy/landingpage-haus-schleusingen#72
No description provided.