A empresa Mozilla publicou a versão do complemento Firefox Translations 0.4 (anteriormente conhecido como Bergamot Translate), que implementa um sistema de tradução automática autossuficiente, funcionando no lado do navegador sem recorrer a serviços externos. Para a tradução de um idioma para outro, é utilizado o mecanismo bergamot-translator, desenvolvido no âmbito da iniciativa Bergamot por programadores da Mozilla em colaboração com pesquisadores de várias universidades do Reino Unido, Estônia e República Checa, com apoio financeiro da União Europeia. O código é distribuído sob a licença MPL-2.0.
O mecanismo é escrito em C++ e compila uma representação binária intermediária em WebAssembly usando o compilador Emscripten. O mecanismo consiste em uma camada sobre o framework de tradução automática Marian, que utiliza redes neurais recorrentes (RNN) e modelos linguísticos baseados em transformadores. Para acelerar o treinamento e a tradução, pode-se utilizar GPU. O Marian é utilizado para garantir o funcionamento do serviço de tradução Microsoft Translator e é desenvolvido principalmente por engenheiros da Microsoft em colaboração com pesquisadores das universidades de Edimburgo e Poznań.
O Firefox Translations oferece suporte à tradução do estoniano e do espanhol para o inglês e vice-versa, assim como do inglês para o alemão. A taxa de desempenho da tradução é de 500-600 palavras por minuto. Há suporte para priorização da tradução do texto visível na janela do navegador. Na nova versão, foi adicionada a possibilidade de download automático de arquivos com modelos na primeira tentativa de tradução. Os arquivos de modelos ocupam aproximadamente 15 MB para cada idioma. O download automático resulta em um pequeno atraso antes do início da primeira tradução, mas reduz drasticamente o tamanho do complemento em si (3,6 MB em vez de 124 MB).
Na nova versão, a carga dos modelos na memória também foi significativamente acelerada — se antes a carga do modelo levava de 10 a 30 segundos, agora os modelos são carregados quase que instantaneamente. Se a tradução da página leva mais de 3 segundos, existe uma indicação de progresso na interface para a execução da operação. A tradução é realizada de forma sequencial de cima para baixo, começando pela área visível. As partes traduzidas aparecem à medida que estão prontas, enquanto as não traduzidas permanecem no idioma original.
Foi ativado o envio de telemetria, que inclui dados sobre a interação do usuário com a interface do complemento (por exemplo, sobre o clique do botão de tradução ou a proibição de traduções para determinados sites), informações sobre o tempo de execução das operações e dados técnicos sobre o sistema (CPU, memória).
O complemento só pode ser instalado nas versões noturnas do Firefox com a verificação de complementos por assinatura digital desativada ("xpinstall.signatures.dev-root=true" e "xpinstall.signatures.required=false" em about:config). Após a instalação do complemento, o Firefox começará a exibir uma barra oferecendo para realizar a tradução de páginas cujo idioma difere do idioma do navegador e que é suportado pelo complemento. É possível desativar a exibição da barra para um idioma ou site específico.

Vale lembrar que o Firefox já possui um mecanismo embutido para traduzir páginas, mas ele depende do uso de serviços externos na nuvem (são suportados Google, Yandex e Bing) e não está ativado por padrão (para ativá-lo em about:config, é necessário alterar as configurações de "browser.translation"). O mecanismo de tradução também suporta a detecção automática de idioma ao abrir uma página em um idioma desconhecido e exibe um indicador especial oferecendo fazer a tradução da página. O novo complemento utiliza essa mesma interface para interagir com o usuário, mas em vez de se conectar a serviços externos, ativa um manipulador embutido que processa os dados no sistema do usuário.

Fonte: opennet.ru
