Renommage de clés

Lingo.dev CLI détecte automatiquement lorsque vous renommez des clés de traduction et préserve les traductions existantes, évitant ainsi une retraduction inutile lorsque seul l'identifiant de la clé change.

Lorsque vous refactorisez votre code et renommez des clés pour une meilleure organisation, le CLI reconnaît que le contenu est identique et applique les traductions existantes aux nouveaux noms de clés.

Comment fonctionne le renommage de clés

Lingo.dev CLI compare les empreintes de contenu, et non les noms de clés, pour suivre les traductions. Lorsque vous renommez une clé mais conservez le même contenu, le CLI détecte ce modèle et préserve vos traductions existantes.

Exemple de scénario :

// locales/en.json (avant refactorisation)
{
  "welcome_msg": "Welcome to our platform",
  "btn_save": "Save"
}

// locales/es.json (traductions existantes)
{
  "welcome_msg": "Bienvenido a nuestra plataforma",
  "btn_save": "Guardar"
}

Après refactorisation des noms de clés :

// locales/en.json (après refactorisation)
{
  "homepage.welcome": "Welcome to our platform",
  "button.save": "Save"
}

L'exécution de npx lingo.dev@latest i18n préserve les traductions existantes :

// locales/es.json (traductions préservées)
{
  "homepage.welcome": "Bienvenido a nuestra plataforma",
  "button.save": "Guardar"
}

Le CLI reconnaît que le contenu est identique et applique les traductions existantes à la nouvelle structure de clés.

Quand le renommage de clés est détecté

Lingo.dev CLI détecte les renommages de clés lorsque :

  • Le nom de la clé change (welcome_msghomepage.welcome)
  • Le contenu source reste identique ("Welcome to our platform")
  • La clé apparaît dans la même configuration de bucket

Quand le renommage de clés n'est pas détecté

Le CLI traite ces cas comme un nouveau contenu nécessitant une retraduction :

Modifications de contenu :

// Avant
{
  "welcome": "Welcome to our app"
}

// Après
{
  "welcome": "Welcome to our platform"
}

Changement de clé et de contenu :

// Avant
{
  "old_key": "Old content"
}

// Après
{
  "new_key": "New content"
}

Refactorisation massive des clés

La détection de renommage des clés fonctionne pour les opérations de refactorisation à grande échelle. Vous pouvez réorganiser toute votre structure de clés et le CLI préservera toutes les traductions correspondantes.

Avant la refactorisation :

{
  "welcome_text": "Welcome",
  "save_btn": "Save",
  "cancel_btn": "Cancel",
  "error_network": "Network error"
}

Après la refactorisation en espaces de noms :

{
  "homepage.welcome": "Welcome",
  "buttons.save": "Save",
  "buttons.cancel": "Cancel",
  "errors.network": "Network error"
}

Toutes les traductions sont préservées car les empreintes digitales du contenu correspondent.

Forcer la retraduction

Si vous souhaitez retraduire du contenu malgré des empreintes correspondantes, utilisez l'option --force :

npx lingo.dev@latest i18n --force

Cela contourne la détection de renommage de clés et retraduit tout le contenu, ce qui est utile lorsque vous souhaitez obtenir de nouvelles traductions après avoir changé de modèles d'IA ou de prompts.

Pour plus d'informations sur la retraduction, consultez Retraduction.