Umbenennung von Schlüsseln

Lingo.dev CLI erkennt automatisch, wenn Sie Übersetzungsschlüssel umbenennen, und bewahrt bestehende Übersetzungen, wodurch unnötige Neuübersetzungen vermieden werden, wenn sich nur die Schlüsselkennung ändert.

Wenn Sie Ihren Code refaktorieren und Schlüssel für eine bessere Organisation umbenennen, erkennt die CLI, dass der Inhalt identisch ist, und wendet bestehende Übersetzungen auf die neuen Schlüsselnamen an.

Wie die Umbenennung von Schlüsseln funktioniert

Lingo.dev CLI vergleicht Inhalts-Fingerabdrücke, nicht Schlüsselnamen, um Übersetzungen zu verfolgen. Wenn Sie einen Schlüssel umbenennen, aber denselben Inhalt beibehalten, erkennt die CLI dieses Muster und bewahrt Ihre bestehenden Übersetzungen.

Beispielszenario:

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

Nach der Refaktorierung der Schlüsselnamen:

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

Das Ausführen von npx lingo.dev@latest run bewahrt die vorhandenen Übersetzungen:

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

Die CLI erkennt, dass der Inhalt identisch ist, und wendet bestehende Übersetzungen auf die neue Schlüsselstruktur an.

Wann die Umbenennung von Schlüsseln erkannt wird

Lingo.dev CLI erkennt Schlüsselumbenennungen, wenn:

  • Der Schlüsselname sich ändert (welcome_msghomepage.welcome)
  • Der Quellinhalt identisch bleibt ("Welcome to our platform")
  • Der Schlüssel in derselben Bucket-Konfiguration erscheint

Wann die Umbenennung von Schlüsseln nicht erkannt wird

Die CLI behandelt diese als neuen Inhalt, der eine Neuübersetzung erfordert:

Inhaltsänderungen:

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

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

Sowohl Schlüssel als auch Inhalt ändern sich:

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

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

Massenhafte Schlüssel-Refaktorierung

Die Erkennung von Schlüsselumbenennungen funktioniert für umfangreiche Refaktorierungsoperationen. Sie können Ihre gesamte Schlüsselstruktur reorganisieren, und die CLI wird alle übereinstimmenden Übersetzungen bewahren.

Vor der Refaktorierung:

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

Nach dem Refactoring zu Namespaces:

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

Alle Übersetzungen bleiben erhalten, da die Content-Fingerprints übereinstimmen.

Neuübersetzung erzwingen

Wenn Sie Inhalte trotz übereinstimmender Fingerprints neu übersetzen möchten, verwenden Sie das --force Flag:

npx lingo.dev@latest run --force

Dies umgeht die Erkennung von Schlüsselumbenennungen und übersetzt alle Inhalte neu, was nützlich ist, wenn Sie nach dem Wechsel von KI-Modellen oder Prompts neue Übersetzungen wünschen.

Weitere Informationen zur Neuübersetzung finden Sie unter Neuübersetzung.