Traduzione lato client con l'IA

Kenji Baheux
Kenji Baheux
Alexandra Klepper
Alexandra Klepper

Pubblicato il 16 maggio 2024, ultimo aggiornamento il 13 novembre 2024

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

Espandere la tua attività nei mercati internazionali può essere costoso. Un numero maggiore di mercati significa probabilmente un numero maggiore di lingue da supportare e un numero maggiore di lingue può comportare difficoltà con funzionalità e flussi interattivi, come la chat di assistenza post-vendita. Se la tua azienda ha solo agenti di assistenza di lingua inglese, i madrelingua non inglesi potrebbero avere difficoltà a spiegare esattamente il problema riscontrato.

Come possiamo utilizzare l'AI per migliorare l'esperienza degli utenti che parlano più lingue, riducendo al minimo i rischi e confermando se vale la pena investire in agenti di assistenza che parlano altre lingue?

Alcuni utenti cercano di superare la barriera linguistica con la funzionalità di traduzione delle pagine integrata nel browser o con strumenti di terze parti. Tuttavia, l'esperienza utente è scadente con le funzionalità interattive, come la nostra chat di assistenza post-vendita.

Per gli strumenti di chat con traduzione integrata, è importante ridurre al minimo i ritardi. Elaborando la lingua sul dispositivo, puoi tradurre in tempo reale, prima ancora che l'utente invii il messaggio.

Detto questo, la trasparenza è fondamentale quando si colma un divario linguistico con strumenti automatici. Ricorda che, prima dell'inizio della conversazione, devi chiarire di aver implementato strumenti di AI che consentono questa traduzione. In questo modo, le aspettative vengono soddisfatte e si evitano momenti imbarazzanti se la traduzione non è perfetta. Inserisci un link al tuo regolamento con maggiori informazioni.

Stiamo lavorando a un'API Translator lato client con un modello integrato in Chrome.

Esaminare i requisiti hardware

I seguenti requisiti esistono per gli sviluppatori e gli utenti che utilizzano le funzionalità che utilizzano queste API in Chrome. Altri browser potrebbero avere requisiti operativi diversi.

Le API Language Detector e Translator funzionano in Chrome su computer desktop. Queste API non funzionano sui dispositivi mobili.

Le API Prompt, Summarizer, Writer, Rewriter e Proofreader funzionano in Chrome quando vengono soddisfatte le seguenti condizioni:

  • Sistema operativo: Windows 10 o 11; macOS 13+ (Ventura e versioni successive); Linux; o ChromeOS (dalla piattaforma 16389.0.0 e versioni successive) sui dispositivi Chromebook Plus. Chrome per Android, iOS e ChromeOS sui dispositivi non Chromebook Plus non è ancora supportato dalle API che utilizzano Gemini Nano.
  • Spazio di archiviazione: almeno 22 GB di spazio libero sul volume che contiene il tuo profilo Chrome.
  • GPU o CPU: i modelli integrati possono essere eseguiti con GPU o CPU.
    • GPU: rigorosamente più di 4 GB di VRAM.
    • CPU: almeno 16 GB di RAM e almeno 4 core CPU.
    • Nota: l'API Prompt con input audio richiede una GPU.
  • Rete: dati illimitati o una connessione non a consumo.

Le dimensioni esatte di Gemini Nano possono variare man mano che il browser aggiorna il modello. Per determinare le dimensioni attuali, visita chrome://on-device-internals.

Chat demo

Abbiamo creato una chat di assistenza clienti che consente agli utenti di digitare nella loro lingua madre e ricevere la traduzione in tempo reale per l'agente di assistenza.

Utilizzare l'API Translator

Per determinare se l'API Translator è supportata, esegui il seguente snippet di rilevamento delle funzionalità.

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

Verificare il supporto per le coppie di lingue

La traduzione viene gestita con i language pack, scaricati su richiesta. Un language pack è come un dizionario per una determinata lingua.

  • sourceLanguage: la lingua corrente del testo.
  • targetLanguage: la lingua finale in cui deve essere tradotto il testo.

Utilizza i codici brevi delle lingue BCP 47 come stringhe. Ad esempio, 'es' per lo spagnolo o 'fr' per il francese.

Determina la disponibilità del modello e ascolta downloadprogress:

const translator = await Translator.create({
  sourceLanguage: 'es',
  targetLanguage: 'fr',
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  },
});

Se il download non riesce, gli eventi downloadprogress si interrompono e la promessa ready viene rifiutata.

Creare ed eseguire il traduttore

Per creare un traduttore, chiama la funzione asincrona create(). Richiede un parametro options con due campi, uno per sourceLanguage e uno per targetLanguage.

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

Una volta che hai un traduttore, chiama la funzione asincrona translate() per tradurre il testo.

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

Passaggi successivi

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

Puoi registrarti al Programma Anteprima per sviluppatori per testare questa e altre API con prototipi locali.