Die Lingo.dev CLI übersetzt die Ressourcendateien deiner Web-App – JSON, YAML, XLIFF, PO oder PHP – über eine konfigurierte Lokalisierungs-Engine. Richte i18n in deinem Framework ein, weise die CLI auf deine Übersetzungsdateien hin und lege los.
So funktioniert's#
Jedes Web-Framework hat eine i18n-Bibliothek, die Übersetzungen aus Ressourcendateien lädt – JSON für React, XLIFF für Angular, PO für Django und so weiter. Die CLI übersetzt diese Dateien direkt, sodass das Framework die Übersetzungen ganz ohne Codeänderungen übernimmt.
i18n in deinem Framework einrichten
Verwende die offizielle i18n-Bibliothek deines Frameworks, um sprachabhängiges Routing, eine Übersetzungsfunktion und Ressourcendateien in der Quellsprache hinzuzufügen. Jeder Framework-Abschnitt unten verlinkt auf die offizielle Einrichtungsanleitung.
CLI konfigurieren
Erstelle eine i18n.json-Datei, die der CLI mitteilt, wo deine Übersetzungsdateien liegen und welche Sprachen du als Ziel festlegen möchtest. Der Bucket-Typ entspricht dem Ressourcenformat deines Frameworks.
Übersetzungen ausführen
Führe npx lingo.dev@latest run aus, und die CLI übersetzt deine Ressourcendateien über die Lokalisierungs-Engine – Glossarregeln, Markenstimme und Modellauswahl werden automatisch angewendet.
Voraussetzungen#
Bei jedem CLI-Durchlauf werden Inhalte durch eine Lokalisierungs-Engine geschickt – die Konfiguration, die festlegt, welches LLM-Modell, Glossar, welche Markenstimme und welche Anweisungen angewendet werden. Erstelle sie im Lingo.dev-Dashboard und generiere einen API-Schlüssel.
KI-gestützte Einrichtung
Das i18n MCP kann die komplette i18n-Infrastruktur deines Frameworks automatisch aufsetzen. Verbinde es mit Claude Code, Cursor oder GitHub Copilot und gib den Prompt "Set up i18n" ein – der Agent arbeitet eine 13-stufige Checkliste ab, um Routing, Übersetzungsdateien und einen Sprachumschalter zu konfigurieren.
JavaScript-Frameworks#
react-i18next lädt Übersetzungen aus JSON-Dateien und bietet einen useTranslation-Hook, der Schlüssel zur Laufzeit auf übersetzte Strings abbildet.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"json": {
"include": ["public/locales/[locale]/translation.json"]
}
}
}Serverseitige Frameworks#
Laravel bringt integrierte Lokalisierung mit, die Übersetzungen aus PHP-Dateien lädt, die nach Sprachverzeichnissen organisiert sind.
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.15",
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"php": {
"include": ["lang/[locale]/messages.php"]
}
}
}Übersetzungen ausführen#
Sobald i18n.json konfiguriert ist, kannst du alle Ressourcendateien mit einem einzigen Befehl übersetzen:
npx lingo.dev@latest runDie CLI liest deine Ressourcendateien in der Quellsprache, ermittelt mithilfe der lockfile, was sich seit dem letzten Durchlauf geändert hat, übersetzt nur das Delta und schreibt die Ergebnisse in die Zieldateien der jeweiligen Sprache. Bestehende Übersetzungen bleiben erhalten – die CLI ergänzt nur fehlende oder aktualisierte Strings.
Wenn du nur an einem Teilbereich arbeitest, kannst du eine bestimmte Sprache oder einen bestimmten Bucket angeben:
npx lingo.dev@latest run --target-locale es
npx lingo.dev@latest run --bucket json