El CLI no tiene un comando ci específico. Para localizar en CI, tienes dos opciones: dejar que la Lingo.dev GitHub App lo haga del lado del servidor (recomendado en GitHub) o ejecutar lingo push en tu propio pipeline y hacer commit de los resultados.
Opción 1: GitHub App (recomendada)#
Instala la Lingo.dev GitHub App en tu repositorio. Configúrala para que apunte a un .lingo/config.json ya confirmado (con un engineId) y reaccionará automáticamente a los pushes y pull requests: detectará las cadenas fuente modificadas, las traducirá a través de tu motor y hará commit de los resultados en la rama o abrirá un pull request. Sin runner, sin secretos de clave de API y sin lockfile que administrar.
Opción 2: ejecuta lingo push en tu propio runner#
Cualquier entorno de CI con Node.js 22+ puede ejecutar el CLI directamente. Autentícate con una clave de API (guardada como secreto), haz push y haz commit de los resultados.
name: Translate
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
- run: npm install -g @lingo.dev/cli
- run: lingo push
env:
LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}
- name: Commit translations
run: |
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 pushlingo push traduce solo lo que cambió desde la última ejecución (registrado en .lingo/lock.json), espera a que la ejecución termine y escribe los resultados. Si quieres abrir un pull request en lugar de hacer commit directamente en la rama, haz push de los cambios a una rama dedicada y abre el PR con las herramientas de tu plataforma (por ejemplo, gh pr create).
Verifica antes de desplegar#
Agrega un paso de lingo check antes del build para que el pipeline falle cuando falte la traducción de alguna cadena fuente:
lingo checkVer también#
- GitHub App - Localización continua gestionada, sin runner ni secretos.
- lingo push - patrones acotados,
--backfill-missing, comportamiento de reintento. - Configuración -
.lingo/config.jsony el lockfile.
