@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. Es 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 Durchgang auf Ihrem Rechner. Die aktuelle CLI teilt die Arbeit in push und pull auf:
lingo pushlädt Quellen in Ihre Engine hoch, startet einen serverseitigen Workflow und wartet entweder auf den Abschluss oder kehrt sofort mit einer Run-ID zurücklingo pullruft die Ergebnisse des letzten push ab — funktioniert sogar, wenn Sie das Terminal während der Übersetzung geschlossen haben oder von einem anderen Rechner aus abrufen- Ein Lockfile (
.lingo/lock.json) erfasst 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 die bisherige CLI nicht leisten konnte: 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. Die Angabe von --wait (-w) macht dieses blockierende Verhalten explizit. Sie können sich später auch mit lingo pull wieder an einen abgeschlossenen Lauf 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 ändert das Standardverhalten so, dass lingo push den Lauf startet und sofort beendet. Sie führen dann lingo pull aus, um die fertigen Übersetzungen herunterzuladen, und --wait (-w) wird zur Option, mit der Sie wieder zum blockierenden Ein-Befehl-Ablauf zurückkehren.
--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 — funktioniert sogar, nachdem Sie das Terminal 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 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/geänderte Schlüssel in bestehende Ziele und lä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 (inkl. manueller Bearbeitungen); --yes/-y überspringt die Abfrage | Selten (z. B. nach einer Änderung am Glossar oder an der Engine) |
--backfill-missing ist ein Bootstrap-Flag. Es startet eine gezielte neue Anfrage und fügt nur vollständige Zieldateien hinzu, die noch fehlen — neu hinzugefügte Schlüssel in bereits übersetzten Dateien werden NICHT übersetzt (der Lauf meldet "already up-to-date" und der Schlüssel wird übersprungen). Für laufende Änderungen verwenden Sie einfach lingo push.
Übersetzungen von Hand bearbeiten#
Ein normales lingo push bewahrt manuelle Bearbeitungen pro Schlüssel:
- Sie bearbeiten einen Ziel-String (Quelle unverändert) → dieser String bleibt erhalten; andere Schlüssel werden weiter aktualisiert.
- Die Quelle hinter einem bearbeiteten Schlüssel ändert sich → für diesen Schlüssel wird eine neue Übersetzung erzeugt, die die manuelle Bearbeitung ersetzt.
- Ein neuer Quellschlüssel wird hinzugefügt → wird übersetzt und ergänzt, auch in Dateien mit manuellen Bearbeitungen.
