v1.2.0 — target-language fixes, AMO manifest requirement
What's changed
Paragraphs already in your target language are no longer re-translated. This
previously worked only for Chinese, Japanese and Korean targets; it now works for any
target language — browsing an English page with English as your target no longer draws a
duplicate line, and no longer spends your API quota on it.
Surface note: this uses the browser's own detector (
chrome.i18n.detectLanguage),
which Safari does not implement. On Safari the request is still made, exactly as
before — nothing regresses, but the improvement does not apply there. The reasoning for
not holding every browser to Safari's floor is written down indocs/domain-design.md§5.3.
Fixed — video and podcast subtitles ignored your chosen target language and always
translated to Simplified Chinese. They now follow your setting. The cause is worth
knowing: the adapter captured settings.targetLang by value at module scope, before
settings were ever assigned, which froze the same-language check for the entire session.
Fixed — data_collection_permissions was missing from the manifest (#53). Firefox has
hard-required it since 2025-11-03. build.js now fails the build without it. The declared
value is websiteContent, not none — page and subtitle text really is sent to the
translation provider you configure, and "we run no servers of our own" does not make that
none. browsingActivity is deliberately excluded: the request body carries text only,
no URL, title, referrer, user agent or user identifier.
Fixed — build-safari.sh only applied project settings on first generation (#51), so
MARKETING_VERSION silently drifted away from package.json inside a gitignored
directory. It now re-applies every run.
Tests: 87 passing (npm test, zero dependencies, Node ≥16).
Install
Most people should install from a store rather than from source:
- iPhone / iPad / Mac — Safari → App Store
- Chrome / Edge → Chrome Web Store
- Firefox → review pending; until then load the
.xpibelow viaabout:debugging
→ This Firefox → Load Temporary Add-on
The attached assets are for loading a build yourself, not a substitute for the stores:
| Asset | For |
|---|---|
belliedmonkeytranslator.zip |
Chrome / Edge — unzip, then chrome://extensions → Developer mode → Load unpacked |
belliedmonkeytranslator-firefox.xpi |
Firefox — about:debugging → Load Temporary Add-on |
⚠️ This tag is not a statement about what is live
v1.2.0 marks the source that was submitted to the stores — not a version that has
shipped everywhere. Review is per-platform and each store rolls out on its own schedule,
so the live version differs between iOS, macOS, Chrome and Firefox at any given moment.
The store pages above are the only reliable answer to "what can I install right now".