A CLI da Lingo.dev integra-se com projetos que já têm ficheiros de tradução. Compara as chaves de origem com os ficheiros de destino existentes, gera apenas as traduções em falta e mantém intacto o trabalho já feito.
Como funciona#
Quando executa a CLI num projeto com traduções parciais, esta faz uma análise das lacunas:
// locales/en.json (source - 4 keys)
{
"welcome": "Welcome to our app",
"button.save": "Save",
"button.cancel": "Cancel",
"error.network": "Network error"
}
// locales/es.json (existing - 2 keys translated)
{
"welcome": "Bienvenido a nuestra aplicación",
"button.save": "Guardar"
}Ao executar npx lingo.dev@latest run, apenas são preenchidas as chaves em falta:
// locales/es.json (after run - all 4 keys present)
{
"welcome": "Bienvenido a nuestra aplicación",
"button.save": "Guardar",
"button.cancel": "Cancelar",
"error.network": "Error de red"
}As traduções existentes em welcome e button.save mantêm-se inalteradas.
Primeira execução#
Na primeira execução, a CLI cria um ficheiro i18n.lock com base no estado atual. Este lockfile regista as impressões digitais de todo o conteúdo de origem, garantindo que as traduções existentes não são geradas novamente em execuções seguintes — mesmo que tenham sido originalmente criadas por outra ferramenta.
Certifique-se de que os ficheiros do idioma de destino não contêm conteúdo no idioma de origem. Ter texto de origem por traduzir nos ficheiros de destino pode interferir com a deteção de lacunas.
Migrar de outras ferramentas#
A CLI funciona com ficheiros de tradução criados por qualquer ferramenta, desde que sigam um formato suportado (JSON, YAML, PO, etc.):
Configurar o i18n.json
Configure padrões de bucket que correspondam à localização dos ficheiros existentes.
Executar as traduções
A CLI preenche as chaves em falta, preservando as traduções existentes.
Revisão e commit
Só as lacunas são preenchidas. As traduções existentes mantêm-se intactas.
Atualizar traduções#
Se as traduções existentes tiverem problemas de qualidade, pode retraduzir seletivamente:
# Retranslate all Spanish content
npx lingo.dev@latest run --force --target-locale es
# Retranslate a specific key across all languages
npx lingo.dev@latest run --force --key error.networkPara mais opções, consulte Retradução.
