verbatra watch
Übersetze bei jeder Quelländerung neu, bis unterbrochen wird.
Maschinell übersetzte Seite
Beobachte die Quell-Locale-Datei und führe bei jeder entprellten Änderung eine neue Übersetzung aus, bis du unterbrichst. watch startet mit einer initialen Übersetzung und hält deine Ziel-Locales dann aktuell, während du speicherst. Vor dem Lauf lädt es .env.local und dann .env aus dem Arbeitsverzeichnis; eine bereits in der echten Umgebung gesetzte Variable gewinnt.
Synopsis
verbatra watch [flags]Flags
| Flag | Argument | Standard | Wirkung |
|---|---|---|---|
--cwd | <path> | aktuelles Verzeichnis | Konfiguration und Locale-Dateien von diesem Verzeichnis aus auflösen |
--config | <path> | wird gesucht | diese Konfigurationsdatei laden, statt eine zu suchen |
--debounce | <ms> | 300 | so viele Millisekunden nach der letzten Änderung warten, bevor übersetzt wird; muss eine nackte positive Ganzzahl sein (ein Wert wie 250ms, 0 oder -1 ist ein Verwendungsfehler, Exit 2) |
--concurrency | <n> | 1 | pro Lauf bis zu n Ziel-Locales gleichzeitig übersetzen; muss eine positive Ganzzahl sein |
--no-cache | keins | aus (Cache an) | bei jedem Lauf den lokalen Translation-Memory-Cache (verbatra.cache.json) umgehen |
--json | keins | aus | jeden Lauf als einen NDJSON-Datensatz (ein JSON-Objekt pro Zeile) auf stdout ausgeben |
Mit --json erzeugt jeder Lauf einen WatchRunResult-Datensatz: ein Erfolg mit der Lauf-Zusammenfassung oder ein Fehlschlag mit Fehlercode und Meldung. Die Startzeile, der Stopp-Hinweis und der Fortschritt jedes Laufs gehen auf stderr, der stdout-Strom bleibt also sauberes NDJSON. Ein fehlgeschlagener Lauf ist nur ein Datensatz im Strom: er stoppt weder den Watcher noch ändert er den Exit-Code.
--concurrency gilt für den Lauf jedes Zyklus. Da das Token-Budget jedes Laufs frisch ist, scheitert ein --concurrency über 1 weiterhin bei jedem Lauf mit Exit 2, wenn die Konfiguration ein maxTokens-Budget setzt. --no-cache umgeht den Translation-Memory-Cache bei jedem Zyklus.
Stoppen
Der erste Interrupt (Ctrl-C oder SIGTERM) lässt den laufenden Lauf zu Ende gehen, stoppt den Watcher sauber und endet mit 0. Ein zweiter Interrupt, während dieses Herunterfahren noch läuft, erzwingt den Stopp mit Exit 130.
Beispiele
# watch and re-translate on each change
verbatra watch
# calmer in a busy editor: wait 1s after the last change, stream NDJSON
verbatra watch --debounce 1000 --jsonExit-Codes
| Code | Bedeutung |
|---|---|
0 | sauber gestoppt durch einen einzelnen Interrupt |
2 | konnte nicht starten oder stoppen: ein Konfigurationsfehler, ein Start- oder Stoppfehler oder ein Verwendungsfehler (einschließlich eines ungültigen --debounce) |
130 | zwangsbeendet durch einen zweiten Interrupt |
Siehe auch
verbatra translateist der Einmal-Lauf, denwatchwiederholt.- Der Cache erklärt, was
--no-cachebei jedem Lauf umgeht. - Wie es funktioniert erklärt, was jeder Lauf tut.
- Die SDK-Referenz dokumentiert die Formen
WatchRunResultundRunSummary.