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Übersetzt jedes fehlende Ziel über alle konfigurierten Muster hinweg. Die CLI wartet, bis der Lauf abgeschlossen ist, und schreibt die Ausgaben (locales/de.json, locales/fr.json, ...) auf die Festplatte. Bei einem sauberen Checkout dauert das je nach Umfang nur wenige Sekunden (kleines JSON) oder mehrere Minuten (große Markdown-Bundles).
Sobald der Vorgang abgeschlossen ist:
✓ Run run_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 datePullen auf einem anderen Rechner#
push speichert die Lauf-ID in ~/.lingo/runs/<hash>.json (zugeordnet zum absoluten Projektpfad). Auf jedem Rechner mit demselben Checkout und denselben Zugangsdaten:
lingo pull…holt die Ausgaben des letzten Pushs. Praktisch für CI ("Übersetzer führt den Push auf dem Laptop aus, CI führt bei jedem Build Pull aus") oder wenn du nach dem Schließen des Terminals einfach weitermachen willst.
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.
