No Bitbucket, execute o @lingo.dev/cli numa etapa do pipeline: instale-o, corra lingo push para traduzir as strings de origem alteradas através do seu motor e, depois, faça commit dos resultados ou abra um pull request com as ferramentas do próprio Bitbucket.
Pré-requisitos
Precisa de um ficheiro .lingo/config.json já em commit (com um engineId, idiomas de origem e de destino, e padrões files) e da sua chave de API da Lingo.dev guardada como variável do repositório. Consulte o quickstart da CLI para criar a configuração.
Autenticação#
A CLI autentica-se com a variável de ambiente LINGO_API_KEY. Adicione a sua chave como variável secured do repositório para que fique disponível nas etapas do pipeline:
Definições do repositório > Variáveis do repositório — adicione LINGO_API_KEY e marque-a como secured.
Para enviar commits ou abrir pull requests de volta para o repositório, o pipeline também precisa de acesso de escrita ao Git. As opções habituais são uma chave SSH do repositório (Definições do repositório > Chaves SSH) ou um token de acesso ao repositório com âmbito Read & write repositories (e pull requests, no modo PR), guardado como variável secured do repositório, como BB_TOKEN.
Exemplos de workflow#
Commit direto (predefinido)#
Instale a CLI, corra lingo push e faça commit dos ficheiros traduzidos de volta para a 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 (registado em .lingo/lock.json), espera que a execução termine e escreve os outputs 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#
Corra a CLI a partir de um subdiretório quando a configuração estiver dentro de uma workspace. A CLI resolve .lingo/config.json a partir do 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 da Lingo.dev. Guarde-a como variável secured do repositório. |
BB_TOKEN | Para acesso de escrita para push/PR | Token de acesso ao repositório (ou chave SSH) usado pelo Git para fazer commit ou abrir pull requests. |
Tudo o resto — idioma de origem, idiomas de destino, padrões de ficheiros e o motor por onde encaminhar — fica em .lingo/config.json, não nas variáveis do pipeline.
Verificar antes de fazer deploy#
Adicione uma etapa lingo check para fazer falhar o pipeline quando faltar uma tradução para qualquer string de origem:
- step:
name: Check translations
script:
- npm install -g @lingo.dev/cli
- lingo check