feat(infra): typesafe-i18n Integration fuer Compile-Time-Sicherheit #136

Open
opened 2026-06-28 15:42:41 +02:00 by niboer · 0 comments
Owner

Beschreibung

Aktuell werden Uebersetzungs-Keys als String-Literale verwendet: t('common.save'). Tippfehler werden erst zur Laufzeit (via Fallback-Mechanismus) oder im Key-Gleichheits-Test erkannt.

Ziel: t('path.to.key') durch LL.path.to.key() ersetzen, sodass TypeScript Tippfehler bereits waehrend der Entwicklung erkennt (Compile-Error statt Laufzeit-Fallback).

Vorteile

  • Compile-Time-Sicherheit: Tippfehler in Keys (common.svae statt common.save) werden sofort als Compile-Error gemeldet
  • Autocomplete: IDE-Vervollstaendigung fuer alle verfuegbaren Keys
  • Refactoring-Sicherheit: Umbenennung eines Keys aendert automatisch alle Referenzen
  • Keine Fallback-Tests mehr noetig: Der Key-Gleichheits-Test (Ebene 2) wird durch die Typ-Prüfung obsolet

Anforderungen

  • Evaluierung von typesafe-i18n oder alternativer Bibliotheken (z. B. i18next mit TypeScript-Wrappern)
  • Code-Generierung als Build-Step (npm run generate:i18n)
  • Umbau des i18n-Stores (i18n.svelte.ts): Store stellt LL-Objekt statt t()-Funktion bereit
  • Migration aller bestehenden t()-Aufrufe auf LL.path.to.key()-Syntax
  • Entfernung der Fallback-Logik (obsolet durch Compile-Time-Check)
  • Tests fuer generierte Typen und Store-Integration

Abhaengigkeiten

  • Setzt abgeschlossene i18n-Entwicklung voraus (alle Features stabil, kein zufuegen/entfernen von Keys mehr)
  • Alle Sprachen (DE + EN) muessen strukturell identisch sein (Voraussetzung fuer die Code-Generierung)
  • Erst nach MS-FE-6 (i18n-UI) und MS-FE-7 (DSGVO) umsetzbar
## Beschreibung Aktuell werden Uebersetzungs-Keys als String-Literale verwendet: `t('common.save')`. Tippfehler werden erst zur Laufzeit (via Fallback-Mechanismus) oder im Key-Gleichheits-Test erkannt. **Ziel:** `t('path.to.key')` durch `LL.path.to.key()` ersetzen, sodass TypeScript Tippfehler bereits waehrend der Entwicklung erkennt (Compile-Error statt Laufzeit-Fallback). ## Vorteile - **Compile-Time-Sicherheit:** Tippfehler in Keys (`common.svae` statt `common.save`) werden sofort als Compile-Error gemeldet - **Autocomplete:** IDE-Vervollstaendigung fuer alle verfuegbaren Keys - **Refactoring-Sicherheit:** Umbenennung eines Keys aendert automatisch alle Referenzen - **Keine Fallback-Tests mehr noetig:** Der Key-Gleichheits-Test (Ebene 2) wird durch die Typ-Prüfung obsolet ## Anforderungen - [ ] Evaluierung von `typesafe-i18n` oder alternativer Bibliotheken (z. B. `i18next` mit TypeScript-Wrappern) - [ ] Code-Generierung als Build-Step (`npm run generate:i18n`) - [ ] Umbau des i18n-Stores (`i18n.svelte.ts`): Store stellt `LL`-Objekt statt `t()`-Funktion bereit - [ ] Migration aller bestehenden `t()`-Aufrufe auf `LL.path.to.key()`-Syntax - [ ] Entfernung der Fallback-Logik (obsolet durch Compile-Time-Check) - [ ] Tests fuer generierte Typen und Store-Integration ## Abhaengigkeiten - Setzt abgeschlossene i18n-Entwicklung voraus (alle Features stabil, kein zufuegen/entfernen von Keys mehr) - Alle Sprachen (DE + EN) muessen strukturell identisch sein (Voraussetzung fuer die Code-Generierung) - Erst nach MS-FE-6 (i18n-UI) und MS-FE-7 (DSGVO) umsetzbar
Sign in to join this conversation.
No description provided.