A Lingo.dev mantém as traduções em sincronia com o seu código. A cada alteração, ela detecta o que mudou, traduz com o seu engine de localização conectado — aplicando de forma consistente as regras de glossário, a voz da marca e a configuração de modelo por idioma — e faz commit dos resultados ou abre um pull request. Traduções incompletas nunca chegam à produção.
Escolha sua integração#
Cada integração tem seu próprio guia. Escolha a que melhor combina com a sua configuração:
| Integração | Como funciona |
|---|---|
| GitHub App | Instale uma vez. A Lingo.dev roda a localização para você em pushes para a branch padrão e, quando habilitado, em pull requests — sem runner, sem secret de chave de API, sem lockfile. |
| GitHub Actions | Instala @lingo.dev/cli e executa lingo push no seu pipeline do GitHub Actions, depois faz commit dos resultados ou abre um PR. |
| GitLab CI/CD | Instala @lingo.dev/cli e executa lingo push em um job do pipeline do GitLab. |
| Bitbucket Pipelines | Instala @lingo.dev/cli e executa lingo push em uma etapa do pipeline do Bitbucket. |
O GitHub App é executado nos servidores da Lingo.dev. Todas as outras integrações usam a Lingo.dev CLI — então qualquer ambiente de CI/CD com Node.js 22+ pode executar a localização diretamente, mesmo sem uma integração nativa.
Como o GitHub App funciona#
Instale o app uma vez e adicione um .lingo/config.json ao repositório. A partir daí, a Lingo.dev roda a localização para você — sem pipeline, sem secret de chave de API, sem lockfile:
- Monitora alterações — reage automaticamente a pushes na branch padrão e, quando você habilita
onPullRequest, também a pull requests, verificando os arquivos alterados com base nos padrões de origem que você configurar - Traduz o delta — envia o conteúdo de origem alterado pelo engine definido em
engineId - Escreve os resultados de volta no GitHub — em pushes para a branch padrão, abre ou atualiza um pull request de tradução; em pull requests, faz commit dos arquivos traduzidos na branch do PR e publica um comentário de status
- Recupera e agrupa em lotes — detecta alterações que passaram batido em uma execução anterior e divide atualizações muito grandes em vários commits
Você pode colocar as execuções atrás de uma etapa de aprovação ou acionar traduções manualmente com comandos /lingo em um pull request. Consulte o guia do GitHub App para ver a configuração completa.
Como funcionam as integrações com a CLI#
As integrações com GitHub Actions, GitLab CI/CD e Bitbucket executam a mesma Lingo.dev CLI como uma etapa do seu pipeline atual. Para isso, elas precisam de duas coisas: a configuração .lingo/config.json e um LINGO_API_KEY para autenticação.
A cada execução, o job instala a CLI (npm install -g @lingo.dev/cli) e roda lingo push, que:
- Descobre os arquivos de origem — lê sua configuração de bucket para encontrar conteúdo traduzível
- Detecta alterações — compara com o arquivo de lock
.lingo/lock.jsonpara identificar strings novas ou modificadas, de modo que apenas o delta seja traduzido - Traduz — envia o conteúdo alterado pelo seu engine de localização configurado, com todas as regras aplicadas — glossário, voz da marca e configurações de modelo por idioma
- Grava os resultados — atualiza os arquivos do idioma de destino no local e atualiza
.lingo/lock.json
Em seguida, o pipeline faz commit dos resultados ou abre um pull request usando as ferramentas nativas da sua plataforma. Como apenas as strings alteradas são traduzidas, as execuções são rápidas e têm consumo eficiente — mesmo em dezenas de idiomas.
Opções de workflow#
GitHub App#
O comportamento do App é configurado em .lingo/config.json:
| Opção | O que faz |
|---|---|
Push para a branch padrão (onPushToDefaultBranch) | Habilitado por padrão. Abre ou atualiza um PR de tradução quando mudanças na origem chegam à branch padrão. |
Tradução em pull request (onPullRequest) | Desabilitado por padrão. Faz commit das traduções na branch do PR conforme ele evolui. |
Etapa de aprovação (requireApproval) | Desabilitado por padrão. Exige Aprovar/Negar na execução de verificação, ou /lingo approve em um PR, antes que as execuções automáticas traduzam. |
Comandos manuais (/lingo translate) | Preenche traduções pendentes ou força traduções de arquivos específicos a partir de um comentário no PR, a qualquer momento. |
Consulte o guia do GitHub App para ver a configuração completa e a referência de comandos.
CLI em CI/CD (GitHub Actions, GitLab CI, Bitbucket)#
Quatro padrões de workflow atendem à maioria das configurações de equipe:
| Workflow | Gatilho | Resultado |
|---|---|---|
| Commit na main | Push para main | Traduções com commit direto em main |
| PR a partir da main | Push para main | Pull request com traduções |
| Commit na branch de feature | Push para a branch de feature | Traduções com commit na branch |
| PR a partir da branch de feature | Push para a branch de feature | Pull request a partir da branch |
A primeira opção — commit na main — é a mais simples. As traduções aparecem automaticamente, sem nenhuma intervenção dos desenvolvedores. As opções baseadas em PR adicionam uma etapa de revisão antes que as traduções entrem.
Para mais detalhes sobre como escolher entre essas opções, consulte Padrões avançados.
