As chaves bloqueadas são copiadas do arquivo de origem para todos os arquivos de destino sem tradução. O CLI do Lingo.dev as exclui totalmente do processamento de tradução e preserva seus valores de origem em todos os idiomas.
Configuração#
Adicione lockedKeys a um bucket em i18n.json:
{
"buckets": {
"json": {
"include": ["locales/[locale].json"],
"lockedKeys": ["brand/name", "config/apiUrl", "system/version"]
}
}
}Como funciona#
Dado este arquivo de origem:
{
"welcome": "Welcome to our platform",
"brand": {
"name": "Lingo.dev"
},
"config": {
"apiUrl": "https://api.example.com"
}
}Com "lockedKeys": ["brand/name", "config/apiUrl"], o arquivo de destino em espanhol fica assim:
{
"welcome": "Bienvenido a nuestra plataforma",
"brand": {
"name": "Lingo.dev"
},
"config": {
"apiUrl": "https://api.example.com"
}
}Apenas welcome é traduzida. As chaves bloqueadas mantêm exatamente seus valores de origem.
Notação de caminho de chave#
Use barra (/) para indicar chaves aninhadas:
{ "lockedKeys": ["system/engine/component"] }Use asterisco (*) para corresponder a várias chaves:
{ "lockedKeys": ["navigation/menuItems/*"] }Chaves com pontos no nome funcionam naturalmente — modules/ai.translation aponta para a chave "ai.translation" dentro de "modules".
Bloqueio de chaves vs. Ignorar chaves#
| Bloqueio de chaves | Ignorar chaves | |
|---|---|---|
| Aparece nos arquivos de destino | Sim — com o valor de origem | Não |
| Caso de uso | Nomes de marca, IDs técnicos, URLs | Strings de depuração, sinalizadores internos, dados de teste |
