Aller au contenu
Aller au contenu

Référence / CLI

Page traduite automatiquement

Cette page a été traduite automatiquement, elle peut donc contenir des erreurs ou se lire un peu bizarrement. La version anglaise fait foi. Lire l'original en anglais.

verbatra export

Exporte les chaînes non traduites pour un traducteur : en classeur Excel, en un fichier CSV ou TSV par locale ou en XLIFF pour un outil de TAO.

Écris les chaînes à traduire dans une remise qu'une personne remplit et renvoie pour verbatra import. Par défaut, elle ne porte que les chaînes manquantes et modifiées, les mêmes clés qu'une exécution automatisée enverrait à un fournisseur. Une clé dont la valeur source est vide ou ne contient que des espaces n'a pas de ligne tant que tu n'as pas écrit son texte source. export n'appelle jamais de fournisseur et n'a besoin d'aucune clé d'API.

Synopsis

verbatra export [flags]

Exemples

# 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

Options

OptionArgumentDéfautEffet
--out<path>verbatra-translations.xlsx, ou verbatra-translations avec les autres formatsoù écrire la remise : un fichier avec xlsx, un répertoire avec csv, tsv, xliff2 et xliff12
--format<format>xlsxxlsx (classeur Excel), csv ou tsv (un fichier par locale), xliff2 ou xliff12 (un fichier XLIFF par locale)
--locales<list>chaque locale cible configuréen'exporte que ce sous-ensemble séparé par des virgules ; une locale non configurée échoue avec UNKNOWN_LOCALE et une liste vide avec INVALID_LOCALES, les deux avec la sortie 2
--include-unchangedaucundésactivéexporte aussi les chaînes déjà à jour

La commande accepte aussi les options globales --cwd, --config et --json.

Comportement

CSV et TSV

--format csv et --format tsv écrivent un <locale>.csv ou <locale>.tsv par locale exportée, avec les mêmes colonnes dans le même ordre qu'une feuille du classeur. --out désigne le répertoire, créé s'il n'existe pas.

Un fichier délimité se lit dans un diff et s'ouvre partout, mais il n'a aucune protection de cellule : chaque colonne est modifiable et la colonne Source hash est visible. Un hash modifié n'est jamais considéré comme fiable : l'import le compare à la source réelle et retient la ligne.

Chaque export délimité écrit en plus un manifeste caché, .verbatra-export-csv.json ou .verbatra-export-tsv.json, qui nomme les locales écrites. Un export ultérieur avec un --locales plus étroit retire les locales abandonnées : leurs fichiers restent sur le disque, et verbatra import les refuse comme des reliquats. L'export ne supprime jamais rien du répertoire de sortie.

XLIFF

--format xliff2 écrit du XLIFF 2.0 et --format xliff12 du XLIFF 1.2 : un <locale>.xlf par locale exportée dans le répertoire de --out, plus un manifeste .verbatra-export-xliff.json qui fonctionne comme celui du CSV. Chaque clé devient une unité portant le nom de la clé, les espaces réservés et le balisage deviennent des codes en ligne protégés, la description et le sens de la clé deviennent des notes, et l'état du segment suit l'état de verrouillage et de relecture (initial pour une clé manquante ou obsolète, translated quand elle est à jour, reviewed quand elle est approuvée). Consulte Confier à une agence de traduction.

Chaque cible dit aussi d'où elle vient. En XLIFF 1.2, une cible écrite par un fournisseur, la mémoire de traduction ou un agent d'IA, et qu'aucune personne n'a approuvée, porte state-qualifier="mt-suggestion" ; en XLIFF 2.0, le groupe de métadonnées verbatra de l'unité porte origin et review-state. L'import ignore les deux. Quand verbatra.provenance.json ne peut pas être lu, aucun marqueur n'est écrit et le résultat --json porte provenanceMarkers: "unavailable". Consulte Preuves de traduction automatique.

Où la remise est écrite

La remise n'est écrite qu'à l'intérieur de la racine du projet. Avant toute lecture, export refuse avec EXPORT_OUTPUT_CONFLICT un --out qui sort de la racine du projet ou qui (lui-même ou par un fichier qu'il écrirait) nomme un fichier dont le projet dépend : un fichier de locale configuré, le fichier de verrouillage, le fichier de provenance, le cache de mémoire de traduction, un fichier de configuration que verbatra cherche, la configuration chargée par l'exécution ou le fichier glossary configuré. Avec xlsx, un chemin qui ne nomme aucun fichier (comme out/) ou qui est la racine du projet elle-même est aussi refusé. Les noms sont comparés sans tenir compte de la casse, et les contrôles sont refaits une fois les liens symboliques résolus.

Un chemin qui passe peut encore échouer à l'écriture (pas de droit d'écriture, quelque chose gêne, disque plein) : l'exécution s'arrête alors avec EXPORT_UNWRITABLE et nomme le fichier et le code du système de fichiers.

Une locale cible qui ne peut pas nommer sa feuille ou son fichier arrête l'export avec WORKBOOK_INVALID. Un nom de feuille xlsx doit faire de 1 à 31 caractères, ne doit contenir aucun de : \ / ? * [ ], et ne doit correspondre ni à Instructions ni au nom de feuille d'une autre locale cible, sans tenir compte de la casse. Un nom de fichier csv, tsv ou xlf ne doit pas être vide, . ou .., et ne doit contenir ni séparateur de chemin, ni caractère de contrôle, ni aucun de : * ? " < > |. Le même code couvre un classeur qui n'a pas pu être sérialisé.

Retour dans le terminal

export affiche une ligne pendant qu'il écrit et, s'il y avait quelque chose à remettre, nomme l'import qui ramène le fichier rempli :

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

Quand rien n'est en attente et que --include-unchanged n'a pas été passé, le fichier n'a aucune ligne, et la ligne next: propose à la place le même export avec --include-unchanged, en gardant --format, --out, --locales, --cwd et --config.

Ces lignes vont sur stderr, et --quiet les supprime. Consulte Sortie dans le terminal.

Sortie JSON

Schéma : export-envelope.json valide l'enveloppe entière ; Schémas liste les autres.

Avec --json, l'enveloppe porte l'emplacement de la remise et le nombre de lignes par locale :

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

Codes de sortie

CodeSignification
0la remise a été écrite
2impossible de s'exécuter : une erreur globale, un chemin de sortie refusé (EXPORT_OUTPUT_CONFLICT), une remise impossible à écrire (EXPORT_UNWRITABLE, WORKBOOK_INVALID) ou une erreur d'utilisation

export n'a pas de mode d'échec par locale, donc il ne sort jamais avec 1. Le contrat que suit chaque commande est décrit dans Codes de sortie.

Voir aussi

Modifier sur GitHub

Sur cette page