A Lingo.dev mantém as traduções sincronizadas com o seu código. A cada alteração, deteta o que mudou, traduz esse conteúdo com o seu motor de localização ligado — com regras de glossário, voz da marca e configuração do modelo por idioma aplicadas de forma consistente — e faz commit dos resultados ou abre um pull request. As traduções incompletas nunca chegam à produção.
Escolha a sua integração#
Cada integração tem o seu próprio guia. Escolha a que melhor se adapta à sua configuração:
| Integração | Como funciona |
|---|---|
| GitHub App | Instale uma vez. A Lingo.dev executa a localização por si em pushes para o ramo predefinido e, quando ativado, em pull requests — sem runner, sem segredo de chave API, sem lockfile. |
| GitHub Actions | Instala @lingo.dev/cli e executa lingo push no seu pipeline de GitHub Actions, depois faz commit dos resultados ou abre um PR. |
| GitLab CI/CD | Instala @lingo.dev/cli e executa lingo push num job de pipeline do GitLab. |
| Bitbucket Pipelines | Instala @lingo.dev/cli e executa lingo push num passo de pipeline do Bitbucket. |
A GitHub App corre nos servidores da Lingo.dev. Todas as outras integrações executam a CLI da Lingo.dev — por isso, qualquer ambiente de CI/CD com Node.js 22+ pode executar a localização diretamente, mesmo sem uma integração nativa.
Como funciona a GitHub App#
Instale a app uma vez e adicione um .lingo/config.json ao repositório. A partir daí, a Lingo.dev executa a localização por si — sem pipeline, sem segredo de chave API, sem lockfile:
- Monitoriza alterações — reage, por predefinição, a pushes no ramo predefinido e, depois de ativar
onPullRequest, também a pull requests, verificando os ficheiros alterados face aos padrões de origem que configurar - Traduz o delta — envia o conteúdo de origem alterado através do motor indicado por
engineId - Escreve os resultados no GitHub — em pushes para o ramo predefinido, abre ou atualiza um pull request de tradução; em pull requests, faz commit dos ficheiros traduzidos no ramo do PR e publica um comentário de estado
- Recupera e agrupa — deteta alterações que tenham escapado a uma execução anterior e divide atualizações muito grandes por vários commits
Pode colocar as execuções atrás de uma etapa de aprovação ou acionar traduções manualmente com comandos /lingo num pull request. Consulte o guia da GitHub App para ver a configuração completa.
Como funcionam as integrações com a CLI#
As integrações de GitHub Actions, GitLab CI/CD e Bitbucket executam todas a mesma CLI da Lingo.dev como um passo no seu pipeline atual. Precisam de duas coisas: a configuração .lingo/config.json e um LINGO_API_KEY para autenticação.
Em cada execução, o job instala a CLI (npm install -g @lingo.dev/cli) e executa lingo push, que:
- Descobre os ficheiros de origem — lê a sua configuração do bucket para encontrar conteúdo traduzível
- Deteta alterações — compara com o lockfile
.lingo/lock.jsonpara identificar strings novas ou alteradas, para que só o delta seja traduzido - Traduz — envia o conteúdo alterado através do seu motor de localização configurado com todas as regras aplicadas — glossário, voz da marca, definições do modelo por idioma
- Escreve os resultados — atualiza os ficheiros dos idiomas de destino no local e atualiza
.lingo/lock.json
O pipeline faz depois commit dos resultados ou abre um pull request com as ferramentas da própria plataforma. Como só as strings alteradas são traduzidas, as execuções são rápidas e económicas — mesmo em dezenas de idiomas.
Opções de workflow#
GitHub App#
O comportamento da App é configurado em .lingo/config.json:
| Opção | O que faz |
|---|---|
Push para o ramo predefinido (onPushToDefaultBranch) | Ativado por predefinição. Abre ou atualiza um PR de tradução quando alterações de origem chegam ao ramo predefinido. |
Tradução de pull request (onPullRequest) | Desativado por predefinição. Faz commit das traduções no ramo do PR à medida que o PR evolui. |
Etapa de aprovação (requireApproval) | Desativada por predefinição. Exige Aprovar/Negar na execução de verificação, ou /lingo approve num PR, antes de as execuções automáticas traduzirem. |
Comandos manuais (/lingo translate) | Repõe traduções em falta ou força traduções para ficheiros específicos a partir de um comentário no PR, em qualquer altura. |
Consulte o guia da 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 cobrem a maioria das configurações de equipa:
| Workflow | Gatilho | Resultado |
|---|---|---|
| Commit para main | Push para main | Traduções enviadas diretamente por commit para main |
| PR a partir de main | Push para main | Pull request com traduções |
| Commit para ramo de funcionalidade | Push para ramo de funcionalidade | Traduções enviadas por commit para o ramo |
| PR a partir do ramo de funcionalidade | Push para ramo de funcionalidade | Pull request a partir do ramo |
A primeira opção — commit para main — é a mais simples. As traduções aparecem automaticamente, sem qualquer intervenção dos programadores. As opções baseadas em PR acrescentam uma etapa de revisão antes de as traduções serem integradas.
Para saber como escolher entre estas opções, consulte Padrões Avançados.
