Aller au contenu

Docs / Démarrer

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.

Démarrage rapide

Installe la CLI, génère une configuration, prévisualise l'exécution sans clé d'API et traduis ton premier fichier de locale.

À la fin de cette page, un fichier de locale anglais a un pendant allemand, écrit par un fournisseur et vérifié par verbatra, ainsi que le fichier de verrouillage grâce auquel chaque exécution suivante ne traduit que ce qui a changé. Il te faut Node.js ^22.18.0 || >=24 et une dizaine de minutes. Les quatre premières étapes ne demandent ni compte ni clé d'API.

Tu as déjà des fichiers de locale et un agent de code ?

Donne à ton agent le prompt de Configure verbatra avec un agent IA. Il installe verbatra autour des fichiers de locale que ton projet a déjà et s'arrête avant de dépenser quoi que ce soit. Les étapes ci-dessous partent de zéro.

Un démarrage rapide qui charge aussi le fichier traduit dans ton app existe pour React, Next.js, Vue, Angular et Flutter.

Étapes

Installe la CLI

npm install --save-dev @verbatra/cli

Les commandes ci-dessous utilisent npx. Avec pnpm, yarn ou bun, lance plutôt pnpm verbatra, yarn verbatra ou bun run verbatra. Si pnpm s'arrête avec ERR_PNPM_IGNORED_BUILDS, consulte le dépannage.

Ajoute un fichier de locale source

Si ton projet a déjà des fichiers de locale, passe cette étape. Sinon, crées-en un :

locales/en.json
{
  "greeting": "Hello, {{name}}!",
  "cart": {
    "empty": "Your cart is empty."
  }
}

Génère une configuration

npx @verbatra/cli init --format i18next-json --provider gemini --yes

--format indique le format de tes fichiers : Choisis ta stack donne l'id pour chaque framework. --yes reprend ce que init a détecté au lieu de poser des questions ; sans lui, tu réponds aux questions que liste verbatra init.

Sortie
created verbatra.config.ts
created .env.example
created .gitignore (.env, .env.local, .verbatra-local/, verbatra.cache.json)
detected format i18next-json, pattern locales/{locale}.json, locales en (confidence: medium)
next steps:
  - Copy .env.example to .env and set GEMINI_API_KEY there. Never commit .env.
  - npx @verbatra/cli doctor  (Check the setup. It calls no provider and reads no key value.)
  - npx @verbatra/cli translate --dry-run  (Preview what a run would translate, without calling the provider.)

Le nouveau verbatra.config.ts traduit de en vers de. Ajoute des codes à targetLocales pour d'autres langues.

Prévisualise l'exécution sans clé

npx @verbatra/cli translate --dry-run
Sortie
verbatra: dry run over 1 locale, no provider call
verbatra: de done, 2 would translate
verbatra translate (dry run)
  de: 2 would translate, 0 unchanged
1 succeeded, 0 partial, 0 failed (dry run: nothing written)
[ok] dry run done in 0.0s, nothing written
next: verbatra translate (run it for real)

Voici la forme dans un terminal interactif ; dans un pipe ou en CI, chaque étape a aussi sa propre ligne, voir Sortie dans le terminal. Une exécution à blanc ne construit aucun fournisseur : elle n'a pas besoin de clé, ne dépense rien et n'écrit rien. verbatra doctor vérifie le reste de la configuration de la même façon.

Traduis

cp .env.example .env

Ouvre .env et colle ta clé après GEMINI_API_KEY=. Les clés viennent uniquement de l'environnement, et la CLI y charge .env.local et .env. Pas encore de clé ? Gemini a une offre gratuite : crées-en une dans Google AI Studio. Les autres fournisseurs et leurs variables sont sur Fournisseurs.

npx @verbatra/cli translate

verbatra envoie les deux clés manquantes à Gemini, vérifie chaque résultat et écrit le fichier allemand. Le résumé commence par de: 2 translated, 0 unchanged et indique les tokens utilisés par l'exécution. La formulation dépend du modèle, par exemple :

locales/de.json
{
  "greeting": "Hallo, {{name}}!",
  "cart": {
    "empty": "Dein Warenkorb ist leer."
  }
}

Vérifie que chaque locale est synchronisée

npx @verbatra/cli check
Sortie
[ok] checking the locales (0.0s)
verbatra check
  de: 0 missing, 0 stale, 2 up-to-date (in sync)
all locales in sync

check n'appelle aucun fournisseur et se termine avec 1 dès qu'une locale n'est plus synchronisée : la même commande peut donc protéger une pull request.

Ce qui vient de se passer

  • locales/de.json contient les mêmes clés dans le même ordre que ta source, et {{name}} a survécu : un résultat qui perd un placeholder est retenu, jamais écrit. Voir Sûreté de la traduction.
  • verbatra.lock.json enregistre un hash du texte source derrière chaque traduction, pour que l'exécution suivante n'envoie que les clés nouvelles ou modifiées. Voir Le fichier de verrouillage.
  • verbatra.provenance.json note quel fournisseur et quel modèle a écrit chaque valeur. Voir La provenance.
  • verbatra.cache.json et .verbatra-local/ contiennent le cache de traduction régénérable et l'état local de l'exécution. init les a déjà ajoutés au .gitignore. Voir Le cache.

Commite ensemble les fichiers de locale, le fichier de verrouillage et le fichier de provenance, pour que chaque machine et ta CI comparent avec la même base.

Ensuite

Modifier sur GitHub

Sur cette page