verbatra translate
Traduit chaque locale cible une fois, puis termine.
Page traduite automatiquement
Lance une passe de traduction sur chaque locale cible, puis termine. translate lit la locale source, la compare au fichier de verrouillage, n'envoie au fournisseur que les chaînes nouvelles ou modifiées, exécute les vérifications d'intégrité, écrit les fichiers de locale et met à jour le verrou. Tout ce qui est encore à jour n'est jamais renvoyé, donc tu ne paies jamais deux fois pour une chaîne inchangée.
Synopsis
verbatra translate [flags]Options
| Option | Argument | Défaut | Effet |
|---|---|---|---|
--cwd | <path> | répertoire courant | résout la config et les fichiers de locale depuis ce répertoire |
--config | <path> | recherche automatique | charge ce fichier de config au lieu d'en chercher un |
--locales | <list> | toutes les cibles configurées | ne traduit que ce sous-ensemble séparé par des virgules ; une locale non configurée fait échouer l'exécution avec UNKNOWN_LOCALE avant que quoi que ce soit ne soit lu ou dépensé, et une liste vide est une erreur d'utilisation, sortie 2 |
--dry-run | aucun | désactivé | prévisualise les changements sans appeler de fournisseur ni écrire de fichiers (aucune clé d'API requise) |
--prune | aucun | l'option prune de la config, sinon désactivé | supprime les clés orphelines (présentes dans un fichier cible mais absentes de la source) du fichier écrit et du verrou |
--lock-timeout | <seconds> | 600 | combien de temps attendre un verrou d'écriture de locale déjà détenu avant d'échouer ; doit être un entier positif brut de secondes (une valeur comme 60s, 0 ou -1 est une erreur d'usage, code 2) |
--concurrency | <n> | 1 | traduit jusqu'à n locales cibles à la fois ; doit être un entier positif |
--no-cache | aucun | désactivé (cache activé) | contourne le cache de mémoire de traduction local (verbatra.cache.json) pour cette exécution |
--json | aucun | désactivé | affiche une enveloppe JSON sur stdout portant le résumé d'exécution sous result (la forme RunSummary), ou le code d'erreur si l'exécution échoue ; la ligne d'erreur lisible par un humain va toujours sur stderr |
Par défaut, une exécution ne supprime rien : les clés orphelines sont signalées et laissées en place. --prune supprime exactement ces clés et rien d'autre, et remplace l'option prune de la config pour cette exécution. Avant de s'exécuter, translate charge .env.local puis .env depuis le répertoire de travail ; une variable déjà définie dans l'environnement réel l'emporte.
--dry-run ne construit aucun fournisseur, il ne demande donc aucune clé d'API et ne peut rien dépenser : il lit les fichiers source et cible, les compare au fichier de verrouillage et signale exactement ce qu'une vraie exécution changerait. Il n'écrit rien (ni fichier de locale, ni mise à jour du verrouillage, ni instantané d'état d'exécution), il ne lit ni n'écrit le cache, et il ne prend aucun verrou d'écriture par locale, donc il n'attend jamais une exécution déjà en cours. Le chargement de .env ci-dessus a toujours lieu lors d'un dry run ; il n'y a simplement aucune clé à lire. Cela en fait un moyen complet d'essayer verbatra sur un vrai projet avant de créer un compte chez un fournisseur.
--locales de,fr restreint l'exécution à un sous-ensemble des cibles configurées. Les locales laissées de côté restent intactes : leurs fichiers, leurs entrées de verrouillage et leurs entrées de cache restent tels quels. C'est l'option à sortir face à une offre gratuite à débit limité, où traduire une locale à la fois est le seul moyen d'y arriver, et c'est aussi la façon la plus rapide de relancer une seule locale ressortie partielle. L'instantané d'état d'exécution décrit toujours la seule exécution la plus récente, donc une exécution sur un sous-ensemble le réduit à ce sous-ensemble.
--lock-timeout règle combien de temps une locale attend un verrou d'écriture disputé avant que l'exécution n'échoue avec LOCK_CONTENDED : augmente-le quand une autre exécution détient légitimement le verrou un moment, baisse-le pour échouer vite en CI.
--concurrency traduit plusieurs locales cibles en parallèle pour terminer plus vite un gros projet. Il est refusé avec le code 2 quand la config fixe un budget maxTokens, car des locales concurrentes ne peuvent pas respecter un plafond de tokens de façon déterministe (un dry-run est exempté). Si une erreur globale (en pratique un fichier de verrouillage corrompu) surgit alors que des locales tournent déjà, aucune autre locale n'est démarrée, et celles en cours terminent et libèrent leurs verrous d'écriture avant que la commande ne sorte avec le code 2, donc l'exécution ne laisse derrière elle aucun verrou que la suivante devrait attendre. À mesure qu'une exécution avance, la progression est affichée sur stderr (une ligne par démarrage de locale, sous-lot du fournisseur et fin de locale), donc le stdout d'une exécution --json reste un unique résumé propre. --no-cache saute le cache de mémoire de traduction pour l'exécution, en faisant exactement les appels au fournisseur qu'il ferait sans cache présent.
Exemples
# 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 deCodes de sortie
| Code | Signification |
|---|---|
0 | chaque locale cible est ressortie complète |
1 | l'exécution a terminé mais une ou plusieurs locales ont échoué ou sont ressorties partielles |
2 | impossible de s'exécuter : une erreur globale (config, source, format, fournisseur ou verrou) ou une erreur d'utilisation |
Une locale qui échoue n'est pas fatale : l'exécution se termine, sort avec 1, et le détail par locale se trouve dans le résumé. Une locale partielle sort avec 1 elle aussi. C'est une locale dont le fichier a été écrit mais où des clés manquent encore, typiquement parce qu'un sous-lot du fournisseur a échoué ou que la barrière d'intégrité a refusé une traduction, et l'expédier comme un succès laisserait un fichier à moitié traduit passer inaperçu dans ton dépôt.
Voir aussi
- Comment ça marche explique le pipeline lire, comparer, traduire, écrire.
- Le cache explique ce que
--no-cachecontourne et comment la réutilisation est délimitée. - Sûreté de la traduction couvre les vérifications d'intégrité et la file de révision.
verbatra diffprévisualise les mêmes clés en attente, en lecture seule.- CI et codes de sortie montre comment te brancher sur ces codes.