Umbenennung von Schlüsseln
Die Lingo.dev CLI erkennt automatisch, wenn Sie Übersetzungsschlüssel umbenennen, und bewahrt bestehende Übersetzungen, wodurch unnötige Neuübersetzungen vermieden werden, wenn sich nur der Schlüsselbezeichner ändert.
Wenn Sie Ihren Code refaktorisieren und Schlüssel für eine bessere Organisation umbenennen, erkennt die CLI, dass der Inhalt derselbe ist, und wendet bestehende Übersetzungen auf die neuen Schlüsselnamen an.
Wie die Schlüsselumbenennung funktioniert
Die 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 (vor der Refaktorisierung)
{
"welcome_msg": "Welcome to our platform",
"btn_save": "Save"
}
// locales/es.json (bestehende Übersetzungen)
{
"welcome_msg": "Bienvenido a nuestra plataforma",
"btn_save": "Guardar"
}
Nach der Refaktorisierung der Schlüsselnamen:
// locales/en.json (nach der Refaktorisierung)
{
"homepage.welcome": "Welcome to our platform",
"button.save": "Save"
}
Durch Ausführen von npx lingo.dev@latest i18n
werden die bestehenden Übersetzungen beibehalten:
// locales/es.json (Übersetzungen beibehalten)
{
"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 Schlüsselumbenennungen erkannt werden
Die Lingo.dev CLI erkennt Schlüsselumbenennungen, wenn:
- Der Schlüsselname sich ändert (
welcome_msg
→homepage.welcome
) - Der Quellinhalt identisch bleibt (
"Welcome to our platform"
) - Der Schlüssel in derselben Bucket-Konfiguration erscheint
Wann Schlüsselumbenennungen nicht erkannt werden
Die CLI behandelt folgende Fälle als neuen Inhalt, der eine Neuübersetzung erfordert:
Inhaltsänderungen:
// Vorher
{
"welcome": "Welcome to our app"
}
// Nachher
{
"welcome": "Welcome to our platform"
}
Sowohl Schlüssel als auch Inhalt ändern sich:
// Vorher
{
"old_key": "Old content"
}
// Nachher
{
"new_key": "New content"
}
Massenhafte Schlüsselumstrukturierung
Die Erkennung von Schlüsselumbenennungen funktioniert auch bei umfangreichen Umstrukturierungsoperationen. Sie können Ihre gesamte Schlüsselstruktur reorganisieren, und die CLI bewahrt alle übereinstimmenden Übersetzungen.
Vor der Umstrukturierung:
{
"welcome_text": "Welcome",
"save_btn": "Save",
"cancel_btn": "Cancel",
"error_network": "Network error"
}
Nach der Umstrukturierung in Namespaces:
{
"homepage.welcome": "Welcome",
"buttons.save": "Save",
"buttons.cancel": "Cancel",
"errors.network": "Network error"
}
Alle Übersetzungen bleiben erhalten, da die Inhalts-Fingerabdrücke übereinstimmen.
Erzwungene Neuübersetzung
Wenn Sie Inhalte trotz übereinstimmender Fingerprints neu übersetzen möchten, verwenden Sie das Flag --force
:
npx lingo.dev@latest i18n --force
Dies umgeht die Erkennung von Schlüsselumbenennungen und übersetzt alle Inhalte neu. Dies ist nützlich, wenn Sie nach dem Ändern von KI-Modellen oder Prompts neue Übersetzungen wünschen.
Weitere Informationen zur Neuübersetzung finden Sie unter Neuübersetzung.