Our great sponsors
-
firefox-translations
Discontinued Firefox Translations is a webextension that enables client side translations for web browsers.
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
translatelocally-web-ext
TranslateLocally for the Browser is a web-extension that enables client side in-page translations for web browsers.
-
berga-translator
A browser extension that provides client-sided translation via the Bergamot Project
-
user.js
Firefox privacy, security and anti-tracking: a comprehensive user.js template for configuration and hardening
-
bergamot-translator
Cross platform C++ library focusing on optimized machine translation on the consumer-grade device.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
> The first release translated endless twitter scroll inline perfectly.
This is the right behavior and it's still working for me. Could you please file an issue to: https://github.com/mozilla/firefox-translations/issues with your STRs?
Translation by Google/Yandex already worked smoothly in Firefox. The reason this post is neat is because the translation is done offline.
Regular cloud translation: https://github.com/FilipePS/Traduzir-paginas-web
[^2]: https://github.com/jelmervdl/translatelocally-web-ext#differ...
As far as I could tell this is the engine powering this:
https://github.com/marian-nmt/marian-dev/
It’s compiled c++ running using wasm.
I came across an add-on that leveraged the same models for translation a while back but with a very different ui/ux that I preferred https://github.com/rei2hu/berga-translator
It is running a full transformer type neural network on your cpu, it needs all the speed it can get.
It’s because the translation engine requires at least SSSE3.1 instructions[1]. These are translated to wasm SIMD instructions[2] which are only enabled by browsers if the underlying hardware is there to execute these at least somewhat efficient.
[1] https://github.com/browsermt/bergamot-translator/issues/418
[2] https://emscripten.org/docs/porting/simd.html
You're pretty much right on the money. For ParaCrawl[1] (which I worked on) we used fast machine translation systems that were "good enough" to translate one side of each pair to the language of the other, see whether they'd match sufficiently, and then deal with all the false positives through various filtering methods. Other datasets I know of use multilingual sentence embeddings, like LASER[2], to compute the distance between two sentences.
Both of these methods have a bootstrapping problem, but at this point in the MT for many languages we have enough data to get started. Previous iterations of ParaCrawl used things like document structure and overlap of named entities among sentences to identify matching pairs. But this is much less robust. I don't know how they solve this problem today for low-resource languages.
[1] https://paracrawl.eu
[2] https://github.com/yannvgn/laserembeddings
Related posts
- DuckDuckGo Browser for Mac and Windows
- Fast and secure translation on your local machine with a GUI
- It's getting hard to use and recommend Firefox, I'm afraid for the free web
- Some notes on Firefox's media autoplay settings in practice as of Firefox 124
- Mercury – Compiler optimized, private Firefox fork