Přejmenování klíčů

Aktualizováno: minulé čtvrtletí · 1 min čtení

Zastaralé

Tato dokumentace pokrývá starší CLI (v0). Aktuální CLI je v1. Zobrazit aktuální dokumentaci CLI

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í.

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

Po přejmenování klíčů ve zdrojovém souboru:

json
// 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í:

json
// 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.

Další kroky#