Rilevamento della lingua con l'AI integrata

Pubblicato: 24 settembre 2024, ultimo aggiornamento: 20 maggio 2025

Spiegazione Web Estensioni Stato di Chrome Intenzione
MDN Chrome 138 Chrome 138 Visualizza Intenzione di spedizione

Prima di tradurre un testo da una lingua a un'altra, devi prima determinare la lingua utilizzata nel testo specificato. In precedenza, la traduzione richiedeva il caricamento del testo su un servizio cloud, l'esecuzione della traduzione sul server e il download dei risultati.

L'API Language Detector funziona lato client, il che significa che puoi proteggere la privacy degli utenti. Sebbene sia possibile spedire una libreria specifica che lo faccia, richiederebbe risorse aggiuntive da scaricare.

Quando utilizzare il rilevamento della lingua

L'API Language Detector è utile principalmente nei seguenti scenari:

  • Determina la lingua del testo di input, in modo che possa essere tradotto.
  • Determina la lingua del testo di input, in modo che il modello corretto possa essere caricato per attività specifiche della lingua, come il rilevamento della tossicità.
  • Determina la lingua del testo di input, in modo che possa essere etichettato correttamente, ad esempio nei siti di social networking online.
  • Determina la lingua del testo di input, in modo che l'interfaccia di un'app possa essere regolata di conseguenza. Ad esempio, su un sito belga, per mostrare solo l'interfaccia pertinente per gli utenti che parlano francese.

Inizia

L'API Language Detector è disponibile a partire dalla versione stabile di Chrome 138. Esegui il rilevamento delle funzionalità per verificare se il browser supporta l'API Language Detector.

if ('LanguageDetector' in self) {
  // The Language Detector API is available.
}

Esamina i requisiti hardware

Per gli sviluppatori e gli utenti che utilizzano le funzionalità che si servono di queste API in Chrome esistono i seguenti requisiti. Altri browser potrebbero avere requisiti di funzionamento diversi.

Le API Language Detector e Translator funzionano in Chrome su computer. Queste API non funzionano sui dispositivi mobili. L'API Prompt, l'API Summarizer, l'API Writer e l'API Rewriter funzionano in Chrome quando sono soddisfatte le seguenti condizioni:

  • Sistema operativo: Windows 10 o 11; macOS 13+ (Ventura e versioni successive); o Linux. Chrome per Android, iOS e ChromeOS non è ancora supportato dalle API che utilizzano Gemini Nano.
  • Spazio di archiviazione: almeno 22 GB sul volume che contiene il tuo profilo Chrome.
  • GPU: rigorosamente più di 4 GB di VRAM.
  • Rete: dati illimitati o una connessione non misurata.

Le dimensioni esatte di Gemini Nano possono variare leggermente. Per trovare le dimensioni attuali, visita chrome://on-device-internals e vai a Stato modello. Apri il Percorso file elencato per determinare le dimensioni del modello.

Download modello

Il rilevamento della lingua dipende da un modello ottimizzato per l'attività specifica di rilevamento delle lingue. Sebbene l'API sia integrata nel browser, il modello viene scaricato on demand la prima volta che un sito tenta di utilizzare l'API. In Chrome, questo modello è molto piccolo rispetto ad altri modelli. Potrebbe essere già presente, in quanto questo modello viene utilizzato da altre funzionalità di Chrome.

Per verificare se il modello è pronto per l'uso, chiama la funzione asincrona LanguageDetector.availability() ed esamina la promessa risultante. Esistono tre possibili risposte:

  • "unavailable": Le opzioni richieste non sono supportate o non è possibile richiedere al modello di rispondere.
  • "downloadable": La richiesta è supportata, ma sono necessari download aggiuntivi prima di poter creare una sessione. Questi download possono includere il modello linguistico o la messa a punto.
  • "downloading": La richiesta è supportata ed è in corso un download, che deve essere completato prima di creare una sessione.
  • "available": La richiesta è supportata e puoi creare una sessione.

Per attivare il download e creare un'istanza del rilevatore di lingua, chiama la funzione asincrona LanguageDetector.create(). Se la risposta a availability() è 'downloadable' o 'downloading', è consigliabile monitorare l'avanzamento del download per informare l'utente nel caso in cui il download richieda tempo.

L'esempio seguente mostra come inizializzare il rilevatore di lingua.

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;
}

Esegui il rilevatore di lingua

L'API Language Detector utilizza un modello di ranking per determinare la lingua più probabilmente utilizzata in un determinato testo. Il ranking è un tipo di machine learning in cui l'obiettivo è ordinare un elenco di elementi. In questo caso, l'API Language Detector classifica le lingue dalla probabilità più alta a quella più bassa.

La funzione detect() può restituire il primo risultato, la risposta più probabile o iterare sui candidati classificati con il livello di confidenza. Viene restituito come elenco di oggetti {detectedLanguage, confidence}. Il livello di confidence è espresso come un valore compreso tra 0.0 (confidenza più bassa) e 1.0 (confidenza più alta).

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 API

Prova l'API Language Detector nel nostro playground API. Inserisci il testo scritto in lingue diverse nell'area di testo.

Impegno di standardizzazione

Il team di Chrome ha richiesto feedback al W3C Technical Architecture Group e ha chiesto a Mozilla e WebKit le loro posizioni sugli standard.

Condividi il tuo feedback

Vogliamo vedere cosa stai creando con l'API Language Detector. Condividi i tuoi siti web e applicazioni web con noi su X, YouTube e LinkedIn.

Se hai feedback sull'implementazione di Chrome, segnala un bug di Chromium.