Chaves de tradução

Max PrilutskiyCEO e cofundadorAtualizado em: há 3 meses · 2 min de leitura

Descontinuado

Esta documentação abrange a CLI antiga (v0). A versão atual da CLI é a v1. Ver a documentação atual da CLI

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:

ControloCampo de configuraçãoComportamento
Bloqueio de chaveslockedKeysCopia os valores de origem para todos os destinos sem os traduzir. As chaves surgem nos ficheiros de destino com valores idênticos.
Ignorar chavesignoredKeysExclui totalmente as chaves do processamento. Não surgem nos ficheiros de destino.
Preservação de chavespreservedKeysInicializa 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 chavesAutomáticoDeteta 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:

json
{ "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:

json
{ "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:

json
{ "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:

json
{
  "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".

Próximos passos#