A CLI do Lingo.dev escala para projetos com milhares de chaves de tradução e dezenas de idiomas de destino por meio de processamento paralelo, tradução incremental via lockfile e opções de processamento direcionado.
Processamento paralelo#
A CLI distribui as tarefas de tradução entre workers simultâneos. A concorrência padrão é de 10 workers:
npx lingo.dev@latest runAumente a concorrência em projetos de grande porte:
npx lingo.dev@latest run --concurrency 20Em um projeto com 50 arquivos em 10 idiomas (500 tarefas de tradução), o processamento paralelo executa tudo em paralelo, em vez de seguir uma tarefa por vez. Consulte Parallel Processing para mais detalhes sobre a arquitetura de workers.
Processamento direcionado#
Processe subconjuntos específicos em vez do projeto inteiro:
# Specific languages
npx lingo.dev@latest run --target-locale es --target-locale fr
# Specific file format
npx lingo.dev@latest run --bucket json
# Specific files
npx lingo.dev@latest run --file components/header
# Specific keys
npx lingo.dev@latest run --key welcome.titleEssas opções podem ser combinadas — --force --bucket json --target-locale es retraduz todo o conteúdo JSON apenas para espanhol.
Integração com CI/CD#
Automatize a tradução a cada push com GitHub Actions:
name: Lingo.dev Localization
on:
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
localize:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: lingodotdev/lingo.dev@main
with:
api-key: ${{ secrets.LINGODOTDEV_API_KEY }}O lockfile garante que apenas o conteúdo alterado seja traduzido, mantendo as execuções no CI rápidas mesmo em projetos de grande porte.
Organização de buckets#
Separe os tipos de conteúdo em buckets distintos para um processamento mais direcionado:
{
"buckets": {
"json": {
"include": ["src/locales/[locale].json"]
},
"markdown": {
"include": ["docs/[locale]/*.md"]
}
}
}Isso permite processar a documentação e o conteúdo do app de forma independente: --bucket markdown traduz apenas a documentação.
