Schnellstart
End-to-End: installieren, anmelden, mit einer Engine verknüpfen, Quellen pushen, Übersetzungen pullen.
Voraussetzungen
Node.js 22+ (node -v zum Prüfen). Nach der Installation führst du die CLI als lingo aus.
Einrichtung#
Installieren
npm install -g @lingo.dev/cliAlternativ pnpm add -g @lingo.dev/cli / yarn global add @lingo.dev/cli / bun add -g @lingo.dev/cli.
Anmelden
lingo loginGib deine E-Mail-Adresse ein; die CLI sendet einen Einmalcode und speichert ein Sitzungs-Token in ~/.lingo/auth.json. Für CI- oder nicht-interaktive Umgebungen verwendest du einen API-Schlüssel: lingo login --api-key lk_... (oder setze --api-key als globales Flag für jeden Befehl).
Projekt initialisieren
Im Stammverzeichnis deines Projekts:
lingo initHier gibst du Ausgangssprache, Zielsprachen und Dateimuster an (Globs, die auf deine Quelldateien zeigen). Der Lokalisierungsabschnitt wird in .lingo/config.json geschrieben. Committe diese Datei — sie ist die maßgebliche Quelle dafür, was übersetzt wird.
Mit einer Engine verknüpfen
lingo linkWähle (oder erstelle) eine Organisation und eine Lokalisierungs-Engine. Die Engine enthält deine KI-Modellkonfiguration, Glossare, Markenstimme und Regeln — richte sie einmal auf der Lingo.dev platform ein und nutze sie projektübergreifend wieder. link fügt orgId und engineId zu .lingo/config.json hinzu (wird ebenfalls committet).
Erster Push#
Sobald eine nicht leere Quelldatei vorhanden ist (z. B. locales/en.json):
lingo push --backfill-missing --waitÜbersetzt alle fehlenden Zielsprachen für jedes konfigurierte Muster. --wait hält die CLI verbunden, bis der Lauf abgeschlossen ist, und schreibt anschließend die Ausgaben (locales/de.json, locales/fr.json, ...) auf den Datenträger. Bei einem sauberen Checkout dauert das je nach Fall nur Sekunden (kleine JSON-Dateien) oder mehrere Minuten (große Markdown-Bundles). Ohne --wait beendet sich push, sobald der Lauf übermittelt wurde, und lingo pull schreibt die Ausgaben später.
Sobald der Vorgang abgeschlossen ist:
✓ Run lrg_a8c... : localized 12 target file(s), uploaded 1 new artifact(s).Weitere Läufe#
Nachdem du Quelldateien bearbeitet hast, übersetzt ein einfaches lingo push nur das Delta — Dateien, deren Quell-Hash sich nicht geändert hat, werden serverseitig übersprungen. Lokale Änderungen an Zieldateien bleiben standardmäßig erhalten; übergib --force (mit einem Scope), um sie zu überschreiben.
lingo push # delta only
lingo push docs/en/**/*.md # scoped: only this subtree
lingo push docs/en/about.md -f # scoped + force: retranslate even if up to dateJeder dieser Befehle beendet sich, sobald der Lauf übermittelt wurde — füge --wait hinzu, um die Ausgaben mit demselben Befehl zu schreiben, oder hole sie mit lingo pull ab.
Später abholen#
push speichert die Lauf-ID in ~/.lingo/runs/<hash>.json (zugeordnet nach absolutem Projektpfad). Später, auf demselben Rechner und aus demselben Checkout:
lingo pull… wartet, bis der letzte Push abgeschlossen ist, falls er noch läuft, und schreibt dann seine Ausgaben. Praktisch, wenn du das Terminal mitten in der Übersetzung geschlossen hast. Auf anderen Rechnern sind die Übersetzungen verfügbar, sobald du sie committest.
Was kommt als Nächstes?#
- Konfiguration — Schema von
.lingo/config.json, Lockfile und wo der Laufstatus gespeichert wird. - lingo push — Scoped Patterns,
--force, Retry-Semantik. - lingo pull — Konflikterkennung,
--dry-run.