Lingo.dev propose deux façons d’exécuter la Localisation continue sur GitHub : la GitHub App gérée, ou l’exécution de @lingo.dev/cli dans un job GitHub Actions.
Lequel choisir ?
Commencez par la GitHub App : elle s’exécute côté serveur, réagit automatiquement aux pushes et aux pull requests, et ne nécessite ni runner, ni secret de clé API, ni gestion du lockfile. Préférez GitHub Actions si vous voulez exécuter la localisation dans votre propre pipeline, aux côtés d’autres étapes de CI.
GitHub App (recommandée)#
La GitHub App est la façon la plus simple d’exécuter la Localisation continue sur GitHub. Installez-la une fois, associez-la à un moteur, et elle réagit à chaque push et pull request.
- Installez l’application depuis la page GitHub App et accordez-lui l’accès à votre dépôt.
- Commitez un
.lingo/config.jsonà la racine du dépôt pour décrire vos buckets et vos langues, y compris laengineIddu moteur que l’application doit utiliser. Consultez Configuration pour le format du fichier. - Poussez vos modifications. L’application localise le contenu modifié côté serveur et commit les résultats en retour (ou ouvre une pull request), en maintenant
.lingo/lock.jsonautomatiquement à jour.
Comme l’application s’exécute côté serveur, il n’y a aucun runner à maintenir, aucun secret LINGO_API_KEY à stocker, ni aucune commande de lockfile à exécuter.
GitHub Actions#
Pour exécuter la localisation dans votre propre pipeline, installez le CLI dans un job et lancez lingo push, puis commitez les résultats ou ouvrez une pull request avec vos outils habituels.
Stockez votre clé API comme secret de dépôt nommé LINGO_API_KEY (Settings > Secrets and variables > Actions). Le CLI la lit depuis l’environnement.
Commit sur la branche actuelle#
Créez .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 pushCela localise le contenu modifié et commit les résultats directement sur la branche à chaque push.
Ouvrir une pull request#
Pour intégrer les traductions via une relecture plutôt qu’en les committant directement, poussez les résultats vers une branche, puis ouvrez une pull request. Cet exemple utilise la GitHub CLI, préinstallée sur les runners hébergés par GitHub :
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"Activez Settings > Actions > General > Allow GitHub Actions to create and approve pull requests pour les workflows basés sur des PR.
Le même job fonctionne sur les branches de fonctionnalité : modifiez le filtre on.push.branches (par exemple branches-ignore: [main]) pour définir où la localisation s’exécute.
