|
Dokumentation
Demo buchenPlattform
PlattformMCPCLIAPIWorkflows
LeitfädenChangelog

Kontinuierliche Lokalisierung

  • So funktioniert's
  • Einrichtung

Plattformen

  • GitHub App
  • GitHub
  • GitLab CI/CD
  • Bitbucket Pipelines
  • Fortgeschrittene Muster

Fortgeschrittene Muster

Fortgeschrittene Muster für CI/CD-Lokalisierung – Workflow-Auswahl, Vollständigkeitsprüfungen für Übersetzungen und das Beheben von Merge-Konflikten.

Den passenden Workflow wählen#

Vier Workflow-Muster decken die meisten Team-Setups ab. Jedes bringt eigene Abwägungen bei Automatisierung, Prüfungsaufwand und Branch-Hygiene mit sich.

WorkflowAm besten geeignet fürTrade-off
Direkt in main committenKleine Teams, reibungslose UpdatesKein Prüfungsschritt für Übersetzungen
PR aus mainTeams, die Übersetzungen prüfen möchtenErfordert manuelle PR-Freigabe
Direkt in den Feature-Branch committenLanglebige Feature-BranchesÜbersetzungs-Commits im Branch-Verlauf
PR aus dem Feature-BranchMaximale Kontrolle pro FeatureMehrere PRs pro Feature müssen verwaltet werden

Auf GitHub übernimmt die Lingo.dev GitHub App die meisten dieser Muster serverseitig für dich: Sie reagiert auf Pushes und PRs, committet Übersetzungen zurück und benötigt weder Runner noch Secret. Greif zu den unten stehenden CLI-Mustern, wenn du die Lokalisierung in deiner eigenen Pipeline ausführst.

Wenn du unsicher bist, starte mit „Direkt in main committen“. Das ist der einfachste Workflow und verhindert Merge-Konflikte komplett, weil es keine auseinanderlaufenden Branches gibt.

Vollständigkeit von Übersetzungen prüfen#

Der Befehl lingo check prüft, ob alle Inhalte übersetzt sind, ohne neue Übersetzungen zu erzeugen. Fehlen Inhalte, wird er mit einem Statuscode ungleich null beendet:

bash
lingo check

Nutze das als Deployment-Gate, damit keine nicht übersetzten Inhalte ausgeliefert werden. Installiere die CLI mit npm install -g @lingo.dev/cli (Node 22+) und authentifiziere den Runner über die Umgebungsvariable 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 }}

Merge-Konflikte beheben#

Merge-Konflikte entstehen, wenn die Datei .lingo/lock.json zwischen Branches auseinanderläuft – typischerweise dann, wenn Übersetzungen in verschiedenen Branches unabhängig voneinander aktualisiert werden.

Vorbeugung#

Wenn du Übersetzungen direkt in main committest (statt dafür Feature-Branches zu verwenden), vermeidest du Konflikte in der Lockfile vollständig.

Behebung per Merge#

1

Merge starten

bash
git merge <branch-name>
2

Die konfliktbehaftete Lockfile löschen

bash
rm .lingo/lock.json
3

Merge abschließen

bash
git add .
git merge --continue
4

Lockfile neu generieren

bash
lingo push

Beim Ausführen von lingo push wird .lingo/lock.json im Rahmen der normalen Synchronisierung aus dem aktuellen Stand deiner Quelldateien neu erstellt.

Behebung per Rebase#

Der gleiche Ansatz funktioniert auch beim Rebase: Lösche .lingo/lock.json bei jedem Konfliktschritt, setze den Rebase fort und führe am Ende lingo push aus, um die Lockfile neu zu erzeugen:

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

Nächste Schritte#

GitHub App
Lokalisierung auf GitHub automatisieren – ganz ohne Runner
lingo push
Quellinhalte und Übersetzungen synchronisieren
So funktioniert's
Die CI/CD-Lokalisierungs-Pipeline
Einrichtung
CI/CD für dein Projekt konfigurieren

War diese Seite hilfreich?

Max PrilutskiyMax Prilutskiy·Aktualisiert vor 29 Tagen·3 Min. Lesezeit