Comment ça fonctionne
La CLI Lingo.dev encapsule un flux de travail de traitement de localisation complexe derrière une interface en ligne de commande élégante.
Lorsque vous exécutez npx lingo.dev@latest run, le CLI lit le fichier de configuration i18n.json standard et effectue les 5 étapes suivantes :
1. Découverte du contenu
La CLI Lingo.dev traite votre projet comme la source de vérité. Elle analyse récursivement le projet pour trouver les fichiers sources et cibles de traduction en fonction de vos configurations de buckets, en les lisant 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 que vous souhaitez ignorer
- Plusieurs configurations 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.
La CLI Lingo.dev filtre intelligemment :
- Les valeurs numériques comme
42ou3.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 doit pas être retraduit. La CLI Lingo.dev implémente un système de versionnage sophistiqué qui :
- Crée des empreintes de contenu à l'aide du hachage SHA-256
- Compare le contenu actuel à 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émentale 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 fournisseurs LLM. À cette étape, la CLI Lingo.dev prend le delta et l'envoie à votre backend de traduction configuré.
La CLI implémente :
- Stratégie de nouvelle tentative avec backoff exponentiel pour les échecs réseau
- Récupération automatique des erreurs et sauvegarde de la progression partielle
- Support des API LLM brutes (OpenAI, Anthropic) et du moteur Lingo.dev
- Traitement concurrent pour plusieurs langues cibles
Chaque demande de traduction inclut des informations contextuelles pour garantir 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, Lingo.dev CLI 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 à la main, prêts pour la revue de code et le déploiement.
Le workflow complet
Ces cinq étapes produisent généralement deux types de modifications :
- Fichiers de localisation — Mis à jour avec les traductions nouvelles et modifiées
- Fichier i18n.lock — Mis à jour avec les empreintes de contenu pour le suivi de l'état
Les deux doivent être commités dans votre dépôt, soit manuellement, soit automatiquement via les intégrations CI/CD.
Cette architecture garantit que Lingo.dev CLI évolue efficacement, d'un seul développeur traduisant quelques chaînes à des équipes gérant des millions de mots dans des dizaines de langues.
Prochaines étapes
Maintenant que vous comprenez comment Lingo.dev CLI fonctionne en interne, vous pouvez :
- Rejoindre notre communauté : Discord — Connectez-vous avec d'autres développeurs utilisant Lingo.dev CLI, partagez vos retours et obtenez de l'aide pour vos défis de localisation ;
- Contribuer au projet : Ouvrir des issues — Lingo.dev CLI est open source et accueille les contributions. Parcourez les issues ouvertes, suggérez des fonctionnalités ou soumettez des pull requests pour aider à améliorer l'outil pour tous.
Prêt à commencer ? Exécutez npx lingo.dev@latest init pour configurer votre premier projet.