Prenons une chaîne bien réelle : le libellé de bouton « Connecter Search Console », mis en ligne un mardi après-midi lorsque nous avons ajouté une nouvelle étape à l'onboarding pour la configuration du domaine. Rien de particulier — une seule clé `data-i18n`, une phrase en anglais, le genre de modification qui part une dizaine de fois par semaine. Voici ce qui lui arrive réellement entre le commit et l'écran, dans l'ordre.
La chaîne, telle que validée
Le développeur écrit la clé anglaise à la main, comme toujours, et ajoute la traduction chinoise à la main juste à côté — ces deux-là ne sont jamais générées automatiquement, car ce sont celles que les locuteurs natifs de l'équipe lisent réellement et pour lesquelles ils détectent les écarts. Tout le reste de la chaîne est laissé tel quel. Aucun fichier de traduction pour le français ou le coréen n'est touché. Personne n'ouvre dix-huit autres fichiers JSON pour les synchroniser. C'est tout l'intérêt : le commit se limite aux deux langues qu'une personne a réellement rédigées.
Le registre dans lequel elle atterrit
La clé arrive dans une source unique de vérité que le backend et le frontend consultent tous les deux — un seul fichier qui connaît le code, le nom natif, les préfixes de locale du navigateur et le sens d'écriture pour chaque langue prise en charge. Il ne sait rien de « Connecter Search Console » en particulier ; il sait simplement que dès qu'apparaissent de nouvelles clés, vingt emplacements de langue attendent d'être remplis, dont dix-huit qui n'ont pas encore celle-ci.
L'exécution qui la récupère
La mise en ligne de la fonctionnalité est l'élément déclencheur. Personne ne crée de ticket pour « traduire la nouvelle étape d'onboarding ». Une passe de génération s'exécute sur le registre, compare chaque catalogue à la source anglaise, et complète exactement les chaînes manquantes — celle-ci comprise — en laissant intacte toute autre ligne de tout autre fichier. Si nous avions attendu que quelqu'un s'en souvienne, ce bouton afficherait encore « Connect Search Console » dans l'interface allemande dans un an, à côté de l'allemand partout ailleurs. C'est le mode de défaillance que tout ce pipeline a été conçu pour éviter : non pas de mauvaises traductions, mais des traductions qui ne se font jamais parce que rien n'a forcé la main.
Le seul mot livré volontairement non traduit
Voici la partie qui surprend les gens. Cette étape d'onboarding introduit aussi une nouvelle valeur de statut de domaine, et les valeurs de statut viennent de la base de données, pas d'une file d'attente de traducteur — elles sont localisées au moment de l'affichage, avec un repli en anglais intégré. Ainsi, pendant les quelques heures qui séparent la mise en ligne du code de la régénération des catalogues, un utilisateur francophone voit le mot anglais brut pour ce statut plutôt qu'un espace vide, une erreur, ou une trace de pile. C'est volontairement moins élégant qu'une traduction correcte, mais volontairement mieux qu'une panne.
Nous préférons livrer un manque honnête plutôt qu'une panne silencieuse.
Le sélecteur
Une fois les catalogues en place, rien ne change dans la façon dont l'utilisateur y accède. L'icône du globe reste dans la navigation sur chaque page publique — pas une préférence enfouie dans les paramètres du compte — et l'activer réaffiche la page en cours sur place. Si quelqu'un est en plein milieu de cette nouvelle étape d'onboarding lorsqu'il passe de l'anglais au vietnamien, le bouton change d'étiquette sous son curseur sans recharger la page ni lui faire perdre sa place dans le parcours. Ce détail a demandé plus de temps d'ingénierie que le pipeline de traduction lui-même, honnêtement, parce que « tout réafficher sans recharger » touche chaque composant à état de la page, pas seulement le texte statique.
L'agent qui n'a jamais vu le registre
Et voici la surprise : rien de tout ce mécanisme n'est ce qu'un utilisateur de cette étape d'onboarding remarque réellement. Ce qui se voit, c'est que l'assistant répond simplement dans la langue employée pour lui écrire — non pas parce qu'il aurait consulté le registre de chaînes, mais parce que c'est un modèle de langage qui répond du tac au tac, tout comme il le ferait avec une personne.
- Ouvrez l'assistant IA en pleine configuration et posez une question en vietnamien — il répond en vietnamien.
- Demandez au créateur de site de rédiger un plan en japonais — le plan revient en japonais.
- Demandez un rapport SEO en espagnol — le rapport est en espagnol de bout en bout.
Les chaînes de l'interface sont la machine à vingt catalogues décrite plus haut ; le résultat de l'agent est un mécanisme complètement différent aboutissant à la même expérience, et c'est celui qui donne au produit l'impression d'avoir été conçu spécialement pour vous plutôt que traduit après coup.



