Passer au contenu

L’analytique facultative, l’enregistrement des sessions et la publicité restent désactivés sauf si vous acceptez. Vous pouvez les refuser et utiliser Transglot. Modifiez votre choix à tout moment dans Préférences des témoins. Politique relative aux témoins

pour les équipes qui fusionnent chaque jour

Localisation continue : chaque langue, à chaque fusion.

La localisation continue traduit les chaînes nouvelles et modifiées au fur et à mesure que votre code évolue, plutôt que lors d’une phase distincte avant chaque version. Chaque langue reste prête à être publiée avec le code qui en a besoin.

Une simulation des deux modes de travail, pas une mesure. Appuyez sur Fusionner une modification et lisez la colonne de droite : c’est ce que voient les utilisateurs de cette langue.
acme / web
mainAdd a gift cardcheckout.gift_card
frAjouter une carte cadeautraduit
deGeschenkkarte hinzufügentraduit
jaギフトカードを追加traduit
arأضف بطاقة هديةtraduit
pt-BRAdicionar vale-presentetraduit
Langues que vous pourriez publier maintenant5 sur 5
Chaînes en retard par rapport à mainaucun
la réponse courte

Qu’est-ce que la localisation continue?

La localisation continue est un mode de travail où les chaînes nouvelles et modifiées sont envoyées en traduction automatiquement dès qu’elles changent, et le texte traduit revient dans le produit sans planification humaine.

Il n’y a pas de phase de traduction, car la traduction ne s’arrête jamais. Un développeur fusionne une chaîne, les traductions suivent dans le même flux que le code, et une publication n’attend pas le fichier de quelqu’un.

C’est la moitié « localisation » de la livraison continue. Une équipe qui fusionne chaque jour et transfère la traduction toutes les quelques semaines a des langues en retard sur son code pendant la majeure partie du mois. La localisation continue réduit cet écart à la durée d’une exécution.

Cela ne signifie pas que le contenu généré par machine est publié sans relecture. Vous décidez quelles chaînes nécessitent l’intervention d’une personne, et une publication peut ne contenir que ce qui a été révisé.

localisation continue vs traditionnelle

La différence réside dans le moment où la traduction a lieu, et non dans qui la fait.

Les traducteurs, les réviseurs et les glossaires sont présents dans les deux colonnes. Ce qui change, c’est le moment où le travail commence et la taille de chaque élément.
Côte à côte
Moment de la traduction
Durant une phase précédant chaque version
Déclencheur
Quelqu’un exporte un fichier
Taille de chaque élément
Des semaines de chaînes en une fois
Ce qu’attend une version
Le retour du fichier
Une modification tardive du texte
Un autre aller-retour
Contexte de travail du traducteur
Une feuille de calcul de chaînes
Langues au lancement
Échelonnées, une vague après l’autre
une chaîne, du début à la fin

Fonctionnement de la localisation continue

Suivez une nouvelle chaîne tout au long du cycle. Chaque étape montre ce que vous verriez réellement.

votre terminal, ou votre journal CI
+ "checkout.gift_card": "Add a {brand} gift card"
$ git push origin main
$ transglot push --wait
push locales/en.json (en, json_nested)
Batch: #4182
$ transglot pull
written locales/fr.json
written locales/ja.json
checkout.gift_card
sourceAdd a {brand} gift card
frAjouter une carte cadeau {brand}Ébauche Glossa
de{brand}-Geschenkkarte hinzufügendepuis la mémoire, 0 mot
ja{brand} ギフトカードを追加Ébauche Glossa
arأضف بطاقة هدية {brand}Ébauche Glossa
les quatre contrôles, une exécution
Espaces réservés1 corrigé
Formes pluriellesréussi
Termes du glossaireréussi
Duréeréussi
ja · marqueur perdu, corrigé une fois, revérifiéギフトカードを追加{brand} ギフトカードを追加
cart.save
source modifiéeSave Save draft
frEnregistrerrévisé par une personne : conservé, signalé à vousSuggestion : Enregistrer le brouillon
deEntwurf speichernligne automatique : traduite à nouveau
demande d’extractionmis à jour sur place
Mettre à jour les traductionstransglot/sync → mainouverte, une par dépôt
locales/fr.json+3 −1
locales/de.json+3 −1
locales/ja.json+3 −1
ou, sur une demande de tirage sur GitHub, commentez/translate

La modification parvient à Transglot via l’interface de ligne de commande, l’action GitHub ou l’application sur votre hébergeur Git. Les fichiers sources sont analysés dans l’un des 20 formats natifs, et chaque chaîne est comparée à ce que le projet contient déjà. Seules les chaînes nouvelles et modifiées sont traitées.

Une correspondance exacte issue de la mémoire de traduction remplit la ligne sans compter de mots. Le reste est envoyé à Glossa avec votre glossaire, votre guide de style et le contexte de cette clé.

Les marqueurs, les formes plurielles, les termes du glossaire et la longueur sont vérifiés pour chaque ligne à chaque exécution. Un marqueur brisé, une forme plurielle manquante ou un terme de glossaire interdit est corrigé une fois et revérifié; s’il échoue une seconde fois, il est refusé et non livré. Une ligne qui dépasse seulement sa limite de longueur est écrite, et à partir du forfait Équipe, l’approbation automatique ou une exécution d’assurance qualité la signale pour révision.

Une exécution n’écrase jamais une ligne qu’une personne a modifiée ou révisée. Si sa source change plus tard, le texte reste, l’exécution compte la ligne et vous en informe, et à partir du forfait Équipe, une mise à jour suggérée attend à côté pour qu’une personne l’accepte.

Les applications Git valident les fichiers de locale dans une branche de synchronisation et maintiennent une demande de tirage à jour. Sur GitHub, commentez /translate sur une demande de tirage et les fichiers atterrissent sur la branche propre à cette demande de tirage. Ou publiez sur le CDN, et le produit en cours de lecture intègre la modification sans aucune nouvelle version.

où les équipes se brûlent

Six façons dont la localisation continue échoue, et ce qui arrête chacune

Une exécution écrase le travail d’une personne

Chaque rédacteur vérifie d’abord l’état de la ligne : une exécution, une correspondance en mémoire et un envoi. Une ligne modifiée ou révisée par une personne est conservée, et l’exécution le signale.

fr, révisé, source vient de changer

conservé, comptabilisé, signalé

Une chaîne brisée atteint la production

Chaque jeton entré doit ressortir. Sur un projet ICU, un message qui provoquerait une erreur au moment du rendu est exclu de la demande d’intégration, du connecteur et du lot CDN, et l’exécution le nomme.

{count, plural, one {# article}

exclu du fichier, nommé dans l’exécution

Le dépôt se remplit de demandes d’intégration automatisées

Une branche de synchronisation et une demande d’intégration par dépôt. Deux envois rapides convergent vers celle-ci au lieu d’en ouvrir une seconde.

#812 #815 #819 #823 mise à jour l10n

#812 transglot/sync, mis à jour sur place

Une modification de la source laisse les anciennes traductions derrière

Chaque ligne cible enregistre la source pour laquelle elle a été rédigée, ainsi une chaîne modifiée est identifiée comme obsolète dans toutes les langues simultanément, et seule cette clé est traitée à nouveau.

Save est devenu Save draft. fr, de, ja indiquent toujours Save

fr, de, ja traités à nouveau pour cette clé unique

Chaque exécution facture à nouveau l’ensemble du projet

Une exécution est dimensionnée selon ce qui a changé. Une chaîne inchangée n’est pas envoyée, une correspondance exacte en mémoire ne coûte aucun mot, et une ligne attribuée à une personne est refusée avant toute dépense.

le fichier contient 48 000 mots

cette exécution : 60 mots

Une demande d’intégration inachevée efface un fichier de locale

Si le serveur ne signale aucune entrée pour une locale, la demande d’intégration refuse d’écraser un fichier contenant du contenu et quitte avec le code 1 afin que le pipeline s’arrête là.

demande d’intégration : 0 entrée pour ja, le fichier contient 1 204 éléments

refus d’écraser locales/ja.json avec un lot vide

  • run 4182 fr : espace réservé manquant dans l’ébauche, réparé lors de la nouvelle tentative
  • run 4182 de : 3 lignes conservées, une personne en est responsable
  • run 4182 ja : 41 lignes issues de la mémoire, 0 mot
  • run 4183 ar : forme plurielle manquante après nouvelle tentative, ligne refusée
  • pull écrit locales/pt-BR.json
  • sync transglot/sync mis à jour, demande d’intégration #812
mesuré par rapport aux deux que vous comparez

Les trois se connectent à votre dépôt. La différence réside dans ce qui se produit lors de la fusion.

Lecture effectuée à partir des pages officielles de chaque entreprise le 5 novembre 2026. La ligne de prix provient de nos pages de comparaison, liées ci-dessous, qui présentent le forfait et les calculs. Les prix et les forfaits évoluant, vérifiez-les avant de prendre votre décision.

Transglot
Une nouvelle chaîne est fusionnée
Traduit par défaut
Le push déclenche l’exécution. Un paramètre du projet permet de la désactiver.
Une traduction échoue à une vérification
Corrigé une fois, puis refusé
Pour un marqueur de position, une forme plurielle ou un terme interdit défectueux, sur chaque ligne de chaque exécution. Un dépassement de longueur est consigné. Dans un projet ICU, une ligne défectueuse est exclue de la demande d’extraction (pull), des connecteurs et du CDN.
Une personne a déjà modifié la ligne
L’exécution refuse de l’écrire
Il en va de même pour une correspondance en mémoire et un push. Si la source change ultérieurement, l’exécution signale la ligne.
Demandes d’extraction (pull requests) sur un dépôt très actif
Une branche, une demande d’extraction (pull request)
Mis à jour sur place à chaque push.
Ce que le forfait compte
Mots traduits, une fois par langue
Les correspondances exactes en mémoire sont gratuites. Le stockage d’une chaîne est gratuit.
Ce qui finance l’IA
Les mots du forfait
Aucune facturation séparée.
Le même travail : 5,000 chaînes dans 10 langues
$39 par mois
Team, traduction incluse
GitHub, GitLab, Bitbucket, Azure Repos, une CLI et un serveur MCP
Tous
Les applications Git débutent au niveau Équipe et couvrent les éditions cloud.
utilisez ce que vous exécutez déjà

Lancez-le depuis l’endroit où vivent vos chaînes. Toutes les portes mènent au même pipeline.

La même mémoire, le même glossaire, les mêmes barrières et le même examen, peu importe la porte par laquelle une chaîne est passée.
.github/workflows/translations.yml
on:
push:
branches: [main]
jobs:
translations:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v7
- uses: transglot/transglot-action@v1
with:
token: ${{ secrets.TRANSGLOT_TOKEN }}
quoi faire en premier

Comment configurer la localisation continue

  1. Extraire les chaînes du code

    Chaque chaîne visible par l’utilisateur doit avoir une clé stable dans un fichier de locale. Transglot lit 20 formats, alors gardez celui que vous avez.

  2. Connecter le dépôt

    La commande init trouve vos fichiers de locale, vous connecte via le navigateur, télécharge ce que vous avez déjà et lance la première traduction.

  3. L’exécuter à chaque fusion

    Ajoutez l’action GitHub, appelez la CLI depuis n’importe quel autre CI, ou installez l’application pour GitHub, GitLab, Bitbucket ou Azure Repos.

  4. Décider ce qui nécessite une intervention humaine

    Définissez min_state à reviewed sur une règle de pull et ce fichier ne contiendra que les chaînes qu’une personne a révisées. Laissez-le désactivé et les brouillons seront déployés.

faites les calculs avec vos propres chiffres

Ce que coûte l’exécution à chaque fusion : les mots qui ont changé.

Un mot est un mot source, compté une fois par langue cible. Une exécution est dimensionnée selon ce qui a changé, donc une fusion qui touche douze mots dans cinq langues compte soixante, quelle que soit la taille du projet.

25
40
6
20,000
Mots par mois26,000sur ces chiffres · 25 fusions par semaine, 40 mots chacune, 6 langues

Tient dans Starter : $19/mo, 300,000 mots par mois.

Cela représente environ 9% de l’allocation.

Première exécution, une fois120,000Vos chaînes existantes dans chaque langue. Les traductions que vous importez ne sont pas traduites à nouveau.

Cela ne compte que la traduction. Les contrôles de qualité, les ébauches de ton de marque et les corrections comptent également comme des mots, tandis que les correspondances exactes issues de la mémoire de traduction sont gratuites. L’interface en ligne de commande (CLI) et l’action GitHub débutent au niveau Starter, et les applications pour GitHub, GitLab, Bitbucket et Azure Repos débutent au niveau Team.

ce qu’elle ne fera pas pour vous

Trois problèmes que la localisation continue ne résout pas

Chaînes toujours intégrées au code

Un pipeline ne peut traduire que ce qu’il peut lire. Les chaînes codées en dur et les phrases assemblées à partir de fragments doivent d’abord être corrigées; c’est souvent la raison pour laquelle un déploiement est bloqué.

Personne ne possède la responsabilité des textes

L’automatisation déplace les chaînes. Elle ne décide pas de la terminologie de votre produit. Quelqu’un doit être responsable du glossaire, sinon une langue peu consultée peut dériver sans que personne ne s’en aperçoive.

Textes nécessitant un jugement humain

Les textes juridiques, les prix et les slogans de marque méritent l’intervention d’une personne. Envoyez-les pour révision et excluez-les des fichiers livrés jusqu’à ce qu’ils soient approuvés.

FAQ sur la localisation continue

Les questions que se posent les équipes avant de l’activer.

Qu’est-ce que la localisation continue?
Une méthode de travail où les nouvelles chaînes et les modifications sont envoyées automatiquement à la traduction dès qu’elles changent, et le texte traduit revient dans le produit sans remise planifiée. Elle remplace la phase de traduction précédant une version par une petite exécution après chaque modification.
La localisation traditionnelle regroupe les chaînes dans un fichier, l’envoie près d’une version et attend. La localisation continue traite chaque modification au fur et à mesure, de sorte que les éléments sont petits, les langues sont lancées simultanément et une modification tardive du texte entraîne seulement la réexécution d’une clé plutôt qu’un autre aller-retour.
Non. Le CI/CD compile, teste et déploie le code. La localisation continue maintient les traductions en mouvement parallèlement. Elles se rencontrent dans le pipeline : le push qui exécute vos tests peut aussi envoyer les chaînes pour traduction et rapatrier les fichiers.
Non. Les applications pour GitHub, GitLab, Bitbucket et Azure Repos réagissent à un push sans rien ajouter à votre pipeline, et les connecteurs de contenu réagissent aux changements dans un CMS ou une boutique. L’interface en ligne de commande (CLI) et l’action GitHub sont là si vous souhaitez l’intégrer à votre propre flux de travail.
Non. Les ébauches peuvent être livrées, ou une règle d’extraction peut ne transporter que ce qu’une personne a révisé, fichier par fichier. Les réviseurs travaillent dans l’éditeur avec les termes du glossaire, les correspondances de la mémoire de traduction et les captures d’écran à côté de chaque ligne.
Non. Une exécution, une correspondance de mémoire et un push vérifient d’abord la ligne, et une ligne modifiée ou révisée par une personne est préservée. Si sa source change plus tard, le texte reste, l’exécution compte la ligne et la signale, et à partir du plan Team, une mise à jour suggérée est jointe pour approbation.
Elle importe surtout pour une petite équipe, car personne n’a pour tâche de gérer les remises. Si vous livrez dans une seule langue sans prévoir une seconde, cela peut attendre.
La taille d’une exécution est estimée avant son démarrage. L’offre gratuite impose un plafond strict. Un plan payant s’arrête à son allocation sauf si vous activez le dépassement mesuré, qui s’arrête à un plafond de dépenses que vous définissez. Dans le CI, l’interface en ligne de commande (CLI) se termine avec le code 3 lorsqu’une exécution dépasserait la limite, permettant ainsi au pipeline d’agir en conséquence.
Oui, sur GitLab.com, Bitbucket Cloud et Azure DevOps Services. Les applications ne couvrent pas GitLab auto-hébergé ni Bitbucket Data Center, mais l’interface en ligne de commande (CLI) s’exécute dans tout CI disposant de Node 22 et pouvant atteindre l’API.
Oui. Les connecteurs de contenu lisent les données d’un CMS, d’une boutique ou d’un centre d’aide, et ceux qui fonctionnent dans les deux sens réécrivent la langue révisée. Certains sont en importation seulement, et la page de chaque connecteur précise lesquels.
Oui. Publiez une langue sur le CDN et votre produit la lira au moment de l’exécution grâce aux SDK d’exécution. L’URL la plus récente est mise en cache pendant soixante secondes, chaque version publiée conserve sa propre URL et les vingt dernières versions sont conservées.
L’outil d’importation transfère les projets, les clés et les traductions existantes depuis Lokalise, Phrase, Crowdin, Transifex, Weblate and POEditor. Les traductions importées sont considérées comme un travail humain, donc aucune exécution ne les écrasera. C’est gratuit sur tous les forfaits et cela s’exécute une seule fois.