Traduction avec IA intégrée

Publié le 13 novembre 2024

Utilisez l'API Translator dans Chrome pour traduire du texte dans le navigateur à l'aide de modèles d'IA locaux.

Il est possible que votre site Web propose déjà du contenu dans plusieurs langues pour le rendre accessible à une audience mondiale. Avec l'API Translator, les utilisateurs peuvent contribuer dans leur langue maternelle. Par exemple, les utilisateurs peuvent participer aux chats d'assistance dans leur langue maternelle, et votre site peut les traduire dans la langue utilisée par vos agents d'assistance avant qu'ils ne quittent l'appareil de l'utilisateur. Vous créez ainsi une expérience fluide, rapide et inclusive pour tous les utilisateurs.

La traduction de contenu sur le Web nécessitait généralement l'utilisation d'un service cloud. Tout d'abord, le contenu source est importé sur un serveur, qui effectue la traduction dans une langue cible, puis le texte obtenu est téléchargé et renvoyé à l'utilisateur. En exécutant la traduction sur le client, vous économisez le temps requis par les aller-retours vers le serveur et le coût d'hébergement du service de traduction.

Disponibilité

Bien que la langue cible sélectionnée soit toujours connue, il peut arriver que la langue source soit inconnue, par exemple pour les contenus générés par les utilisateurs. Dans ce cas, la proposition d'API Translator inclut à la fois l'API Translator et l'API Language Detector, également disponible en essai d'origine. Inscrivez-vous aux deux phases d'évaluation pour utiliser ces API ensemble.

S'inscrire à l'essai

Pour commencer à utiliser l'API Traducteur, procédez comme suit:

  1. Accepter le Règlement Google sur les utilisations interdites de l'IA générative
  2. Accédez à la phase d'évaluation de l'API Traducteur.
  3. Cliquez sur Register (Enregistrer) et remplissez le formulaire.
    • Dans le champ Origine Web, indiquez votre origine ou l'ID de l'extension, chrome-extension://YOUR_EXTENSION_ID.
  4. Pour envoyer votre demande, cliquez sur Register (S'inscrire).
  5. Copiez le jeton fourni et ajoutez-le à chaque page Web de votre origine ou de votre fichier pour votre extension, sur laquelle vous souhaitez activer le test.
  6. Commencez à utiliser l'API Translator.

Découvrez comment commencer à utiliser les tests d'origine.

Ajouter la prise en charge de localhost

Pour accéder à l'API Translator sur localhost pendant le test d'origine, vous devez mettre à jour Chrome vers la dernière version. Ensuite, procédez comme suit :

  1. Ouvrez Chrome sur l'une des plates-formes suivantes: Windows, Mac ou Linux.
  2. Accédez à chrome://flags/#translation-api.
  3. Sélectionnez Activé.
    • Si vous souhaitez essayer de nombreuses combinaisons linguistiques, sélectionnez Activé sans limite de pack de langues.
  4. Cliquez sur Relancer ou redémarrez Chrome.

Utiliser l'API Translator

Pour déterminer si l'API Translator est compatible, exécutez l'extrait de code de détection de fonctionnalités suivant.

if ('translation' in self && 'createTranslator' in self.translation) {
  // The Translator API is supported.
}

Vérifier la prise en charge des combinaisons linguistiques

La traduction est gérée à l'aide de modules linguistiques, téléchargés à la demande. Un pack de langues est comme un dictionnaire pour une langue donnée. Ces packs sont associés à la fonction canTranslate() asynchrone, qui vous permet de déterminer si une paire de langues est prise en charge.

La fonction canTranslate() nécessite un paramètre options avec deux champs:

  • sourceLanguage: langue actuelle du texte.
  • targetLanguage: langue finale dans laquelle le texte doit être traduit.

Utilisez les codes courts de langue BCP-47 comme chaînes. Par exemple, 'es' pour l'espagnol ou 'fr' pour le français.

await translation.canTranslate({
  sourceLanguage: 'en',
  targetLanguage: 'fr',
});
// 'readily'

La fonction canTranslate() peut renvoyer l'un des résultats suivants:

  • no: ce navigateur ne peut pas effectuer la traduction demandée.
  • readily: le navigateur peut traduire comme demandé.
  • after-download: le navigateur peut effectuer la traduction, mais seulement après avoir téléchargé le modèle ou les packs de langues appropriés.

Vous pouvez écouter la progression du téléchargement à l'aide de l'événement downloadprogress:

translator.ondownloadprogress = progressEvent => {
  updateDownloadProgressBar(progressEvent.loaded, progressEvent.total);
};

Si le téléchargement échoue, les événements downloadprogress ne sont plus émis et la promesse ready est rejetée.

Créer et exécuter le traducteur

Pour créer un traducteur, appelez la fonction translation.createTranslator() asynchrone. Comme canTranslate(), il nécessite un paramètre d'options avec deux champs, l'un pour sourceLanguage et l'autre pour targetLanguage.

// Create a translator that translates from English to French.
const translator = await self.translation.createTranslator({
  sourceLanguage: 'en',
  targetLanguage: 'fr',
});

Une fois que vous avez un traducteur, appelez la fonction translate() asynchrone pour traduire votre texte.

await translator.translate('Where is the next bus stop, please?');
// "Où est le prochain arrêt de bus, s'il vous plaît ?"

Limites de l'essai d'origine

Les limites suivantes s'appliquent pendant l'essai de l'origine.

Combinaisons linguistiques acceptées

Pour le moment, vous pouvez télécharger jusqu'à trois modules linguistiques pour traduction. Nous nous engageons à élargir la gamme de langues disponibles dans les prochaines versions, tout en maintenant des normes strictes pour la confidentialité des utilisateurs. Vous pouvez vérifier si la paire de langues dont vous avez besoin est compatible avec la fonction canTranslate().

Il est possible que certaines paires de langues moins utilisées soient utilisées pour l'empreinte digitale. Par exemple, il est plus courant de traduire entre l'anglais et l'espagnol que entre des langues moins courantes, comme le gaélique et le catalan. Une paire de langues moins courante peut être considérée comme un point de données pour l'identification des utilisateurs.

Pendant le test de l'origine, nous limitons les paires de langues pouvant être traduites afin de protéger la confidentialité des utilisateurs. Les paires de langues doivent respecter les critères suivants:

  • La langue source et la langue de destination sont définies comme langues préférées dans Chrome.
  • Ou l'une des langues est définie comme langue préférée dans Chrome, et l'autre figure parmi les langues populaires suivantes :
    • Anglais (en)
    • Chinois mandarin (zh, simplifié) ou mandarin (Taïwan) (zh-Hant, traditionnel)
    • Japonais (ja)
    • Portugais (pt)
    • Russe (ru)
    • Espagnol (es)
    • Turc (tr)
    • Hindi (hi)
    • Vietnamien (vi)
    • Bengalî (bn)

Contourner les restrictions linguistiques pour les tests en local

Pour le prototypage local, vous pouvez contourner ces vérifications en exécutant Chrome avec l'option de ligne de commande --disable-features=TranslationAPIAcceptLanguagesCheck. Vous pouvez également définir chrome://flags/#translation-api sur Activer sans limite de pack de langues.

Accédez à chrome://on-device-translation-internals/ pour installer et désinstaller manuellement les modules linguistiques.

Traductions séquentielles

Les traductions sont traitées de manière séquentielle. Si vous envoyez de grandes quantités de texte à traduire, les traductions ultérieures sont bloquées jusqu'à ce que les premières soient terminées.

Pour une réactivité optimale de vos requêtes de traduction, regroupez-les et envisagez d'afficher une interface de chargement, comme une icône de chargement, pour indiquer qu'une traduction est en cours.

Disponibilité des nœuds de calcul Web

Pendant le test d'origine, l'API Translator n'est compatible qu'à partir du thread principal. Nous prévoyons de la prendre en charge dans les Web Workers une fois que l'API sera largement disponible.

Démo

Vous pouvez consulter l'API Translator, utilisée en combinaison avec l'API Language Detector, dans l'espace de jeu de l'API Translator et Language Detector.

Effort de standardisation

Nous nous efforçons de normaliser l'API Translator afin de garantir la compatibilité entre les navigateurs.

Notre proposition d'API a reçu l'appui de la communauté et a été transférée au groupe de la communauté de l'incubateur Web du W3C pour une discussion plus approfondie. L'équipe Chrome a demandé des commentaires au Groupe d'architecture technique du W3C et à Mozilla et WebKit pour connaître leur position sur les normes.

Participer et envoyer des commentaires

Commencez à tester l'API Traducteur dès maintenant en participant à la phase d'évaluation et envoyez-nous vos commentaires. Vos commentaires peuvent avoir un impact direct sur la manière dont nous développons et implémentons les futures versions de cette API, ainsi que toutes les API d'IA intégrées.