|
Documentación
Reservar 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: la GitHub App gestionada y la ejecución de @lingo.dev/cli dentro de un job de GitHub Actions.

¿Cuál debería usar?

Empieza por la GitHub App: se ejecuta en el servidor, reacciona automáticamente a los pushes y las pull requests, y no necesita runner, ningún secreto de API key ni gestionar el lockfile. Recurre a GitHub Actions cuando quieras que la localización se ejecute dentro de tu propio flujo de trabajo, junto con otros pasos de CI.

GitHub App (recomendada)#

La GitHub App es la forma más sencilla de ejecutar localización continua en GitHub. Instálala una vez, asígnale 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 .lingo/config.json en la raíz del repositorio que describa 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 en el servidor el contenido modificado y hace commit de los resultados de vuelta (o abre una pull request), manteniendo .lingo/lock.json actualizado automáticamente.

Como la app se ejecuta en el servidor, no hay ningún runner que mantener, ningún secreto LINGO_API_KEY que guardar ni ningún comando de lockfile que ejecutar.

GitHub Actions#

Si quieres ejecutar la localización en tu propio flujo de trabajo, instala la CLI en un job y ejecuta lingo push; después, haz commit de los resultados o abre una pull request con tus herramientas habituales.

Guarda tu API key como un secreto del repositorio llamado LINGO_API_KEY (Settings > Secrets and variables > Actions). La 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 una pull request#

Si prefieres que las traducciones pasen por revisión en lugar de confirmarlas directamente, haz push de los resultados a una rama y abre una 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 de funcionalidades: 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 gestionada: sin runner, secretos ni lockfile
Referencia de la CLI
Comandos, configuración y uso en CI
Patrones avanzados
Comprobaciones de localización, conflictos de fusión, selección del flujo de trabajo
GitLab CI/CD
Configura la integración con GitLab CI/CD

¿Te ha resultado útil esta página?

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