Referencia / CLI
Página traducida automáticamente
verbatra watch
Retraduce en cada cambio del origen hasta que lo interrumpas, para que los locales sigan al día; cada ejecución solo envía claves nuevas o cambiadas.
Vigila el archivo del locale de origen y vuelve a traducir tras cada cambio, con anti-rebote, hasta que lo interrumpas. watch ejecuta una traducción inicial al arrancar y luego mantiene al día tus locales de destino mientras guardas. Cada ejecución funciona como verbatra translate, salvo que watch no tiene --dry-run, --prune, --include-human, --estimate ni --max-tokens y nunca sale con 3. Al arrancar también añade las entradas que falten a un .gitignore existente, consulta Entradas de .gitignore.
Sinopsis
verbatra watch [flags]Ejemplos
# vigila y retraduce en cada cambio
verbatra watch
# más tranquilo en un editor ajetreado: espera 1 s tras el último cambio y emite NDJSON
verbatra watch --debounce 1000 --json
# mantén al día solo el alemán mientras trabajas
verbatra watch --locales deFlags
| Flag | Argumento | Por defecto | Efecto |
|---|---|---|---|
--locales | <list> | cada locale de destino configurado | vigila solo este subconjunto separado por comas; se comprueba una vez al arrancar, donde un locale no configurado falla con UNKNOWN_ |
--debounce | <ms> | 300 | espera estos milisegundos tras el último cambio antes de traducir; un entero de 1 a 60000 |
--lock-timeout | <seconds> | 600 | en cada ejecución, espera este tiempo por un bloqueo de escritura ocupado de un locale; un entero de 1 a 3600 |
--concurrency | <n> | 1 | traduce hasta n locales de destino a la vez por ejecución; un entero de 1 a 100, rechazado con un presupuesto maxTokens |
--no-cache | ninguno | desactivado (caché activa) | omite la caché de memoria de traducción (verbatra.cache.json) en cada ejecución |
También acepta los flags globales --cwd, --config y --json; aquí --json imprime un registro por ejecución. Antes de arrancar, watch carga los archivos de entorno.
Comportamiento
Cada ejecución
Cada ejecución traduce el subconjunto de --locales, o todos los destinos, con un presupuesto de tokens nuevo. Un locale cuyo bloqueo de escritura siga ocupado más allá de --lock-timeout falla con LOCK_ en el resumen de esa ejecución, mientras los demás siguen; un bloqueo de un proceso de verbatra que ya no corre se recupera al momento. Una ejecución fallida nunca detiene el vigilante. La espera de un bloqueo imprime la misma línea de espera que se describe en translate.
Un --concurrency mayor que 1 junto con un presupuesto maxTokens configurado se rechaza al arrancar con salida 2, antes de la primera ejecución, porque el orden en que se intercalan los locales decidiría cuál pierde el trabajo restante.
Un proveedor que no se puede construir, casi siempre porque falta su variable de API key, también se rechaza al arrancar: watch sale con 2 y PROVIDER_ y una línea next: que nombra la variable, igual que translate, en lugar de esperar cambios que ninguna ejecución podría traducir. Antes de 0.12.0 seguía esperando.
Detención
La primera interrupción (Ctrl-C o SIGTERM) deja terminar la ejecución en curso, detiene el vigilante y sale con 0. Una segunda interrupción mientras el apagado sigue en marcha fuerza la parada con salida 130, tras liberar los bloqueos de escritura de la sesión. Sin --json, stderr dice verbatra: waiting for changes... tras cada ejecución, verbatra: press Ctrl-C to stop tras la línea de arranque en un terminal interactivo y verbatra: stopped cuando termina el apagado. --quiet quita estas líneas, pero no la línea de arranque ni verbatra: stopping, finishing current run... en la primera interrupción: se escriben en todos los modos, --json incluido.
Salida JSON
Esquema: watch-envelope.json valida el envoltorio completo; Esquemas enumera los demás.
Con --json, stdout es NDJSON: un envoltorio por ejecución, con command: "watch". Una ejecución correcta es un registro ok: true con el RunSummary de esa ejecución; una fallida es un registro ok: false con el código propio del fallo, o WATCH_ si no tenía, más su hint cuando lo hay. Una ejecución fallida es solo un registro: no detiene el vigilante ni cambia el código de salida. La línea de arranque, el aviso de parada y el progreso van a stderr. Sin --json, el resumen de una ejecución va a stdout y la línea verbatra: error [CODE] message de una fallida a stderr.
Información en el terminal
Sin --json, watch nombra el archivo de origen cuando un cambio se ha asentado y luego informa de la ejecución como translate, con el mismo spinner en un terminal interactivo:
verbatra: change detected: locales/en.json
verbatra: translating de
verbatra: de batch 1/1
verbatra: de: writing
verbatra: de done, 1 translated
verbatra: run finished, 1 locale processed
verbatra: waiting for changes...Estas líneas van a stderr, y --quiet las omite. Consulta Salida en el terminal.
Códigos de salida
| Código | Significado |
|---|---|
0 | detenido limpiamente con una sola interrupción |
2 | no pudo arrancar o detenerse: un error de configuración, un fallo al arrancar o al apagar, o un error de uso como un --debounce no válido |
130 | detenido a la fuerza con una segunda interrupción |
Una ejecución fallida durante la sesión nunca cambia el código de salida. Consulta el contrato de códigos de salida.
Relacionado
verbatra translatees la ejecución única quewatchrepite.- La caché explica qué omite
--no-cacheen cada ejecución. - Cómo funciona explica qué hace cada ejecución.
- Proteger las traducciones humanas explica por qué una ejecución conserva un valor obsoleto que escribió una persona.
- La referencia del SDK documenta las formas
WatchRunResultyRunSummary.