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:
{
"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#
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.
✓ 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:
{ "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 (depois de uma mudança de modelo ou instrução), use um push com escopo --force.
