Retradução
lingo push traduz apenas o que mudou: ele gera um hash de cada texto-fonte com base no lockfile e ignora tudo o que corresponder. Esse é o padrão ideal, mas às vezes você precisa retraduzir um conteúdo cujo texto-fonte é idêntico — depois de trocar o modelo do engine, atualizar as regras ou o glossário, ou corrigir um problema de qualidade.
Há três formas de fazer isso, e o custo varia entre elas: --key para strings individuais, um push com --force para arquivos inteiros, ou purge seguido de um push normal para um idioma inteiro. Prefira a opção mais específica que cubra o que você quer refazer.
Retraduza chaves específicas#
--key retraduz apenas as chaves que você informar, mescla o resultado à tradução existente e mantém todas as outras chaves byte a byte idênticas. Ele ignora o diff da fonte, então mesmo uma string cujo inglês nunca mudou ainda é refeita.
lingo push --key auth.loginRepita a flag para várias chaves:
lingo push --key auth.login --key billing.planUm padrão pode corresponder exatamente a uma chave, a um prefixo que termina em um limite de ., /, - ou [, ou a um glob. Assim, auth.login também corresponde a auth.login.title, mas nunca a auth.login_url; já auth, sem nada mais, corresponde à subárvore inteira de auth, mas nunca a authority. Coloque os globs entre aspas, ou o seu shell os expande antes que a CLI os veja:
lingo push --key "auth.*"Esta é, de longe, a opção mais econômica: você paga apenas pelas chaves que indicou, sem nenhum custo a mais. Ela precisa de uma tradução existente para fazer a mesclagem, então um idioma que você ainda não traduziu será ignorado, com uma mensagem direcionando para --backfill-missing. Alguns formatos simplesmente não aceitam escopo por chave — Formats mostra quais são e o motivo.
Veja lingo push para entender o comportamento completo, inclusive o que acontece com as chaves que você não informou.
Forçar um push com escopo#
--force retraduz todos os destinos correspondentes, ignorando as traduções existentes e o cache no servidor. Defina um escopo, a menos que você realmente queira o projeto inteiro — lingo push --force sozinho cobre todos os padrões configurados, e só o prompt de confirmação fica no caminho.
Um arquivo#
lingo push content/en/landing.mdx --forceUma subárvore#
lingo push 'content/en/**/*.md' --forceTudo#
lingo push --backfill-missing --force --yes--force pede confirmação antes de sobrescrever; use --yes para pular essa etapa (CI). Consulte lingo push para ver a referência completa de flags.
Retraduzir um único idioma#
push não tem uma flag por idioma. Para refazer apenas um idioma, exclua os arquivos dele e faça um backfill:
lingo purge --locale fr
lingo push --backfill-missingpurge remove os destinos de fr; em seguida, --backfill-missing regenera apenas o que estiver faltando — os outros idiomas permanecem intocados. Isso também sai mais barato do que --force, porque tudo, exceto fr, continua sendo um acerto de cache. Consulte Purge.
Estime antes de gastar#
Qualquer push aceita --estimate, que estima o custo da execução e sai sem traduzir:
lingo push 'content/en/**/*.md' --force --estimateIsso também funciona com --key, então você pode calcular o custo de um escopo de chave antes de executá-lo:
lingo push --key auth.login --estimateAs estimativas são heurísticas, não uma cotação — o custo final pode variar.
Quando retraduzir#
| Situação | O que executar |
|---|---|
| O texto-fonte mudou | Nada — um lingo push normal já resolve |
| Algumas strings de que você não gostou | lingo push --key auth.login --key billing.plan |
| Troca no modelo do engine | lingo push <scope> --force |
| Regras / glossário atualizados | lingo push --key <affected keys> ou lingo push <scope> --force |
| Qualidade ruim em um idioma | lingo purge --locale <code> e depois lingo push --backfill-missing |
| Recomeçando do zero | lingo push --backfill-missing --force --yes |