Le CLI Lingo.dev s’intègre aux projets qui disposent déjà de fichiers de traduction. Il compare les clés source aux fichiers cibles existants, génère uniquement les traductions manquantes et laisse vos traductions existantes intactes.
Comment ça marche#
Lorsque vous exécutez le CLI sur un projet avec des traductions partielles, il effectue une analyse des écarts :
// locales/en.json (source - 4 keys)
{
"welcome": "Welcome to our app",
"button.save": "Save",
"button.cancel": "Cancel",
"error.network": "Network error"
}
// locales/es.json (existing - 2 keys translated)
{
"welcome": "Bienvenido a nuestra aplicación",
"button.save": "Guardar"
}L’exécution de npx lingo.dev@latest run complète uniquement les clés manquantes :
// locales/es.json (after run - all 4 keys present)
{
"welcome": "Bienvenido a nuestra aplicación",
"button.save": "Guardar",
"button.cancel": "Cancelar",
"error.network": "Error de red"
}Les traductions existantes dans welcome et button.save restent inchangées.
Première exécution#
Lors de la première exécution, le CLI crée un fichier i18n.lock à partir de l’état actuel de votre projet. Ce fichier de verrouillage enregistre les empreintes de l’ensemble du contenu source, afin que les traductions existantes ne soient pas régénérées lors des exécutions suivantes, même si elles ont été créées à l’origine avec un autre outil.
Assurez-vous que vos fichiers de langue cibles ne contiennent pas de contenu dans la langue source. La présence de texte source non traduit dans les fichiers cibles peut perturber la détection des écarts.
Migrer depuis d’autres outils#
Le CLI fonctionne avec des fichiers de traduction créés par n’importe quel outil, à condition qu’ils utilisent un format pris en charge (JSON, YAML, PO, etc.) :
Configurer i18n.json
Définissez des modèles de bucket correspondant à l’emplacement de vos fichiers existants.
Lancer les traductions
Le CLI complète les clés manquantes tout en préservant les traductions existantes.
Relecture et commit
Seuls les écarts sont comblés. Vos traductions existantes restent intactes.
Actualiser les traductions#
Si vos traductions existantes présentent des problèmes de qualité, vous pouvez les retraduire de manière sélective :
# Retranslate all Spanish content
npx lingo.dev@latest run --force --target-locale es
# Retranslate a specific key across all languages
npx lingo.dev@latest run --force --key error.networkPour découvrir plus d’options, consultez Retranslation.
