|
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

Patrones avanzados

Patrones avanzados para la localización en CI/CD: elección del flujo de trabajo, comprobaciones de traducciones completas y resolución de conflictos de merge.

Cómo elegir un flujo de trabajo#

Estos cuatro patrones de flujo de trabajo cubren la mayoría de las configuraciones de equipo. Cada uno implica concesiones distintas en automatización, carga de revisión e higiene de ramas.

Flujo de trabajoIdeal paraInconveniente
Commit en mainEquipos pequeños y actualizaciones sin fricciónNo hay paso de revisión para las traducciones
PR desde mainEquipos que quieren revisar las traduccionesRequiere aprobar la PR manualmente
Commit en la rama de funcionalidadRamas de funcionalidad de larga duraciónCommits de traducción en el historial de la rama
PR desde la rama de funcionalidadMáximo control por funcionalidadHay que gestionar varias PR por funcionalidad

En GitHub, la Lingo.dev GitHub App se encarga de la mayoría de estos patrones por ti desde el servidor: reacciona a los pushes y las PR, vuelve a subir las traducciones con un commit y no necesita runner ni secretos. Recurre a los patrones de CLI que verás a continuación cuando la localización se ejecute dentro de tu propio pipeline.

Si no estás seguro, empieza con "Commit en main". Es el flujo de trabajo más sencillo y evita por completo los conflictos de merge, ya que no hay divergencia entre ramas.

Comprobar que las traducciones están completas#

El comando lingo check comprueba que todo el contenido esté traducido sin generar traducciones nuevas. Devuelve un código de salida distinto de cero si falta contenido:

bash
lingo check

Úsalo como puerta de despliegue para evitar publicar contenido sin traducir. Instala la CLI con npm install -g @lingo.dev/cli (Node 22+) y autentica el runner con una variable de entorno LINGO_API_KEY.

yaml
name: Check translations
on: [push, pull_request]
jobs:
  check:
    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 check
        env:
          LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}

Resolver conflictos de merge#

Los conflictos de merge aparecen cuando el archivo .lingo/lock.json diverge entre ramas, normalmente cuando las traducciones se actualizan de forma independiente en distintas ramas.

Prevención#

Hacer commit de las traducciones directamente en main (en lugar de usar ramas de funcionalidad para las traducciones) elimina por completo los conflictos del lockfile.

Resolución mediante merge#

1

Inicia el merge

bash
git merge <branch-name>
2

Elimina el lockfile en conflicto

bash
rm .lingo/lock.json
3

Completa el merge

bash
git add .
git merge --continue
4

Regenera el lockfile

bash
lingo push

Al ejecutar lingo push, se reconstruye .lingo/lock.json a partir del estado actual de tus archivos fuente como parte de la sincronización habitual.

Resolución mediante rebase#

El mismo enfoque también funciona con rebase: elimina .lingo/lock.json en cada paso del conflicto, continúa el rebase y, al final, ejecuta lingo push para regenerar el lockfile:

bash
git rebase <branch-name>
# On each conflict: rm .lingo/lock.json && git add . && git rebase --continue
lingo push

Siguientes pasos#

GitHub App
Automatiza la localización en GitHub sin necesidad de runner
lingo push
Sincroniza el contenido fuente y las traducciones
Cómo funciona
El pipeline de localización para CI/CD
Configuración
Configura CI/CD para tu proyecto

¿Te ha resultado útil esta página?

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