|
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

Localización continua

Lingo.dev mantiene las traducciones sincronizadas con tu código. En cada cambio, detecta qué contenido se modificó, lo traduce con tu motor de localización conectado —aplicando de forma consistente las reglas del glosario, la voz de marca y la configuración del modelo por idioma—, y hace commit de los resultados o abre un pull request. Las traducciones incompletas nunca llegan a producción.

Elige tu integración#

Cada integración tiene su propia guía. Elige la que mejor se adapte a tu configuración:

IntegraciónCómo se ejecuta
GitHub AppInstálala una sola vez. Lingo.dev ejecuta la localización por ti en los pushes a la rama predeterminada y, cuando lo habilitas, también en los pull requests; sin runner, sin secreto de API key y sin lockfile.
GitHub ActionsInstala @lingo.dev/cli y ejecuta lingo push en tu pipeline de GitHub Actions; luego hace commit de los resultados o abre un PR.
GitLab CI/CDInstala @lingo.dev/cli y ejecuta lingo push en un job de pipeline de GitLab.
Bitbucket PipelinesInstala @lingo.dev/cli y ejecuta lingo push en un paso del pipeline de Bitbucket.

La GitHub App se ejecuta en los servidores de Lingo.dev. Todas las demás integraciones ejecutan la Lingo.dev CLI, así que cualquier entorno de CI/CD con Node.js 22+ puede ejecutar la localización directamente, incluso sin una integración nativa.

Cómo funciona la GitHub App#

Instala la app una vez y agrega un .lingo/config.json al repositorio. A partir de ahí, Lingo.dev ejecuta la localización por ti, sin pipeline, sin secreto de API key y sin lockfile:

  1. Monitorea los cambios - responde a los pushes en la rama predeterminada desde el primer momento y a los pull requests una vez que habilitas onPullRequest, revisando los archivos modificados según los patrones de origen que configures
  2. Traduce el delta - envía el contenido de origen modificado a través del motor indicado por engineId
  3. Escribe los resultados de vuelta en GitHub - en los pushes a la rama predeterminada abre o actualiza un pull request de traducción; en los pull requests, hace commit de los archivos traducidos en la rama del PR y publica un comentario de estado
  4. Recupera y agrupa - detecta cambios que una ejecución anterior no alcanzó a procesar y divide actualizaciones muy grandes en múltiples commits

Puedes poner las ejecuciones detrás de un paso de aprobación o activar las traducciones manualmente con comandos /lingo en un pull request. Consulta la guía de GitHub App para ver la configuración completa.

Cómo funcionan las integraciones con CLI#

Las integraciones de GitHub Actions, GitLab CI/CD y Bitbucket ejecutan la misma Lingo.dev CLI como un paso dentro de tu pipeline actual. Necesitan dos cosas: tu configuración en .lingo/config.json y un LINGO_API_KEY para autenticarse.

En cada ejecución, el job instala la CLI (npm install -g @lingo.dev/cli) y ejecuta lingo push, que:

  1. Detecta los archivos de origen - lee tu configuración de bucket para encontrar contenido traducible
  2. Detecta cambios: compara con el archivo lock .lingo/lock.json para identificar cadenas nuevas o modificadas, de modo que solo se traduzca el delta
  3. Traduce - envía el contenido modificado a través de tu motor de localización configurado, con todas las reglas aplicadas: glosario, voz de marca y ajustes del modelo por idioma
  4. Escribe los resultados: actualiza los archivos del idioma de destino directamente y refresca .lingo/lock.json

Después, tu pipeline hace commit de los resultados o abre un pull request con las herramientas propias de tu plataforma. Como solo se traducen las cadenas modificadas, las ejecuciones son rápidas y rentables, incluso en docenas de idiomas.

Opciones de flujo de trabajo#

GitHub App#

El comportamiento de la App se configura en .lingo/config.json:

OpciónQué hace
Push a la rama predeterminada (onPushToDefaultBranch)Está habilitado de forma predeterminada. Abre o actualiza un PR de traducción cuando los cambios de origen llegan a la rama predeterminada.
Traducción en pull request (onPullRequest)Está deshabilitada de forma predeterminada. Hace commit de las traducciones en la rama del PR a medida que este cambia.
Paso de aprobación (requireApproval)Está deshabilitado de forma predeterminada. Requiere Approve/Deny en la ejecución de verificación, o /lingo approve en un PR, antes de que las ejecuciones automáticas traduzcan.
Comandos manuales (/lingo translate)Completa traducciones faltantes o fuerza traducciones para archivos específicos desde un comentario en el PR, en cualquier momento.

Consulta la guía de GitHub App para ver la configuración completa y la referencia de comandos.

CLI en CI/CD (GitHub Actions, GitLab CI, Bitbucket)#

Cuatro patrones de flujo de trabajo cubren la mayoría de las configuraciones de equipo:

Flujo de trabajoDisparadorResultado
Commit a mainPush a mainTraducciones enviadas directamente a main
PR desde mainPush a mainPull request con traducciones
Commit a la rama featurePush a la rama featureTraducciones enviadas a la rama
PR desde la rama featurePush a la rama featurePull request desde la rama

La primera opción —commit a main— es la más simple. Las traducciones aparecen automáticamente, sin intervención del equipo de desarrollo. Las opciones basadas en PR agregan un paso de revisión antes de que las traducciones se integren.

Para conocer más detalles sobre cómo elegir entre estas opciones, consulta Patrones avanzados.

Siguientes pasos#

GitHub App
Localización continua administrada: instala una vez y olvídate del pipeline
Configuración
Pon en marcha la Localización continua con la GitHub App o la CLI
GitHub Actions
Ejecuta la CLI en un pipeline de GitHub Actions
Patrones avanzados
Selección de flujo de trabajo, verificaciones de traducción y conflictos de merge

¿Te resultó útil esta página?

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