You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An option to offer Mozilla's prerelease language models (Azerbaijani, Belarusian, Bosnian, Norwegian, Nynorsk), off by default because Firefox ships them to its nightly channel only.
Changed
The Firefox build declares that it collects no data, which Mozilla requires of every new add-on submission, and its minimum Firefox version is now 142 (the release where that declaration is understood on both desktop and Android).
The Firefox build no longer carries any Chrome-only code. The offscreen-document branch is cut at build time, so web-ext lint reports no errors, warnings or notices.
Fixed
Card grids and other link-wrapped blocks (div > a > div) are walked into instead of being sent to the engine as one unit, so bilingual mode no longer appends a second copy of every card.
Content revealed after the first pass is picked up: the observer now watches text edits and the attributes that decide whether a block is translatable (hidden, open, lang, translate, aria-hidden), and re-checks the blocks an earlier pass skipped when a class or style changes.
A block the page re-renders in place is translated again instead of keeping a stale translation forever, and the old translation goes with it.
Writes to the page are no longer seen as page changes by the extension's own observer, so translated text is never fed back to the engine.
Restore puts back a lang attribute the page set itself instead of deleting it.
The engine is never handed its own output. Text it produced on the page is remembered for ten minutes, so a page that copies a finished translation into a new element does not get that text translated a second time.
Web addresses, email addresses and long reference numbers inside a sentence come back exactly as they went in. The engine used to put a space inside a query string and translate the domain part of an address.
The model catalog's own platform gates are respected. A desktop browser was picking the Android build of the Japanese, Korean, Chinese and Russian models, and prerelease models were offered as if they had shipped. Norwegian Nynorsk now has a display name instead of showing as nn.
A block that declares its own language is translated with that language's model, or left alone when the model is not installed. An Arabic quotation on a Spanish page used to be pushed through the Spanish model and came back as nonsense.
Every setting on the options page now changes what the extension does. A "never" rule keeps Glossa off that site entirely and says so in the popup, a page in a language you read is not offered, the editable-field skip is honoured, and the catalog refresh uses the interval you set.
A protected run of text keeps its exact spacing. A version number like v1.2.3 is no longer spaced out, and a url in brackets stays tight against them.
One block's protected text no longer switches protection off for the next block, which happened whenever a block's only text sat inside <code>.
A footnote or tooltip block nested inside a link no longer splits the sentence around it into fragments.
A block the page re-renders gets its original language back, so it is offered for translation again instead of looking like it is already translated.
When the engine fails, every block it did not reach is released instead of being skipped for the rest of the page's life.
A change the page makes while a translation is being written to the page is no longer lost.