En Bitbucket, ejecuta @lingo.dev/cli dentro de un paso del pipeline: instálalo, ejecuta lingo push para traducir las cadenas de origen que hayan cambiado a través de tu motor y, después, haz commit de los resultados o abre una pull request con las herramientas nativas de Bitbucket.
Requisitos previos
Necesitas tener confirmado .lingo/config.json (con un engineId, idiomas de origen y destino, y patrones files) y guardar tu clave de API de Lingo.dev como una variable del repositorio. Consulta la guía de inicio rápido de la CLI para crear la configuración.
Autenticación#
La CLI se autentica con la variable de entorno LINGO_API_KEY. Añade tu clave como una variable del repositorio segura para que esté disponible en los pasos del pipeline:
Repository settings > Repository variables — añade LINGO_API_KEY y márcala como segura.
Para enviar commits o abrir pull requests de vuelta al repositorio, el pipeline también necesita acceso de escritura en Git. Las opciones habituales son una clave SSH del repositorio (Repository settings > SSH keys) o un token de acceso al repositorio con el alcance Read & write repositories (y pull requests, para el modo PR), guardado como variable del repositorio segura, por ejemplo BB_TOKEN.
Ejemplos de flujo de trabajo#
Commit directo (por defecto)#
Instala la CLI, ejecuta lingo push y haz commit de los archivos traducidos en la rama:
image: node:22
pipelines:
branches:
main:
- step:
name: Translate
script:
- npm install -g @lingo.dev/cli
- lingo push
- git config user.name "lingo-bot"
- git config user.email "support@lingo.dev"
- git add .
- git diff --cached --quiet || git commit -m "chore: update translations"
- git push origin HEAD:mainlingo push traduce solo lo que ha cambiado desde la última ejecución (registrado en .lingo/lock.json), espera a que finalice la ejecución y escribe los resultados en disco.
Modo pull request#
Envía las traducciones a una rama específica en lugar de hacer commit en main y, después, abre una pull request con las herramientas de Bitbucket:
image: node:22
pipelines:
branches:
main:
- step:
name: Translate
script:
- npm install -g @lingo.dev/cli
- lingo push
- git config user.name "lingo-bot"
- git config user.email "support@lingo.dev"
- git checkout -b lingo/translations
- git add .
- git diff --cached --quiet || git commit -m "feat: update translations"
- git push origin lingo/translations
# Open a PR from lingo/translations into main via the Bitbucket UI or APIMonorepo#
Ejecuta la CLI desde un subdirectorio cuando la configuración esté dentro de un espacio de trabajo. La CLI resuelve .lingo/config.json desde el directorio de trabajo:
image: node:22
pipelines:
branches:
main:
- step:
name: Translate
script:
- cd apps/web
- npm install -g @lingo.dev/cli
- lingo pushVariables del pipeline#
| Variable | Obligatorio | Descripción |
|---|---|---|
LINGO_API_KEY | Sí | Clave de API de Lingo.dev. Guárdala como una variable del repositorio segura. |
BB_TOKEN | Para acceso de escritura en push/PR | Token de acceso al repositorio (o clave SSH) que Git usa para hacer commit o abrir pull requests. |
Todo lo demás —idioma de origen, idiomas de destino, patrones de archivo y el motor por el que se enrutan— está en .lingo/config.json, no en las variables del pipeline.
Verifica antes de desplegar#
Añade un paso lingo check para que el pipeline falle si falta la traducción de alguna cadena de origen:
- step:
name: Check translations
script:
- npm install -g @lingo.dev/cli
- lingo check