Traduzione con IA integrata

Data di pubblicazione: 13 novembre 2024

Utilizza l'API Translator in Chrome per tradurre il testo nel browser utilizzando modelli di IA locale.

Il tuo sito web potrebbe già offrire contenuti in più lingue per renderlo accessibile a un pubblico globale. Con l'API Translator, gli utenti possono contribuire nella loro lingua madre. Ad esempio, gli utenti possono partecipare alle chat di assistenza nella loro lingua madre e il tuo sito può tradurla nella lingua utilizzata dagli agenti dell'assistenza prima che esca dal dispositivo dell'utente. Ciò crea un'esperienza fluida, rapida e inclusiva per tutti gli utenti.

In genere, la traduzione dei contenuti sul web richiede l'utilizzo di un servizio cloud. Innanzitutto, i contenuti di origine vengono caricati su un server, che esegue la traduzione in una lingua di destinazione, quindi il testo risultante viene scaricato e restituito all'utente. Eseguendo la traduzione sul client, risparmi il tempo necessario per le chiamate al server e il costo di hosting del servizio di traduzione.

Disponibilità

Sebbene la lingua di destinazione selezionata sia sempre nota, in alcuni casi la lingua di origine potrebbe essere sconosciuta, ad esempio con i contenuti generati dagli utenti. In questi casi, la proposta dell'API Translator include sia l'API Translator sia l'API Language Detector, disponibile anche in una prova dell'origine. Registrati per entrambe le prove dell'origine per utilizzare queste API insieme.

Registrati per la prova dell'origine

Per iniziare a utilizzare l'API Traduttore:

  1. Accetta le Norme relative agli usi vietati dell'IA generativa di Google.
  2. Vai alla prova dell'origine dell'API Traduttore.
  3. Fai clic su Registrati e compila il modulo.
    • Nel campo Origine web, fornisci l'origine o l'ID estensione, chrome-extension://YOUR_EXTENSION_ID.
  4. Per inviare, fai clic su Registrati.
  5. Copia il token fornito e aggiungilo a ogni pagina web dell'origine o del file per l'estensione su cui vuoi attivare la prova.
  6. Inizia a utilizzare l'API Translator.

Scopri di più su come iniziare a utilizzare le prove dell'origine.

Aggiungere il supporto a localhost

Per accedere all'API Traduttore su localhost durante la prova dell'origine, devi aggiornare Chrome all'ultima versione. A tale scopo, procedi nel seguente modo:

  1. Apri Chrome su una di queste piattaforme: Windows, Mac o Linux.
  2. Vai a chrome://flags/#translation-api.
  3. Seleziona Attivata.
    • Se vuoi provare molte combinazioni di lingue, seleziona Attivata senza limite di pacchetti di lingue.
  4. Fai clic su Riavvia o riavvia Chrome.

Utilizza l'API Translator

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

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

Controllare il supporto delle coppie di lingue

La traduzione viene gestita con i pacchetti di lingue, scaricati su richiesta. Un pacchetto di lingue è come un dizionario per una determinata lingua. Questi pacchetti sono accoppiati alla funzione canTranslate() asincrona, che consente di determinare se una coppia di lingue è supportata.

La funzione canTranslate() richiede un parametro options con due campi:

  • sourceLanguage: la lingua corrente del testo.
  • targetLanguage: la lingua finale in cui tradurre il testo.

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

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

La funzione canTranslate() può restituire uno dei seguenti risultati:

  • no: non è possibile per questo browser eseguire la traduzione come richiesto.
  • readily: il browser può tradurre come richiesto.
  • after-download: il browser può eseguire la traduzione, ma solo dopo aver scaricato il modello o i language pack pertinenti.

Puoi rilevare l'avanzamento del download utilizzando l'evento downloadprogress:

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

Se il download non va a buon fine, l'emissione degli eventi downloadprogress viene interrotta e la promessa ready viene rifiutata.

Crea ed esegui il traduttore

Per creare un traduttore, chiama la funzione translation.createTranslator() asincrona. Come canTranslate(), richiede un parametro opzioni con due campi, uno per sourceLanguage e uno per targetLanguage.

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

Una volta ottenuto 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 ?"

Limitazioni nella prova dell'origine

Durante la prova dell'origine si applicano le seguenti limitazioni.

Coppie di lingue supportate

Al momento, è possibile scaricare fino a tre pacchetti di lingue per la traduzione. Ci impegniamo ad ampliare la gamma di lingue supportate nelle release future, mantenendo al contempo standard elevati per la privacy degli utenti. Puoi verificare se la coppia di lingue di cui hai bisogno è supportata con la funzione canTranslate().

È possibile che determinate coppie di lingue meno utilizzate vengano utilizzate per il fingerprinting. Ad esempio, è più comune tradurre dall'inglese allo spagnolo che tra lingue meno comuni, come il gaelico e il catalano. Una coppia di lingue meno comune potrebbe essere considerata un punto dati per l'identificazione dell'utente.

Durante la prova dell'origine, stiamo limitando le potenziali coppie di lingue traducibili per proteggere la privacy degli utenti. Le coppie di lingue devono soddisfare i seguenti criteri:

  • Sia la lingua di origine sia quella di destinazione siano impostate come lingue preferite in Chrome.
  • In alternativa, una delle lingue è impostata come lingua preferita in Chrome e l'altra è tra le seguenti lingue più diffuse:
    • Inglese (en)
    • Cinese mandarino (zh; semplificato) o mandarino di Taiwan (zh-Hant; tradizionale)
    • Giapponese (ja)
    • Portoghese (pt)
    • Russo (ru)
    • Spagnolo (es)
    • Turco (tr)
    • Hindi (hi)
    • Vietnamita (vi)
    • Bengali (bn)

Ignorare le limitazioni relative alle lingue per i test locali

Per la prototipazione locale, puoi bypassare questi controlli eseguendo Chrome con l'opzione della riga di comando --disable-features=TranslationAPIAcceptLanguagesCheck. In alternativa, imposta chrome://flags/#translation-api su Attiva senza limite di pacchetti di lingue.

Visita la pagina chrome://on-device-translation-internals/ per installare e disinstallare manualmente i language pack.

Traduzioni sequenziali

Le traduzioni vengono elaborate in sequenza. Se invii grandi quantità di testo da tradurre, le traduzioni successive vengono bloccate fino al completamento di quelle precedenti.

Per una maggiore reattività delle richieste di traduzione, raggruppale e valuta la possibilità di mostrare un'interfaccia di caricamento, come una rotellina, per indicare che la traduzione è in corso.

Disponibilità dei web worker

Durante la prova dell'origine, l'API Traduttore è supportata solo dal thread principale. Abbiamo intenzione di supportarlo nei web worker non appena l'API sarà ampiamente disponibile.

Demo

Puoi visualizzare l'API Translator, utilizzata in combinazione con l'API Language Detector, nel sandbox dell'API Translator e Language Detector.

Impegno di standardizzazione

Stiamo lavorando per standardizzare l'API Translator, in modo da garantire la compatibilità tra browser.

La nostra proposta di API ha ricevuto il supporto della community ed è stata trasferita al gruppo della community W3C Web Incubator per ulteriori discussioni. Il team di Chrome ha richiesto un feedback al W3C Technical Architecture Group e a Mozilla e WebKit per conoscere le loro opinioni sugli standard.

Partecipare e condividere feedback

Inizia subito a testare l'API Traduttore partecipando alla prova dell'origine e condividi il tuo feedback. Il tuo contributo può influire direttamente sul modo in cui sviluppiamo e implementiamo le versioni future di questa API e di tutte le API di IA integrate.