Mozilla ha pubblicato la versione dell'estensione Firefox Translations 0.4 (precedentemente conosciuta come Bergamot Translate) con un sistema di traduzione automatica autosufficiente, funzionante direttamente nel browser senza fare affidamento su servizi esterni. Per la traduzione tra lingue viene utilizzato il motore bergamot-translator, sviluppato nell'ambito dell'iniziativa Bergamot dai programmatori di Mozilla in collaborazione con ricercatori di diverse università del Regno Unito, Estonia e Repubblica Ceca, con il sostegno finanziario dell'Unione Europea. Il codice è distribuito sotto la licenza MPL-2.0.
Il motore è scritto in C++ e viene compilato in una rappresentazione binaria intermedia WebAssembly utilizzando il compilatore Emscripten. Il motore funge da wrapper sopra il framework di traduzione automatica Marian, dove viene applicata una rete neurale ricorrente (RNN) e modelli linguistici basati su trasformatori. Per accelerare l'apprendimento e la traduzione può essere utilizzata la GPU. Marian è utilizzato per supportare il servizio di traduzione Microsoft Translator ed è principalmente sviluppato da ingegneri di Microsoft in collaborazione con ricercatori delle università di Edimburgo e Poznan.
In Firefox Translations, il supporto per la traduzione dall'estone e dallo spagnolo all'inglese e viceversa è stato implementato, oltre alla traduzione dall'inglese al tedesco. La velocità di traduzione è di 500-600 parole al minuto. È supportata la priorizzazione della traduzione del testo visibile nella finestra del browser. Nella nuova versione è stata introdotta la possibilità di caricare automaticamente i file con i modelli al primo tentativo di traduzione. I file dei modelli occupano circa 15 MB per ogni lingua. Il caricamento automatico comporta un leggero ritardo prima dell'inizio della prima traduzione, ma riduce drasticamente la dimensione del componente (3,6 MB invece di 124 MB).
Nella nuova versione è stata anche notevolmente accelerata la memorizzazione dei modelli — se prima ci volevano 10-30 secondi per caricare un modello, ora i modelli vengono caricati quasi istantaneamente. Se la traduzione della pagina richiede più di 3 secondi, nell'interfaccia viene fornita un'indicazione del progresso dell'operazione. La traduzione avviene in modo sequenziale dall'alto verso il basso, iniziando dall'area visibile. Le parti tradotte vengono mostrate man mano che sono pronte, mentre quelle non tradotte rimangono nella lingua originale.
È attivata l'invio della telemetria, che include dati sull'interazione dell'utente con l'interfaccia dell'estensione (ad esempio, il clic sul pulsante di traduzione o la disabilitazione delle traduzioni per determinati siti), informazioni sui tempi di esecuzione delle operazioni e dettagli tecnici sul sistema (CPU, memoria).
L'estensione può attualmente essere installata soltanto nelle versioni notturne di Firefox disattivando il controllo delle estensioni tramite firma digitale («xpinstall.signatures.dev-root=true» e «xpinstall.signatures.required=false» in about:config). Dopo l'installazione, Firefox inizierà a mostrare una barra che propone di tradurre le pagine la cui lingua è diversa da quella del browser e supportata dall'estensione. È possibile disattivare l'ulteriore visualizzazione della barra per una lingua o un sito specifico.

Ricordiamo che Firefox ha già un meccanismo integrato per la traduzione delle pagine, ma è collegato all'uso di servizi cloud esterni (supportati Google, Yandex e Bing) e non è attivato di default (per abilitarlo, è necessario modificare le impostazioni «browser.translation» in about:config). Il meccanismo di traduzione supporta anche il riconoscimento automatico della lingua quando si apre una pagina in una lingua sconosciuta, mostrando un indicatore speciale che offre la possibilità di tradurre la pagina. Il nuovo componente utilizza lo stesso interfaccia per interagire con l'utente, ma invece di rivolgersi ai servizi esterni, attiva un elaboratore incorporato che gestisce i dati sul sistema dell'utente.

Fonte: opennet.ru
