Die Lingo.dev CLI bietet vier Steuerungsoptionen auf Schlüssel-Ebene, die festlegen, wie einzelne Übersetzungsschlüssel bei der Verarbeitung behandelt werden. Jede erfüllt einen eigenen Zweck:
| Steuerung | Konfigurationsfeld | Verhalten |
|---|---|---|
| Schlüssel sperren | lockedKeys | Übernimmt Quellwerte ohne Übersetzung in alle Zielsprachen. Die Schlüssel erscheinen in den Zieldateien mit identischen Werten. |
| Schlüssel ignorieren | ignoredKeys | Schließt Schlüssel vollständig von der Verarbeitung aus. Sie erscheinen nicht in den Zieldateien. |
| Schlüssel beibehalten | preservedKeys | Initialisiert Schlüssel einmal aus der Quelle und schützt sie anschließend vor automatischen Aktualisierungen. Gedacht für Inhalte, die manuell übersetzt werden müssen. |
| Schlüssel umbenennen | Automatisch | Erkennt umbenannte Schlüssel und übernimmt bestehende Übersetzungen. Keine Konfiguration erforderlich. |
Wann du was verwenden solltest#
Sperre einen Schlüssel, wenn der Wert in allen Sprachen identisch bleiben muss – etwa bei Markennamen, technischen Kennungen oder Konfigurationswerten:
{ "lockedKeys": ["brand/name", "config/apiUrl"] }Ignoriere einen Schlüssel, wenn er in Zieldateien gar nicht auftauchen soll – etwa bei Debug-Strings, internen Flags oder Testdaten:
{ "ignoredKeys": ["internal/debug", "dev/testData"] }Behalte einen Schlüssel bei, wenn er manuell übersetzt werden muss – etwa bei Rechtstexten, Compliance-Inhalten oder Marketingtexten, die eine menschliche Prüfung erfordern:
{ "preservedKeys": ["legal/privacy", "legal/terms"] }Umbenennung erfolgt automatisch – die CLI erkennt, wenn sich ein Schlüssel ändert, sein Inhalt aber gleich bleibt, und übernimmt die bestehende Übersetzung, ohne sie neu zu übersetzen.
Schlüsselpfad-Notation#
Alle Schlüssel-Arrays verwenden die Schrägstrich-Notation (/) für verschachtelte Pfade und das Sternchen (*) als Platzhalter:
{
"lockedKeys": ["brand/name"],
"ignoredKeys": ["internal/*"],
"preservedKeys": ["legal/privacy/full"]
}Schlüssel mit Punkten im Namen werden ganz natürlich behandelt – der Schrägstrich trennt die Hierarchieebenen, sodass modules/ai.translation korrekt den Schlüssel "ai.translation" innerhalb des Objekts "modules" anspricht.
