Les clés verrouillées sont copiées du fichier source vers tous les fichiers cibles, sans traduction. Le CLI Lingo.dev les exclut entièrement du processus de traduction et conserve leurs valeurs d’origine dans toutes les langues.
Configuration#
Ajoutez lockedKeys à un bucket dans i18n.json :
{
"buckets": {
"json": {
"include": ["locales/[locale].json"],
"lockedKeys": ["brand/name", "config/apiUrl", "system/version"]
}
}
}Comment ça marche#
Prenons ce fichier source :
{
"welcome": "Welcome to our platform",
"brand": {
"name": "Lingo.dev"
},
"config": {
"apiUrl": "https://api.example.com"
}
}Avec "lockedKeys": ["brand/name", "config/apiUrl"], le fichier cible en espagnol devient :
{
"welcome": "Bienvenido a nuestra plataforma",
"brand": {
"name": "Lingo.dev"
},
"config": {
"apiUrl": "https://api.example.com"
}
}Seul welcome est traduit. Les clés verrouillées conservent exactement leurs valeurs d’origine.
Notation des chemins de clés#
Utilisez la barre oblique (/) pour cibler des clés imbriquées :
{ "lockedKeys": ["system/engine/component"] }Utilisez l’astérisque (*) pour faire correspondre plusieurs clés :
{ "lockedKeys": ["navigation/menuItems/*"] }Les clés dont le nom contient des points fonctionnent naturellement — modules/ai.translation cible la clé "ai.translation" à l’intérieur de "modules".
Verrouillage des clés vs. exclusion de clés#
| Verrouillage des clés | Exclusion de clés | |
|---|---|---|
| Apparaît dans les fichiers cibles | Oui — avec la valeur source | Non |
| Cas d’usage | Noms de marque, identifiants techniques, URL | Chaînes de débogage, indicateurs internes, données de test |
