React & Next.js Lokalisierung

Organisieren Sie i18next-Übersetzungen in Namespaces – eine JSON-Datei pro Funktionsbereich anstatt einer großen Datei pro Sprachvariante. Eine typische Struktur hat einen common-Namespace für gemeinsame UI-Beschriftungen, separate Namespaces für Authentifizierung, Checkout und Dashboard sowie einen Namespace pro Seitenroute. Laden Sie Namespaces mit dem i18next-Backend-Plugin lazy, sodass jede Route nur die benötigten Zeichenketten lädt und die anfängliche Bundle-Größe klein bleibt. Dies erleichtert auch die Zuweisung von Übersetzungsarbeit nach Funktionsbereich, ohne dass Übersetzer nicht verwandte Zeichenketten berühren.

Benennen Sie Übersetzungsschlüssel semantisch: button.submit ist stabiler als submit_button_label_text und übersteht eine Textänderung, ohne dass ein Schlüssel umbenannt und der Code aktualisiert werden muss. Vermeiden Sie die dynamische Konstruktion von Schlüsseln zur Laufzeit – dynamische Schlüsselkonstruktion unterbricht statische Analysetools, die nach unübersetzten Zeichenketten suchen, und verhindert, dass Language Monster neue Inhalte zuverlässig erkennt. Verwenden Sie in React die Trans-Komponente für Zeichenketten, die JSX-Elemente wie Links oder fettgedruckte Spans einbetten – teilen Sie einen Satz niemals auf mehrere Schlüssel auf, nur um ein Inline-Element einzufügen.

Konfigurieren Sie in Next.js i18n in next.config.js mit Ihrer vollständigen Locale-Liste, defaultLocale, und erwägen Sie, localeDetection zu deaktivieren, wenn Sie die Erkennung in Middleware verwalten. Verwenden Sie next-i18next für server-gerenderte Seiten – es lädt über getServerSideProps oder getStaticProps nur die Namespaces, die jede Seite benötigt, und vermeidet so das vollständige Locale-Bundle bei jeder Anfrage. Folgen Sie für den App Router dem parallelen Routengruppen-Muster pro Locale, um die SSR-Locale-Auflösung sauber zu halten.

Verbinden Sie Ihr GitHub-, Bitbucket- oder Azure-Repos-Repository mit Language Monster. Language Monster erkennt Ihre Locale-Dateistruktur automatisch, ordnet Schlüssel in allen Sprachdateien zu und überträgt fertige Übersetzungen in einen Branch für Ihren Standard-Pull-Request-Review – sodass die Übersetzung in Ihrer bestehenden Code-Review-Pipeline bleibt. Verschachtelte JSON-Struktur, Interpolationsplatzhalter und i18next-Pluralschlüssel-Suffixe bleiben durch jeden Übersetzungsauftrag erhalten.

Führen Sie eslint-plugin-i18next in Ihrer CI-Pipeline aus, um hartcodierte Zeichenketten zu erkennen, die nicht in Übersetzungsschlüssel extrahiert wurden. Die Qualitätskontrollen von Language Monster prüfen Platzhalterintegrität, Rechtschreibung, Grammatik und Zahlenformatierung für jede gespeicherte Zeichenkette – Fehler werden zum Übersetzungszeitpunkt und nicht erst beim Code-Review abgefangen. Translation Memory bedeutet, dass identische Zeichenketten in Namespaces abgeglichen und ohne Mehrkosten angewendet werden.

Mehr lesen json (.json)

Mehr lesen i18next V4 (json)

Mehr lesen Dateiformate

Mehr lesen Integration