Lingo.dev unterstützt zwei Möglichkeiten für Kontinuierliche Lokalisierung auf GitHub: die verwaltete GitHub App oder @lingo.dev/cli in einem GitHub Actions-Job.
Welche Option soll ich verwenden?
Starten Sie am besten mit der GitHub App – sie läuft serverseitig, reagiert automatisch auf Pushes und Pull Requests und benötigt weder einen Runner noch ein API-Key-Secret oder Lockfile-Verwaltung. Greifen Sie zu GitHub Actions, wenn die Lokalisierung innerhalb Ihrer eigenen Pipeline zusammen mit weiteren CI-Schritten laufen soll.
GitHub App (empfohlen)#
Die GitHub App ist der einfachste Weg, Kontinuierliche Lokalisierung auf GitHub zu nutzen. Einmal installieren, mit einer Engine verknüpfen, und schon reagiert sie auf jeden Push und Pull Request.
- Installieren Sie die App über die GitHub App-Seite und gewähren Sie ihr Zugriff auf Ihr Repository.
- Committen Sie eine
.lingo/config.jsonim Stammverzeichnis des Repositorys, die Ihre Buckets und Sprachen beschreibt, einschließlich derengineIdder Engine, die die App verwenden soll. Informationen zum Dateiformat finden Sie unter Konfiguration. - Pushen Sie Ihre Änderungen. Die App lokalisiert geänderte Inhalte serverseitig und committet die Ergebnisse zurück (oder öffnet einen Pull Request), damit
.lingo/lock.jsonautomatisch aktuell bleibt.
Da die App serverseitig läuft, gibt es keinen Runner, den Sie warten müssen, kein LINGO_API_KEY-Secret, das Sie speichern müssen, und keinen Lockfile-Befehl, den Sie ausführen müssen.
GitHub Actions#
Wenn Sie die Lokalisierung in Ihrer eigenen Pipeline ausführen möchten, installieren Sie die CLI in einem Job und führen Sie lingo push aus. Committen Sie anschließend die Ergebnisse oder öffnen Sie mit Ihren vorhandenen Tools einen Pull Request.
Speichern Sie Ihren API-Schlüssel als Repository-Secret mit dem Namen LINGO_API_KEY (Settings > Secrets and variables > Actions). Die CLI liest ihn aus der Umgebung.
In den aktuellen Branch committen#
Erstelle .github/workflows/localize.yml:
name: Localize
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
- name: Install Lingo.dev CLI
run: npm install -g @lingo.dev/cli
- name: Localize
run: lingo push
env:
LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}
- name: Commit translations
run: |
git config user.name "Lingo.dev"
git config user.email "support@lingo.dev"
git add .
git diff --staged --quiet || git commit -m "feat: update translations"
git pushDamit werden geänderte Inhalte lokalisiert und die Ergebnisse bei jedem Push direkt in den Branch committet.
Einen Pull Request öffnen#
Wenn Übersetzungen per Prüfung statt per direktem Commit übernommen werden sollen, pushen Sie die Ergebnisse in einen Branch und öffnen Sie einen Pull Request. Dieses Beispiel verwendet die GitHub CLI, die auf GitHub-gehosteten Runnern vorinstalliert ist:
name: Localize
on:
push:
branches: [main]
permissions:
contents: write
pull-requests: write
jobs:
localize:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- name: Install Lingo.dev CLI
run: npm install -g @lingo.dev/cli
- name: Localize
run: lingo push
env:
LINGO_API_KEY: ${{ secrets.LINGO_API_KEY }}
- name: Open pull request
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config user.name "Lingo.dev"
git config user.email "support@lingo.dev"
branch="lingo/translations-${{ github.run_id }}"
git checkout -b "$branch"
git add .
git diff --staged --quiet && exit 0
git commit -m "feat: update translations"
git push origin "$branch"
gh pr create --fill --base "${{ github.ref_name }}" --head "$branch"Aktiviere für PR-basierte Workflows Settings > Actions > General > Allow GitHub Actions to create and approve pull requests.
Derselbe Job funktioniert auch auf Feature-Branches – ändern Sie den Filter on.push.branches (zum Beispiel branches-ignore: [main]), um festzulegen, wo die Lokalisierung ausgeführt wird.
