Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Versionshistorie
- "Abschnitt „Live-Synchronisation“ auf eine eigene Seite (live-sync.md) verschoben; hier nur eine kurze Einführung mit Link belassen"v9.0.08.7.2026
- "Self-Hosting-Abschnitt hinzugefügt: Docker Compose Bootstrap, Service-Inventar, SDK-Konfiguration, optionale Funktionen und Upgrade-Hinweise"v9.0.030.6.2026
- "Live-Sync-Dokumentation hinzugefügt"v6.0.122.9.2025
- "Ersetzte das Feld `hotReload` durch `liveSync`"v6.0.04.9.2025
- "Historie initialisiert"v5.5.1029.6.2025
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
Intlayer Content Management System (CMS) Dokumentation
Das Intlayer CMS ist eine Anwendung, die es Ihnen ermöglicht, die Inhalte eines Intlayer-Projekts auszulagern.
Dafür führt Intlayer das Konzept der „fernen Wörterbücher“ ein.

Inhaltsverzeichnis
Verständnis von fernen Wörterbüchern
Intlayer unterscheidet zwischen „lokalen“ und „fernen“ Wörterbüchern.
Ein „lokales“ Wörterbuch ist ein Wörterbuch, das in Ihrem Intlayer-Projekt deklariert ist. Zum Beispiel die Deklarationsdatei eines Buttons oder Ihrer Navigationsleiste. In diesem Fall macht es keinen Sinn, Ihre Inhalte auszulagern, da sich diese Inhalte nicht häufig ändern sollen.
Ein „fernes“ Wörterbuch ist ein Wörterbuch, das über das Intlayer CMS verwaltet wird. Dies kann nützlich sein, um Ihrem Team zu ermöglichen, Ihre Inhalte direkt auf Ihrer Website zu verwalten, und zielt außerdem darauf ab, A/B-Testfunktionen und automatische SEO-Optimierung zu nutzen.
Visueller Editor vs. CMS
Der Intlayer Visual Editor ist ein Werkzeug, das es Ihnen ermöglicht, Ihre Inhalte in einem visuellen Editor für lokale Wörterbücher zu verwalten. Sobald eine Änderung vorgenommen wird, wird der Inhalt im Code-Basis ersetzt. Das bedeutet, dass die Anwendung neu gebaut wird und die Seite neu geladen wird, um den neuen Inhalt anzuzeigen.
Im Gegensatz dazu ist das Intlayer CMS ein Werkzeug, das es Ihnen ermöglicht, Ihre Inhalte in einem visuellen Editor für ferne Wörterbücher zu verwalten. Sobald eine Änderung vorgenommen wird, wirkt sich der Inhalt nicht auf Ihre Code-Basis aus. Und die Website zeigt automatisch den geänderten Inhalt an.
Integration
Für weitere Details zur Installation des Pakets siehe den entsprechenden Abschnitt unten:
Integration mit Next.js
Für die Integration mit Next.js siehe die Installationsanleitung.
Integration mit Create React App
Für die Integration mit Create React App siehe die Installationsanleitung.
Integration mit Vite + React
Für die Integration mit Vite + React siehe die Installationsanleitung.
Konfiguration
Führen Sie den folgenden Befehl aus, um sich beim Intlayer CMS anzumelden:
Kopieren Sie den Code in die Zwischenablage
Dies öffnet Ihren Standardbrowser, um den Authentifizierungsprozess abzuschließen und die erforderlichen Anmeldedaten (Client ID und Client Secret) zu erhalten, um Intlayer-Dienste zu verwenden.
In Ihrer Intlayer-Konfigurationsdatei können Sie die CMS-Einstellungen anpassen:
Kopieren Sie den Code in die Zwischenablage
import type { IntlayerConfig } from "intlayer";
const config: IntlayerConfig = {
// ... andere Konfigurationseinstellungen
editor: {
/**
* Erforderlich
*
* Die URL der Anwendung.
* Dies ist die URL, auf die der visuelle Editor abzielt.
*/
applicationURL: process.env.INTLAYER_APPLICATION_URL,
/**
* Erforderlich
*
* Client-ID und Client-Secret sind erforderlich, um den Editor zu aktivieren.
* Sie ermöglichen die Identifizierung des Benutzers, der den Inhalt bearbeitet.
* Sie können durch das Erstellen eines neuen Clients im Intlayer Dashboard - Projekte (https://app.intlayer.org/projects) erhalten werden.
* clientId: process.env.INTLAYER_CLIENT_ID,
* clientSecret: process.env.INTLAYER_CLIENT_SECRET,
*/
clientId: process.env.INTLAYER_CLIENT_ID,
clientSecret: process.env.INTLAYER_CLIENT_SECRET,
/**
* Optional
*
* Falls Sie das Intlayer CMS selbst hosten, können Sie die URL des CMS festlegen.
*
* Die URL des Intlayer CMS.
* Standardmäßig ist sie auf https://intlayer.org gesetzt.
*/
cmsURL: process.env.INTLAYER_CMS_URL,
/**
* Optional
*
* Falls Sie das Intlayer CMS selbst hosten, können Sie die URL des Backends festlegen.
*
* Die URL des Intlayer CMS.
* Standardmäßig ist sie auf https://back.intlayer.org gesetzt.
*/
backendURL: process.env.INTLAYER_BACKEND_URL,
},
};
export default config;
Wenn Sie keine Client-ID und kein Client-Secret haben, können Sie diese durch das Erstellen eines neuen Clients im Intlayer Dashboard - Projekte erhalten.
Um alle verfügbaren Parameter zu sehen, konsultieren Sie die Konfigurationsdokumentation.
Verwendung des CMS
Konfiguraton hochladen
Um das Intlayer CMS zu konfigurieren, können Sie die intlayer CLI Befehle verwenden.
Kopieren Sie den Code in die Zwischenablage
Wenn Sie Umgebungsvariablen in Ihrerintlayer.config.tsKonfigurationsdatei verwenden, können Sie die gewünschte Umgebung mit dem Argument--envangeben:
Kopieren Sie den Code in die Zwischenablage
Dieser Befehl lädt Ihre Konfiguration in das Intlayer CMS hoch.
Ein Wörterbuch hochladen
Um Ihre Lokalisierungswörterbücher in ein entferntes Wörterbuch zu transformieren, können Sie die intlayer CLI Befehle verwenden.
Kopieren Sie den Code in die Zwischenablage
Wenn Sie Umgebungsvariablen in Ihrerintlayer.config.tsKonfigurationsdatei verwenden, können Sie die gewünschte Umgebung mit dem Argument--envangeben:
Kopieren Sie den Code in die Zwischenablage
Dieser Befehl lädt Ihre anfänglichen Inhaltswörterbücher hoch und macht sie für asynchrones Abrufen und Bearbeiten über die Intlayer-Plattform verfügbar.
Wörterbuch bearbeiten
Anschließend können Sie Ihr Wörterbuch im Intlayer CMS anzeigen und verwalten.
Live-Synchronisation
Live Sync ermöglicht es Ihrer App, CMS-Inhaltsänderungen zur Laufzeit widerzuspiegeln. Kein Neuaufbau oder erneutes Bereitstellen erforderlich. Wenn aktiviert, werden Updates an einen Live-Sync-Server gestreamt, der die Wörterbücher aktualisiert, die Ihre Anwendung liest.
Die vollständige Anleitung (Aktivierung, Start des Live-Sync-Servers, lokaler Entwicklungsworkflow und Einschränkungen) finden Sie in der Live-Sync-Dokumentation.
Installation
Kopieren Sie den Code in die Zwischenablage
So funktioniert es: Authenticator + Endpoints
Das SDK ist absichtlich in zwei separate Imports aufgeteilt, um Ihr Bundle klein zu halten:
createIntlayerCMS— erstellt einen leichten Authenticator. Er trägt nur die Anmeldedaten und das verwaltete Zugriffs-Token; er kennt keine spezifische Domain.dictionaryEndpoint,projectEndpoint, … — pro-Domain Endpoint-Binder, jeder aus seinem eigenen Subpath importiert (@intlayer/api/dictionary,@intlayer/api/project, …). Sie übergeben den Authenticator an den Endpoint, den Sie benötigen.
Da jeder Endpoint separat importiert wird, enthält Ihr Bundle nur die Domains, die Sie tatsächlich verwenden — das Importieren von dictionaryEndpoint zieht niemals den Project-, AI- oder einen anderen Domain-Client mit sich.
Kopieren Sie den Code in die Zwischenablage
WARNING Die CMS-Anmeldedaten (clientId/clientSecret) gewähren Schreibzugriff auf Ihren Inhalt. Erstellen Sie den Authenticator nur auf der Serverseite (Server Actions, Route Handler, Scripts, CI). Importieren Sie ihn niemals in Client-seitige Code oder stellen Sie Ihre Anmeldedaten dem Browser zur Verfügung.
Wenn Sie sich nicht auf die Build-Zeit-Konfiguration verlassen möchten, übergeben Sie die Anmeldedaten explizit:
Kopieren Sie den Code in die Zwischenablage
Erhalten Sie Ihre Anmeldedaten, indem Sie einen neuen Zugriffsschlüssel im Intlayer Dashboard - Projekte erstellen.
Ihr Projekt mit einer selbst gehosteten Instanz verbinden
Kopieren Sie den Code in die Zwischenablage
import type { IntlayerConfig } from "intlayer";
const config: IntlayerConfig = {
editor: {
clientId: process.env.INTLAYER_CLIENT_ID,
clientSecret: process.env.INTLAYER_CLIENT_SECRET,
/**
* URL des selbst gehosteten CMS-Dashboards.
* Standard: https://app.intlayer.org
*/
cmsURL: process.env.INTLAYER_CMS_URL, // z.B. http://localhost:3000
/**
* URL der selbst gehosteten Backend-API.
* Standard: https://back.intlayer.org
*/
backendURL: process.env.INTLAYER_BACKEND_URL, // z.B. http://localhost:3100
},
};
export default config;
@intlayer/api SDK: auf ein selbst gehostetes Backend verweisen
Kopieren Sie den Code in die Zwischenablage
Optionale Funktionen
Diese Funktionen erfordern externe Konten und funktionieren weiterhin ohne ihre Schlüssel in der selbst gehosteten .env:
Kopieren Sie den Code in die Zwischenablage
Tabelle in einem Modal öffnen, um alle Daten übersichtlich anzuzeigen
| Funktion | Umgebungsvariable(n) |
|---|---|
| KI-Übersetzung / Audit | OPENAI_API_KEY |
| Abrechnung | STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET, … |
| GitHub OAuth | GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET |
| Google OAuth | GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET |
| GitLab / Microsoft / LinkedIn OAuth | GITLAB_*, MICROSOFT_*, LINKEDIN_* |
| Transaktionale E-Mail via Resend | RESEND_API_KEY (Standard: Mailpit SMTP) |
Datenpersistenz und Upgrades
Auf dem Host verfügbare Ports:
Tabelle in einem Modal öffnen, um alle Daten übersichtlich anzuzeigen
| Port | Dienst |
|---|---|
3000 | Dashboard |
3100 | Backend-API |
8025 | Mailpit E-Mail-Web-UI |
9000 | MinIO S3 API (erforderlich für Browser-Asset-Laden) |
9001 | MinIO-Konsole |
Live Sync
Live Sync ermöglicht es deiner App, CMS-Inhaltsänderungen zur Laufzeit zu reflektieren — kein Rebuild oder Redeploy erforderlich. Wenn aktiviert, werden Updates zu einem Live-Sync-Server gestreamt, der die Wörterbücher aktualisiert, die deine Anwendung liest.
Für die vollständige Setupanleitung (Konfiguration, Starten des Live-Sync-Servers, der lokalen Entwicklungs-Workflow und Einschränkungen) siehe die Live-Sync-Dokumentation.
Self-Hosting
Intlayer kann vollständig auf Ihrer eigenen Infrastruktur ausgeführt werden. Ein One-Liner bootstraps den vollständigen Stack (Dashboard, API, Datenbank, Objektspeicher und E-Mail) mit Docker Compose:
Kopieren Sie den Code in die Zwischenablage
Eine umfassende Installationsanleitung, Umgebungsvariablenreferenz, Upgrade-Anweisungen und Sicherungs-/Wiederherstellungsverfahren finden Sie im Self-Hosting-Handbuch.
Debug
Wenn Sie Probleme mit dem CMS haben, überprüfen Sie Folgendes:
Die Anwendung läuft.
- Die
editor-Konfiguration ist in Ihrer Intlayer-Konfigurationsdatei korrekt gesetzt.- Erforderliche Felder:
- Die Anwendungs-URL sollte mit der in der Editor-Konfiguration (
applicationURL) eingestellten URL übereinstimmen. Die CMS-URL
Stellen Sie sicher, dass die Projektkonfiguration in das Intlayer CMS übertragen wurde.
Der visuelle Editor verwendet ein iframe, um Ihre Website anzuzeigen. Stellen Sie sicher, dass die Content Security Policy (CSP) Ihrer Website die CMS-URL als
frame-ancestorserlaubt (standardmäßig 'https://intlayer.org'). Überprüfen Sie die Editor-Konsole auf Fehler.
Häufig gestellte Fragen
Der visuellen Editor bearbeitet lokale Wörterbücher und schreibt die Änderung zurück in Ihre Codebasis, sodass die App neu gebaut wird und die Änderung durch Ihren normalen Review- und Deployment-Prozess läuft. Das CMS bearbeitet entfernte Wörterbücher: Die Änderung berührt Ihre Codebasis nicht und die laufende Website übernimmt sie ohne Deployment. Teams verwenden oft beides, den Editor für Inhalte, die Entwicklern gehören, und das CMS für Inhalte, die das Marketing wöchentlich ändert.
Viel weniger als bei einem Namespace-basierten Setup, denn eine Seite lädt niemals einen Katalog herunter, den sie nicht rendert. Serverseitig gerendertes Markup löst seinen Inhalt auf dem Server auf, und der Build-Zeit-Compiler ersetzt useIntlayer-Aufrufe durch genau die Wörterbucheinträge, die eine Komponente verwendet, sodass ungenutzte Schlüssel und ungenutzte Sprachen entfernt werden. Dynamische Wörterbücher teilen den Rest pro Locale auf. Gemessen an den üblichen Alternativen reduziert Intlayer die Bundle- und Seitengröße um bis zu 50 %. Siehe Bundle-Optimierung und den Benchmark.
Ja, und es gibt zwei Wege. Sie können die Inhalte schrittweise migrieren mit dem i18next-Migrationsleitfaden oder dem next-intl-Migrationsleitfaden. Oder Sie behalten Ihre aktuelle API vollständig bei: Die Kompatibilitätsadapter stellen genau dieselbe API wie i18next, react-i18next, next-intl, next-i18next, react-intl, use-intl, vue-i18n und Lingui bereit, aber aus Intlayer-Wörterbüchern bedient, sodass sich Importe ändern und der Komponentencode nicht.
Ja. Das sync-JSON-Plugin behält Ihre /messages/{locale}/{namespace}.json-Dateien als Single Source of Truth und generiert daraus Intlayer-Wörterbücher, in beide Richtungen. Ein sync-PO-Plugin macht dasselbe für gettext-Kataloge, und Dateien pro Locale lassen Sie Inhalte nach Sprache aufteilen, statt Locales in einer Datei zu gruppieren.
Nein. Führen Sie npx intlayer extract aus; Intlayer liest Ihre Quelldateien, zieht die für den Nutzer sichtbaren Strings heraus und schreibt neben jede eine .content-Datei, sodass Sie ein Diff prüfen, statt Strings einzeln in einen Katalog zu kopieren. Siehe den extract-Befehl.
Für eine vollständig automatisierte Pipeline macht der Intlayer-Compiler dasselbe zur Build-Zeit auf JSX-, TSX-, Vue- und Svelte-Quellcode und generiert die Wörterbücher bei jeder Änderung, sodass es keine von Hand zu pflegenden Schlüssel gibt. Er arbeitet mit statischer Analyse, sodass Strings, die nur zur Laufzeit existieren, unerreichbar bleiben, und er braucht einige Annotationen, um für den Nutzer sichtbaren Text von Anwendungslogik zu unterscheiden.
Fünf Bausteine, alle optional:
- VS-Code-Erweiterung: von einem
useIntlayer-Schlüssel zur Inhaltsdatei springen, die ihn deklariert, Inhalte aus einer Komponente extrahieren und build, fill, test, push und pull über die Befehlspalette oder einen eigenen Intlayer-Tab ausführen. - LSP-Server: dieselbe Wahrnehmung in jedem Editor, der LSP spricht, mit „Gehe zu Definition“, „Alle Referenzen suchen“, Hover-Vorschauen eines übersetzten Werts, Autovervollständigung von Schlüsseln und Feldern sowie einer Warnung, wenn ein Schlüssel nirgends deklariert ist. Es löst außerdem
i18next-,react-i18next-,next-intl- unduse-intl-Aufrufe auf, was bei der Migration hilft. - MCP-Server: stellt die Intlayer-Dokumentation und -CLI für Cursor, VS Code, Claude Desktop, Claude Code und ChatGPT bereit, sodass ein Assistent aus der aktuellen Doku antwortet statt zu raten und Befehle wie
intlayer fillselbst ausführen kann. - Agent Skills: fokussierte Skills wie
intlayer-config,intlayer-cliundintlayer-contentsowie eines pro Framework, die einem Agenten Ihr Routing-Setup und die Inhaltsknoten-Typen beibringen. - ESLint-Plugin:
no-raw-textmarkiert fest kodierte Strings, mit weiteren Regeln für statische Wörterbuchschlüssel und ungenutzte Inhalte.
