El CLI de Lingo.dev detecta cuando cambias el nombre de las claves de traducción y conserva automáticamente las traducciones existentes. Si el nombre de la clave cambia pero el contenido de origen sigue siendo el mismo, el CLI aplica la traducción existente a la nueva clave, sin necesidad de volver a traducir.
Cómo funciona#
El CLI compara las huellas del contenido, no los nombres de las claves. Cuando encuentra una huella coincidente bajo una clave distinta, el CLI lo identifica como un cambio de nombre.
// 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 cambiar el nombre de las claves en el archivo fuente:
// locales/en.json (after refactoring)
{
"homepage.welcome": "Welcome to our platform",
"button.save": "Save"
}Al ejecutar npx lingo.dev@latest run, las traducciones se conservan:
// locales/es.json (translations carried forward)
{
"homepage.welcome": "Bienvenido a nuestra plataforma",
"button.save": "Guardar"
}Reglas de detección#
Se detecta un cambio de nombre de clave cuando:
- Cambia el nombre de la clave
- El contenido de origen permanece idéntico
- La clave existe en el mismo bucket
No se detecta un cambio de nombre de clave cuando:
- La clave y el contenido cambian a la vez (se considera una clave nueva)
- Solo cambia el contenido (se considera una actualización del contenido y activa la retraducción)
Refactorización a gran escala#
La detección de cambios de nombre funciona a cualquier escala. Puedes reorganizar por completo la estructura de tus claves, desde claves planas hasta espacios de nombres anidados, y el CLI conserva todas las traducciones coincidentes en una sola ejecución.
