A CLI do Lingo.dev disponibiliza quatro controlos ao nível da chave que determinam o comportamento de cada chave de tradução durante o processamento. Cada um tem uma finalidade específica:
| Controlo | Campo de configuração | Comportamento |
|---|---|---|
| Bloqueio de chaves | lockedKeys | Copia os valores de origem para todos os destinos sem os traduzir. As chaves surgem nos ficheiros de destino com valores idênticos. |
| Ignorar chaves | ignoredKeys | Exclui totalmente as chaves do processamento. Não surgem nos ficheiros de destino. |
| Preservação de chaves | preservedKeys | Inicializa as chaves uma vez a partir da origem e depois protege-as de atualizações automáticas. Foi concebido para conteúdo que requer tradução manual. |
| Renomeação de chaves | Automático | Deteta quando as chaves são renomeadas e preserva as traduções existentes. Não requer configuração. |
Quando usar cada opção#
Bloqueie uma chave quando o valor tiver de se manter idêntico em todos os idiomas — nomes de marcas, identificadores técnicos, valores de configuração:
{ "lockedKeys": ["brand/name", "config/apiUrl"] }Ignore uma chave quando não deva constar de todo nos ficheiros de destino — cadeias de depuração, sinalizadores internos, dados de teste:
{ "ignoredKeys": ["internal/debug", "dev/testData"] }Preserve uma chave quando precisar de tradução manual — texto jurídico, conteúdo de conformidade, copy de marketing que requer revisão humana:
{ "preservedKeys": ["legal/privacy", "legal/terms"] }A renomeação é automática — a CLI deteta quando uma chave muda, mas o conteúdo se mantém igual, e mantém a tradução existente sem a traduzir novamente.
Notação de caminhos de chaves#
Todos os arrays de chaves usam a notação com barra (/) para caminhos aninhados e asterisco (*) para wildcards:
{
"lockedKeys": ["brand/name"],
"ignoredKeys": ["internal/*"],
"preservedKeys": ["legal/privacy/full"]
}As chaves com pontos no nome são tratadas de forma natural — a barra separa os níveis da hierarquia, por isso modules/ai.translation aponta corretamente para a chave "ai.translation" dentro do objeto "modules".
