Skip to content

Releases: belliedmonkey/belliedmonkey-translator

v1.4.1 — sync goes public; popup & parsing fixes

Choose a tag to compare

@belliedmonkey belliedmonkey released this 10 Aug 03:18
a63f302

Chrome package built from this tag — same source submitted to the Chrome Web Store. Direct install guide: https://belliedmonkey.cc/#install (中文图文教程同页)

1.4.1 over 1.4.0 (#116, #117, #118):

  • Fix: popup showed ~800px of blank space when content exceeded 600px height (visible to every Chromium user).
  • Fix: empty parse body with DeepSeek default (thinking) models; in-flight IO now disables controls product-wide.
  • New: the sentence-parsing engine can be set independently of the translation engine (blank = follow).

1.4.0 (#115): Gate B — multi-device sync is publicly enabled, with the privacy disclosure flipped atomically.

Install without the store: download belliedmonkey-translator-chrome.zip below → unzip → chrome://extensions → enable Developer mode → “Load unpacked” → pick the unzipped folder. Direct installs do not auto-update; the store build does.

v1.3.0 — table-cell translations, first-run guidance

Choose a tag to compare

@belliedmonkey belliedmonkey released this 01 Aug 03:20
ab31eb0

What's changed

Fixed — a table cell now takes its translation as a child, not a sibling. (#59 / #60)

An element placed next to a display: table-cell unit lands inside the <tr>, where the
browser wraps it in an anonymous table cell — so the translations became a whole extra
column and the table's intrinsic width roughly doubled. On a floated Wikipedia infobox the
prose column beside it collapsed to ~115px, two or three words per line, while paragraphs
below the table were untouched.

The fix is generic: no hostname or selector entered the segmenter or the renderer. Wikipedia
is the motivating case and the verified site, not a special case in the code — and it now has
a regression fixture of its own (fixture 30, red before the fix).

New — first-run guidance. (#62 / #63)

There was no onboarding at all, and the default engine needs no key and works immediately —
which is exactly the trap, because that endpoint is not stable: it can hand back your
original text unchanged. So the default path was install → translate → sometimes get your own
text back → conclude the extension is broken.

Now the popup and the settings page carry a note that says where you stand before a bad
first result: an engine that needs an API key says so, and the free no-key engine is described
for what it is — fine for a first look, not a stable endpoint. A configured engine shows
nothing. First run marks the toolbar icon with a dot, cleared when the popup first opens.

The free engine is not removed or hidden. Zero-config trial is a real feature; what was
wrong is that users landed on it silently.

Repo — CI (unit tests on Node 16 + 22, all three build flavors), issue templates including
a site adaptation request form, and a rewritten README (English + 简体中文, store-first).

Tests: 87 unit tests, 30 layout fixtures, all green.

Install

Most people should install from a store rather than from source:

  • iPhone / iPad / Mac — SafariApp Store
  • Chrome / EdgeChrome Web Store
  • Firefox → still in review on addons.mozilla.org. Until it clears, the .xpi below is the
    way in: about:debugging → This Firefox → Load Temporary Add-on.
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.3.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. At the moment
this tag was cut, the live versions were iOS 1.2.0, macOS 1.2.0 and Chrome Web Store 1.2.0,
with Firefox 1.2.0 still queued at AMO. The store pages above are the only reliable answer to
"what can I install right now".

v1.2.0 — target-language fixes, AMO manifest requirement

Choose a tag to compare

@belliedmonkey belliedmonkey released this 30 Jul 12:27
5f767d7

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 in docs/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 — SafariApp Store
  • Chrome / EdgeChrome Web Store
  • Firefox → review pending; until then load the .xpi below via about: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".