verbatra watch
Retraduit à chaque changement de la source jusqu'à interruption.
Page traduite automatiquement
Surveille le fichier de la locale source et relance une traduction à chaque changement temporisé, jusqu'à ce que tu l'interrompes. watch lance une traduction initiale au démarrage, puis garde tes locales cibles à jour au fil de tes sauvegardes. Avant de s'exécuter, il charge .env.local puis .env depuis le répertoire de travail ; une variable déjà définie dans l'environnement réel l'emporte.
Synopsis
verbatra watch [flags]Options
| Option | Argument | Défaut | Effet |
|---|---|---|---|
--cwd | <path> | répertoire courant | résout la config et les fichiers de locale depuis ce répertoire |
--config | <path> | recherche automatique | charge ce fichier de config au lieu d'en chercher un |
--locales | <list> | toutes les cibles configurées | ne surveille et ne traduit que ce sous-ensemble séparé par des virgules ; une locale non configurée est rejetée au démarrage avec UNKNOWN_LOCALE avant que la surveillance ne commence, et une liste vide est une erreur d'utilisation, sortie 2 |
--debounce | <ms> | 300 | attend ce nombre de millisecondes après le dernier changement avant de traduire ; doit être un entier positif nu (une valeur comme 250ms, 0 ou -1 est une erreur d'utilisation, sortie 2) |
--lock-timeout | <seconds> | 600 | combien de temps attendre un verrou d'écriture de locale déjà détenu avant d'échouer ; doit être un entier positif nu, en secondes (une valeur comme 60s, 0 ou -1 est une erreur d'utilisation, sortie 2) |
--concurrency | <n> | 1 | traduit jusqu'à n locales cibles à la fois par exécution ; doit être un entier positif |
--no-cache | aucun | désactivé (cache activé) | contourne le cache de mémoire de traduction local (verbatra.cache.json) à chaque exécution |
--json | aucun | désactivé | affiche chaque exécution comme une enveloppe JSON sur stdout, façon NDJSON (un objet par ligne) |
Avec --json, chaque exécution émet un enregistrement enveloppe avec command: "watch" : un enregistrement ok: true portant le RunSummary de cette exécution sous result, ou un enregistrement ok: false portant un code d'erreur et un message. La ligne de démarrage, l'avis d'arrêt et la progression de chaque exécution vont sur stderr, donc le flux stdout reste du NDJSON propre. Une exécution échouée n'est qu'un enregistrement sur le flux : elle n'arrête pas la surveillance et ne change pas le code de sortie.
--locales de,fr restreint chaque cycle de la session à un sous-ensemble des cibles configurées, ce qui garde une boucle de développement peu coûteuse quand une seule langue t'intéresse. Le sous-ensemble est validé une fois au démarrage plutôt qu'à chaque exécution.
--lock-timeout s'applique à chaque cycle : il règle combien de temps une locale attend un verrou d'écriture disputé avant que cette exécution n'échoue avec LOCK_CONTENDED. Une exécution échouée n'est qu'un enregistrement sur le flux, donc la surveillance continue dans tous les cas.
--concurrency s'applique à l'exécution de chaque cycle. Comme le budget de tokens de chaque exécution est neuf, un --concurrency supérieur à 1 ne peut pas être respecté quand la config fixe un budget maxTokens : watch refuse cette combinaison au démarrage et sort avec le code 2 avant l'exécution initiale, au lieu de démarrer une session qui échoue à chaque cycle. --no-cache contourne le cache de mémoire de traduction à chaque cycle.
Arrêt
La première interruption (Ctrl-C ou SIGTERM) laisse l'exécution en cours se terminer, arrête proprement la surveillance et sort avec 0. Une seconde interruption pendant que cet arrêt est encore en cours force l'arrêt avec le code 130.
Exemples
# 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 --json
# keep only German current while you work
verbatra watch --locales deCodes de sortie
| Code | Signification |
|---|---|
0 | arrêté proprement par une seule interruption |
2 | impossible de démarrer ou de s'arrêter : une erreur de config, un échec au démarrage ou à l'arrêt, ou une erreur d'utilisation (y compris un --debounce invalide) |
130 | arrêté de force par une seconde interruption |
Voir aussi
verbatra translateest l'exécution unique quewatchrépète.- Le cache explique ce que
--no-cachecontourne à chaque exécution. - Comment ça marche explique ce que fait chaque exécution.
- La référence SDK documente les formes
WatchRunResultetRunSummary.