Retraduction

La CLI Lingo.dev retraduit automatiquement le contenu lorsque le texte source change, et propose des options de retraduction manuelle lorsque vous devez actualiser les traductions pour d'autres raisons.

Le système d'empreinte de contenu de la CLI garantit que les traductions restent synchronisées avec les modifications de la source tout en évitant la retraduction inutile de contenu inchangé.

Retraduction automatique

Lorsque vous modifiez le contenu source, la CLI Lingo.dev détecte le changement via l'empreinte de contenu et retraduit les clés affectées lors de la prochaine exécution.

Exemple de workflow :

// locales/en.json (original)
{
  "button.save": "Save changes"
}

// locales/es.json (generated)
{
  "button.save": "Guardar cambios"
}

Après mise à jour de la source :

// locales/en.json (modified)
{
  "button.save": "Save all changes"
}

L'exécution de npx lingo.dev@latest run retraduit la version espagnole :

// locales/es.json (updated)
{
  "button.save": "Guardar todos los cambios"
}

La CLI compare la nouvelle empreinte de contenu avec i18n.lock et identifie les traductions nécessitant une mise à jour.

Retraduction manuelle

Parfois, vous devez retraduire le contenu même lorsque la source n'a pas changé. Cela se produit lorsque vous mettez à jour les modèles d'IA, modifiez les prompts de traduction ou souhaitez actualiser les traductions avec un contexte amélioré.

Retraduction complète

Forcer une retraduction complète :

npx lingo.dev@latest run --force

Cela contourne le fichier de verrouillage et retraduit tout le contenu, recréant le fichier i18n.lock depuis zéro.

Retraduction ciblée

Cibler des langues spécifiques :

npx lingo.dev@latest run --target-locale es

Retraduit uniquement le contenu espagnol tout en préservant les autres langues.

Cibler des types de fichiers spécifiques :

npx lingo.dev@latest run --bucket json

Retraduit uniquement les fichiers JSON, utile lorsque différents types de fichiers ont des fréquences de mise à jour différentes.

Cibler des clés de traduction spécifiques :

npx lingo.dev@latest run --key welcome.title

Retraduit une seule clé dans toutes les langues cibles. Pour les clés imbriquées, utilisez la notation par points :

npx lingo.dev@latest run --key header.navigation.about

Cibler des fichiers spécifiques :

npx lingo.dev@latest run --file blog.[locale].json

Retraduit des fichiers spécifiques dans vos buckets. Vous pouvez cibler plusieurs fichiers :

npx lingo.dev@latest run --file landing.[locale].json --file pricing.[locale].json

Combinaison d'options

Vous pouvez combiner les options de ciblage pour un contrôle précis :

npx lingo.dev@latest run --force --bucket json --target-locale es

Cela retraduit tout le contenu JSON, mais uniquement pour l'espagnol.

Mises à jour du contexte de traduction

Lorsque vous modifiez vos paramètres de traduction IA, les traductions existantes ne se mettent pas à jour automatiquement. Vous devez effectuer une retraduction manuelle pour appliquer les nouveaux prompts ou modèles au contenu précédemment traduit.

Scénarios courants nécessitant une retraduction :

  • Passage d'un modèle IA à un autre
  • Mise à jour des prompts de traduction pour un meilleur contexte
  • Migration des API LLM brutes vers Lingo.dev Engine
  • Amélioration de la cohérence terminologique dans les traductions existantes lors de l'utilisation d'API LLM brutes

Intégration du fichier de verrouillage

La retraduction met à jour le fichier i18n.lock avec de nouvelles empreintes de contenu. Cela garantit que les exécutions futures suivent correctement le contenu qui a été traité avec les paramètres de traduction actuels.

Le fichier de verrouillage empêche les boucles de retraduction et maintient les avantages de performance de la traduction incrémentale même après des opérations de retraduction manuelle.