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é
- Rejoignez la phase d'évaluation de l'API Translator pour les origines, qui s'exécute dans Chrome 131 à 137. Les essais d'origine activent la fonctionnalité pour tous les utilisateurs de votre origine sur Chrome.
- Suivez notre implémentation dans ChromeStatus.
- La proposition d'API Translator est ouverte à la discussion.
- Rejoignez le programme Preview anticipé pour découvrir en avant-première les nouvelles API d'IA intégrées et participer aux discussions sur notre liste de diffusion.
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:
- Accepter le Règlement Google sur les utilisations interdites de l'IA générative
- Accédez à la phase d'évaluation de l'API Traducteur.
- 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
.
- Dans le champ Origine Web, indiquez votre origine ou l'ID de l'extension,
- Pour envoyer votre demande, cliquez sur Register (S'inscrire).
- 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.
- Si vous créez une extension, suivez les instructions du test de l'origine des extensions.
- 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 :
- Ouvrez Chrome sur l'une des plates-formes suivantes: Windows, Mac ou Linux.
- Accédez à
chrome://flags/#translation-api
. - Sélectionnez Activé.
- Si vous souhaitez essayer de nombreuses combinaisons linguistiques, sélectionnez Activé sans limite de pack de langues.
- 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
)
- Anglais (
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.
- Pour envoyer des commentaires sur l'implémentation de Chrome, envoyez un rapport de bug ou une demande de fonctionnalité.
- Discuter de la conception de l'API Translator sur GitHub en commentant un problème existant ou en en créant un
- Participez à l'élaboration des normes en rejoignant le groupe de la communauté Web Incubator.