Las claves bloqueadas se copian del archivo de origen a todos los archivos de destino sin traducirse. El CLI de Lingo.dev las excluye por completo del proceso de traducción y conserva sus valores de origen en todos los idiomas.
Configuración#
Agrega lockedKeys a un bucket en i18n.json:
{
"buckets": {
"json": {
"include": ["locales/[locale].json"],
"lockedKeys": ["brand/name", "config/apiUrl", "system/version"]
}
}
}Cómo funciona#
Dado este archivo de origen:
{
"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 sus valores de origen exactamente.
Notación de ruta de clave#
Usa la barra diagonal (/) para apuntar a claves anidadas:
{ "lockedKeys": ["system/engine/component"] }Usa el asterisco (*) para hacer coincidir varias claves:
{ "lockedKeys": ["navigation/menuItems/*"] }Las claves cuyos nombres contienen puntos funcionan de forma natural: modules/ai.translation apunta a la clave "ai.translation" dentro de "modules".
Bloqueo de claves vs. omisión de claves#
| Bloqueo de claves | Omisión de claves | |
|---|---|---|
| Aparece en los archivos de destino | Sí, con el valor de origen | No |
| Caso de uso | Nombres de marca, ID técnicos, URL | Cadenas de depuración, flags internos, datos de prueba |
