Traduções existentes

Max PrilutskiyCEO e cofundadorAtualizado em: há 3 meses · 2 min de leitura

Obsoleto

Esta documentação cobre o CLI legado (v0). O CLI atual é o v1. Veja a documentação atual da CLI

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:

json
// 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:

json
// 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.):

1

Configurar o i18n.json

Defina padrões de bucket que correspondam aos caminhos onde seus arquivos atuais estão.

2

Executar as traduções

O CLI preenche as chaves ausentes enquanto preserva as traduções existentes.

3

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:

bash
# 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.network

Para mais opções, consulte Retranslation.

Próximos passos#