Las claves bloqueadas se copian del archivo fuente a todos los archivos de destino sin traducirse. La CLI de Lingo.dev las excluye por completo del proceso de traducción y conserva sus valores originales en todos los idiomas.
Configuración#
Añade lockedKeys a un bucket de i18n.json:
{
"buckets": {
"json": {
"include": ["locales/[locale].json"],
"lockedKeys": ["brand/name", "config/apiUrl", "system/version"]
}
}
}Cómo funciona#
Dado este archivo fuente:
{
"welcome": "Welcome to our platform",
"brand": {
"name": "Lingo.dev"
},
"config": {
"apiUrl": "https://api.example.com"
}
}Con "lockedKeys": ["brand/name", "config/apiUrl"], el archivo de destino en español queda así:
{
"welcome": "Bienvenido a nuestra plataforma",
"brand": {
"name": "Lingo.dev"
},
"config": {
"apiUrl": "https://api.example.com"
}
}Solo se traduce welcome. Las claves bloqueadas conservan exactamente sus valores originales.
Notación de rutas de claves#
Usa la barra inclinada (/) para apuntar a claves anidadas:
{ "lockedKeys": ["system/engine/component"] }Usa el asterisco (*) para hacer coincidir varias claves:
{ "lockedKeys": ["navigation/menuItems/*"] }Las claves que incluyen puntos en su nombre funcionan de forma natural: modules/ai.translation apunta a la clave "ai.translation" dentro de "modules".
Bloqueo de claves vs. ignorar claves#
| Bloqueo de claves | Ignorar claves | |
|---|---|---|
| Aparece en los archivos de destino | Sí, con el valor original | No |
| Caso de uso | Nombres de marca, ID técnicos, URL | Cadenas de depuración, indicadores internos, datos de prueba |
