Aller au contenu

Traduis uniquement ce qui a changé.

verbatra compare ta locale source à un fichier de verrouillage commité, envoie uniquement les clés nouvelles et modifiées au fournisseur que tu choisis, et laisse toutes les autres clés intactes.

npm i -D @verbatra/cli
Dernière version
@verbatra/cli 0.11.1
Formats de fichier
14
Fournisseurs
6
Licence
MIT

Fonctionne avec les fichiers de locale que tu as déjà.

Chaque exécution est un diff, pas une réécriture.

verbatra translate

Un exemple de session verbatra en ligne de commande.

  1. verbatra translate
    • diff en.json · 2 nouvelles · 1 modifiée · 117 inchangées
    • de 3 traduites · 117 intactes · 0 retenue
    • es 3 traduites · 117 intactes · 0 retenue
    • fr 3 traduites · 117 intactes · 0 retenue
    • ✓ 9 clés traduites en 1,8 s · 351 intactes · verrou mis à jour

Le fichier de verrouillage

Un hash par clé et par locale, commité à côté de tes fichiers.

verbatra.lock.json
{ "de": {
"inbox.title": "a1b2c3d4e5f6a7b8",
"inbox.count": "9f8e7d6c5b4a3210"
} }

Écrit, et rien d'autre

de.json après l'exécution.

{
"inbox": {
"title": "Posteingang",nouvelle
"count": "{count} neue Nachrichten"conservée
}
}

Refusé avant d'atteindre le fichier

Retenu, jamais écrit, renvoyé à la prochaine exécution.

clé
inbox.count
candidate
"Neue Nachrichten"
manquant
{count}
motif
placeholder
conservée
"{count} neue Nachrichten"
  1. 1. Configure

    Locale source, cibles, un fournisseur.

  2. 2. Compare

    Nouvelles, modifiées, inchangées ou orphelines, par rapport au fichier de verrouillage.

  3. 3. Traduis

    Seules les clés nouvelles et modifiées partent.

  4. 4. Vérifie et écris

    Les résultats cassés sont retenus, le reste est écrit.

Le reste de la boucle de traduction, dans le même outil.

Confie un classeur aux traducteurs, puis réimporte-le.

Exporte, récupère-le rempli, réimporte-le via la même barrière d'intégrité.

En savoir plus sur le transfert Excel
verbatra export
verbatra import translations.xlsx
clésourcecible
cart.payPay nowBezahlen
cart.totalTotalGesamt
nav.homeHomeStart

Consulte l'état de chaque locale dans Verbatra Studio.

Couverture, entrées signalées, modifications sur place. Aucun appel au fournisseur.

Réviser les traductions dans Studio
Verbatra Studio
La page Révision de Verbatra Studio affichant cinq entrées signalées dans les locales de, es et fr ; chaque ligne montre la clé, ses motifs de révision et les actions Edit, Approve et Reject.

Lance-le à l'enregistrement, en CI ou depuis une GitHub Action.

watch traduit à chaque modification. check fait échouer la pull request quand une locale dérive.

Configurer la CI
verbatra check --json
{ "command": "check",
  "result": { "inSync": false, "locales": [
    { "locale": "de", "missing": 0, "stale": 2 }
  ] } }

Ou confie-le à ton agent.

Un serveur MCP, plus des skills installables pour la CLI, MCP et Studio.

Commencer avec l'IA
npx skills@latest add verbatra/skills --skill verbatra-cli -y
verbatra mcp

llms.txtllms-full.txtDocumentation du serveur MCPverbatra/skills

Ce que tu obtiens vraiment.

L'allemand, l'espagnol et le français de cette page en proviennent.

Tu paies pour les clés que tu as modifiées.
Seules les clés nouvelles et modifiées partent chez le fournisseur, et chaque exécution affiche son nombre de tokens par locale.
de: 2 translated, 281 unchanged, 468 tokens (394 in, 74 out)une exécution sur les messages de ce site
Un placeholder cassé n'atteint jamais la production.
Une traduction candidate qui perd un placeholder, casse l'ICU ou déséquilibre le balisage est retenue, jamais écrite et renvoyée à la prochaine exécution.
de: 1 translated, 0 unchanged, 1 integrity-withheldla même barrière d'intégrité protège les modifications dans Studio et les imports
Une locale qui dérive fait échouer la pull request.
verbatra check renvoie le code 1 quand une locale manque ou est obsolète, avec --json pour la CI.
docs-i18n-check.ymlce site le lance à chaque pull request
Tes termes et ton registre ne bougent pas.
Un glossaire fixe la traduction des termes listés ; tone définit un ton formel, informel ou neutre.
glossary: { verbatra: "verbatra" }, tone: "informal"le verbatra.config.ts de ce site
Chaque traduction est un diff git.
Les fichiers de locale et le fichier de verrouillage sont du texte brut dans ton dépôt, et rien n'est supprimé sans --prune.
verbatra.lock.jsonun hash par clé et par locale cible
Des personnes et d'autres outils peuvent prendre le relais.
Export et import Excel pour les traducteurs, TMX pour la mémoire de traduction, types TypeScript générés pour tes clés.
export, import, tmx, typesquatre des quatorze commandes

Questions fréquentes

JSON pour i18next, vue-i18n, next-intl et ngx-translate, ainsi que XLIFF, YAML, Flutter ARB, Java/Spring .properties, Apple .strings et les String Catalogs de Xcode, Android strings.xml, les fichiers gettext .po/.pot, INI et .NET .resx. Cela couvre React, Next.js, Vue, Nuxt, Angular, SvelteKit, Astro, Node.js, Spring, Flutter, iOS, macOS, Android et toute stack basée sur gettext. verbatra lit les fichiers que tu as déjà ; il n'y a aucun format propre à verbatra vers lequel migrer.

Il tient un fichier de verrouillage commité qui enregistre ce qui a déjà été traduit. Chaque exécution compare ta locale source à ce fichier de verrouillage et n'envoie que 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.

Six, derrière une seule interface : Anthropic, OpenAI et Gemini (LLM), DeepL et Google Cloud Translation (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 son id dans ta configuration, et tu en changes plus tard en modifiant cette seule ligne. Gemini a une vraie offre gratuite, et un modèle local ne coûte rien par appel.

Chaque résultat passe des contrôles d'intégrité des placeholders et de l'ICU avant d'être écrit. Une traduction qui supprime, invente ou réordonne un placeholder, ou qui produit une syntaxe de message ICU invalide, est retenue plutôt qu'enregistrée dans ton fichier de locale. La même barrière d'intégrité s'applique aux modifications et aux retraductions faites dans Verbatra Studio.

verbatra lui-même est gratuit et open source sous licence MIT. Le seul coût est l'usage de ton fournisseur, et c'est toi qui le contrôles : il ne traduit que ce qui a changé, et tu peux le faire tourner gratuitement sur l'offre gratuite de Gemini ou sur un modèle local compatible OpenAI.

Arrête de synchroniser tes fichiers de locale à la main.

npm i -D @verbatra/cli
Lire la documentation