Traduis seulement ce qui a changé.
verbatra est un CLI et un SDK qui garde tes fichiers de locale i18n synchronisés. Tu maintiens la locale source ; il remplit toutes les autres locales via le fournisseur d'IA que tu choisis.
pnpm add -D @verbatra/cliAn example verbatra command-line session.
- verbatra init
- ✓ created verbatra.config.ts
- source en · targets de, es, fr
- provider anthropic · key from ANTHROPIC_API_KEY
- verbatra translate
- diff en.json · 12 new · 0 changed · 108 unchanged
- de 12 translated · 108 unchanged · 0 withheld
- es 12 translated · 108 unchanged · 0 withheld
- fr 12 translated · 108 unchanged · 0 withheld
- ✓ 36 keys translated in 5.4s · 0 skipped · lock updated
- verbatra diff
- en.json · 120 keys · source of truth
- de 2 new · 1 changed · 117 up to date
- es 0 new · 0 changed · 120 up to date
- fr 5 new · 0 changed · 115 up to date
- 8 keys would be sent · run verbatra translate to apply
- verbatra watch
- watching en.json for changes
- en.json changed · 1 new key
- de 1 translated · 0 withheld
- es 1 translated · 0 withheld
- fr 1 translated · 0 withheld
- ✓ 3 keys translated · waiting for changes
Un seul outil pour toute la boucle de traduction.
verbatra est plus que de la traduction par IA. Il couvre la traduction automatique que tu contrôles, un transfert Excel propre pour les traducteurs humains, et l'automatisation pour garder chaque locale synchronisée.
Traduction par IA
Traduis seulement ce qui a changé via le fournisseur de ton choix : Anthropic, OpenAI, Gemini, DeepL ou n'importe quel serveur compatible OpenAI que tu héberges toi-même. Un fichier de verrouillage validé garde chaque exécution incrémentale, et l'intégrité des espaces réservés et de l'ICU est vérifiée avant que quoi que ce soit ne soit écrit.
Transfert Excel
Lance verbatra export pour produire un classeur .xlsx stylisé, confie-le à une agence de traduction ou à des traducteurs internes, puis verbatra import relit leurs modifications dans tes fichiers de locale. Combine la traduction automatique avec le travail humain professionnel.
Automatisation
Garde chaque locale synchronisée pendant que tu travailles : verbatra watch traduit à chaque changement, des codes de sortie compatibles CI et la sortie --json s'intègrent à n'importe quel pipeline, et une GitHub Action l'exécute dans ton workflow.
Un seul outil, tous les frameworks.
verbatra lit les fichiers de locale que ta stack utilise déjà : JSON pour i18next, vue-i18n, next-intl et ngx-translate, ainsi que XLIFF, YAML et Flutter ARB. Il les remplit via le fournisseur que tu choisis, sans aucun nouveau format à adopter.
- Frameworks et formats:
- React
- Next.js
- Vue
- Nuxt
- Angular
- Node.js
- SvelteKit
- Astro
- React Native
- Flutter
Traduis via le modèle en qui tu as confiance.
Anthropic, OpenAI, Gemini, DeepL ou n'importe quel serveur compatible OpenAI que tu héberges toi-même. Choisis-en un en une seule ligne de config et change de fournisseur sans toucher à tes fichiers de locale.
- Fournisseurs de traduction:
- Anthropic
- OpenAI
- Gemini
- DeepL
Une exécution est un pipeline court et prévisible.
Pas de magie, pas de synchronisation en arrière-plan : une séquence déterministe que tu peux lire de haut en bas.
- 01
Configure
Pointe verbatra vers ta locale source, liste les langues cibles et choisis un fournisseur. La configuration tient dans un seul fichier ; les clés d'API restent dans ton environnement.
- 02
Compare
Chaque exécution compare ta locale source au fichier de verrouillage validé et trie chaque clé en nouvelle, modifiée, inchangée ou orpheline.
- 03
Traduis
Seules les clés nouvelles et modifiées sont envoyées à ton fournisseur, par lots, avec ton glossaire et ta tonalité appliqués. Tout le reste est laissé intact.
- 04
Vérifie et écris
L'intégrité des espaces réservés et de l'ICU est vérifiée sur chaque résultat. Tout ce qui casse est retenu ; le reste est écrit dans tes fichiers de locale et le fichier de verrouillage est mis à jour.
Conçu pour les équipes qui livrent en plusieurs langues.
Chaque choix privilégie la prévisibilité : des diffs réduits, une config explicite et rien d'écrit qui n'ait d'abord été vérifié.
Incrémental par défaut
Un fichier de verrouillage validé enregistre ce qui a été traduit. Chaque exécution compare la source et appelle le fournisseur seulement pour les clés qui ont changé.
Le fournisseur de ton choix
Anthropic, OpenAI, Gemini, DeepL ou un modèle local compatible OpenAI, choisi en une ligne de config. Change de fournisseur sans toucher à tes fichiers de locale.
Sûr par conception
L'intégrité des espaces réservés et de l'ICU est vérifiée après chaque traduction. Un résultat qui casse un espace réservé est retenu, jamais écrit.
Les clés restent dans ton environnement
Les clés d'API des fournisseurs sont lues depuis les variables d'environnement, jamais depuis le fichier de config, jamais depuis les arguments du CLI, et jamais journalisées.
CLI et SDK, un seul moteur
La commande verbatra et @verbatra/sdk partagent un même cœur d'orchestration, donc les scripts, la CI et tes propres outils se comportent à l'identique.
Exécutions à blanc et mode watch
Prévisualise exactement ce qu'une exécution changerait sans rien écrire, ou garde un watch actif qui traduit au fur et à mesure que ta locale source évolue.
Questions fréquentes
Des réponses courtes et directes aux questions que les équipes posent avant d'adopter verbatra.
Il garde un fichier de verrouillage validé qui enregistre ce qui a déjà été traduit. Chaque exécution compare ta locale source à ce fichier de verrouillage et envoie seulement les clés nouvelles ou modifiées à ton fournisseur. Les clés inchangées ne sont jamais touchées, donc une exécution typique coûte une poignée de chaînes, pas tout ton catalogue.
Cinq, derrière une seule interface : Anthropic, OpenAI et Gemini (des LLM), DeepL (traduction automatique) et openai-compatible, qui pointe verbatra vers un serveur local ou auto-hébergé comme Ollama, LM Studio ou vLLM. Tu en choisis un par id dans ta config et tu peux en changer plus tard en modifiant cette seule ligne. Gemini a un vrai palier gratuit, et un modèle local ne coûte rien par appel.
JSON pour i18next, vue-i18n, next-intl et ngx-translate, ainsi que XLIFF, YAML et Flutter ARB. Cela couvre React, Next.js, Vue, Nuxt, Angular, SvelteKit, Astro, Node.js et Flutter. verbatra lit les fichiers que tu as déjà ; il n'y a aucun format propre à verbatra vers lequel migrer.
Un tableau de bord web local au-dessus de ton projet qui montre en direct l'état de chaque locale, rassemble une file de relecture des entrées signalées et te laisse corriger les traductions sur place. Lance-le avec verbatra studio (installe d'abord @verbatra/studio). Éditer tes propres fichiers de locale fonctionne d'emblée ; appeler un fournisseur depuis l'interface est optionnel, derrière --allow-spend. Il tourne uniquement sur 127.0.0.1 et ne quitte jamais ta machine.
Chaque résultat passe une vérification d'intégrité des espaces réservés et de l'ICU avant d'être écrit. Une traduction qui supprime, invente ou réordonne un espace réservé, ou produit une syntaxe de message ICU invalide, est retenue plutôt qu'enregistrée dans ton fichier de locale. La même vérification s'applique aux modifications et aux re-traductions faites dans Verbatra Studio.
Les clés sont lues seulement depuis les variables d'environnement (ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, DEEPL_API_KEY), jamais depuis le fichier de config, les arguments du CLI ou les journaux. Seules les chaînes que tu traduis sont envoyées, et seulement au fournisseur que tu as choisi. Si tu utilises le fournisseur openai-compatible avec un modèle local, rien ne quitte ta machine ni ton réseau.
Oui. Une exécution à blanc rapporte exactement quelles clés seraient envoyées et écrites sans toucher à tes fichiers, et verbatra check et verbatra diff rapportent l'écart par locale sans appeler de fournisseur. Le mode watch fait l'inverse : il continue à traduire au fur et à mesure que ta locale source change.
Oui. Le CLI est un fin wrapper autour de @verbatra/sdk, qui expose les mêmes opérations translate, watch, check et diff pour tes propres outils. Les commandes renvoient des codes de sortie compatibles CI et prennent en charge la sortie --json, et une GitHub Action officielle exécute verbatra dans ton workflow.
verbatra lui-même est gratuit et open source sous la licence MIT. Le seul coût est l'usage de ton fournisseur, que tu contrôles : il traduit seulement ce qui a changé, et tu peux le faire tourner gratuitement sur le palier gratuit de Gemini ou sur un modèle local compatible OpenAI.
Il est jeune et activement développé, donc épingle une version et lis le changelog quand tu mets à jour. Le modèle de sûreté est déjà solide : chaque exécution compare à un fichier de verrouillage validé, vérifie l'intégrité des espaces réservés et de l'ICU sur chaque résultat, et retient tout ce qui casse plutôt que de l'écrire. Les équipes l'utilisent en CI aujourd'hui ; si tu épingles les versions, tu es sur un terrain stable.
Arrête de synchroniser tes fichiers de locale à la main.
Ajoute verbatra, valide le fichier de verrouillage, et laisse chaque exécution ne toucher qu'à ce qui a changé.