@lingo.dev/cli

Zuletzt aktualisiert: vor 4 Tagen · 3 Min. Lesezeit

@lingo.dev/cli schickt Ihre Quellinhalte an eine Lokalisierungs-Engine, die sie serverseitig übersetzt und die Ergebnisse zurück auf die Festplatte schreibt — im selben Befehl mit --wait oder später mit lingo pull. Das ist der Ersatz für den alten 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 push lädt Quellen in Ihre Engine hoch, startet einen serverseitigen Workflow und wartet entweder auf den Abschluss oder kehrt sofort mit einer Run-ID zurück
  • lingo pull holt die Ergebnisse des letzten push — funktioniert sogar, wenn Sie das Terminal während der Übersetzung geschlossen haben, solange Sie auf demselben Rechner und aus demselben Checkout pull ausführen
  • 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 wird etwas möglich, was die alte CLI nicht konnte: lang laufende Übersetzungen ohne blockiertes Terminal — push ausführen, Terminal schließen und die Ergebnisse später mit pull abholen.

Auf Ergebnisse warten#

lingo push lädt die Quelldateien hoch, startet den serverseitigen Workflow und beendet sich, sobald der Lauf abgeschickt wurde — auf die Übersetzungen wartet der Befehl nicht, und er schreibt sie auch nicht. Holen Sie die Ergebnisse mit lingo pull ab oder übergeben Sie --wait (-w), um alles in einem einzigen Befehl zu erledigen.

bash
lingo push            # submit the run and exit (default)
lingo pull            # later: re-attach to the most recent push and download its outputs

lingo push --wait     # submit, wait, and write outputs in one command
  • --wait (-w) blockiert, bis der Workflow abgeschlossen ist, und schreibt die Ergebnisse im selben Befehl.
  • lingo pull hängt sich wieder an den letzten push für dieses Projekt an und lädt dessen Ergebnisse herunter — funktioniert auch, nachdem Sie das Terminal geschlossen haben. Der Laufstatus wird pro Rechner unter ~/.lingo/runs/<project-hash>.json gespeichert und über den Projektpfad zugeordnet, sodass pull auf demselben Rechner aus demselben Checkout fortgesetzt wird.

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#

BefehlModusWann
lingo pushInkrementell — vergleicht die Quelle mit .lingo/lock.json, übersetzt nur neue/geänderte Schlüssel in bestehende Ziele und lässt den Rest unverändertBei jedem Routine-Durchlauf (in CI --wait hinzufügen)
lingo push --backfill-missingBootstrap — füllt Ziel-DATEIEN, die noch nicht existierenBeim ersten push oder nach dem Hinzufügen einer neuen Sprache
lingo push --forceVollständige Neuübersetzung — überschreibt jedes Ziel (inkl. manueller Bearbeitungen); --yes/-y überspringt die AbfrageSelten (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.

Was Sie in diesem Abschnitt finden#

Schnellstart
Installieren, authentifizieren, mit einer Engine verknüpfen und den ersten push und pull ausführen.
Konfiguration
`.lingo/config.json`, `.lingo/lock.json` und der rechnerbezogene Ausführungsstatus unter `~/.lingo/runs/<hash>.json`.
lingo push
Quellen senden und einen Übersetzungslauf starten — mit `--wait` werden die Ergebnisse im selben Befehl geschrieben. Bereichsspezifische Muster, `--force`, Retry-Semantik.
lingo pull
Die Ergebnisse des letzten push abrufen — über Terminalsitzungen hinweg auf demselben Rechner. Konflikterkennung.
Andere Befehle
login, logout, link, unlink, whoami — die Befehle für Einrichtung und Identität.