|
Documentación
Agenda una demoPlataforma
PlataformaMCPCLIAPIFlujos de trabajo
GuíasRegistro de cambios

Localización continua

  • Cómo funciona
  • Configuración

Plataformas

  • App de GitHub
  • GitHub
  • GitLab CI/CD
  • Bitbucket Pipelines
  • Patrones avanzados

GitHub

Lingo.dev ofrece dos formas de ejecutar localización continua en GitHub: con la GitHub App administrada o ejecutando @lingo.dev/cli dentro de un job de GitHub Actions.

¿Cuál me conviene usar?

Empieza con la GitHub App: se ejecuta del lado del servidor, responde automáticamente a los pushes y pull requests, y no requiere runner, secreto de API key ni gestión del lockfile. Usa GitHub Actions cuando quieras que la localización corra dentro de tu propio pipeline, junto con otros pasos de CI.

GitHub App (recomendada)#

La GitHub App es la forma más fácil de ejecutar localización continua en GitHub. Instálala una vez, apúntala a un motor y reaccionará a cada push y pull request.

  1. Instala la app desde la página de la GitHub App y dale acceso a tu repositorio.
  2. Haz commit de un archivo .lingo/config.json en la raíz del repositorio donde describas tus buckets e idiomas, incluida la engineId del motor que debe usar la app. Consulta Configuration para ver el formato del archivo.
  3. Haz push. La app localiza del lado del servidor el contenido modificado y hace commit de los resultados de vuelta (o abre un pull request), manteniendo .lingo/lock.json actualizado automáticamente.

Como la app se ejecuta del lado del servidor, no hay runner que mantener, ni secreto de LINGO_API_KEY que guardar, ni comandos de lockfile que ejecutar.

GitHub Actions#

Para ejecutar la localización dentro de tu propio flujo de trabajo, instala el CLI en un job y ejecuta lingo push; luego haz commit de los resultados o abre un pull request con las herramientas que ya usas.

Guarda tu API key como un secreto del repositorio llamado LINGO_API_KEY (Settings > Secrets and variables > Actions). El CLI la lee desde el entorno.

Hacer commit en la rama actual#

Crea .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

Esto localiza el contenido modificado y hace commit de los resultados directamente en la rama con cada push.

Abrir un pull request#

Si prefieres integrar las traducciones mediante revisión en lugar de hacer commit directo, haz push de los resultados a una rama y abre un pull request. Este ejemplo usa la GitHub CLI, que viene preinstalada en los runners alojados por 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"

Activa Settings > Actions > General > Allow GitHub Actions to create and approve pull requests para los flujos de trabajo basados en PR.

El mismo job funciona en ramas feature: cambia el filtro on.push.branches (por ejemplo, branches-ignore: [main]) para controlar dónde se ejecuta la localización.

Siguientes pasos#

GitHub App
Alternativa administrada: sin runner, secret ni lockfile
Referencia de CLI
Comandos, configuración y uso en CI
Patrones avanzados
Checks de localización, conflictos de merge y selección del flujo de trabajo
GitLab CI/CD
Configura la integración con GitLab CI/CD

¿Te resultó útil esta página?

Max PrilutskiyMax Prilutskiy·Actualizado hace 23 días·3 min de lectura