EMZETT.
Login

i18n

Kurz: Abkürzung für “Internationalization” (18 Buchstaben zwischen i und n) — die Vorbereitung von Software, damit sie in mehreren Sprachen und Regionen funktioniert.

Genauer: i18n umfasst z. B. das Auslagern von Texten in Übersetzungsdateien, das Formatieren von Datum/Zahl/Währung nach Locale und das Berücksichtigen von Textrichtung (LTR/RTL). Die eigentliche Übersetzung in eine konkrete Sprache heißt dagegen “Lokalisierung” (l10n). Bei Emzett wird i18n über next-intl umgesetzt.

Im Detail

Die Ziffernabkürzungen folgen alle demselben Muster: erster und letzter Buchstabe plus die Anzahl der Buchstaben dazwischen. Neben i18n (Internationalization) und l10n (Localization) gibt es z. B. a11y (Accessibility) oder k8s (Kubernetes) — eine Konvention aus den 1970er-Jahren, ursprünglich um lange Wörter auf Lochkarten/Terminals platzsparend zu notieren.

Typische i18n-Arbeitsschritte in einer Anwendung:

  1. Text-Extraktion: Alle fest im Code stehenden Texte werden in separate Übersetzungsdateien ausgelagert (z. B. de.json, en.json), statt hartkodiert im Quellcode zu stehen.
  2. Locale-Erkennung: Die Anwendung ermittelt, welche Sprache/Region der Nutzer bevorzugt — über Browser-Header, URL-Präfix (/de/..., /en/...) oder eine gespeicherte Nutzereinstellung.
  3. Formatierung: Zahlen, Daten und Währungen werden je nach Locale unterschiedlich dargestellt (z. B. 1.234,56 € in Deutschland vs. $1,234.56 in den USA) — dafür gibt es dedizierte APIs wie Intl.NumberFormat, statt das selbst zu programmieren.
  4. Pluralregeln: Verschiedene Sprachen haben unterschiedliche Pluralformen (Deutsch: Singular/Plural, manche Sprachen wie Polnisch kennen mehr Formen) — i18n-Bibliotheken bilden das über spezielle Pluralisierungs-Syntax ab, statt simples String-Concatenation.

Bei Emzett läuft die URL-Struktur selbst inzwischen komplett auf Englisch (z. B. /shop, /help statt /laden, /hilfe), die sichtbaren Texte bleiben aber über next-intl mehrsprachig steuerbar.

Siehe auch: next-intl