Mozilla ha pubblicato la versione 0.4 del componente aggiuntivo per Firefox, Firefox Translations (precedentemente sviluppato con il nome Bergamot Translate), che implementa un sistema di traduzione automatica autonomo, funzionante nel browser senza contattare servizi esterni. Per la traduzione da una lingua all'altra viene utilizzato il motore bergamot-translator, sviluppato nell'ambito dell'iniziativa Bergamot dai programmatori di Mozilla insieme a ricercatori di vari università del Regno Unito, Estonia e Repubblica Ceca, con il supporto finanziario dell'Unione Europea. Il codice è distribuito sotto la licenza MPL-2.0.
Il motore è scritto in C++ e compila una rappresentazione binaria intermedia in WebAssembly utilizzando il compilatore Emscripten. Il motore è un'interfaccia sul framework di traduzione automatica Marian, che utilizza reti neurali ricorrenti (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 è sviluppato principalmente da ingegneri di Microsoft insieme a ricercatori dell'Università di Edimburgo e dell'Università di Poznań.
Firefox Translations supporta la traduzione dall'estone e dallo spagnolo all'inglese e viceversa, oltre alla traduzione dall'inglese al tedesco. La velocità di traduzione è di 500-600 parole al minuto. È presente un supporto per la priorità della traduzione del testo visibile nella finestra del browser. Nella nuova versione è possibile il caricamento automatico dei file con i modelli alla prima tentativo di traduzione. I file con i modelli occupano circa 15 MB per ogni lingua. Il caricamento automatico provoca un leggero ritardo prima dell'inizio della prima traduzione, ma riduce drasticamente la dimensione del componente aggiuntivo stesso (3,6 MB invece di 124 MB).
Nella nuova versione il caricamento dei modelli in memoria è notevolmente accelerato: se prima ci volevano 10-30 secondi, ora i modelli si caricano 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, a partire 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 sulle interazioni dell'utente con l'interfaccia dell'estensione (ad esempio, il clic sul pulsante di traduzione o il blocco delle traduzioni per determinati siti), informazioni sui tempi di esecuzione delle operazioni e dettagli tecnici sul sistema (CPU, memoria).
L'estensione può essere installata solo nelle versioni notturne di Firefox disabilitando il controllo delle firme digitali delle estensioni ("xpinstall.signatures.dev-root=true" e "xpinstall.signatures.required=false" in about:config). Dopo aver installato l'estensione, Firefox inizia a visualizzare un pannello che propone di eseguire la traduzione per le pagine il cui linguaggio è diverso da quello del browser e supportato dall'estensione. È possibile disattivare ulteriormente il pannello per una lingua o sito specifico.

Ricordiamo che Firefox ha già un meccanismo integrato per la traduzione delle pagine, ma questo è legato all'uso di servizi cloud esterni (supportati Google, Yandex e Bing) e non è attivato di default (per attivarlo in about:config è necessario modificare le impostazioni "browser.translation"). Il meccanismo di traduzione supporta anche la rilevazione automatica della lingua quando si apre una pagina in una lingua sconosciuta, mostrando un indicatore speciale che propone di tradurre la pagina. La nuova estensione utilizza la stessa interfaccia per interagire con l'utente, ma anziché contattare servizi esterni, avvia un gestore integrato che elabora i dati sul sistema dell'utente.

Fonte: opennet.ru
