bergamot-translator
uBlock-issues
bergamot-translator | uBlock-issues | |
---|---|---|
31 | 454 | |
299 | 862 | |
3.7% | 0.1% | |
6.4 | 4.6 | |
13 days ago | 20 days ago | |
C++ | ||
Mozilla Public License 2.0 | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bergamot-translator
-
Fast and secure translation on your local machine with a GUI
Interestingly, I think this is actually related to the offline translation features built into Firefox. Both are products of "Project Bergamot", but the Mozilla-maintained version was later merged into the Firefox application:
https://browser.mt/
https://blog.mozilla.org/en/mozilla/local-translation-add-on...
https://hacks.mozilla.org/2022/06/training-efficient-neural-...
https://github.com/mozilla/firefox-translations
https://firefox-source-docs.mozilla.org/toolkit/components/t...
Extra webpage with screenshot and links, impossible to search for normally:
https://translatelocally.com/downloads/
Does one thing and does it well.
Oh— For downloading models, it's much easier to pipe/`xargs` `translateLocally --available-models` into `translateLocally -d` than go through the GUI.
---
Other self-hostable translation tools:
https://www.apertium.org/index.eng.html
- Traditional rule-based translation. Seems to work pretty well, but no good desktop frontend.
https://www.argosopentech.com/
- Works, but crashy desktop app.
https://libretranslate.com/
- API wrapping Argos Translate.
https://lingva.thedaviddelta.com/
- Google Translate scraper/privacy frontend.
https://euroglot.com/
- Proprietary, subscription trialware.
-
Firefox 118
It's possible with Neural Machine Translation models. Before being integrated into Firefox itself local translation was already available through the TranslateLocally add-on, see: https://browser.mt/
-
Linguist 5.0 - addon to translate and learn languages with respect to privacy
my understanding is this is using the same backend for the offline translator (aka Bergamot Project), it also supports online translation services (Google, DeepL, Bing, etc.)
-
Need to translate a 200 page book
Then you can run the OCR text through either a google, deepl, or one of the other commercial services to translate as a first pass. They all sell API access to the engines for bulk translation. Or you can use an open source engine like the new Bergamot Engine
-
Firefox Translations doesn't use the cloud
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
-
Show HN: Using stylometry to find HN users with alternate accounts
> But then you have to send your original comment to a translation company so there are privacy concerns there too.
There are modern offline translation systems available such as Project Bergamot https://browser.mt/
-
How do I remove this ugly annoying translation bar that pops up on various sites in FireFox? It doesn't show up in Chrome on the same site, and I have not installed any translation extensions as far as I know.
https://browser.mt/ ("Bergamot" was the technical name for the project.)
-
What do you believe Firefox is missing?
Already exists!
-
Skill for translating words/phrases?
But it'd also be a good idea to check out https://translatelocally.com/ which is a UI for https://github.com/browsermt/bergamot-translator, used in Mozilla's offline MT browser extension. It's deep neural MT, but surpisingly undemanding (runs just fine on CPU's). Not yet in apt and such, but translatelocally at least has dpkg's and newest version should be usable from the CLI.
-
Mozilla reaffirms that Firefox will continue to support current content blockers
Consider Firefox translations, this is a completely offline machine translation extension based on this project.
uBlock-issues
-
:matches-path with pseudo-elements
There is an open issue for this: https://github.com/uBlockOrigin/uBlock-issues/issues/2786 uBO should report such filter as en error in Firefox, so that is the thing to fix.
-
Youtube ad block on pc (ublock origin)
This would be the price of one of the four CDNs (6000$ per month): https://github.com/uBlockOrigin/uBlock-issues/discussions/2958
-
Latest Dev build reset all settings and removed all custom filers lists
opened a bug report https://github.com/uBlockOrigin/uBlock-issues/issues/3003
- Disable "uBlock Origin has prevented the following page from loading:" page
-
📌 YouTube Anti-Adblock and Ads - November 12, 2023 (Mega Thread)
Current estimated cost for just ONE of uBO's CDNs: HERE. This is with other lists updating every few days. uBO's not a company, it's a volunteer project using free services, which have limits that we cannot cross.
-
How to block YT ads like a champ
The extension with the best success rate seems to be **uBlock Origin**. It is a community driven project with a team of volunteers, you can review the source code [here](https://github.com/gorhill/uBlock). You will need to update your filter lists regularly, this because Youtube changes detection methods daily. Here is how you do that:
-
Show HN: Bedframe – open-source Browser Extension Development framework
Definitely a much-needed area for development. However, having gone down the browser extension rabbit hole, I've largely shifted my focus to user scripts. Granted, there will always be a need for specialized browser extensions like ad blockers (uBlock[1]), keyboard shortcuts (Vimium-C[2]), and password managers (Bitwarden[3]).
That said, I find user scripts superior for most tasks, despite some lacking UI niceties. They are easier to share, use, and crucially, audit—be it in terms of scope, permissions, or code updates. Plus if Manifest V3 is any indicator, the future for browser extensions looks bleak. While I don't agree with this direction, it's probably for the best for the majority of users, like my mom.
Your effort is commendable; however, should you find yourself looking for a viable pivot in the future, I believe the user script space is primed for innovation and could offer a good alternative.
[1] https://github.com/gorhill/uBlock
-
Help me understand this code!
const defineProperty = function(chain, cValue, middleware = undefined) { let aborted = false; const mustAbort = function(v) { if ( aborted ) { return true; } aborted = (v !== undefined && v !== null) && (cValue !== undefined && cValue !== null) && (typeof v !== typeof cValue); return aborted; }; // https://github.com/uBlockOrigin/uBlock-issues/issues/156 // Support multiple trappers for the same property. // // trapProp is used to trap a single property within an object. const trapProp = function(owner, prop, configurable, handler) { if ( handler.init(owner[prop]) === false ) { return; } const odesc = Object.getOwnPropertyDescriptor(owner, prop); let prevGetter, prevSetter; if ( odesc instanceof Object ) { if ( odesc.configurable === false ) { return; } if ( odesc.get instanceof Function ) { prevGetter = odesc.get; } if ( odesc.set instanceof Function ) { prevSetter = odesc.set; } } Object.defineProperty(owner, prop, { configurable, //When a property is accessed (get), the custom getter function is called. get() { if ( prevGetter !== undefined ) { prevGetter(); } return handler.getter(); // cValue }, // When a property is modified (set), the custom setter function is called. set(a) { if ( prevSetter !== undefined ) { prevSetter(a); } handler.setter(a); } }); }; // trapChain is used to recursively trap properties along a chain of properties (e.g., object1.object2.property). const trapChain = function(owner, chain) { const pos = chain.indexOf('.'); if ( pos === -1 ) { trapProp(owner, chain, true, { v: undefined, init: function(v) { if ( mustAbort(v) ) { return false; } this.v = v; return true; }, getter: function() { return cValue; }, setter: function(a) { // Middleware is called when a property is set, allowing additional processing or validation of the new value. if (middleware instanceof Function) { cValue = a; middleware(a); } else { if ( mustAbort(a) === false ) { return; } cValue = a; } } }); return; } const prop = chain.slice(0, pos); const v = owner[prop]; chain = chain.slice(pos + 1); if ( v instanceof Object || typeof v === 'object' && v !== null ) { trapChain(v, chain); return; } trapProp(owner, prop, true, { v: undefined, init: function(v) { this.v = v; return true; }, getter: function() { return this.v; }, setter: function(a) { this.v = a; if ( a instanceof Object ) { trapChain(a, chain); } } }); }; trapChain(window, chain); }
- Firefox 115 can silently remotely disable my extension on any site
-
Why do my settings keep getting reverted?
Maybe https://github.com/uBlockOrigin/uBlock-issues/issues/2725 ?
What are some alternatives?
go-socks5-proxy - A lightweight Go SOCKS5 proxy-server
SponsorBlock - Skip YouTube video sponsors (browser extension)
wordle-bg - 🇧🇬 Wordle clone in Bulgarian
brave-core - Core engine for the Brave browser for mobile and desktop. For issues https://github.com/brave/brave-browser/issues
linguist - Translate web pages, highlighted text, Netflix subtitles, private messages, speak the translated text, and save important translations to your personal dictionary to learn words even offline
ClearUrls
skia-opengl-emscripten - DEPRECATED! ~~C++ HTML/CSS UI. Supports subset of HTML/CSS. Based on chromium/cobalt.foo without JavaScript overhead. Uses SKIA 2D graphics library. Can be used to build UI for cross-platform app, game or website. Can support browser as HTML5 web framework or WebGL UI renderer.~~
ClearURLs-Addon - ClearURLs is an add-on based on the new WebExtensions technology and will automatically remove tracking elements from URLs to help protect your privacy.
marian-dev - Fast Neural Machine Translation in C++ - development repository
uBlock - uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.
frontend.wasm - Wasm frontend for Tolc
bypass-paywalls-chrome-clean-magnolia1234 - Bypass Paywalls Clean for Chrome (no Google Analytics, lot of updates/bug-fixes and custom sites)