|
Documentation
Réserver une démoPlateforme
PlateformeMCPCLI
APIWorkflows
GuidesChangelog

Vue d'ensemble

  • @lingo.dev/cli

Premiers pas

  • Démarrage rapide
  • Configuration

Référence

  • lingo push
  • lingo pull
  • Autres commandes
  • lingo purge

Configuration

  • Contrôle des clés
  • Formats
  • Langues

Guides

  • Ajouter une langue
  • Traductions existantes
  • Retraduction
  • Notes de traduction
  • Exécutions, état et reprise
  • CI/CD
  • Monorepos
  • Grands projets

Vous cherchez l’ancien CLI (v0) ? Voir la documentation du CLI historique

@lingo.dev/cli

@lingo.dev/cli envoie votre contenu source à un moteur de localisation, attend que le moteur génère les traductions, puis réécrit les résultats sur le disque. C'est le successeur de l'ancien flux npx lingo.dev — même projet, mais une architecture fondamentalement différente.

Ce qui change par rapport à l'ancien CLI#

L'ancien CLI (npx lingo.dev run) extrayait les chaînes, appelait un LLM directement depuis votre machine, puis écrivait les fichiers en une seule passe, localement. Le CLI actuel sépare le travail entre push et pull :

  • lingo push téléverse les sources vers votre moteur, lance un workflow côté serveur, puis soit attend la fin du traitement, soit renvoie immédiatement un ID d'exécution
  • lingo pull récupère les résultats du push le plus récent — même si vous avez fermé le terminal pendant la traduction, ou si vous lancez la récupération depuis une autre machine
  • Un lockfile (.lingo/lock.json) conserve la dernière version serveur connue de chaque cible, afin que la détection des conflits puisse signaler les modifications locales avant qu'elles ne soient écrasées

Cela rend possible deux choses que l'ancien CLI ne savait pas faire : gérer des traductions longues sans monopoliser le terminal, et récupérer les résultats sur une autre machine que celle qui a lancé le push (ou en CI).

Attendre les résultats#

Aujourd'hui, lingo push téléverse les sources, lance le workflow côté serveur, attend qu'il se termine, puis écrit les résultats — le tout en une seule commande. Passer --wait (-w) explicite ce comportement bloquant. Vous pouvez aussi vous rattacher plus tard à une exécution terminée avec lingo pull.

bash
lingo push            # submit, wait, and write outputs (current default)
lingo push --wait     # same thing, made explicit

lingo pull            # later: re-attach to the most recent push and download its outputs

Changement à venir : une prochaine version modifiera le comportement par défaut afin que lingo push soumette l'exécution puis quitte immédiatement ; vous utiliserez lingo pull pour télécharger les traductions terminées, et --wait (-w) redeviendra l'option pour retrouver le flux bloquant en une seule commande.

  • --wait (-w) bloque jusqu'à la fin du workflow et écrit les résultats dans la même commande.
  • lingo pull se rattache au push le plus récent de ce projet et télécharge ses résultats — même après avoir fermé le terminal. L'état d'exécution est propre à chaque machine dans ~/.lingo/runs/<project-hash>.json, donc pull reprend sur la même machine.

Authentification : les deux commandes lisent LINGO_API_KEY (ou --api-key, ou une session lingo login). En CI, définissez simplement LINGO_API_KEY ; rien d'autre n'est nécessaire.

Modes de push#

CommandeModeQuand
lingo pushIncrémentiel — compare la source à .lingo/lock.json, traduit uniquement les clés nouvelles ou modifiées dans les cibles existantes, et préserve le resteÀ chaque exécution courante / en CI
lingo push --backfill-missingInitialisation — remplit les FICHIERS cibles qui n'existent pas encorePremier push, ou après l'ajout d'une nouvelle langue
lingo push --forceRetraduction complète — écrase chaque cible (y compris les modifications manuelles) ; --yes/-y ignore l'inviteRarement (par ex. après un changement de glossaire ou de moteur)

--backfill-missing est un flag d'initialisation. Il lance une nouvelle requête ciblée et n'ajoute que les fichiers cibles entiers manquants — il NE traduit PAS les clés nouvellement ajoutées dans des fichiers déjà traduits (l'exécution indique "already up-to-date" et la clé est ignorée). Pour les mises à jour continues, utilisez simplement lingo push.

Modifier les traductions à la main#

Un lingo push classique préserve les modifications manuelles, clé par clé :

  • Modifiez une chaîne cible (sans changer sa source) → cette chaîne est conservée ; les autres clés continuent d'être mises à jour.
  • La source associée à une clé modifiée change → une nouvelle traduction est générée pour cette clé, en remplacement de la modification manuelle.
  • Une nouvelle clé source est ajoutée → elle est traduite et ajoutée, même dans les fichiers contenant des modifications manuelles.

Dans cette section#

Démarrage rapide
Installez, authentifiez-vous, liez votre projet à un moteur, puis lancez votre premier push et pull.
Configuration
`.lingo/config.json`, `.lingo/lock.json` et l'état d'exécution propre à chaque machine dans `~/.lingo/runs/<hash>.json`.
lingo push
Envoyez les sources, attendez la traduction, puis écrivez les résultats. Motifs ciblés, `--force`, sémantique de nouvelle tentative.
lingo pull
Récupérez les résultats du dernier push — d'une machine à l'autre, d'une session de terminal à l'autre. Détection des conflits.
Autres commandes
login, logout, link, unlink, whoami — les commandes de configuration et d'identité.

Cette page vous a-t-elle été utile ?

Max PrilutskiyMax Prilutskiy·Mis à jour il y a 2 jours·3 min de lecture