Retradução
lingo push traduz apenas o que mudou: gera um hash de cada texto de origem com base no lockfile e ignora tudo o que coincidir. Este é o comportamento predefinido certo, mas, por vezes, pode querer retraduzir conteúdo cujo texto de origem é exatamente o mesmo — depois de mudar o modelo do motor, atualizar as respetivas regras ou glossário, ou corrigir um problema de qualidade.
Há três formas de o fazer, e a diferença está no que paga: --key para strings individuais, um push com --force para ficheiros completos, ou purge seguido de um push normal para um idioma completo. Opte pela mais específica que cubra o que quer refazer.
Retraduzir chaves específicas#
--key retraduz apenas as chaves que indicar, integra-as na tradução existente e deixa todas as outras chaves exatamente iguais, byte por byte. Ignora o diff da origem, por isso até uma string cujo inglês nunca mudou volta a ser feita.
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 num limite ., /, - ou [, ou a um glob. Por isso, auth.login também corresponde a auth.login.title, mas nunca a auth.login_url; auth, sem mais, corresponde a toda a subárvore auth, mas nunca a authority. Ponha os globs entre aspas, ou a sua shell expande-os antes de a CLI os ver:
lingo push --key "auth.*"Esta é, de longe, a opção mais económica — paga apenas pelas chaves que indicou, e por nada mais. Requer uma tradução existente na qual possa ser incorporada, por isso qualquer idioma que nunca tenha traduzido é ignorado, com uma mensagem a encaminhar para --backfill-missing. Alguns formatos não permitem, de todo, um âmbito de chaves — Formats indica quais e porquê.
Consulte lingo push para ver o comportamento completo, incluindo o que acontece às chaves que não indicou.
Forçar um push com âmbito limitado#
--force retraduz todos os destinos correspondentes, ignorando as traduções existentes e a cache do servidor. Defina um âmbito, a menos que queira mesmo abranger o projeto inteiro — lingo push --force, sem mais, cobre todos os padrões configurados, e só o pedido de confirmação se interpõe.
Um ficheiro#
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 substituir; use --yes para ignorar a confirmação (CI). Consulte lingo push para a referência completa das flags.
Retraduzir um único idioma#
push não tem nenhuma flag por idioma. Para refazer apenas um idioma, elimine os respetivos ficheiros e faça backfill:
lingo purge --locale fr
lingo push --backfill-missingpurge remove os destinos de fr; depois, --backfill-missing regenera apenas o que falta — os outros idiomas não são afetados. Isto também fica mais barato do que --force, porque tudo, exceto fr, continua a ser um acerto de cache. Consulte Purge.
Estimar antes de gastar#
Qualquer push aceita --estimate, que estima o custo da execução e sai sem traduzir:
lingo push 'content/en/**/*.md' --force --estimateTambém se conjuga com --key, para que possa calcular o preço de um âmbito de chave antes de o executar:
lingo push --key auth.login --estimateAs estimativas são heurísticas, não um orçamento — o custo final pode ser diferente.
Quando retraduzir#
| Situação | O que executar |
|---|---|
| O texto de origem mudou | Nada — um lingo push normal trata disso |
| Algumas strings com que não ficou satisfeito | lingo push --key auth.login --key billing.plan |
| Mudou o modelo do motor | lingo push <scope> --force |
| Regras / glossário atualizados | lingo push --key <affected keys>, ou lingo push <scope> --force |
| Fraca qualidade num idioma | lingo purge --locale <code> e depois lingo push --backfill-missing |
| Começar completamente do zero | lingo push --backfill-missing --force --yes |