Traduções existentes

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

Você não precisa começar do zero. Se já tiver arquivos traduzidos, o CLI trabalha junto com eles: preenche o que está faltando e mantém intactas as traduções que você já tem.

Aponte a configuração para o que você já tem#

Defina os idiomas de origem e de destino, além dos padrões de arquivo, de acordo com onde suas traduções já estão:

json
{
  "sourceLocale": "en",
  "targetLocales": ["de", "fr"],
  "files": [{ "pattern": "locales/en.json" }]
}

Se locales/de.json e locales/fr.json já existem, eles permanecem como estão.

Preencha as lacunas#

bash
lingo push --backfill-missing

--backfill-missing só gera destinos que ainda estão faltando — um idioma sem arquivo ainda ou, depois da primeira execução, chaves que a engine ainda não traduziu. Os arquivos que você já tem não são sobrescritos.

text
✓ Run lfr_a8c...: localized 1 target file(s), 2 already up-to-date.

Mantenha valores específicos fixos#

Se algumas traduções existentes foram revisadas manualmente e não podem mudar de jeito nenhum, marque-as como preservedKeys para que nenhuma execução futura mexa nelas:

json
{ "pattern": "locales/en.json", "preservedKeys": ["legal.terms"] }

Como o lockfile é inicializado#

O primeiro push registra um hash de cada arquivo-fonte em .lingo/lock.json. Depois disso, um lingo push simples só envia os arquivos-fonte que mudaram — suas traduções existentes nunca são reenviadas, a menos que você altere a fonte ou force isso. Faça commit do lockfile junto com as traduções. Veja Configuration.

Sobrescrevendo de propósito

--backfill-missing nunca sobrescreve. Para regenerar intencionalmente traduções existentes (após uma mudança no modelo ou nas regras), use um push com escopo --force.