Dans Bitbucket, exécutez @lingo.dev/cli dans une étape de pipeline : installez-le, lancez lingo push pour traduire les chaînes source modifiées via votre moteur, puis validez les résultats ou ouvrez une pull request avec les outils natifs de Bitbucket.
Prérequis
Vous avez besoin d’un fichier .lingo/config.json déjà validé (avec un engineId, les langues source et cibles, ainsi que des motifs files) et de votre clé API Lingo.dev enregistrée comme variable du dépôt. Consultez le guide de démarrage rapide du CLI pour créer la configuration.
Authentification#
Le CLI s’authentifie avec la variable d’environnement LINGO_API_KEY. Ajoutez votre clé comme variable du dépôt sécurisée pour la rendre disponible dans les étapes du pipeline :
Paramètres du dépôt > Variables du dépôt — ajoutez LINGO_API_KEY et marquez-la comme sécurisée.
Pour pousser des commits ou rouvrir des pull requests vers le dépôt, le pipeline a aussi besoin d’un accès Git en écriture. Les options standard sont une clé SSH du dépôt (Paramètres du dépôt > Clés SSH) ou un jeton d’accès au dépôt avec le scope Read & write repositories (et pull requests pour le mode PR), enregistré comme variable du dépôt sécurisée, par exemple BB_TOKEN.
Exemples de workflow#
Commit direct (par défaut)#
Installez le CLI, lancez lingo push, puis validez les fichiers traduits dans la branche :
image: node:22
pipelines:
branches:
main:
- step:
name: Translate
script:
- npm install -g @lingo.dev/cli
- lingo push
- 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 push origin HEAD:mainlingo push traduit uniquement ce qui a changé depuis la dernière exécution (suivi dans .lingo/lock.json), attend la fin de l’exécution, puis écrit les résultats sur le disque.
Mode pull request#
Poussez les traductions vers une branche dédiée au lieu de les valider dans main, puis ouvrez une pull request avec les outils de Bitbucket :
image: node:22
pipelines:
branches:
main:
- step:
name: Translate
script:
- npm install -g @lingo.dev/cli
- lingo push
- git config user.name "lingo-bot"
- git config user.email "support@lingo.dev"
- git checkout -b lingo/translations
- git add .
- git diff --cached --quiet || git commit -m "feat: update translations"
- git push origin lingo/translations
# Open a PR from lingo/translations into main via the Bitbucket UI or APIMonorepo#
Exécutez le CLI depuis un sous-répertoire lorsque votre configuration se trouve dans un espace de travail. Le CLI résout .lingo/config.json à partir du répertoire de travail :
image: node:22
pipelines:
branches:
main:
- step:
name: Translate
script:
- cd apps/web
- npm install -g @lingo.dev/cli
- lingo pushVariables du pipeline#
| Variable | Obligatoire | Description |
|---|---|---|
LINGO_API_KEY | Oui | Clé API Lingo.dev. À enregistrer comme variable du dépôt sécurisée. |
BB_TOKEN | Pour l’accès en écriture push/PR | Jeton d’accès au dépôt (ou clé SSH) utilisé par Git pour valider des changements ou ouvrir des pull requests. |
Tout le reste — langue source, langues cibles, motifs de fichiers et moteur à utiliser — se trouve dans .lingo/config.json, pas dans les variables du pipeline.
Vérifier avant le déploiement#
Ajoutez une étape lingo check pour faire échouer le pipeline dès qu’une chaîne source n’a pas de traduction :
- step:
name: Check translations
script:
- npm install -g @lingo.dev/cli
- lingo check