Não tem de partir de um projeto vazio. Se já tiver ficheiros traduzidos, a CLI trabalha em conjunto com eles: preenche o que falta e mantém as traduções existentes intactas.
Aponte a configuração para o que já existe#
Defina os idiomas de origem e de destino e os padrões de ficheiros, de acordo com a localização das traduções que já tem:
{
"sourceLocale": "en",
"targetLocales": ["de", "fr"],
"files": [{ "pattern": "locales/en.json" }]
}Se locales/de.json e locales/fr.json já existirem, ficam como estão.
Preencha as lacunas#
lingo push --backfill-missing--backfill-missing só gera destinos em falta — um idioma que ainda não tem ficheiro ou, depois da primeira execução, chaves que o motor ainda não traduziu. Os ficheiros que já existem não são substituídos.
✓ Run lfr_a8c...: localized 1 target file(s), 2 already up-to-date.Mantenha valores específicos intocados#
Se algumas traduções existentes tiverem sido revistas manualmente e nunca puderem ser alteradas, marque-as em preservedKeys para que nenhuma execução futura lhes mexa:
{ "pattern": "locales/en.json", "preservedKeys": ["legal.terms"] }Como o lockfile arranca tudo#
O primeiro push regista um hash de cada ficheiro de origem em .lingo/lock.json. A partir daí, um lingo push simples só envia as origens que mudaram — as traduções existentes nunca voltam a ser enviadas, a não ser que altere a origem ou force esse envio. Faça commit do lockfile juntamente com as suas traduções. Consulte Configuration.
Sobrescrever intencionalmente
--backfill-missing nunca sobrescreve. Para regenerar deliberadamente traduções existentes (depois de uma alteração ao modelo ou à instrução), use um push --force com âmbito limitado.
