Die CLI hat keinen eigenen ci-Befehl. Für Lokalisierung in CI hast du zwei Möglichkeiten: Entweder übernimmt die Lingo.dev GitHub App das serverseitig für dich (auf GitHub empfohlen), oder du führst lingo push in deiner eigenen Pipeline aus und committest die Ergebnisse.
Option 1: GitHub App (empfohlen)#
Installiere die Lingo.dev GitHub App in deinem Repository. Verknüpfe sie mit einer eingecheckten .lingo/config.json (mit einer engineId), dann reagiert sie automatisch auf Pushes und Pull Requests: Sie erkennt geänderte Quelltexte, übersetzt sie über deine Engine und committet die Ergebnisse zurück in den Branch oder erstellt einen Pull Request. Kein Runner, kein API-Key-Secret und keine Lockfile, um die du dich kümmern musst.
Option 2: lingo push im eigenen Runner ausführen#
Jede CI-Umgebung mit Node.js 22+ kann die CLI direkt ausführen. Authentifiziere dich mit einem API-Schlüssel (als Secret gespeichert), pushe und committe die Ergebnisse.
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 übersetzt nur, was sich seit dem letzten Lauf geändert hat (nachverfolgt in .lingo/lock.json), wartet, bis der Lauf abgeschlossen ist, und schreibt die Ergebnisse. Wenn du statt direkt in den Branch zu committen lieber einen Pull Request öffnen möchtest, pushe die Änderungen in einen dedizierten Branch und erstelle den PR mit den Tools deiner Plattform (z. B. gh pr create).
Vor dem Deploy prüfen#
Füge vor deinem Build einen lingo check-Schritt hinzu, damit die Pipeline fehlschlägt, wenn für einen Quelltext noch eine Übersetzung fehlt:
lingo checkSiehe auch#
- GitHub App — verwaltete Kontinuierliche Lokalisierung, ganz ohne Runner oder Secret.
- lingo push — eingeschränkte Muster,
--backfill-missing, Wiederholungsverhalten. - Konfiguration —
.lingo/config.jsonund die Lockfile.
