|
Documentação
Agende uma demoPlataforma
PlataformaMCPCLIAPIWorkflows
GuiasChangelog

Localização contínua

  • Como funciona

Localização Contínua

  • Configuração

Plataformas

  • GitHub App
  • GitHub
  • GitLab CI/CD
  • Bitbucket Pipelines
  • Padrões avançados

GitHub

A Lingo.dev oferece duas formas de executar Localização contínua no GitHub: com o GitHub App gerenciado ou rodando o @lingo.dev/cli dentro de um job do GitHub Actions.

Qual devo usar?

Comece pelo GitHub App — ele roda no servidor, responde automaticamente a pushes e pull requests e não exige runner, secret de chave de API nem gerenciamento de lockfile. Recorra ao GitHub Actions quando quiser que a localização rode dentro do seu próprio pipeline, junto com outras etapas de CI.

GitHub App (recomendado)#

O GitHub App é a maneira mais fácil de executar Localização contínua no GitHub. Instale uma vez, aponte para um engine, e ele reage a cada push e pull request.

  1. Instale o app pela página do GitHub App e conceda acesso ao seu repositório.
  2. Faça commit de um .lingo/config.json na raiz do repositório, descrevendo seus buckets e idiomas, incluindo a engineId do engine que o app deve usar. Consulte Configuration para ver o formato do arquivo.
  3. Faça push. O app localiza o conteúdo alterado no servidor e faz commit dos resultados de volta (ou abre um pull request), mantendo .lingo/lock.json sempre atualizado automaticamente.

Como o app roda no servidor, não há runner para manter, nenhum secret de LINGO_API_KEY para armazenar e nenhum comando de lockfile para executar.

GitHub Actions#

Para rodar a localização no seu próprio pipeline, instale a CLI em um job e execute lingo push; depois, faça commit dos resultados ou abra um pull request com o ferramental que você já usa.

Armazene sua chave de API como um secret do repositório chamado LINGO_API_KEY (Settings > Secrets and variables > Actions). A CLI lê esse valor do ambiente.

Fazer commit na branch atual#

Crie .github/workflows/localize.yml:

yaml
name: Localize
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
      - name: Install Lingo.dev CLI
        run: npm install -g @lingo.dev/cli
      - name: Localize
        run: lingo push
        env:
          LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}
      - name: Commit translations
        run: |
          git config user.name "Lingo.dev"
          git config user.email "support@lingo.dev"
          git add .
          git diff --staged --quiet || git commit -m "feat: update translations"
          git push

Isso localiza o conteúdo alterado e faz commit dos resultados diretamente na branch a cada push.

Abrir um pull request#

Para enviar traduções para revisão em vez de fazer commit direto, envie os resultados para uma branch e abra um pull request. Este exemplo usa a GitHub CLI, que já vem pré-instalada nos runners hospedados pelo GitHub:

yaml
name: Localize
on:
  push:
    branches: [main]
permissions:
  contents: write
  pull-requests: write
jobs:
  localize:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - name: Install Lingo.dev CLI
        run: npm install -g @lingo.dev/cli
      - name: Localize
        run: lingo push
        env:
          LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}
      - name: Open pull request
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          git config user.name "Lingo.dev"
          git config user.email "support@lingo.dev"
          branch="lingo/translations-${{ github.run_id }}"
          git checkout -b "$branch"
          git add .
          git diff --staged --quiet && exit 0
          git commit -m "feat: update translations"
          git push origin "$branch"
          gh pr create --fill --base "${{ github.ref_name }}" --head "$branch"

Ative Settings > Actions > General > Allow GitHub Actions to create and approve pull requests para workflows baseados em PR.

O mesmo job funciona em branches de feature — altere o filtro on.push.branches (por exemplo, branches-ignore: [main]) para controlar onde a localização roda.

Próximos passos#

GitHub App
Alternativa gerenciada — sem runner, secret ou lockfile
Referência da CLI
Comandos, configuração e uso em CI
Padrões avançados
Verificações de localização, conflitos de merge, seleção de workflow
GitLab CI/CD
Configure a integração com o GitLab CI/CD

Esta página foi útil?

Max PrilutskiyMax Prilutskiy·Atualizado há 23 dias·3 min de leitura