La traduction locale signifie que le modèle qui convertit un mot d'une langue à l'autre tourne dans votre propre navigateur, sur votre propre appareil, si bien que le texte traduit n'est jamais transmis nulle part. Pour les extensions d'apprentissage des langues, c'est une nouveauté. L'API Translator intégrée à Chrome est devenue disponible en version stable avec Chrome 138, et avant cela, une extension qui voulait traduire ce que vous lisiez n'avait essentiellement qu'une option : l'envoyer à un serveur et attendre que la réponse revienne.
Cette distinction est invisible de l'extérieur. Deux extensions peuvent afficher le même mot surligné sur la même page tout en faisant des choses complètement différentes de votre historique de lecture. Cet article explique ce qui diffère réellement, pourquoi cela mérite votre attention, et comment vérifier par vous-même plutôt que de croire quiconque sur parole.
Ce qu'une extension doit faire pour traduire une page#
Toute extension qui modifie les mots affichés sur une page a besoin d'accéder à cette page. Il n'existe aucun moyen détourné d'y échapper. Pour remplacer window par ventana, elle doit lire le DOM, repérer les nœuds de texte, décider lesquels toucher, puis les réécrire. Cette exigence est la même pour un lecteur à traduction au clic, un outil de sous-titres, un dictionnaire contextuel, et une extension de substitution de mots. Les cinq catégories sont détaillées dans les cinq vrais types d'extensions pour apprendre une langue, et chacune d'elles a besoin de voir la page.
Donc « cette extension peut lire les pages que je visite » n'est pas un signal d'alarme en soi. C'est le prix à payer pour toute la catégorie. La vraie question est la suivante.
Où va le texte ensuite#
Si le modèle de traduction vit sur un serveur, l'extension doit lui envoyer votre texte. En pratique, ce qui arrive sur ce serveur dépasse largement un seul mot. C'est généralement un fragment de la phrase environnante pour le contexte, souvent l'URL de la page, un horodatage, une adresse IP, et l'identifiant de compte qui relie la requête à vous. Au bout de quelques mois de navigation ordinaire, cela s'accumule en un registre en clair d'une part significative de ce que vous lisez, et à quel moment.
La majeure partie de votre lecture est banale et ne regarde personne, ce qui est précisément le problème : c'est cette masse banale qui rend lisibles les parties qui ne le sont pas. Un historique de lecture contient des recherches d'emploi, des consultations de symptômes médicaux, des questions juridiques, des soucis financiers, des conseils sur la vie amoureuse, et des messages à moitié rédigés. Personne ne décide de livrer tout cela. On installe un outil de vocabulaire.
Rien de tout cela ne rend la traduction côté serveur illégitime. Le bouton de traduction intégrale du navigateur a fonctionné ainsi pendant des années. Les modèles dans le cloud gèrent bien plus de langues, tournent sur n'importe quel navigateur et n'importe quel appareil, téléphones compris, et ne dépendent pas du matériel de l'utilisateur. Une petite équipe sans option locale disponible faisait un choix entièrement raisonnable. Le problème n'a jamais été ce choix, mais le fait que les utilisateurs n'avaient aucun moyen de voir lequel avait été fait à leur place.
Ce que « en local » veut vraiment dire#
« En local » signifie que l'inférence se déroule sur votre appareil. L'extension demande au navigateur de traduire une chaîne de caractères ; le navigateur fait tourner un modèle de traduction déjà téléchargé sur votre disque ; le résultat revient sans aller-retour réseau. Une fois le pack linguistique présent, vous pouvez couper le Wi-Fi et cela continue de fonctionner. C'est le signe qui ne trompe pas, et c'est la seule affirmation de tout ce domaine que vous pouvez vérifier en cinq secondes.
Deux choses méritent d'être distinguées, parce qu'on les confond sans cesse :
- L'inférence locale signifie que le texte de la page n'est pas transmis pour être traduit.
- L'absence de télémétrie signifie que l'extension ne transmet rien d'autre non plus.
Une extension peut remplir la première condition et échouer sur la seconde. Une traduction locale assortie d'un SDK d'analytics qui signale chaque page où vous l'avez activée n'a rien de privé, au sens où une personne normale entend ce mot. Les deux doivent être vraies, et elles se vérifient séparément.
En local et côté serveur, côte à côte#
| En local (modèle intégré au navigateur) | Côté serveur (API dans le cloud) | |
|---|---|---|
| Où va le texte de la page | Reste sur votre appareil | Envoyé au fournisseur, plus les tiers qu'il utilise |
| Ce qu'une fuite ou une réquisition judiciaire pourrait exposer | Rien sur ce que vous lisez | Un journal du texte lu, et à quel moment |
| Première utilisation | Téléchargement ponctuel du pack linguistique | Rien à configurer |
| Latence | Locale, sans aller-retour | Aller-retour réseau à chaque requête |
| Fonctionne hors ligne | Oui, une fois le téléchargement fait | Non |
| Couverture linguistique | Limitée à ce que le navigateur prend en charge | Généralement 50 à plus de 130 langues |
| Prise en charge navigateur | Chrome et navigateurs Chromium de bureau, versions récentes | N'importe quel navigateur, n'importe quelle plateforme |
| Mobile | Non disponible | Fonctionne partout où les extensions existent |
| Plafond de qualité | Petit modèle, optimisé pour la vitesse et la taille | Grands modèles, généralement plus solides sur les textes longs |
| Coût pour le développeur | Nul par traduction | Facturation API au caractère, ce qui explique les plafonds d'usage |
La dernière ligne explique plus de comportements produit que toutes les autres réunies. Les extensions avec des limites mensuelles de traduction, des listes d'attente, ou une offre payante qui débloque un usage « illimité », cachent presque toujours une facture au caractère. La traduction locale supprime cette facture, ce qui explique pourquoi un outil qui traduit en local peut être illimité et gratuit sans que ce soit suspect.
Comment vérifier n'importe quelle extension par vous-même#
Vous n'avez pas besoin de croire une affirmation sur la vie privée, y compris celle de cet article. Le code d'une extension arrive sur votre ordinateur sous une forme lisible, et le navigateur vous donne les outils pour l'observer en action. Cinq vérifications, à peu près dans l'ordre de l'effort :
- Lisez la liste des permissions avant d'installer. Chrome l'indique clairement sur la fiche du store, puis à nouveau dans l'invite d'installation. « Lire et modifier toutes vos données sur tous les sites » est un accès large et permanent. « Lire et modifier vos données sur [un site] » est circonscrit. Une extension qui utilise
activeTabn'affiche aucun avertissement d'hôte à l'installation et n'obtient l'accès que lorsque vous cliquez dessus. Une extension qui demande un accès large au moment de l'exécution, quand vous activez une fonctionnalité pour la première fois, fait les choses correctement : vous pouvez refuser et garder le reste. - Consultez l'onglet des pratiques de confidentialité du Chrome Web Store. Les développeurs doivent déclarer les données que l'extension collecte et certifier leur usage. Une déclaration n'est pas une preuve, mais un décalage entre la déclaration et le discours marketing est un vrai signal, et une fausse déclaration est une violation des règles qui laisse une trace écrite.
- Observez le trafic réseau. C'est la vérification décisive, avec un piège qui trompe beaucoup de monde. Les requêtes émises par un content script apparaissent en général dans le panneau Network des DevTools de la page elle-même, mais les requêtes émises par le service worker en arrière-plan de l'extension n'y apparaissent pas. Allez sur
chrome://extensions, activez le mode développeur, et cliquez sur le lien « service worker » sous l'extension pour ouvrir une fenêtre DevTools dédiée à l'extension elle-même. C'est son onglet Network qui contient le trafic intéressant. Pour une capture complète qui ne rate rien, utilisezchrome://net-exportafin d'enregistrer toute l'activité réseau dans un fichier pendant que vous reproduisez le comportement, puis lisez le journal dans le visualiseur NetLog. - Cherchez des traces d'analytics dans le code. Les extensions s'installent non compressées dans le répertoire de profil de votre navigateur, et vous pouvez lire les fichiers. Faites un grep pour
google-analytics,googletagmanager,mixpanel,segment,amplitude,posthog,sentry. Lisez aussimanifest.jsonet regardezhost_permissionsainsi que tout hôte distant listé. Le code embarqué est souvent minifié, mais les chaînes de domaine survivent intactes à la minification. - Coupez le réseau. Chargez une page, déconnectez-vous, puis utilisez la fonctionnalité sur un texte qu'elle n'a encore jamais vu. Une traduction réellement locale continue de fonctionner. Une traduction côté serveur échoue ou reste bloquée. Utilisez un texte inédit, car un résultat mis en cache réussirait un test qu'il aurait dû rater.
| Vérification | Où la faire | À quoi ressemble une extension qui traduit en local |
|---|---|---|
| Permissions | Invite d'installation, chrome://extensions | Étroites par défaut, accès large demandé seulement à l'activation de la fonctionnalité |
| Déclaration du store | Onglet des pratiques de confidentialité de la fiche | Déclare peu ou pas de collecte de données, cohérente avec la description |
| Trafic du service worker | chrome://extensions → « service worker » → Network | Du trafic seulement quand vous sauvegardez ou vous connectez délibérément |
| Journal réseau complet | chrome://net-export | Pas de bavardage constant en arrière-plan pendant la lecture |
| Contenu du bundle | Dossier des extensions du profil | Aucun domaine d'analytics, aucun hôte de traduction tiers |
| Test hors ligne | Mode avion, texte inédit | Continue de fonctionner |
Ce que « en local » vous coûte réellement#
Être honnête là-dessus est tout l'intérêt de cet article. La traduction locale n'est pas strictement meilleure ; c'est un compromis, avec une vraie facture à la clé.
Ordinateur de bureau uniquement. Le traducteur intégré de Chrome est une fonctionnalité de bureau, et les extensions existent à peine sur mobile de toute façon. Si l'essentiel de votre lecture se fait sur téléphone, toute cette approche vous est inaccessible, et une application mobile appuyée sur un serveur est le meilleur outil.
Un plancher de version. Chrome 138 ou plus récent. Quiconque utilise une version plus ancienne, un poste de travail professionnel verrouillé, ou un fork de Chromium en retard sur le projet principal, n'obtient rien du tout.
Un téléchargement. La première fois que vous utilisez une paire de langues, le modèle doit être téléchargé. C'est ponctuel, et ensuite tout fonctionne hors ligne pour toujours, mais ce n'est pas instantané et cela prend de la place sur le disque.
Des trous dans la couverture. Le navigateur prend en charge une liste précise de paires de langues, plus courte que celle de n'importe quelle API dans le cloud. Quand une paire manque, elle manque, tout simplement. Il n'y a pas de dégradation en douceur, sauf si l'extension bascule vers un serveur, auquel cas la propriété de confidentialité disparaît pour cette paire, et une extension qui le ferait en silence serait pire que celle qui n'aurait jamais revendiqué cette propriété.
Un modèle plus modeste. Ces modèles sont conçus pour être assez petits et rapides pour tourner dans un navigateur. Sur des mots isolés et des phrases courtes, ce dont un outil de vocabulaire a besoin, ils sont solides. Sur une prose longue et stylistiquement complexe, un grand modèle dans le cloud fera généralement mieux.
Un mot sur l'extension qui a popularisé cette idée#
Toucan est la raison pour laquelle on connaît la substitution de mots sur une page. Elle remplaçait une poignée de mots sur n'importe quelle page que vous chargiez, sans session à démarrer ni rien à planifier, et cette conception à effort zéro était une vraie réussite que beaucoup de gens, qui avaient abandonné toutes les autres applis, ont discrètement adorée.
Son état actuel mérite d'être connu si vous choisissez un outil aujourd'hui. L'entreprise a mis la clé sous la porte en 2023, et Babbel a racheté la technologie en septembre 2023 sans qu'aucun membre de l'équipe ne rejoigne la société (TechCrunch, 19 septembre 2023). Elle tourne désormais sous le nom « Toucan by Babbel », gratuite, avec ce qui était auparavant les fonctionnalités payantes intégrées à l'offre gratuite. Sa fiche sur le Chrome Web Store annonce 200 000 utilisateurs et une dernière mise à jour en juillet 2025, tandis que son propre site revendique toujours 750 000+, ce qui est l'indication la plus nette disponible que la base d'installation s'est beaucoup réduite. Les plaintes récurrentes des utilisateurs sont cohérentes et structurelles : des remplacements au niveau du mot seulement, aucune prise en charge de la phrase, des traductions qui ratent les accords (un exemple documenté : « on their primero solo excursion », alors que l'espagnol exige primera), et une compatibilité limitée à Chrome et Edge.
Sur la question de la vie privée en particulier, les éléments publics suggèrent que Toucan faisait tourner un dictionnaire local plutôt qu'une API de traduction en direct. L'équipe a publié en open source aracari, pos-js et finch-graphql, soit exactement la boîte à outils que l'on construit pour faire du remplacement de texte et de l'étiquetage grammatical dans le navigateur. Prenez cela comme une forte inférence à partir de ce qu'ils ont publié, pas comme une déclaration documentée. C'est aussi une bonne illustration du point précédent : un dictionnaire local vous offre la confidentialité et vous coûte la grammaire, parce qu'un dictionnaire n'a aucun moyen de savoir que le nom qui suit est féminin.
Si vous voulez la comparaison complète de ce que le remplacement passif vous apporte et ne vous apporte pas, c'est couvert dans l'article sur l'alternative à Toucan.
Comment est conçue l'extension LingoBlend#
L'extension LingoBlend mélange les pages grâce au traducteur local intégré de Chrome, si bien que le texte de la page ne quitte jamais votre appareil. Elle ne contient aucun analytics ni aucune télémétrie. Les seules choses qui quittent jamais l'appareil sont un mot que vous choisissez explicitement de sauvegarder et votre connexion, deux actions que vous initiez vous-même.
Le reste de la conception découle du fait de prendre cela au sérieux plutôt que de se contenter de l'affirmer :
- Le mélange est désactivé par défaut. L'activer déclenche l'invite de permission propre à Chrome pour l'accès à la page. L'installation elle-même ne demande rien de large, vous pouvez donc installer d'abord et décider ensuite. Il existe aussi un bouton « Mélanger cette page » qui ne traite que l'onglet courant, sans accorder d'accès permanent.
- Elle reste à l'écart de vos outils de travail. Désactivée par défaut sur Gmail, Google Docs, Drive, Notion, Slack, GitHub, GitLab, Overleaf, Figma, LinkedIn, WhatsApp Web, Teams, Outlook et Discord. Elle ne touche jamais ce que vous êtes en train de taper, les champs de formulaire, ou les blocs de code.
- Copier restitue les mots d'origine. Le texte mélangé se colle dans la langue source, si bien que rien d'étrange ne finit dans un e-mail.
- Elle vérifie la langue de la page plutôt que de faire confiance au balisage, et refuse de mélanger une page déjà dans la langue que vous apprenez.
- Elle passe les mots sur lesquels elle n'est pas sûre plutôt que de risquer de vous en enseigner un faux.
Les limites, dites honnêtement : Chrome et Edge sur ordinateur de bureau uniquement, pas de mobile, pas de Firefox, pas de Safari. Chrome 138 ou plus récent pour le mélange, même si la sauvegarde d'un mot par clic droit fonctionne sur n'importe quel Chrome récent. Seize des dix-sept langues prises en charge peuvent être mélangées ; le serbe ne le peut pas, parce que le traducteur local de Chrome ne le prend pas en charge, et les apprenants de serbe n'ont droit qu'à la sauvegarde par clic droit. La première utilisation télécharge un pack linguistique une seule fois depuis le popup, après quoi tout fonctionne hors ligne. Le mélange est gratuit et illimité, puisqu'il n'y a aucune facture au caractère à répercuter. La seule fonctionnalité Pro est « Forme de base », qui affiche la forme du dictionnaire et une note grammaticale (escogido → escoger), et Pro s'achète dans l'application mobile plutôt que dans l'extension.