Renombrado de claves

Lingo.dev CLI detecta automáticamente cuando renombras claves de traducción y preserva las traducciones existentes, evitando retraducciones innecesarias cuando solo cambia el identificador de la clave.

Cuando refactorizas tu código y renombras claves para una mejor organización, la CLI reconoce que el contenido es el mismo y aplica las traducciones existentes a los nuevos nombres de clave.

Cómo funciona el renombrado de claves

Lingo.dev CLI compara huellas digitales de contenido, no nombres de clave, para rastrear traducciones. Cuando renombras una clave pero mantienes el mismo contenido, la CLI detecta este patrón y preserva tus traducciones existentes.

Escenario de ejemplo:

// 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"
}

Después de refactorizar los nombres de clave:

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

Ejecutar npx lingo.dev@latest run preserva las traducciones existentes:

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

La CLI reconoce que el contenido es idéntico y aplica las traducciones existentes a la nueva estructura de claves.

Cuándo se detecta el renombrado de claves

Lingo.dev CLI detecta renombrados de claves cuando:

  • El nombre de la clave cambia (welcome_msghomepage.welcome)
  • El contenido fuente permanece idéntico ("Welcome to our platform")
  • La clave aparece en la misma configuración de bucket

Cuándo no se detecta el renombrado de claves

La CLI trata estos casos como contenido nuevo que requiere retraducción:

Cambios de contenido:

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

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

Cambio tanto de clave como de contenido:

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

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

Refactorización masiva de claves

La detección de renombrado de claves funciona para operaciones de refactorización grandes. Puedes reorganizar toda tu estructura de claves y la CLI preservará todas las traducciones coincidentes.

Antes de la refactorización:

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

Después de refactorizar a espacios de nombres:

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

Todas las traducciones se conservan porque las huellas digitales del contenido coinciden.

Forzar retraducción

Si deseas retraducir el contenido a pesar de tener huellas digitales coincidentes, utiliza el indicador --force:

npx lingo.dev@latest run --force

Esto omite la detección de cambio de nombre de claves y retraduce todo el contenido, útil cuando deseas traducciones nuevas después de cambiar modelos de IA o prompts.

Para más información sobre retraducción, consulta Retraducción.