|
Documentação
Marcar uma demonstraçãoPlataforma
PlataformaMCPCLIAPIWorkflows
GuiasChangelog

Localização Contínua

  • Como funciona
  • Configuração

Plataformas

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

GitHub

A Lingo.dev suporta duas formas de executar a Localização Contínua no GitHub: com a GitHub App gerida e executando @lingo.dev/cli num job do GitHub Actions.

Qual devo usar?

Comece pela GitHub App — corre no servidor, reage automaticamente a pushes e pull requests e não precisa de runner, segredo de chave API nem gestão de lockfiles. Recorra ao GitHub Actions quando quiser que a localização corra no seu próprio pipeline, em conjunto com outros passos de CI.

GitHub App (recomendada)#

A GitHub App é a forma mais simples de executar a Localização Contínua no GitHub. Instale-a uma vez, aponte-a para um motor e reagirá a cada push e pull request.

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

Como a app corre no servidor, não há runners para manter, nenhum segredo LINGO_API_KEY para guardar, nem comandos de lockfile para executar.

GitHub Actions#

Para executar a localização no seu próprio pipeline, instale a CLI num job e execute lingo push; depois, faça commit dos resultados ou abra um pull request com as ferramentas que já utiliza.

Guarde a sua chave API como um segredo do repositório com o nome LINGO_API_KEY (Settings > Secrets and variables > Actions). A CLI lê-a a partir 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

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

Abrir um pull request#

Para integrar traduções através de revisão, em vez de fazer commit diretamente, envie os resultados para uma branch e abra um pull request. Este exemplo usa a GitHub CLI, que vem pré-instalada nos runners alojados 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 feature branches — altere o filtro on.push.branches (por exemplo, branches-ignore: [main]) para controlar onde a localização corre.

Próximos passos#

GitHub App
Alternativa gerida — sem runner, segredo ou lockfile
Referência da CLI
Comandos, configuração e consumo 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