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à
- Partecipa alla prova dell'origine dell'API Traduttore, che viene eseguita in Chrome 131-137. Le prove dell'origine attivano la funzionalità per tutti gli utenti nella tua origine su Chrome.
- Segui la nostra implementazione in ChromeStatus.
- La proposta per l'API Translator è aperta alla discussione.
- Partecipa al programma di anteprima per dare un'occhiata in anteprima alle nuove API di IA integrate e accedere alla discussione sulla nostra mailing list.
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:
- Accetta le Norme relative agli usi vietati dell'IA generativa di Google.
- Vai alla prova dell'origine dell'API Traduttore.
- Fai clic su Registrati e compila il modulo.
- Nel campo Origine web, fornisci l'origine o l'ID estensione,
chrome-extension://YOUR_EXTENSION_ID
.
- Nel campo Origine web, fornisci l'origine o l'ID estensione,
- Per inviare, fai clic su Registrati.
- Copia il token fornito e aggiungilo a ogni pagina web dell'origine o del file per l'estensione su cui vuoi attivare la prova.
- Se stai creando un'estensione, segui le istruzioni per la prova dell'origine delle estensioni
- 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:
- Apri Chrome su una di queste piattaforme: Windows, Mac o Linux.
- Vai a
chrome://flags/#translation-api
. - Seleziona Attivata.
- Se vuoi provare molte combinazioni di lingue, seleziona Attivata senza limite di pacchetti di lingue.
- 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
)
- Inglese (
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.
- Per inviare feedback sull'implementazione di Chrome, invia una segnalazione di bug o una richiesta di funzionalità.
- Discutere del design dell'API Translator su GitHub commentando un problema esistente o aprendone uno nuovo.
- Partecipa al progetto relativo agli standard entrando a far parte del gruppo della community Web Incubator.