A CLI não tem um comando ci específico. Para localizar no CI, você tem duas opções: deixar o Lingo.dev GitHub App cuidar disso no servidor (recomendado no GitHub) ou executar lingo push no seu próprio pipeline e fazer commit dos resultados.
Opção 1: GitHub App (recomendado)#
Instale o Lingo.dev GitHub App no seu repositório. Aponte-o para um .lingo/config.json commitado (com um engineId) e ele reagirá automaticamente a pushes e pull requests, detectando strings de origem alteradas, traduzindo-as com seu engine e fazendo commit dos resultados de volta na branch ou abrindo um pull request. Sem runner, sem secret de chave de API e sem lockfile para gerenciar.
Opção 2: rode lingo push no seu próprio runner#
Qualquer ambiente de CI com Node.js 22+ pode executar a CLI diretamente. Autentique-se com uma chave de API (armazenada como secret), faça push e commit dos resultados.
name: Translate
on:
push:
branches: [main]
permissions:
contents: write
jobs:
localize:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: npm install -g @lingo.dev/cli
- run: lingo push
env:
LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}
- name: Commit translations
run: |
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 pushlingo push traduz apenas o que mudou desde a última execução (rastreado em .lingo/lock.json), aguarda a execução terminar e grava os resultados. Para abrir um pull request em vez de fazer commit na branch, envie as alterações para uma branch dedicada e abra o PR com as ferramentas da sua plataforma (por exemplo, gh pr create).
Valide antes do deploy#
Adicione uma etapa lingo check antes do build para fazer o pipeline falhar quando alguma string de origem estiver sem tradução:
lingo checkVeja também#
- GitHub App - Localização contínua gerenciada, sem runner nem secret.
- lingo push - padrões com escopo,
--backfill-missing, comportamento de retry. - Configuration -
.lingo/config.jsone o lockfile.
