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
Führe lingo init aus, um eine .lingo/config.json mit deiner Quell- und Zielsprache sowie den zu übersetzenden Dateimustern zu erstellen, und anschließend lingo link, um deine Organisation und Engine zu verknüpfen. Die CLI erkennt das Format jeder Datei automatisch anhand der Erweiterung, daher ist kein Bucket-Typ erforderlich. Committe .lingo/config.json.
Übersetzungen ausführen
Führe lingo push aus, und die CLI übersetzt deine Ressourcendateien über die Lokalisierungs-Engine – Glossarregeln, Markenstimme und Modellauswahl werden automatisch angewendet.
Voraussetzungen#
Installiere die CLI und melde dich an:
npm install -g @lingo.dev/cli
lingo loginDie CLI setzt Node.js 22+ voraus. Überspringe in CI die interaktive Anmeldung und übergib einen Schlüssel mit --api-key oder über die Umgebungsvariable LINGO_API_KEY.
Bei jedem CLI-Durchlauf werden Inhalte über eine Lokalisierungs-Engine verarbeitet – die Konfiguration, die festlegt, welches LLM-Modell, Glossar, welche Markenstimme und welche Regeln verwendet werden. Erstellen Sie sie im Lingo.dev-Dashboard und generieren Sie einen API key. lingo link schreibt die orgId und engineId der Engine in .lingo/config.json.
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#
Das Sprachsegment in jedem pattern wird je Zielsprache ersetzt – public/locales/en/translation.json wird zu public/locales/de/translation.json und so weiter. Der Quellpfad muss den Code der Ausgangssprache enthalten.
react-i18next lädt Übersetzungen aus JSON-Dateien und bietet einen useTranslation-Hook, der Schlüssel zur Laufzeit auf übersetzte Strings abbildet.
{
"orgId": "org_...",
"engineId": "eng_...",
"sourceLocale": "en",
"targetLocales": ["es", "fr", "de", "ja"],
"files": [{ "pattern": "public/locales/en/translation.json" }]
}Serverseitige Frameworks#
Laravel bringt integrierte Lokalisierung mit, die Übersetzungen aus PHP-Dateien lädt, die nach Sprachverzeichnissen organisiert sind.
{
"orgId": "org_...",
"engineId": "eng_...",
"sourceLocale": "en",
"targetLocales": ["es", "fr", "de", "ja"],
"files": [{ "pattern": "lang/en/messages.php" }]
}Übersetzungen ausführen#
Sobald .lingo/config.json eingerichtet ist, kannst du alle Ressourcendateien mit einem einzigen Befehl übersetzen:
lingo pushDie CLI liest die Dateien deiner Ausgangssprache, ermittelt mithilfe des Lockfiles (.lingo/lock.json, zusammen mit deiner Konfiguration versioniert), was sich seit dem letzten Lauf geändert hat, übersetzt nur das Delta und schreibt die Ergebnisse in die Dateien der Zielsprachen. Bestehende Übersetzungen bleiben erhalten – die CLI ergänzt nur fehlende oder aktualisierte Zeichenfolgen.
Beim ersten Lauf oder nachdem du eine neue Zielsprache hinzugefügt hast, übersetze alles von Grund auf neu:
lingo push --backfill-missingBegrenze einen Lauf auf eine Teilmenge von Dateien, indem du ein Glob-Muster übergibst:
lingo push "messages/**"Um die neuesten Übersetzungen an anderer Stelle abzurufen (zum Beispiel auf einem anderen Rechner oder in einem Build-Schritt), ohne zu übersetzen, führe lingo pull aus. Verwende lingo check als Deployment-Gate, um zu prüfen, ob die Übersetzungen auf dem neuesten Stand sind.
