Démarrage rapide

Max PrilutskiyPDG et cofondateur2 min de lecture

De A à Z : installation, authentification, liaison à un moteur, envoi des sources, récupération des traductions.

Prérequis

Node.js 22+ (node -v pour vérifier). Une fois installé, le CLI s’exécute via lingo.

Configuration#

1

Installer

bash
npm install -g @lingo.dev/cli

Ou pnpm add -g @lingo.dev/cli / yarn global add @lingo.dev/cli / bun add -g @lingo.dev/cli.

2

S’authentifier

bash
lingo login

Saisissez votre adresse e-mail ; le CLI envoie un code à usage unique et stocke un jeton de session dans ~/.lingo/auth.json. Pour les contextes CI ou non interactifs, utilisez une clé API : lingo login --api-key lk_... (ou définissez --api-key comme option globale sur n’importe quelle commande).

3

Initialiser le projet

À la racine de votre projet :

bash
lingo init

Vous êtes invité à renseigner la langue source, les langues cibles et les motifs de fichiers (globs pointant vers vos fichiers source). La section de localisation est ensuite écrite dans .lingo/config.json. Commitez ce fichier — c’est la source de référence de tout ce qui est traduit.

4

Relier à un moteur

bash
lingo link

Choisissez (ou créez) une organisation et un moteur de localisation. Le moteur regroupe la configuration de votre modèle d’IA, les glossaires, la voix de marque et les règles — configurez-le une seule fois sur la plateforme Lingo.dev, puis réutilisez-le dans tous vos projets. link ajoute orgId et engineId à .lingo/config.json (également commités).

Premier push#

Une fois un fichier source non vide en place (par ex. locales/en.json) :

bash
lingo push --backfill-missing --wait

Traduit toutes les cibles manquantes pour chaque motif configuré. --wait garde la CLI active jusqu'à la fin de l'exécution, puis écrit les sorties (locales/de.json, locales/fr.json, ...) sur le disque. Sur un checkout propre, cela peut prendre de quelques secondes (petits fichiers JSON) à plusieurs minutes (gros ensembles de fichiers Markdown). Sans --wait, push se termine dès que l'exécution est lancée, et lingo pull écrit les sorties plus tard.

Une fois terminé :

text
✓ Run lrg_a8c... : localized 12 target file(s), uploaded 1 new artifact(s).

Exécutions suivantes#

Après avoir modifié des fichiers source, un simple lingo push ne traduit que le delta — les fichiers dont le hash source n’a pas changé sont ignorés côté serveur. Les modifications locales des cibles sont conservées par défaut ; passez --force (avec une portée) pour les écraser.

bash
lingo push                       # delta only
lingo push docs/en/**/*.md       # scoped: only this subtree
lingo push docs/en/about.md -f   # scoped + force: retranslate even if up to date

Chacune de ces commandes se termine dès que l'exécution est lancée — ajoutez --wait pour écrire les sorties dans la même commande, ou récupérez-les avec lingo pull.

Récupérer plus tard#

push enregistre l'ID de l'exécution dans ~/.lingo/runs/<hash>.json (associé au chemin absolu du projet). Plus tard, sur la même machine et depuis le même checkout :

bash
lingo pull

…attend que le dernier envoi se termine s'il est encore en cours, puis écrit ses sorties. Pratique si vous avez fermé le terminal en plein milieu de la traduction. Les autres machines récupèrent les traductions une fois qu'elles sont validées.

Pour aller plus loin#

  • Configuration — schéma .lingo/config.json, fichier de verrouillage, emplacement de l’état d’exécution.
  • lingo push — motifs avec portée, --force, sémantique de nouvelle tentative.
  • lingo pull — détection des conflits, --dry-run.