O comando run processa tarefas de tradução em paralelo, distribuindo-as em um pool de workers. Cada combinação de idioma/arquivo vira uma tarefa independente, e os workers as processam simultaneamente.
Consumo#
# Default concurrency (10 workers)
npx lingo.dev@latest run
# Custom concurrency
npx lingo.dev@latest run --concurrency 20Como funciona#
- Criação de tarefas — a CLI analisa seu
i18n.jsone cria tarefas individuais para cada combinação de idioma/arquivo - Distribuição entre workers — as tarefas são atribuídas aos workers disponíveis com balanceamento de carga
- Processamento simultâneo — os workers traduzem ao mesmo tempo, enquanto bloqueios no sistema de arquivos evitam conflitos de gravação
- Consolidação dos resultados — as traduções concluídas são gravadas com segurança nos arquivos de destino
Opções de segmentação#
Todas as opções de segmentação do comando run funcionam com processamento paralelo:
| Opção | Descrição |
|---|---|
--target-locale es | Processar idiomas de destino específicos |
--source-locale en | Substituir o idioma de origem |
--bucket json | Processar tipos de bucket específicos |
--file components/header | Processar arquivos específicos (com suporte a padrões glob) |
--key welcome.title | Processar chaves específicas (com suporte a padrões glob) |
--force | Ignorar o lockfile e retraduzir tudo |
--frozen | Falhar se qualquer conteúdo precisar de tradução |
--concurrency 20 | Definir o número de workers simultâneos |
Cache automático#
Ao usar a API do Lingo.dev, arquivos de idioma grandes são divididos em partes. Os arquivos de destino são preenchidos de forma incremental à medida que cada parte retorna da API. Se o processo for interrompido, a próxima execução continua de onde parou.
Para retraduzir, use purge primeiro e depois run sem --force. Assim, você aproveita o mecanismo de cache integrado para um processamento mais eficiente do que com run --force.
Segurança#
O pool de workers evita a corrupção de arquivos por meio de:
- Sincronização de I/O — as operações no sistema de arquivos são serializadas por arquivo
- Proteção do lockfile — operações atômicas evitam a corrupção simultânea de
i18n.lock - Processamento transacional — cada tarefa é concluída por completo ou falha de forma limpa
