No Bitbucket, execute o @lingo.dev/cli em uma etapa do pipeline: instale-o, rode lingo push para traduzir, por meio do seu engine, as strings de origem alteradas e, em seguida, faça commit dos resultados ou abra um pull request com as ferramentas nativas do Bitbucket.
Pré-requisitos
Você precisa ter um .lingo/config.json commitado (com um engineId, idioma de origem e idiomas de destino, além de padrões files) e sua chave de API do Lingo.dev armazenada como uma variável do repositório. Consulte o guia rápido da CLI para criar a configuração.
Autenticação#
A CLI se autentica com a variável de ambiente LINGO_API_KEY. Adicione sua chave como uma variável segura do repositório para que ela fique disponível nas etapas do pipeline:
Configurações do repositório > Variáveis do repositório — adicione LINGO_API_KEY e marque-a como segura.
Para enviar commits ou abrir pull requests de volta ao repositório, o pipeline também precisa de acesso de gravação ao Git. As opções padrão são uma chave SSH do repositório (Configurações do repositório > Chaves SSH) ou um token de acesso do repositório com escopo Read & write repositories (e pull requests, no modo PR), armazenado como uma variável segura do repositório, como BB_TOKEN.
Exemplos de workflow#
Commit direto (padrão)#
Instale a CLI, rode lingo push e faça commit dos arquivos traduzidos de volta na branch:
image: node:22
pipelines:
branches:
main:
- step:
name: Translate
script:
- npm install -g @lingo.dev/cli
- lingo push
- git config user.name "lingo-bot"
- git config user.email "support@lingo.dev"
- git add .
- git diff --cached --quiet || git commit -m "chore: update translations"
- git push origin HEAD:mainlingo push traduz apenas o que mudou desde a última execução (rastreado em .lingo/lock.json), aguarda a execução terminar e grava as saídas em disco.
Modo pull request#
Envie as traduções para uma branch dedicada em vez de fazer commit em main e, depois, abra um pull request com as ferramentas do Bitbucket:
image: node:22
pipelines:
branches:
main:
- step:
name: Translate
script:
- npm install -g @lingo.dev/cli
- lingo push
- git config user.name "lingo-bot"
- git config user.email "support@lingo.dev"
- git checkout -b lingo/translations
- git add .
- git diff --cached --quiet || git commit -m "feat: update translations"
- git push origin lingo/translations
# Open a PR from lingo/translations into main via the Bitbucket UI or APIMonorepo#
Execute a CLI a partir de um subdiretório quando a configuração estiver dentro de um workspace. A CLI resolve .lingo/config.json com base no diretório de trabalho:
image: node:22
pipelines:
branches:
main:
- step:
name: Translate
script:
- cd apps/web
- npm install -g @lingo.dev/cli
- lingo pushVariáveis do pipeline#
| Variável | Obrigatório | Descrição |
|---|---|---|
LINGO_API_KEY | Sim | Chave de API do Lingo.dev. Armazene-a como uma variável segura do repositório. |
BB_TOKEN | Para acesso de gravação via push/PR | Token de acesso do repositório (ou chave SSH) usado pelo Git para fazer commits ou abrir pull requests. |
Todo o restante — idioma de origem, idiomas de destino, padrões de arquivo e o engine usado no roteamento — fica em .lingo/config.json, não nas variáveis do pipeline.
Valide antes do deploy#
Adicione uma etapa lingo check para fazer o pipeline falhar quando qualquer string de origem estiver sem tradução:
- step:
name: Check translations
script:
- npm install -g @lingo.dev/cli
- lingo check