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 | Exécute la CLI dans votre pipeline GitHub Actions via l’Action officielle. |
| GitLab CI/CD | Exécute la CLI dans les pipelines GitLab via l’image Docker officielle. |
| Bitbucket Pipelines | Exécute la CLI dans les pipelines Bitbucket via le Pipe officiel. |
À l’exception de GitHub App, chaque intégration exécute la CLI Lingo.dev. Autrement dit, tout environnement CI/CD avec Node.js 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 de pipeline#
GitHub Action, GitLab CI/CD, Bitbucket Pipelines et la CLI autonome exécutent tous la même CLI Lingo.dev comme étape de votre pipeline existant. Ils ont besoin de deux éléments : votre configuration i18n.json et une clé API.
À chaque exécution, l’intégration :
- Repère les fichiers source — lit votre configuration de bucket pour trouver le contenu à traduire
- Détecte les modifications — compare avec le lockfile
i18n.lockpour identifier les chaînes nouvelles ou modifiées, afin de ne traduire que le delta - 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 des langues cibles
- Valide ou ouvre une PR — selon le workflow choisi
Comme seules les chaînes modifiées sont traduites, les exécutions sont 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.
GitHub Action, GitLab CI, Bitbucket et CLI#
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.
