Beibehaltene Schlüssel werden einmal mit den Quellwerten initialisiert und danach vor automatischen Aktualisierungen geschützt. Die CLI überschreibt sie nie – sie dienen als Platzhalter für Inhalte, die manuell übersetzt werden müssen, etwa Rechtstexte, Compliance-Inhalte oder Marketing-Taglines.
Konfiguration#
Füge preservedKeys zu einem Bucket in i18n.json hinzu:
{
"buckets": {
"json": {
"include": ["locales/[locale].json"],
"preservedKeys": ["legal/privacy", "legal/terms"]
}
}
}So funktioniert's#
Ausgehend von dieser Quelldatei:
{
"welcome": "Welcome to our platform",
"legal": {
"privacy": "We respect your privacy and protect your data.",
"terms": "By using this service, you agree to our terms."
}
}Beim ersten Durchlauf kopiert die CLI beibehaltene Schlüssel unverändert und übersetzt alles andere:
// locales/es.json (first run)
{
"welcome": "Bienvenido a nuestra plataforma",
"legal": {
"privacy": "We respect your privacy and protect your data.",
"terms": "By using this service, you agree to our terms."
}
}Nachdem du den rechtlichen Abschnitt manuell übersetzt hast, bleiben deine Übersetzungen bei den folgenden CLI-Durchläufen unverändert erhalten.
Schlüssel beibehalten vs. Key Locking#
| Schlüssel beibehalten | Key Locking | |
|---|---|---|
| Ursprungswert | Quellwert als Platzhalter | Quellwert (immer) |
| Manuelle Änderungen | Dauerhaft geschützt | Bei jedem Durchlauf mit dem Quellwert überschrieben |
| Anwendungsfall | Rechtliches, Compliance, manuelle Übersetzung | Markennamen, technische IDs |
Schlüsselpfad-Notation#
Verwende den Schrägstrich (/) für verschachtelte Schlüssel und das Sternchen (*) als Platzhalter:
{ "preservedKeys": ["legal/*", "marketing/tagline"] }