O CLI do Lingo.dev se integra a projetos que já têm arquivos de tradução. Ele compara as chaves de origem com os arquivos de destino existentes, gera apenas as traduções que faltam e mantém intacto tudo o que você já fez.
Como funciona#
Quando você executa o CLI em um projeto com traduções parciais, ele faz uma análise de 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 as chaves ausentes são preenchidas:
// 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 permanecem inalteradas.
Primeira execução#
Na primeira execução, o CLI cria um arquivo i18n.lock com base no estado atual do seu projeto. Esse lockfile registra fingerprints de todo o conteúdo de origem, garantindo que as traduções existentes não sejam regeneradas nas execuções seguintes — mesmo que tenham sido criadas originalmente por outra ferramenta.
Certifique-se de que seus arquivos de idioma de destino não contenham conteúdo no idioma de origem. Ter texto de origem não traduzido nos arquivos de destino pode atrapalhar a detecção de lacunas.
Migrando de outras ferramentas#
O CLI funciona com arquivos de tradução criados por qualquer ferramenta, desde que sigam um formato compatível (JSON, YAML, PO etc.):
Configurar o i18n.json
Defina padrões de bucket que correspondam aos caminhos onde seus arquivos atuais estão.
Executar as traduções
O CLI preenche as chaves ausentes enquanto preserva as traduções existentes.
Revisar e fazer commit
Só as lacunas são preenchidas. Suas traduções existentes permanecem intactas.
Atualizando traduções#
Se as traduções existentes tiverem problemas de qualidade, você 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 Retranslation.
