Lingo.dev CLI rozpozná, když přejmenujete překladové klíče, a automaticky zachová stávající překlady. Pokud se název klíče změní, ale zdrojový obsah zůstane stejný, CLI přiřadí existující překlad k novému klíči — bez nového překladu.
Jak to funguje#
CLI porovnává otisky obsahu, ne názvy klíčů. Když najde shodu otisku u jiného klíče, rozpozná ji jako přejmenování.
// 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"
}Po přejmenování klíčů ve zdrojovém souboru:
// locales/en.json (after refactoring)
{
"homepage.welcome": "Welcome to our platform",
"button.save": "Save"
}Po spuštění npx lingo.dev@latest run se překlady zachovají:
// locales/es.json (translations carried forward)
{
"homepage.welcome": "Bienvenido a nuestra plataforma",
"button.save": "Guardar"
}Pravidla detekce#
Přejmenování klíče se rozpozná, když:
- Název klíče se změní
- Zdrojový obsah zůstane beze změny
- Klíč existuje ve stejném bucketu
Přejmenování klíče se nerozpozná, když:
- Se současně změní klíč i obsah (bere se to jako nový klíč)
- Se změní jen obsah (bere se to jako aktualizace obsahu a spustí se nový překlad)
Hromadný refaktoring#
Detekce přejmenování funguje v jakémkoli rozsahu. Můžete reorganizovat celou strukturu klíčů — od plochých klíčů až po vnořené jmenné prostory — a CLI při jediném spuštění přenese všechny odpovídající překlady.
