Gesperrte Schlüssel werden ohne Übersetzung aus der Quelldatei in alle Zieldateien übernommen. Die Lingo.dev CLI schließt sie vollständig aus der Übersetzungsverarbeitung aus und bewahrt ihre Quellwerte in allen Sprachen.
Konfiguration#
Fügen Sie lockedKeys in einem Bucket in i18n.json hinzu:
{
"buckets": {
"json": {
"include": ["locales/[locale].json"],
"lockedKeys": ["brand/name", "config/apiUrl", "system/version"]
}
}
}So funktioniert's#
Ausgehend von dieser Quelldatei:
{
"welcome": "Welcome to our platform",
"brand": {
"name": "Lingo.dev"
},
"config": {
"apiUrl": "https://api.example.com"
}
}Mit "lockedKeys": ["brand/name", "config/apiUrl"] sieht die spanische Zieldatei so aus:
{
"welcome": "Bienvenido a nuestra plataforma",
"brand": {
"name": "Lingo.dev"
},
"config": {
"apiUrl": "https://api.example.com"
}
}Nur welcome wird übersetzt. Gesperrte Schlüssel behalten ihre Quellwerte exakt bei.
Schlüsselpfadnotation#
Verwenden Sie einen Schrägstrich (/), um verschachtelte Schlüssel anzusprechen:
{ "lockedKeys": ["system/engine/component"] }Verwenden Sie ein Sternchen (*), um mehrere Schlüssel zu erfassen:
{ "lockedKeys": ["navigation/menuItems/*"] }Schlüssel, deren Name Punkte enthält, funktionieren ganz natürlich – modules/ai.translation verweist auf den Schlüssel "ai.translation" innerhalb von "modules".
Schlüsselsperrung vs. Schlüssel ignorieren#
| Schlüsselsperrung | Schlüssel ignorieren | |
|---|---|---|
| Erscheint in Zieldateien | Ja – mit Quellwert | Nein |
| Anwendungsfall | Markennamen, technische IDs, URLs | Debug-Strings, interne Flags, Testdaten |
