Comment ça fonctionne

Lingo.dev CLI encapsule un flux de travail complexe de traitement de localisation derrière une interface en ligne de commande élégante.

Lorsque vous exécutez npx lingo.dev@latest i18n, le CLI lit le fichier de configuration standard i18n.json et effectue les 5 étapes suivantes :

1. Découverte du contenu

Lingo.dev CLI traite votre projet comme la source de vérité. Il analyse récursivement le projet à la recherche de fichiers source et cible de traduction selon vos configurations de bucket, les chargeant en mémoire pour traitement.

La phase de découverte respecte :

  • Les modèles d'inclusion comme locales/[locale].json
  • Les modèles d'exclusion pour les fichiers à ignorer
  • Les configurations multiples de buckets pour différents types de fichiers

2. Nettoyage des données

Tout le contenu ne nécessite pas de traduction. Les applications de production contiennent des nombres, des booléens, des dates, des UUID et des extraits de code qui restent généralement inchangés d'une langue à l'autre.

Lingo.dev CLI filtre intelligemment :

  • Les valeurs numériques comme 42 ou 3.14
  • Les valeurs booléennes (true/false)
  • Les dates ISO et horodatages
  • Les UUID et identifiants similaires
  • Les blocs de code et extraits techniques

Ce filtrage réduit les coûts d'inférence LLM et améliore la vitesse de traitement en se concentrant uniquement sur le contenu traduisible.

3. Calcul du delta

Le contenu qui n'a pas changé ne devrait pas être retraduit. Lingo.dev CLI implémente un système de versionnage sophistiqué qui :

  • Crée des empreintes digitales du contenu en utilisant le hachage SHA-256
  • Compare le contenu actuel avec l'état précédent stocké dans i18n.lock
  • Identifie les clés de traduction nouvelles, modifiées et supprimées
  • Envoie uniquement le delta au moteur de traduction

Cette approche incrémentielle signifie que vous ne payez que pour ce qui est nouveau ou modifié, et non pour l'intégralité de votre bibliothèque de contenu à chaque exécution.

En savoir plus : Fichier de verrouillage i18n.lock

4. Localisation

La localisation doit être fiable, même avec des connexions Internet instables ou des pannes de fournisseur LLM. À cette étape, la CLI Lingo.dev prend le delta et l'envoie à votre backend de traduction configuré.

La CLI implémente :

  • Une stratégie de tentatives avec backoff exponentiel pour les échecs réseau
  • Une récupération automatique des erreurs et une sauvegarde partielle de la progression
  • La prise en charge des API LLM brutes (OpenAI, Anthropic) et du moteur Lingo.dev
  • Un traitement concurrent pour plusieurs langues cibles

Chaque demande de traduction inclut des informations contextuelles pour assurer la cohérence et la qualité dans l'ensemble de votre projet.

5. Injection de contenu

Pour maintenir des ensembles de modifications propres et révisables, la CLI Lingo.dev injecte les traductions aux positions exactes où le contenu source existe. Cette approche :

  • Préserve la structure et le formatage des fichiers
  • Évite les conflits git inutiles
  • Crée des diffs minimaux et ciblés
  • Respecte votre configuration Prettier existante si présente

Le résultat est des fichiers localisés qui semblent avoir été créés manuellement, prêts pour la revue de code et le déploiement.

Le flux de travail complet

Ces cinq étapes produisent généralement deux types de changements :

  1. Fichiers de localisation — Mis à jour avec les traductions nouvelles et modifiées
  2. Fichier i18n.lock — Mis à jour avec les empreintes digitales du contenu pour suivre l'état

Les deux doivent être validés dans votre dépôt, soit manuellement, soit automatiquement via les intégrations CI/CD.

Cette architecture garantit que Lingo.dev CLI s'adapte efficacement, que ce soit pour un développeur unique traduisant quelques chaînes de caractères ou pour des équipes gérant des millions de mots dans des dizaines de langues.

Prochaines étapes

Maintenant que vous comprenez comment la CLI Lingo.dev fonctionne en interne, vous pouvez :

  • Rejoindre notre communauté : Discord — Connectez-vous avec d'autres développeurs utilisant la CLI Lingo.dev, partagez vos commentaires et obtenez de l'aide pour vos défis de localisation ;
  • Contribuer au projet : Problèmes ouverts — La CLI Lingo.dev est open source et accueille les contributions. Parcourez les problèmes ouverts, suggérez des fonctionnalités ou soumettez des pull requests pour aider à améliorer l'outil pour tous.