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 import

Réimporte une remise remplie (classeur, CSV, TSV ou XLIFF) dans les fichiers de locale, avec les mêmes vérifications de sûreté.

Relis une remise remplie par un traducteur dans tes fichiers de locale. Chaque valeur passe par les mêmes contrôles d'intégrité qu'une exécution automatisée : les valeurs qui passent sont écrites et le fichier de verrouillage est mis à jour, celles qui échouent sont retenues et signalées, si bien qu'une cellule défectueuse n'atterrit jamais dans un fichier de locale. Une vraie exécution ajoute aussi les entrées manquantes à un .gitignore existant, voir Entrées du .gitignore.

Synopsis

verbatra import <workbook> [flags]
  • <workbook> : la remise écrite par verbatra export et remplie par le traducteur. Avec xlsx, c'est le fichier du classeur ; avec csv, tsv, xliff2 et xliff12, un seul fichier <locale>.csv, <locale>.tsv ou <locale>.xlf, ou le répertoire qui en contient un par locale.

Exemples

# import the filled workbook
verbatra import verbatra-translations.xlsx

# validate and report, write nothing
verbatra import verbatra-translations.xlsx --dry-run

# import every locale file in a CSV handoff directory
verbatra import handoff --format csv

# import one XLIFF file back from a CAT tool, naming the reviewer
verbatra import handoff/de.xlf --reviewer "Agency GmbH"

Options

OptionArgumentDéfautEffet
--dry-runaucundésactivévalide et rapporte sans écrire les fichiers de locale ni mettre à jour le verrou
--format<format>d'après l'extension du chemin : csv, tsv, xliff2 pour .xlf ou .xliff, sinon xlsx ; pour un répertoire, d'après le manifeste d'export ou les fichiers de locale qu'il contientxlsx, csv, tsv, xliff2 ou xliff12 ; chacun des deux formats XLIFF lit les deux versions
--reviewer<name>aucunnom enregistré sur chaque unité XLIFF marquée relue ou finale ; au plus 64 caractères, stocké dans le fichier de provenance versionné
--lock-timeout<seconds>600combien de temps attendre un verrou d'écriture de locale déjà détenu ; un entier de 1 à 3600, sinon erreur d'utilisation, sortie 2

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

Comportement

Avertissement

Chaque valeur remplie qui passe les contrôles remplace la valeur du fichier de locale, y compris une valeur écrite par une personne. Lance d'abord --dry-run pour voir ce qui changerait.

Fichiers de locale et reliquats

Avec csv ou tsv, la locale vient du nom du fichier : garde donc chaque fichier nommé exactement comme à l'export. Une locale cible configurée sans fichier (ou, dans un classeur, sans feuille) échoue avec WORKBOOK_SHEET_MISSING ; elle n'est jamais ignorée en silence.

Un fichier resté d'un export précédent avec une sélection --locales plus large n'est jamais appliqué. L'import compare le répertoire au manifeste du dernier export et fait échouer une telle locale avec HANDOFF_FILE_STALE. Réexporte cette locale ou supprime le fichier. Un répertoire sans manifeste lisible (assemblé à la main ou amputé par une archive) est lu tel quel, tout comme un fichier isolé que tu nommes directement.

Verrous d'écriture

--lock-timeout fixe combien de temps une locale attend un verrou d'écriture occupé avant d'échouer avec LOCK_CONTENDED, exactement comme avec verbatra translate. L'attente a lieu avant l'écriture du fichier de la locale : une locale qui dépasse le délai reste intacte pendant que les autres sont importées, et la commande sort avec 1. Une fois un fichier écrit, son enregistrement dans le fichier de verrouillage attend jusqu'aux dix minutes par défaut, quoi que dise --lock-timeout. Une attente de plus d'une seconde affiche une ligne nommant le verrou et son détenteur (un enregistrement lock-wait avec --json). --dry-run ne prend aucun verrou, donc n'attend jamais.

XLIFF

Un fichier XLIFF est lu dans la version qu'il déclare, et un fichier isolé dont le nom n'est pas une locale configurée est rattaché par la langue cible qu'il déclare. Une unité dont la cible est égale à la valeur actuelle ne change rien ; toute autre cible passe le contrôle d'intégrité comme une ligne de classeur. Une unité marquée reviewed ou final (en 1.2 aussi signed-off ou approved="yes") est enregistrée comme approuvée, avec --reviewer comme nom, et signalée par l'avis HANDOFF_REVIEWS_RECORDED. Une unité dont l'id ne nomme aucune clé source est signalée comme ligne malformée. Consulte Confier à une agence de traduction.

Lignes vides et défectueuses

Une cellule Translation vide ne fait jamais échouer une locale : la ligne est ignorée, sa base du verrou est conservée, et la clé est signalée comme unfilled tant qu'elle a encore besoin d'une traduction. Importer une remise que personne n'a encore remplie réussit donc et liste chaque clé en attente.

Une seule ligne illisible est signalée comme ligne malformée, et le reste de la locale est quand même importé. Une remise trop volumineuse ou impossible à analyser (par exemple, pas un conteneur xlsx lisible) est une erreur SOURCE_INVALID de toute l'exécution, dont le message dit ce qui n'allait pas.

Dans un fichier CSV, TSV ou xlsx, une ligne remplie égale à la valeur d'une clé à jour est laissée telle quelle et signalée comme inchangée, non traduite, une fois qu'elle passe la barrière d'intégrité nouveau. Voir Traduction manuelle.

Retour dans le terminal

import affiche une ligne pendant qu'il lit et applique le fichier. Après un import propre, il suggère verbatra check, et après --dry-run le même import sans l'option. Si une locale échoue ou reste partielle, il suggère le même import une fois les lignes refusées corrigées ou, quand une locale a échoué avec une erreur qui a une prochaine étape, cette étape :

Sortie
verbatra: importing verbatra-translations.xlsx... done (0.4s)
next: verbatra check (confirm every locale is in sync)

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

Sortie JSON

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

Avec --json, l'enveloppe porte un RunSummary, la même forme que celle qu'affiche verbatra translate ; RunSummary liste chaque champ.

Codes de sortie

CodeSignification
0chaque locale cible est sortie complète
1l'exécution s'est terminée, mais une ou plusieurs locales ont échoué ou sont restées partielles
2impossible de s'exécuter : une erreur globale (configuration, remise, format ou fichier de verrouillage corrompu) ou une erreur d'utilisation
130interrompu avec Ctrl-C (SIGINT) après libération des verrous d'écriture de l'exécution
143arrêté avec SIGTERM après libération des verrous d'écriture de l'exécution

Le contrat est celui de verbatra translate, donc une remise manuelle se branche de la même façon en CI : une locale partielle sort avec 1, et un fichier de verrouillage corrompu, ou qui se corrompt pendant l'import, arrête toute l'exécution avec 2 en laissant les locales restantes intactes (celles déjà appliquées restent écrites). Le contrat que suit chaque commande est décrit dans Codes de sortie.

Voir aussi

Modifier sur GitHub

Sur cette page