Renommage des clés

Mis à jour le : le trimestre dernier · 1 min de lecture

Déconseillé

Cette documentation couvre l’ancien CLI (v0). La version actuelle du CLI est la v1. Voir la documentation actuelle du CLI

Le CLI Lingo.dev détecte automatiquement le renommage des clés de traduction et conserve les traductions existantes. Si le nom de la clé change mais que le contenu source reste identique, le CLI applique la traduction existante à la nouvelle clé — sans retraduction.

Comment ça marche#

Le CLI compare les empreintes du contenu, pas les noms de clés. Lorsqu’il trouve une empreinte identique sous une autre clé, il l’identifie comme un renommage.

json
// 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 avoir renommé des clés dans le fichier source :

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

L’exécution de npx lingo.dev@latest run conserve les traductions :

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

Règles de détection#

Le renommage d’une clé est détecté lorsque :

  • Le nom de la clé change
  • Le contenu source reste identique
  • La clé existe dans le même bucket

Le renommage d’une clé n’est pas détecté lorsque :

  • La clé et le contenu changent en même temps (considéré comme une nouvelle clé)
  • Seul le contenu change (considéré comme une mise à jour du contenu, ce qui déclenche une retraduction)

Refactorisation à grande échelle#

La détection des renommages fonctionne à toutes les échelles. Vous pouvez réorganiser toute la structure de vos clés — de clés à plat à des espaces de noms imbriqués — et le CLI reprend toutes les traductions correspondantes en une seule exécution.

Étapes suivantes#