Lingo.dev maintient vos traductions synchronisées avec votre code. À chaque modification, il détecte ce qui a changé, le traduit à l’aide de votre moteur de localisation connecté — avec les règles de glossaire, la voix de marque et la configuration du modèle par langue appliquées de manière cohérente — puis valide les résultats ou ouvre une pull request. Les traductions incomplètes n’arrivent jamais en production.
Choisissez votre intégration#
Chaque intégration dispose de son propre guide. Choisissez celle qui correspond à votre configuration :
| Intégration | Mode d’exécution |
|---|---|
| GitHub App | Une seule installation suffit. Lingo.dev exécute la localisation pour vous sur les pushes vers la branche par défaut, ainsi que sur les pull requests lorsque cette option est activée — sans runner, sans secret de clé API, sans lockfile. |
| GitHub Actions | Installe @lingo.dev/cli et exécute lingo push dans votre pipeline GitHub Actions, puis committe les résultats ou ouvre une PR. |
| GitLab CI/CD | Installe @lingo.dev/cli et exécute lingo push dans un job de pipeline GitLab. |
| Bitbucket Pipelines | Installe @lingo.dev/cli et exécute lingo push dans une étape de pipeline Bitbucket. |
L’application GitHub s’exécute sur les serveurs de Lingo.dev. Toutes les autres intégrations exécutent le Lingo.dev CLI — autrement dit, n’importe quel environnement CI/CD avec Node.js 22+ peut lancer la localisation directement, même sans intégration native.
Comment fonctionne GitHub App#
Installez l’application une seule fois et ajoutez un .lingo/config.json au dépôt. Ensuite, Lingo.dev exécute la localisation pour vous — sans pipeline, sans secret de clé API, sans lockfile :
- Surveille les modifications — réagit par défaut aux pushes sur la branche par défaut, ainsi qu’aux pull requests une fois
onPullRequestactivé, en comparant les fichiers modifiés aux motifs source que vous configurez - Traduit le delta — envoie le contenu source modifié au moteur désigné par
engineId - Réécrit les résultats dans GitHub — sur les pushes vers la branche par défaut, ouvre ou met à jour une pull request de traduction ; sur les pull requests, valide les fichiers traduits sur la branche de la PR et publie un commentaire de statut
- Récupère et regroupe — détecte les modifications manquées lors d’une exécution précédente et répartit les mises à jour très volumineuses sur plusieurs commits
Vous pouvez soumettre les exécutions à une étape d’approbation ou déclencher les traductions manuellement avec des commandes /lingo dans une pull request. Consultez le guide GitHub App pour la configuration complète.
Comment fonctionnent les intégrations CLI#
Les intégrations GitHub Actions, GitLab CI/CD et Bitbucket exécutent toutes le même Lingo.dev CLI comme étape dans votre pipeline existant. Elles nécessitent deux éléments : votre configuration .lingo/config.json et un LINGO_API_KEY pour l’authentification.
À chaque exécution, le job installe le CLI (npm install -g @lingo.dev/cli) et lance lingo push, ce qui permet de :
- Repère les fichiers source — lit votre configuration de bucket pour trouver le contenu à traduire
- Détecte les changements - compare avec le fichier de verrouillage
.lingo/lock.jsonpour repérer les chaînes nouvelles ou modifiées, afin que seul le delta soit traduit - Traduit — envoie le contenu modifié via votre moteur de localisation configuré, avec toutes les règles appliquées — glossaire, voix de marque, paramètres de modèle par langue
- Écrit les résultats - met à jour directement les fichiers de langue cibles et actualise
.lingo/lock.json
Votre pipeline valide ensuite les résultats ou ouvre une pull request avec les outils natifs de votre plateforme. Comme seules les chaînes modifiées sont traduites, les exécutions restent rapides et économiques, même sur des dizaines de langues.
Options de workflow#
GitHub App#
Le comportement de l’application se configure dans .lingo/config.json :
| Option | Fonction |
|---|---|
Push vers la branche par défaut (onPushToDefaultBranch) | Activé par défaut. Ouvre ou met à jour une PR de traduction lorsque des modifications source arrivent sur la branche par défaut. |
Traduction des pull requests (onPullRequest) | Désactivé par défaut. Valide les traductions sur la branche de la PR au fil des modifications de la PR. |
Étape d’approbation (requireApproval) | Désactivée par défaut. Exige une approbation ou un refus sur l’exécution de vérification, ou /lingo approve sur une PR, avant que les exécutions automatiques ne lancent la traduction. |
Commandes manuelles (/lingo translate) | Permet de compléter ou forcer les traductions pour des fichiers spécifiques depuis un commentaire sur une PR, à tout moment. |
Consultez le guide GitHub App pour la configuration complète et la référence des commandes.
CLI dans CI/CD (GitHub Actions, GitLab CI, Bitbucket)#
Quatre modèles de workflow couvrent la plupart des configurations d’équipe :
| Workflow | Déclencheur | Résultat |
|---|---|---|
| Commit sur main | Push vers main | Traductions validées directement sur main |
| PR depuis main | Push vers main | Pull request avec les traductions |
| Commit sur une branche de fonctionnalité | Push vers la branche de fonctionnalité | Traductions validées sur la branche |
| PR depuis une branche de fonctionnalité | Push vers la branche de fonctionnalité | Pull request depuis la branche |
La première option — commit sur main — est la plus simple. Les traductions arrivent automatiquement, sans aucune intervention des développeurs. Les options basées sur des PR ajoutent une étape de relecture avant l’intégration des traductions.
Pour savoir comment choisir entre ces options, consultez Modèles avancés.
