Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Der Inhalt dieser Seite wurde mit einer KI übersetzt.
Den englischen Originaltext ansehenWenn Sie eine Idee haben, um diese Dokumentation zu verbessern, zögern Sie bitte nicht, durch das Einreichen eines Pull-Requests auf GitHub beizutragen.
GitHub-Link zur DokumentationMarkdown des Dokuments in die Zwischenablage kopieren
Übersetzen Sie Ihre Next.js 15 Website mit next-intl unter Verwendung von Intlayer | Internationalisierung (i18n)
Diese Anleitung führt Sie durch die Best Practices von next-intl in einer Next.js 15 (App Router) Anwendung und zeigt, wie Sie Intlayer darüber legen können für ein robustes Übersetzungsmanagement und Automatisierung.
Sehen Sie den Vergleich in next-i18next vs next-intl vs Intlayer.
- Für Einsteiger: Folgen Sie den Schritt-für-Schritt-Anleitungen, um eine funktionierende mehrsprachige App zu erstellen.
- Für Entwickler mit mittlerem Erfahrungsniveau: Achten Sie auf Payload-Optimierung und die Trennung von Server- und Client-Komponenten.
- Für erfahrene Entwickler: Beachten Sie statische Generierung, Middleware, SEO-Integration und Automatisierungshooks.
Was wir behandeln werden:
- Einrichtung und Dateistruktur
- Optimierung des Ladens von Nachrichten
- Verwendung von Client- und Server-Komponenten
- Metadaten, Sitemap, Robots für SEO
- Middleware für die Lokalisierungs-Routing
- Hinzufügen von Intlayer obendrauf (CLI und Automatisierung)
Richten Sie Ihre Anwendung mit next-intl ein
Installieren Sie die next-intl Abhängigkeiten:
Kopieren Sie den Code in die Zwischenablage
Kopieren Sie den Code in die Zwischenablage
Einrichtung und Laden von Inhalten
Laden Sie nur die Namespaces, die Ihre Routen benötigen, und validieren Sie die Locales frühzeitig. Halten Sie Server-Komponenten nach Möglichkeit synchron und senden Sie nur die benötigten Nachrichten an den Client.
Kopieren Sie den Code in die Zwischenablage
Kopieren Sie den Code in die Zwischenablage
Kopieren Sie den Code in die Zwischenablage
Verwendung in einer Client-Komponente
Nehmen wir ein Beispiel einer Client-Komponente, die einen Zähler rendert.
Übersetzungen (Struktur wiederverwendet; laden Sie diese nach Belieben in die next-intl Nachrichten)
Kopieren Sie den Code in die Zwischenablage
Kopieren Sie den Code in die Zwischenablage
Client-Komponente
Kopieren Sie den Code in die Zwischenablage
Vergiss nicht, die "about"-Nachricht in die Client-Nachrichten der Seite aufzunehmen (Fügen Sie nur die Namespaces hinzu, die Ihr Client tatsächlich benötigt).
Verwendung in einer Server-Komponente
Diese UI-Komponente ist eine Server-Komponente und kann unter einer Client-Komponente gerendert werden (Seite → Client → Server). Halten Sie sie synchron, indem Sie vorab berechnete Strings übergeben.
Kopieren Sie den Code in die Zwischenablage
Hinweise:
- Berechnen Sie
formattedCountserverseitig (z. B.const initialFormattedCount = format.number(0)). - Vermeiden Sie es, Funktionen oder nicht serialisierbare Objekte an Server-Komponenten zu übergeben.
Kopieren Sie den Code in die Zwischenablage
Kopieren Sie den Code in die Zwischenablage
Kopieren Sie den Code in die Zwischenablage
Middleware für Locale-Routing
Fügen Sie eine Middleware hinzu, um die Lokalerkennung und das Routing zu verwalten:
Kopieren Sie den Code in die Zwischenablage
Best Practices
- Setzen Sie html
langunddir: Berechnen Sie insrc/app/[locale]/layout.tsxdirübergetLocaleDirection(locale)und setzen Sie<html lang={locale} dir={dir}>. - Teilen Sie Nachrichten nach Namespace auf: Organisieren Sie JSON-Dateien pro Locale und Namespace (z. B.
common.json,about.json). - Minimieren Sie die Client-Last: Senden Sie auf Seiten nur die benötigten Namespaces an
NextIntlClientProvider(z. B.pick(messages, ['common', 'about'])). - Bevorzugen Sie statische Seiten: Exportieren Sie
export const dynamic = 'force-static'und generieren Sie statische Parameter für allelocales. - Synchronisierte Server-Komponenten: Übergeben Sie vorab berechnete Strings (übersetzte Labels, formatierte Zahlen) anstelle von asynchronen Aufrufen oder nicht serialisierbaren Funktionen.
Implementieren Sie Intlayer auf Basis von next-intl
Installieren Sie die Intlayer-Abhängigkeiten:
Kopieren Sie den Code in die Zwischenablage
Erstellen Sie die Intlayer-Konfigurationsdatei:
Kopieren Sie den Code in die Zwischenablage
Fügen Sie package.json-Skripte hinzu:
Kopieren Sie den Code in die Zwischenablage
Hinweise:
intlayer fill: Verwendet Ihren AI-Anbieter, um fehlende Übersetzungen basierend auf Ihren konfigurierten Sprachen zu ergänzen.intlayer test: Überprüft fehlende oder ungültige Übersetzungen (ideal für den Einsatz in CI).
Sie können Argumente und Anbieter konfigurieren; siehe Intlayer CLI.
intlayer fill: verwendet Ihren KI-Anbieter, um fehlende Übersetzungen basierend auf Ihren konfigurierten Sprachversionen zu ergänzen.intlayer test: überprüft fehlende/ungültige Übersetzungen (verwenden Sie es im CI).
Sie können Argumente und Anbieter konfigurieren; siehe Intlayer CLI.