Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Dieses Dokument ist veraltet, die Basisversion wurde aktualisiert am 22. August 2026.
Zur englischen Doku gehenVersionshistorie
- "Aktualisieren der Solid useIntlayer API-Nutzung auf direkten Eigenschaftszugriff"v8.9.04.5.2026
- "Update compiler options, add FilePathPattern support"v8.2.09.3.2026
- "Erstveröffentlichung"v8.1.623.2.2026
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
Wie man eine bestehende Next.js-Anwendung nachträglich mehrsprachig (i18n) macht (i18n-Leitfaden 2026)
Siehe Anwendungsvorlage auf GitHub.
Inhaltsverzeichnis
Warum ist es schwierig, eine bestehende Anwendung zu internationalisieren?
Wenn Sie jemals versucht haben, mehrere Sprachen zu einer App hinzuzufügen, die nur für eine Sprache entwickelt wurde, kennen Sie den Aufwand. Es ist nicht nur „schwierig“ – es ist mühsam. Sie müssen jede einzelne Datei durchkämmen, jede Textzeichenfolge aufspüren und sie in separate Wörterbuchdateien verschieben.
Dann kommt der riskante Teil: Das Ersetzen all dieses Textes durch Code-Hooks, ohne Ihr Layout oder Ihre Logik zu beeinträchtigen. Es ist die Art von Arbeit, die die Entwicklung neuer Funktionen für Wochen unterbricht und sich wie ein endloses Refactoring anfühlt.
Was ist der Intlayer Compiler?
Der Intlayer Compiler wurde entwickelt, um diese manuelle Fleißarbeit zu umgehen. Anstatt Zeichenfolgen manuell zu extrahieren, erledigt der Compiler dies für Sie. Er scannt Ihren Code, findet den Text und verwendet KI, um im Hintergrund die Wörterbücher zu generieren. Anschließend modifiziert er Ihren Code während des Builds, um die erforderlichen i18n-Hooks einzufügen. Im Grunde schreiben Sie Ihre App so weiter, als wäre sie einsprachig, und der Compiler kümmert sich automatisch um die mehrsprachige Transformation.
Doc Compiler: /de/doc/compiler
Einschränkungen
Da der Compiler eine Codeanalyse und -transformation (Einfügen von Hooks und Generieren von Wörterbüchern) zur Kompilierzeit durchführt, kann er den Build-Prozess verlangsamen.
Um diese Auswirkungen während der Entwicklung zu mildern, können Sie den Compiler im Modus 'build-only' ausführen oder ihn ganz deaktivieren, wenn er nicht benötigt wird.
Schritt-für-Schritt-Anleitung
Abhängigkeiten installieren
Installieren Sie die erforderlichen Pakete mit npm:
bashCode kopierenKopieren Sie den Code in die Zwischenablage
das
--interactiveFlag ist optional. Verwenden Sieintlayer-cli init, wenn Sie ein KI-Agent sind.Dieser Befehl erkennt deine Umgebung und installiert die erforderlichen Pakete. Zum Beispiel:
bashCode kopierenKopieren Sie den Code in die Zwischenablage
- intlayer
Das Core-Paket, das Internationalisierungstools für Konfigurationsverwaltung, Übersetzung, Inhaltsdeklaration, Transpilation und CLI-Befehle bereitstellt.
- next-intlayer
Das Paket, das Intlayer mit Next.js integriert. Es bietet Context-Provider und Hooks für Next.js-Internationalisierung. Zusätzlich enthält es das Next.js-Plugin zur Integration von Intlayer mit Webpack oder Turbopack, sowie einen Proxy zur Erkennung des bevorzugten Locale des Benutzers, zur Verwaltung von Cookies und zur Handhabung von URL-Umleitung.
Konfigurieren Sie Ihr Projekt
Erstellen Sie eine Konfigurationsdatei, um die Sprachen Ihrer Anwendung zu konfigurieren:
intlayer.config.tsCode kopierenKopieren Sie den Code in die Zwischenablage
Hinweis: Stelle sicher, dass du deinen
OPEN_AI_API_KEYin deinen Umgebungsvariablen gesetzt hast.Durch diese Konfigurationsdatei können Sie lokalisierte URLs, Proxy-Umleitung, Cookie-Namen, den Speicherort und die Erweiterung Ihrer Content-Deklarationen einrichten, Intlayer-Logs in der Konsole deaktivieren und mehr. Eine vollständige Liste der verfügbaren Parameter finden Sie in der Konfigurationsdokumentation.
Integrieren Sie Intlayer in Ihre Next.js-Konfiguration
Konfigurieren Sie Ihr Next.js-Setup zur Verwendung von Intlayer:
next.config.tsCode kopierenKopieren Sie den Code in die Zwischenablage
Das
withIntlayer()Next.js Plugin wird verwendet, um Intlayer mit Next.js zu integrieren. Es stellt sicher, dass Content Declaration Files erstellt werden, und überwacht sie im Entwicklungsmodus. Es definiert Intlayer-Umgebungsvariablen innerhalb der Webpack- oder Turbopack-Umgebungen. Darüber hinaus bietet es Aliase zur Optimierung der Leistung und gewährleistet Kompatibilität mit Server Components.Babel konfigurieren
Der Intlayer-Compiler benötigt Babel, um Ihren Inhalt zu extrahieren und zu optimieren. Aktualisieren Sie Ihre
babel.config.js(oderbabel.config.json), um die Intlayer-Plugins einzubeziehen:babel.config.jsCode kopierenKopieren Sie den Code in die Zwischenablage
Detect Locale in your pages
Entfernen Sie alles aus
RootLayoutund ersetzen Sie es mit dem folgenden Code:src/app/layout.tsxCode kopierenKopieren Sie den Code in die Zwischenablage
Kompilieren Sie Ihre Komponenten
Mit aktiviertem Compiler müssen Sie keine Content-Dictionaries (wie
.content.tsDateien) mehr manuell deklarieren.Stattdessen können Sie Ihren Inhalt direkt in Ihrem Code als Strings schreiben. Intlayer analysiert Ihren Code, generiert die Übersetzungen mit dem konfigurierten KI-Anbieter und ersetzt die Strings zur Compile-Zeit durch lokalisierte Inhalte.
Schreiben Sie Ihre Komponenten einfach mit hartcodierten Strings in Ihrer Standardsprache. Der Compiler kümmert sich um den Rest.
Beispiel für das Aussehen Ihrer Seite:
src/app/page.tsxCode kopierenKopieren Sie den Code in die Zwischenablage
i18n/page-content.content.tsxCode kopierenKopieren Sie den Code in die Zwischenablage
src/app/page.tsxCode kopierenKopieren Sie den Code in die Zwischenablage
IntlayerProviderwird einmal im Root-Layout eingefügt. Es stellt das Locale sowohl für Server- als auch für Client-Komponenten bereit, sodass Seiten sich nicht mehr selbst wrappen müssen.- Ohne ein
[locale]Pfadsegment kommt das Locale immer aus der Anfrage — demx-intlayer-localeHeader, der durch den Intlayer Proxy gesetzt wird, dann dem Locale-Cookie — die der Server-Hooks auf eigene Faust liest, wenn der Provider noch nicht ausgeführt wurde.
src/app/page.tsxCode kopierenKopieren Sie den Code in die Zwischenablage
IntlayerClientProviderwird verwendet, um das Locale für Client-seitige Komponenten bereitzustellen.IntlayerServerProviderwird verwendet, um das Locale für Server-Children bereitzustellen.
Layout und Page können keinen gemeinsamen Server-Context teilen, da das Server-Context-System auf einem Pro-Request-Datenspeicher basiert (über React's cache Mechanismus), was dazu führt, dass jeder "Context" für verschiedene Segmente der Anwendung neu erstellt wird. Das Platzieren des Providers in einem gemeinsamen Layout würde diese Isolierung unterbrechen und die korrekte Weitergabe der Server-Context-Werte an Ihre Server-Komponenten verhindern.
Fehlende Übersetzung ausfüllen
OptionalIntlayer bietet ein CLI-Tool, um fehlende Übersetzungen auszufüllen. Sie können den
intlayer-Befehl verwenden, um fehlende Übersetzungen aus Ihrem Code zu testen und auszufüllen.bashCode kopierenKopieren Sie den Code in die Zwischenablage
bashCode kopierenKopieren Sie den Code in die Zwischenablage
Weitere Informationen finden Sie in der CLI-Dokumentation
Proxy für Locale-Erkennung konfigurieren
OptionalProxy einrichten, um die bevorzugte Sprache des Benutzers zu erkennen:
src/proxy.tsCode kopierenKopieren Sie den Code in die Zwischenablage
Der
intlayerProxywird verwendet, um die bevorzugte Sprache des Benutzers zu erkennen und ihn auf die entsprechende URL umzuleiten, wie in der Konfiguration angegeben. Darüber hinaus ermöglicht er das Speichern der bevorzugten Sprache des Benutzers in einem Cookie.Seit Intlayer v9 respektiert diese Middleware die Option
routing.enableProxy(truestandardmäßig). Setzen Sierouting.enableProxy: falsein Ihrer Konfiguration, um sie in einen Pass-through zu verwandeln, ohne diese Datei zu entfernen. Siehe die v9 Release Notes.Ändern Sie die Sprache Ihres Inhalts
OptionalUm die Sprache deines Inhalts in Next.js zu ändern, ist die empfohlene Methode, die
Link-Komponente zu verwenden, um Benutzer auf die entsprechende lokalisierte Seite umzuleiten. DieLink-Komponente ermöglicht das Prefetching der Seite, was einen vollständigen Neuladen der Seite vermeidet.src/components/localeSwitcher/LocaleSwitcher.tsxCode kopierenKopieren Sie den Code in die Zwischenablage
Eine alternative Möglichkeit ist die Verwendung der
setLocaleFunktion, die vomuseLocaleHook bereitgestellt wird. Diese Funktion ermöglicht es nicht, die Seite vorab zu laden. Weitere Informationen finden Sie in deruseLocaleHook Dokumentation.Optimize your bundle size
OptionalBei der Verwendung von
next-intlayerwerden Wörterbücher standardmäßig in das Bundle für jede Seite eingebunden. Um die Bundle-Größe zu optimieren, stellt Intlayer ein optionales SWC-Plugin zur Verfügung, dasuseIntlayer-Aufrufe intelligent durch Makros ersetzt. Dies stellt sicher, dass Wörterbücher nur in Bundles für Seiten eingebunden werden, die sie tatsächlich verwenden.Das
@intlayer/babel-Plugin integriert bereits die Bundling-Optimierung (siehebabel.config.js). Aber das@intlayer/swc-Plugin ist leistungsfähiger. Wenn Sie das@intlayer/babel-Plugin entfernen, können Sie das@intlayer/swc-Plugin verwenden.Installieren Sie das
@intlayer/swcPackage. Nach der Installation erkenntnext-intlayerdas Plugin automatisch und verwendet es:bashCode kopierenKopieren Sie den Code in die Zwischenablage
Hinweis: Diese Optimierung ist nur für Next.js 13 und höher verfügbar.
Hinweis: Dieses Paket wird standardmäßig nicht installiert, da SWC-Plugins auf Next.js noch experimentell sind. Dies kann sich in Zukunft ändern.
Hinweis: Wenn Sie die Option als
importMode: 'dynamic'oderimportMode: 'fetch'(in derdictionaryKonfiguration) setzen, wird sie sich auf Suspense verlassen, daher müssen Sie IhreuseIntlayerAufrufe in eineSuspenseGrenze einwickeln. Das bedeutet, dass SieuseIntlayernicht direkt auf der obersten Ebene Ihrer Page / Layout Komponente verwenden können.Inhalt Ihrer Komponenten extrahieren
Optional
Wenn Sie eine bestehende Codebasis haben, kann die Transformation von Tausenden von Dateien zeitaufwendig sein.
Um diesen Prozess zu erleichtern, bietet Intlayer einen Compiler / Extractor an, um Ihre Komponenten zu transformieren und den Inhalt zu extrahieren.
Um es einzurichten, können Sie einen compiler-Abschnitt in Ihrer intlayer.config.ts-Datei hinzufügen:
Kopieren Sie den Code in die Zwischenablage
import { type IntlayerConfig } from "intlayer";
const config: IntlayerConfig = {
// ... Rest Ihrer Konfiguration
compiler: {
/**
* Gibt an, ob der Compiler aktiviert sein soll.
*/
enabled: true,
/**
* Definiert den Pfad der Ausgabedateien
*/
output: ({ fileName, extension }) => `./${fileName}${extension}`,
/**
* Gibt an, ob die Komponenten nach der Transformation gespeichert werden sollen. Auf diese Weise kann der Compiler nur einmal ausgeführt werden, um die App zu transformieren, und dann entfernt werden.
*/
saveComponents: false,
/**
* Präfix für Wörterbuchschlüssel
*/
dictionaryKeyPrefix: "",
},
};
export default config;
Führen Sie den Extractor aus, um Ihre Komponenten zu transformieren und den Inhalt zu extrahieren
Kopieren Sie den Code in die Zwischenablage
Since v9, theintlayerCompileris included in theintlayerplugin. So you don't need to add it manually.
Kopieren Sie den Code in die Zwischenablage
Kopieren Sie den Code in die Zwischenablage
Kopieren Sie den Code in die Zwischenablage
TypeScript konfigurieren
Intlayer verwendet Modulerweiterung (Module Augmentation), um die Vorteile von TypeScript zu nutzen und Ihre Codebasis robuster zu machen.


Stellen Sie sicher, dass Ihre TypeScript-Konfiguration die automatisch generierten Typen enthält.
Kopieren Sie den Code in die Zwischenablage
Git-Konfiguration
Es wird empfohlen, die von Intlayer generierten Dateien zu ignorieren. Dadurch wird verhindert, dass sie in Ihr Git-Repository übertragen werden.
Fügen Sie dazu die folgenden Anweisungen zu Ihrer .gitignore-Datei hinzu:
Kopieren Sie den Code in die Zwischenablage
VS Code-Erweiterung
Um Ihre Entwicklungserfahrung mit Intlayer zu verbessern, können Sie die offizielle Intlayer VS Code-Erweiterung installieren.
Im VS Code Marketplace installieren
Diese Erweiterung bietet:
- Autovervollständigung für Übersetzungsschlüssel.
- Fehlererkennung in Echtzeit für fehlende Übersetzungen.
- Inline-Vorschau von übersetzten Inhalten.
- Schnelle Aktionen, um Übersetzungen einfach zu erstellen und zu aktualisieren.
Weitere Details zur Verwendung der Erweiterung finden Sie in der Dokumentation zur Intlayer VS Code-Erweiterung.
Weiterführende Informationen
Um noch weiter zu gehen, können Sie den Visual Editor implementieren oder Ihre Inhalte mit dem CMS externalisieren.
