Saltar al contenido
Saltar al contenido

Referencia / CLI

Página traducida automáticamente

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

verbatra export

Exporta las cadenas sin traducir para un traductor: como libro de Excel, como un archivo CSV o TSV por locale o como XLIFF para una herramienta TAO.

Escribe las cadenas que necesitan traducción en una entrega que una persona rellena y devuelve para verbatra import. Por defecto lleva solo las cadenas faltantes y modificadas, las mismas claves que una ejecución automática enviaría a un proveedor. Una clave cuyo valor de origen está vacío o solo tiene espacios no tiene fila hasta que escribas su texto de origen. export nunca llama a un proveedor y no necesita clave de API.

Sinopsis

verbatra export [flags]

Ejemplos

# write the workbook with missing and changed strings
verbatra export

# only the German and French sheets, to a specific path
verbatra export --locales de,fr --out handoff/round-2.xlsx

# one de.csv and fr.csv under handoff/
verbatra export --format csv --out handoff

# one de.xlf and fr.xlf in XLIFF 2.0 for a CAT tool
verbatra export --format xliff2 --out handoff

Flags

FlagArgumentoPor defectoEfecto
--out<path>verbatra-translations.xlsx, o verbatra-translations para los otros formatosdónde se escribe la entrega: un archivo para xlsx, un directorio para csv, tsv, xliff2 y xliff12
--format<format>xlsxxlsx (libro de Excel), csv o tsv (un archivo por locale), xliff2 o xliff12 (un archivo XLIFF por locale)
--locales<list>cada locale de destino configuradoexporta solo este subconjunto separado por comas; un locale no configurado falla con UNKNOWN_LOCALE y una lista vacía con INVALID_LOCALES, ambos con salida 2
--include-unchangedningunodesactivadoexporta también las cadenas que ya están al día

También acepta los flags globales --cwd, --config y --json.

Comportamiento

CSV y TSV

--format csv y --format tsv escriben un <locale>.csv o <locale>.tsv por locale exportado, con las mismas columnas en el mismo orden que una hoja del libro. --out nombra el directorio, que se crea si no existe.

Un archivo delimitado se puede comparar con diff y se abre en cualquier parte, pero no tiene protección de celdas: todas las columnas son editables y la columna Source hash está a la vista. Nunca se confía en un hash editado: el import lo compara con la fuente actual y retiene la fila.

Cada exportación delimitada escribe además un manifiesto oculto, .verbatra-export-csv.json o .verbatra-export-tsv.json, que nombra los locales que escribió. Una exportación posterior con un --locales más estrecho retira los locales que dejó fuera: sus archivos siguen en el disco, y verbatra import los rechaza como restos. La exportación nunca borra nada del directorio de salida.

XLIFF

--format xliff2 escribe XLIFF 2.0 y --format xliff12 XLIFF 1.2: un <locale>.xlf por locale exportado en el directorio de --out, más un manifiesto .verbatra-export-xliff.json que funciona como el de CSV. Cada clave se convierte en una unidad con el nombre de la clave, los placeholders y el marcado pasan a ser códigos en línea protegidos, la descripción y el significado de la clave pasan a ser notas, y el estado del segmento sigue el estado del bloqueo y de la revisión (initial para una clave faltante o desactualizada, translated cuando está al día, reviewed cuando está aprobada). Consulta Entregar a una agencia de traducción.

Cada destino dice además de dónde viene. En XLIFF 1.2, un destino que escribió un proveedor, la memoria de traducción o un agente de IA, y que ninguna persona aprobó, lleva state-qualifier="mt-suggestion"; en XLIFF 2.0 el grupo de metadatos verbatra de la unidad lleva origin y review-state. El import ignora ambos. Si verbatra.provenance.json no se puede leer, no se escribe ninguna marca y el resultado de --json lleva provenanceMarkers: "unavailable". Consulta Evidencia de traducción automática.

Dónde se escribe la entrega

La entrega solo se escribe dentro de la raíz del proyecto. Antes de leer nada, export rechaza con EXPORT_OUTPUT_CONFLICT un --out que sale de la raíz del proyecto o que (por sí mismo o mediante un archivo que escribiría) nombra un archivo del que depende el proyecto: un archivo de locale configurado, el archivo de bloqueo, el archivo de procedencia, la caché de la memoria de traducción, un archivo de configuración que verbatra busca, la configuración que cargó la ejecución o el archivo glossary configurado. Para xlsx también se rechaza una ruta que no nombra un archivo (como out/) o que es la propia raíz del proyecto. Los nombres se comparan sin distinguir mayúsculas, y las comprobaciones se repiten tras resolver los enlaces simbólicos.

Una ruta que pasa puede fallar igualmente al escribir (sin permisos, algo en medio, disco lleno): la ejecución se detiene con EXPORT_UNWRITABLE y nombra el archivo y el código del sistema de archivos.

Un locale de destino que no puede nombrar su hoja o su archivo detiene la exportación con WORKBOOK_INVALID. Un nombre de hoja xlsx debe tener de 1 a 31 caracteres, no puede contener ninguno de : \ / ? * [ ] y no puede coincidir, sin distinguir mayúsculas, con Instructions ni con el nombre de hoja de otro locale de destino. Un nombre de archivo csv, tsv o xlf no puede estar vacío ni ser . o .., y no puede contener un separador de ruta, un carácter de control ni ninguno de : * ? " < > |. El mismo código cubre un libro que no se pudo serializar.

Información en el terminal

export muestra una línea mientras escribe y, si había algo que entregar, nombra el import que trae de vuelta el archivo rellenado:

Salida
verbatra: exporting to xlsx... done (0.3s)
next: verbatra import verbatra-translations.xlsx (once your translators have filled it in)

Cuando no hay nada pendiente y no pasaste --include-unchanged, el archivo no tiene filas, y la línea next: sugiere en su lugar la misma exportación con --include-unchanged, conservando --format, --out, --locales, --cwd y --config.

Estas líneas van a stderr, y --quiet las omite. Consulta Salida en el terminal.

Salida JSON

Esquema: export-envelope.json valida el envoltorio completo; Esquemas enumera los demás.

Con --json, el envoltorio lleva dónde quedó la entrega y el número de filas por locale:

{
  path: string;                // absolute path: the workbook for xlsx, the output directory otherwise
  locales: { locale: string; rows: number }[];
  provenanceMarkers?: "written" | "unavailable"; // XLIFF formats only
}

Códigos de salida

CódigoSignificado
0se escribió la entrega
2no se pudo ejecutar: un error de toda la ejecución, una ruta de salida rechazada (EXPORT_OUTPUT_CONFLICT), una entrega que no se pudo escribir (EXPORT_UNWRITABLE, WORKBOOK_INVALID) o un error de uso

export no tiene un modo de fallo por locale, así que nunca sale con 1. El contrato que sigue cada comando está en Códigos de salida.

Relacionado

Editar en GitHub

En esta página