Cos'è l'API Translator integrata di Chrome?

L'API Translator è una funzionalità sperimentale della piattaforma web che consente a una pagina web di tradurre il testo direttamente nel browser, utilizzando un modello di IA raggruppato localmente e gestito dall'user agent. Invece di inviare il testo a un servizio di traduzione remoto, il browser espone un'interfaccia JavaScript (window.Translator) che crea sessioni di traduttore di breve durata per una coppia di lingue di origine/destinazione e restituisce stringhe tradotte in modo asincrono.

L'API Language Detector complementare (window.LanguageDetector) ispeziona una stringa e restituisce un elenco classificato di probabili tag di lingua BCP-47 con punteggi di confidenza. Insieme, le due API consentono a una pagina di rilevare la lingua di un input arbitrario e quindi tradurlo senza alcun round-trip di rete dopo il download iniziale del modello.

Poiché il modello viene eseguito sul dispositivo dell'utente, le traduzioni funzionano offline una volta scaricate, il testo sensibile non lascia mai la macchina e non ci sono costi API per richiesta. Il compromesso è che la disponibilità dipende dal browser, dal sistema operativo e dal fatto che la coppia di lingue richiesta sia stata scaricata.

Descrizione dello strumento

Questo playground è un ambiente pratico per testare le API Translator e Language Detector nel tuo browser. Collega un'area di input, un selettore di lingua di destinazione e un'area di output alle chiamate sottostanti Translator.create() / translate(), e visualizza lo stato di disponibilità del modello e l'avanzamento del download mentre sperimenti.

La lingua di origine è impostata per impostazione predefinita su "Rilevamento automatico", che instrada l'input attraverso LanguageDetector per primo e quindi invia la lingua rilevata al traduttore. Puoi anche fissare la lingua di origine in modo esplicito per saltare il rilevamento.

Esempi

Origine (rilevata automaticamente) Destinazione Output
Bonjour, comment ça va ? English Hello, how are you?
Guten Morgen, wie geht es dir? Spanish Buenos días, ¿cómo estás?
今日は良い天気ですね。 English The weather is nice today.

Funzionalità

  • Rilevamento automatico della lingua — utilizza l'API Language Detector per identificare la lingua di origine prima della traduzione.
  • Selettore di lingua bidirezionale — scambia origine e destinazione con un solo clic e ritraduce.
  • Stato di disponibilità in tempo reale — mostra se il modello richiesto è available, downloadable, downloading o unavailable.
  • Barra di avanzamento del download — trasmette gli eventi downloadprogress dal traduttore/rilevatore mentre il modello viene scaricato.
  • Traduzione offline sul dispositivo — una volta scaricato il modello, non vengono effettuate richieste di rete per tradurre.

Casi d'uso

  • Anteprima di copia localizzata — incolla una stringa e vedi istantaneamente come si legge in un'altra lingua mentre stai redigendo il testo dell'interfaccia utente.
  • Verifica del supporto del browser — controlla se una coppia di origine/destinazione specifica è disponibile prima di distribuire una funzionalità che dipende dall'API Translator.
  • Traduzione offline rapida — traduci frammenti mentre sei disconnesso, dopo che il pacchetto di lingua pertinente è stato scaricato.

Requisiti

  • Un browser che implementa le API Translator e Language Detector. Al momento della stesura, si tratta di Chrome 138+ e browser basati su Chromium (ad es. Opera 122+) su desktop. Edge, Firefox e Safari non sono ancora supportati.
  • Un contesto sicuro (HTTPS o localhost).
  • Attivazione utente transitoria — le API consentono create() solo dopo un gesto utente recente, motivo per cui la traduzione viene eseguita sull'input anziché al caricamento della pagina.
  • Spazio su disco e larghezza di banda sufficienti per il download iniziale del modello di lingua. Le traduzioni successive riutilizzano il modello memorizzato nella cache.

Come funziona

  1. Al montaggio, lo strumento verifica la presenza di window.Translator e window.LanguageDetector. Se uno dei due è mancante, viene visualizzato un avviso e l'input viene disabilitato.
  2. Quando digiti, l'input viene sottoposto a debounce e la coppia di origine/destinazione viene risolta (eseguendo prima LanguageDetector.detect() se l'origine è auto).
  3. Translator.availability({ sourceLanguage, targetLanguage }) viene chiamato per interrogare lo stato del modello per quella coppia.
  4. Translator.create() viene invocato con un callback monitor che ascolta gli eventi downloadprogress e aggiorna la barra di avanzamento.
  5. translator.translate(text) restituisce la stringa tradotta, che viene visualizzata nell'area di output.
  6. Le istanze del traduttore e del rilevatore vengono rilasciate tramite destroy() dopo ogni chiamata per liberare risorse.

Lingue supportate

Il selettore espone un elenco curato di tag di lingua BCP-47 comuni che il modello raggruppato di Chrome supporta o comunemente testa, inclusi:

en, es, fr, de, it, pt, nl, pl, ru, uk, tr, ar, hi, bn, ja, ko, zh, zh-Hant, vi, th, id, sv, no, fi, da, el, he, cs, ro, hu.

L'insieme effettivo di coppie utilizzabili dipende da ciò che il modello del browser sottostante ha scaricato o può scaricare. Le coppie segnalate come unavailable non possono essere tradotte nel tuo browser attuale.

Limitazioni

  • Le API sono sperimentali e la superficie può cambiare tra le versioni del browser.
  • La qualità della traduzione è determinata dal modello fornito dal browser e non è garantito che corrisponda ai servizi di traduzione cloud dedicati.
  • Alcune coppie di lingue possono richiedere un pivot intermedio attraverso l'inglese o semplicemente non essere disponibili.
  • La prima traduzione per una nuova coppia di lingue può essere lenta a causa del download del modello.
  • Le API non sono attualmente esposte ai web worker e possono essere controllate da una Permissions Policy (translator, language-detector) su iframe cross-origin.

Domande frequenti

Perché l'output rimane vuoto? L'API Translator probabilmente non è implementata nel tuo browser. Apri la pagina in Chrome 138+ su desktop e ricarica.

Perché viene visualizzato "Download del modello in corso…"? La prima volta che utilizzi una coppia di lingue, il browser scarica un pacchetto di modello. La barra di avanzamento riflette gli eventi downloadprogress emessi da Translator.create().

Il mio testo lascia il dispositivo? No. Dopo il download del modello, la traduzione avviene interamente sul dispositivo. Lo strumento stesso non invia il tuo input da nessuna parte.

Perché "Rilevamento automatico" a volte non riesce? Se l'input è troppo breve, ambiguo o in uno script che il rilevatore non ha visto, LanguageDetector.detect() può restituire und (indeterminato). In tal caso, seleziona manualmente la lingua di origine.