Renommage de clés

La CLI Lingo.dev 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, la 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

La CLI Lingo.dev compare les empreintes de contenu, et non les noms de clés, pour suivre les traductions. Lorsque vous renommez une clé tout en conservant le même contenu, la CLI détecte ce schéma et préserve vos traductions existantes.

Exemple de scénario :

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

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

Après refactorisation des noms de clés :

// locales/en.json (after refactoring)
{
  "homepage.welcome": "Welcome to our platform",
  "button.save": "Save"
}

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

// locales/es.json (translations preserved)
{
  "homepage.welcome": "Bienvenido a nuestra plataforma",
  "button.save": "Guardar"
}

La 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é

La CLI Lingo.dev 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é

La CLI traite ces cas comme du nouveau contenu nécessitant une retraduction :

Modifications du contenu :

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

// After
{
  "welcome": "Welcome to our platform"
}

Modification à la fois de la clé et du contenu :

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

// After
{
  "new_key": "New content"
}

Refactorisation massive de clés

La détection de renommage de clés fonctionne pour les opérations de refactorisation à grande échelle. Vous pouvez réorganiser l'intégralité de votre structure de clés et la 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 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 de contenu correspondent.

Forcer la retraduction

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

npx lingo.dev@latest run --force

Cela contourne la détection de renommage de clés et retraduit tout le contenu, utile lorsque vous souhaitez des traductions actualisées après avoir modifié les modèles ou prompts d'IA.

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