Publié le 24 septembre 2024, dernière mise à jour le 20 mai 2025
Vidéo explicative | Web | Extensions | État de Chrome | Intent |
---|---|---|---|---|
GitHub | Afficher | Intent to Ship |
Avant de traduire du texte d'une langue à une autre, vous devez d'abord déterminer la langue utilisée dans le texte donné. Auparavant, la traduction nécessitait d'importer le texte dans un service cloud, d'effectuer la traduction sur le serveur, puis de télécharger les résultats.
L'API Language Detector fonctionne côté client, ce qui vous permet de protéger la confidentialité des utilisateurs. Bien qu'il soit possible de fournir une bibliothèque spécifique qui effectue cette opération, cela nécessiterait des ressources supplémentaires à télécharger.
Quand utiliser la détection de la langue ?
L'API Language Detector est principalement utile dans les scénarios suivants:
- Déterminez la langue du texte saisi afin qu'il puisse être traduit.
- Déterminez la langue du texte d'entrée afin que le modèle approprié puisse être chargé pour les tâches spécifiques à la langue, telles que la détection de toxicité.
- Déterminez la langue du texte saisi afin qu'il puisse être correctement libellé, par exemple sur les sites de réseaux sociaux en ligne.
- Déterminez la langue du texte saisi afin que l'interface d'une application puisse être ajustée en conséquence. Par exemple, sur un site belge, pour n'afficher que l'interface adaptée aux utilisateurs qui parlent français.
Commencer
L'API Language Detector est disponible à partir de la version stable Chrome 138. Exécutez la détection des fonctionnalités pour voir si le navigateur est compatible avec l'API Language Detector.
if ('LanguageDetector' in self) {
// The Language Detector API is available.
}
Consulter la configuration matérielle requise
Les API Language Detector et Translator ne fonctionnent que sur ordinateur dans Chrome.
Les API Prompt, Summarizer, Writer et Rewriter fonctionnent dans Chrome lorsque les conditions suivantes sont remplies:
- Système d'exploitation: Windows 10 ou 11, macOS 13 ou version ultérieure (Ventura et versions ultérieures) ou Linux Chrome pour Android, iOS et ChromeOS n'est pas encore compatible avec nos API compatibles avec Gemini Nano.
- Espace de stockage: au moins 22 Go sur le volume contenant votre profil Chrome.
- GPU: au moins 4 Go de VRAM.
- Réseau: données illimitées ou connexion illimitée.
- GPU: au moins 4 Go de VRAM.
- Réseau: données illimitées ou connexion illimitée.
Ces exigences existent pour vous dans votre processus de développement et pour vos utilisateurs qui utilisent les fonctionnalités que vous créez.
Téléchargement du modèle
La détection de la langue dépend d'un modèle optimisé pour la tâche spécifique de détection des langues. Bien que l'API soit compilée dans le navigateur, le modèle est téléchargé à la demande la première fois qu'un site tente d'utiliser l'API. Dans Chrome, ce modèle est très petit par rapport aux autres modèles. Il est peut-être déjà présent, car ce modèle est utilisé par d'autres fonctionnalités Chrome.
Pour savoir si le modèle est prêt à l'emploi, appelez la fonction LanguageDetector.availability()
asynchrone et inspectez la promesse générée.
Trois réponses sont possibles:
"unavailable"
: les options demandées ne sont pas compatibles ou le modèle ne peut pas être invité."downloadable"
: la requête est prise en charge, mais des téléchargements supplémentaires sont nécessaires avant de pouvoir créer une session. Ces téléchargements peuvent inclure le modèle de langage ou l'ajustement fin."downloading"
: la requête est prise en charge et un téléchargement est en cours, qui doit être terminé avant de créer une session."available"
: la requête est prise en charge et vous pouvez créer une session.
Pour déclencher le téléchargement et instancier le détecteur de langue, appelez la fonction LanguageDetector.create()
asynchrone. Si la réponse à availability()
était 'downloadable'
ou 'downloading'
, il est recommandé d'écouter la progression du téléchargement afin d'informer l'utilisateur si le téléchargement prend du temps.
L'exemple suivant montre comment initialiser le détecteur de langue.
const availability = await LanguageDetector.availability();
let detector;
if (availability === 'unavailable') {
// The language detector isn't usable.
return;
}
if (availability === 'available') {
// The language detector can immediately be used.
detector = await LanguageDetector.create();
} else {
// The language detector can be used after model download.
detector = await LanguageDetector.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
});
await detector.ready;
}
Exécuter le détecteur de langue
L'API Language Detector utilise un modèle de classement pour déterminer la langue la plus probable dans un texte donné. Le classement est un type d'apprentissage automatique dont l'objectif est de classer une liste d'éléments. Dans ce cas, l'API Language Detector classe les langues de la probabilité la plus élevée à la plus faible.
La fonction detect()
peut renvoyer le premier résultat, la réponse la plus probable ou itérer sur les candidats classés en fonction du niveau de confiance.
Il est renvoyé sous la forme d'une liste d'objets {detectedLanguage, confidence}
. Le niveau confidence
est exprimé sous la forme d'une valeur comprise entre 0.0
(niveau de confiance le plus faible) et 1.0
(niveau de confiance le plus élevé).
const someUserText = 'Hallo und herzlich willkommen!';
const results = await detector.detect(someUserText);
for (const result of results) {
// Show the full list of potential languages with their likelihood, ranked
// from most likely to least likely. In practice, one would pick the top
// language(s) that cross a high enough threshold.
console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...
Playground de l'API
Testez l'API Language Detector dans notre espace de test d'API. Saisissez du texte écrit dans différentes langues dans la zone de texte.
Effort de standardisation
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.
Envoyer des commentaires
Nous souhaitons découvrir ce que vous créez avec l'API Language Detector. Partagez vos sites Web et applications Web avec nous sur X, YouTube et LinkedIn.
Si vous avez des commentaires sur l'implémentation de Chrome, signalez un bug Chromium.