@lingo.dev/cli überträgt Ihre Quellinhalte an eine Lokalisierungs-Engine, wartet, während die Engine die Übersetzungen erstellt, und schreibt die Ergebnisse zurück auf die Festplatte. Sie ersetzt den bisherigen npx lingo.dev-Ablauf — gleiches Projekt, aber eine grundlegend andere Architektur.
Was sich gegenüber der bisherigen CLI geändert hat#
Die bisherige CLI (npx lingo.dev run) extrahierte Strings, rief ein LLM direkt von Ihrem Rechner aus auf und schrieb die Dateien in einem einzigen synchronen Durchlauf. Die neue CLI ist konsequent asynchron aufgebaut:
lingo pushlädt Quellen in Ihre Engine hoch, startet einen serverseitigen Workflow und wartet entweder auf den Abschluss oder gibt sofort eine Run-ID zurücklingo pullholt die Ergebnisse des letzten Pushs ab — funktioniert auch dann, wenn Sie das Terminal mitten in der Übersetzung geschlossen haben oder von einem anderen Rechner aus abrufen- Ein Lockfile (
.lingo/lock.json) verfolgt die zuletzt bekannte Server-Version jedes Ziels, damit die Konflikterkennung lokale Änderungen markieren kann, bevor sie überschrieben werden
Damit werden zwei Dinge möglich, die mit der bisherigen CLI nicht gingen: lang laufende Übersetzungen ohne blockiertes Terminal und das Abrufen von Ergebnissen auf einem anderen Rechner als dem, auf dem push ausgeführt wurde (oder in CI).
Auf Ergebnisse warten#
Aktuell lädt lingo push Quellen hoch, startet den serverseitigen Workflow, wartet auf den Abschluss und schreibt die Ergebnisse — alles mit einem einzigen Befehl. Mit --wait (-w) machen Sie dieses blockierende Verhalten explizit. Sie können sich später auch mit lingo pull wieder an einen abgeschlossenen Run anhängen.
lingo push # submit, wait, and write outputs (current default)
lingo push --wait # same thing, made explicit
lingo pull # later: re-attach to the most recent push and download its outputsBevorstehende Änderung: Ein kommendes Release stellt den Standard auf asynchron um. lingo push startet den Run dann und beendet sich sofort; mit lingo pull laden Sie die fertigen Übersetzungen herunter, und über --wait (-w) aktivieren Sie wieder den blockierenden Ein-Befehl-Ablauf.
--wait(-w) blockiert, bis der Workflow abgeschlossen ist, und schreibt die Ergebnisse im selben Befehl.lingo pullhängt sich wieder an den neuesten Push für dieses Projekt an und lädt dessen Ergebnisse herunter — selbst dann, wenn Sie das Terminal bereits geschlossen haben. Der Ausführungsstatus wird pro Rechner unter~/.lingo/runs/<project-hash>.jsongespeichert, daher setztpullauf demselben Rechner fort.
Authentifizierung: Beide Befehle lesen LINGO_API_KEY (oder --api-key oder eine lingo login-Sitzung). In CI setzen Sie einfach LINGO_API_KEY; mehr ist nicht nötig.
push-Modi#
| Befehl | Modus | Wann |
|---|---|---|
lingo push | Inkrementell — vergleicht die Quelle mit .lingo/lock.json, übersetzt nur neue oder geänderte Schlüssel in bestehende Ziele und belässt den Rest unverändert | Bei jedem regulären Lauf / in CI |
lingo push --backfill-missing | Bootstrap — füllt Ziel-DATEIEN, die noch nicht existieren | Beim ersten Push oder nach dem Hinzufügen einer neuen Sprache |
lingo push --force | Vollständige Neuübersetzung — überschreibt jedes Ziel (einschließlich manueller Änderungen); --yes/-y überspringt die Abfrage | Selten (z. B. nach einer Änderung am Glossar oder an der Engine) |
--backfill-missing ist ein Bootstrap-Flag. Es führt eine gezielte neue Anfrage aus und ergänzt nur komplette Ziel-Dateien, die noch fehlen — neu hinzugefügte Schlüssel in bereits übersetzten Dateien werden NICHT übersetzt (der Run meldet "already up-to-date", und der Schlüssel wird übersprungen). Für laufende Änderungen verwenden Sie einfach lingo push.
Übersetzungen von Hand bearbeiten#
Normales lingo push bewahrt manuelle Änderungen pro Schlüssel:
- Sie bearbeiten einen Ziel-String (Quelle unverändert) → dieser String bleibt erhalten; andere Schlüssel werden weiterhin aktualisiert.
- Die Quelle hinter einem bearbeiteten Schlüssel ändert sich → für diesen Schlüssel wird eine neue Übersetzung erzeugt, die die manuelle Änderung ersetzt.
- Ein neuer Quell-Schlüssel wird hinzugefügt → er wird übersetzt und ergänzt, auch in Dateien mit manuellen Änderungen.
