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, el 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 las huellas digitales del contenido, no los nombres de las claves, para rastrear traducciones. Cuando renombras una clave pero mantienes el mismo contenido, el CLI detecta este patrón y preserva tus traducciones existentes.
Ejemplo de escenario:
// locales/en.json (antes de la refactorización)
{
"welcome_msg": "Welcome to our platform",
"btn_save": "Save"
}
// locales/es.json (traducciones existentes)
{
"welcome_msg": "Bienvenido a nuestra plataforma",
"btn_save": "Guardar"
}
Después de refactorizar los nombres de las claves:
// locales/en.json (después de la refactorización)
{
"homepage.welcome": "Welcome to our platform",
"button.save": "Save"
}
Ejecutar npx lingo.dev@latest i18n
preserva las traducciones existentes:
// locales/es.json (traducciones preservadas)
{
"homepage.welcome": "Bienvenido a nuestra plataforma",
"button.save": "Guardar"
}
El 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_msg
→homepage.welcome
) - El contenido de origen 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
El CLI trata estos casos como contenido nuevo que requiere retraducción:
Cambios en el contenido:
// Antes
{
"welcome": "Welcome to our app"
}
// Después
{
"welcome": "Welcome to our platform"
}
Cambio tanto de clave como de contenido:
// Antes
{
"old_key": "Old content"
}
// Después
{
"new_key": "New content"
}
Refactorización masiva de claves
La detección de renombrado de claves funciona para operaciones de refactorización a gran escala. 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 la refactorización 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 la retraducción
Si deseas retraducir contenido a pesar de tener huellas digitales coincidentes, utiliza la bandera --force
:
npx lingo.dev@latest i18n --force
Esto omite la detección de renombrado de claves y retraduce todo el contenido, lo cual es útil cuando deseas obtener traducciones nuevas después de cambiar modelos de IA o prompts.
Para más información sobre la retraducción, consulta Retraducción.