Referencia de la CLIverbatra translate

verbatra translate

Traduce cada locale de destino una vez y luego termina.

Página traducida automáticamente

Esta página fue traducida automáticamente, así que puede contener errores o sonar un poco raro. La versión en inglés es la fuente de la verdad. Lee el original en inglés.

Ejecuta una pasada de traducción sobre cada locale de destino y luego sal. translate lee el locale de origen, lo compara con el archivo de bloqueo, envía al proveedor solo las cadenas nuevas o modificadas, ejecuta las comprobaciones de integridad, escribe los archivos de locale y actualiza el bloqueo. Lo que sigue al día nunca se reenvía, así que nunca pagas dos veces por una cadena sin cambios.

Sinopsis

verbatra translate [flags]

Flags

FlagArgumentoPor defectoEfecto
--cwd<path>directorio actualresuelve la configuración y los archivos de locale desde este directorio
--config<path>busca unocarga este archivo de configuración en lugar de buscar uno
--locales<list>todos los locales de destino configuradostraduce solo este subconjunto separado por comas; un locale no configurado hace fallar la ejecución con UNKNOWN_LOCALE antes de leer ni gastar nada, y una lista vacía es un error de uso, salida 2
--dry-runningunodesactivadoprevisualiza los cambios sin llamar a un proveedor ni escribir archivos (sin necesidad de clave API)
--pruneningunola opción prune de la configuración, si no, desactivadoelimina del archivo escrito y del bloqueo las claves huérfanas (en un archivo de destino pero ausentes del origen)
--lock-timeout<seconds>600cuánto esperar por un bloqueo de escritura de locale que otro proceso mantiene antes de fallar; debe ser un entero positivo puro de segundos (un valor como 60s, 0 o -1 es un error de uso, salida 2)
--concurrency<n>1traduce hasta n locales de destino a la vez; debe ser un entero positivo
--no-cacheningunodesactivado (caché activada)omite la caché de memoria de traducción local (verbatra.cache.json) para esta ejecución
--jsonningunodesactivadoimprime un envoltorio JSON en stdout que lleva el resumen de la ejecución bajo result (la forma RunSummary), o el código de error si la ejecución falla; la línea de error legible por humanos sigue yendo a stderr

Por defecto una ejecución no borra nada: las claves huérfanas se informan y se dejan en su sitio. --prune elimina exactamente esas claves y nada más, y anula la opción prune de la configuración para esta ejecución. Antes de ejecutarse, translate carga .env.local y luego .env desde el directorio de trabajo; una variable ya definida en el entorno real gana.

--dry-run no construye ningún proveedor, así que no necesita clave API y no puede gastar nada: lee los archivos de origen y de destino, los compara con el archivo de bloqueo e informa exactamente de lo que cambiaría una ejecución real. No escribe nada (ni archivo de locale, ni actualización del bloqueo, ni instantánea de estado de la ejecución), no lee ni escribe la caché, y no toma ningún bloqueo de escritura por locale, así que nunca espera a una ejecución ya en curso. La carga de .env de arriba sigue ocurriendo en una ejecución en seco; simplemente no hay ninguna clave que leer. Eso la convierte en una forma completa de probar verbatra en un proyecto real antes de crear una cuenta de proveedor.

--locales de,fr reduce la ejecución a un subconjunto de los destinos configurados. Los locales que quedan fuera no se tocan: sus archivos, sus entradas del bloqueo y sus entradas de caché se quedan como estaban. Es el flag al que recurrir en un nivel gratuito con límite de tasa, donde traducir un locale cada vez es la única forma de avanzar, y también es la manera más rápida de volver a ejecutar un solo locale que quedó parcial. La instantánea de estado de la ejecución describe siempre solo la ejecución más reciente, así que una ejecución sobre un subconjunto la reduce a ese subconjunto.

--lock-timeout ajusta cuánto espera un locale por un bloqueo de escritura disputado antes de que la ejecución falle con LOCK_CONTENDED: súbelo cuando otra ejecución retiene el bloqueo legítimamente un rato, bájalo para fallar rápido en CI.

--concurrency traduce varios locales de destino en paralelo para terminar antes un proyecto grande. Se rechaza con salida 2 cuando la configuración fija un presupuesto maxTokens, porque los locales concurrentes no pueden respetar un tope de tokens de forma determinista (un dry-run queda exento). Si un error de toda la ejecución (en la práctica, un archivo de bloqueo corrupto) aflora cuando ya hay locales en marcha, no se arranca ningún locale más, y los que están en vuelo terminan y liberan sus bloqueos de escritura antes de que el comando salga con 2, así que la ejecución no deja atrás ningún bloqueo que la siguiente tenga que esperar. A medida que avanza una ejecución, el progreso se imprime en stderr (una línea por inicio de locale, sub-lote del proveedor y fin de locale), así que el stdout de una ejecución con --json sigue siendo un único resumen limpio. --no-cache se salta la caché de memoria de traducción para la ejecución, haciendo exactamente las llamadas al proveedor que haría sin caché presente.

Ejemplos

# translate once using the config it finds
verbatra translate

# preview the keys that would be pruned, spending nothing
verbatra translate --prune --dry-run

# one locale at a time, which is what a rate-limited free tier needs
verbatra translate --locales de

Códigos de salida

CódigoSignificado
0todos los locales de destino quedaron completos
1la ejecución terminó pero uno o más locales fallaron o quedaron parciales
2no se pudo ejecutar: un error de toda la ejecución (configuración, origen, formato, proveedor o bloqueo) o un error de uso

Que falle un locale no es fatal: la ejecución termina, sale con 1 y el detalle por locale queda en el resumen. Un locale parcial sale con 1 también. Ese es un locale cuyo archivo se escribió pero todavía tiene claves faltantes, normalmente porque un sublote del proveedor falló o la puerta de integridad rechazó una traducción, y darlo por bueno dejaría un archivo a medio traducir en tu repositorio sin que nadie lo note.

Relacionado

Edit on GitHub