繁體中文 | English
Store Release Notes
Update summary for users on Chrome Web Store and Firefox Add-ons. Lists only changes that directly affect end users; bug fixes and refactors are omitted unless user-visible. The full version history (every patch and technical detail) lives in the GitHub CHANGELOG.md.
v1.9.24 Released 2026-05-18
Compared with the previous store version v1.9.8
This release focuses on a major overhaul of YouTube subtitle translation, plus improved support for several categories of pages. It also moves the "Translate into" picker into the toolbar popup.
- "Translate into" picker moved to the toolbar popup: switching target language no longer requires opening the settings page — pick it directly from the toolbar icon. The change takes effect immediately for the next translation (existing translation cache is not cleared automatically; to re-translate an old page, open the toolbar popup and use "Clear cache"). UI language and translation target remain independently configurable (e.g. "English UI + translate into Traditional Chinese" still works).
- Major YouTube subtitle overhaul: if your YouTube account has the "Auto-translate subtitles to Chinese (Simplified)" preference set, Shinkansen now switches back to the original spoken-language track (English, Japanese, French, etc.) on load, so translation quality is no longer degraded by double translation (YouTube translating first, then Shinkansen translating that); subtitle translation quality is improved for 20 non-English spoken languages (Japanese, Korean, French, German, etc.); single subtitle lines are capped to two rows, so a single utterance no longer balloons to four lines and covers the picture; videos with a native Traditional Chinese subtitle track (including videos with multiple subtitle tracks where one of them is Traditional Chinese) skip translation entirely and let YouTube show the native track; seeking on the progress bar is far more stable; the "Translating…" overlay disappears immediately when you press the CC button to hide subtitles.
- Improved support for previously unsupported pages: (1) pages that use web components to render content (for example, the titles, tables, and footnotes inside Datawrapper interactive charts) are now translated — previously these blocks stayed in the source language; (2) Chinese tech-news sites whose article body interleaves ad cards used to leave roughly half the paragraphs untranslated; this release fixes the structural misjudgment, taking one test article from 7 of 17 paragraphs translated to a full 17 of 17; (3) Goodreads reviews and some blog / comment sections that wrap several lines inside a single paragraph element were previously skipped by detection and are now translated normally; (4) plain-text pages wrapped entirely in a
<pre> tag (such as asuswrt-merlin.net/changelog-3006) used to be treated as source code and skipped; this release recognizes them as plain text and translates them.
- Medium / Substack and similar sites: "500 Something went wrong" fix: previously, enabling auto-translate on these sites would occasionally surface a "Sorry, something went wrong on our side" error page; this release fixes the underlying race. Related fix: Medium comment "more" expand buttons keep their underline styling and remain clickable after translation (previously the button was replaced by the bare text "更多" with no underline and no click handler).
- Gemini 3.1 Flash Lite promoted from preview to stable: Google released this model out of preview, and this version updates the default model ID from
gemini-3.1-flash-lite-preview to gemini-3.1-flash-lite accordingly. Existing user settings are migrated automatically on upgrade — no manual action required.
- Auto-translate site list treats
www. prefix interchangeably: an entry of example.com in the "Auto-translate listed sites" list now also applies to www.example.com (and vice versa); the match is case-insensitive.
- Settings import dropped 13 fields — fixed: previously, importing a backed-up settings file silently dropped 13 fields — fixed glossary entries, translation target language, UI language, display mode, display currency, translation accent color, toast opacity and position, "skip already-Traditional pages" toggle, "disable update notice" toggle, custom translation presets, YouTube subtitle settings, and others — so settings imports effectively reset most preferences. This release imports those 13 fields as well, with per-field validation that filters out malformed values.
v1.9.8 Released 2026-05-12
Compared with the previous store version v1.9.0
This release focuses on the translation experience on social-media sites (X / Twitter, Threads, Reddit, Mastodon), and corrects previously overstated cost figures and a usage-record mismatch.
- Major fixes for social-media sites (X, Threads, Reddit, Mastodon): these "load-as-you-scroll" sites received a number of fixes — translations no longer have to wait for the user to stop scrolling before appearing (in our test, 5.1 s down to 3.2 s); scrolling a tweet out of view and back no longer re-translates it (no double-charge) and no longer produces a different translation; tweets with line breaks keep their multi-line layout (previously collapsed into one line); when an emoji image splits a tweet body into multiple text blocks, the translation no longer drops the first half; the large image preview on X link cards no longer disappears after translation when the image loads in later; short Simplified-Chinese content (which these sites often tag only as "Chinese" without specifying Traditional or Simplified, or which appears in very short article-card titles) is no longer mistakenly skipped as already-Traditional.
- Google Translate garbled-output fix on mixed Chinese-English pages: when using Google Translate on pages mixing Chinese and English (X, Threads, Reddit, etc.), English paragraphs are no longer mistaken for a Simplified-Chinese variant and mangled into garbled output (e.g. "No API billing, no latingle m…" — English fragments mashed with stray Han characters). After upgrading, the extension automatically clears pre-1.9.8 garbled output left behind by Google Translate once; Gemini and custom-model translation memory are untouched, so previously paid translations are preserved.
- Scroll-based re-translation no longer pops a repeat notification: on sites that load new content as you scroll, scrolling back to already-translated paragraphs no longer pops the "translated N new segments" notification. This scroll-based catch-up is passive (the user didn't press a button), so popping a notification each time was just noise.
- Google Translate / custom-model no longer silently switches to Gemini on dynamic sites: previously, when users picked Google Translate or a custom OpenAI-compatible model to translate sites that load new content as you scroll (X, etc.), the first translation succeeded but newly loaded content quietly switched to Gemini in the background (and failed entirely if no Gemini key was set — felt like "only translates halfway"). This release keeps the user's chosen engine consistent throughout.
- PDF document translation supports custom OpenAI-compatible services: selecting a custom-model preset to translate a PDF no longer silently falls back to Gemini — local Ollama, llama.cpp, or services like OpenRouter can now be used for PDF translation. Selecting a Google Translate preset for PDFs now shows a clear inline error pointing the user to Gemini or a custom model (Google Translate itself has no document-translation capability).
- Google Drive video subtitle translation supports custom OpenAI-compatible services: previously only Gemini and Google Translate were supported.
- YouTube "already in Chinese but translated anyway" fix: some YouTube manual subtitle tracks are tagged only as "Chinese" (without distinguishing Traditional or Simplified). Previously, because the tag didn't match any specific Traditional or Simplified variant, the extension would still send the subtitles for translation even when the text was already Traditional Chinese. This release detects the actual subtitle content: when the target language is Traditional or Simplified Chinese and the subtitles are already in that variant, they are no longer translated again.
- Cost display correction + customizable repeat-content discount: usage details and notifications used to hardcode 25% as the share to pay for repeat-content cache hits (a Gemini 2.0-era figure). Starting with Gemini 2.5+, that share dropped to 10%; this release applies the correction, and exposes a repeat-content discount setting for custom models (which varies widely across services, from 2% to 50%). Impact on existing users: after upgrading, displayed Gemini costs drop to about 0.4×, and displayed custom-model (OpenRouter) costs drop to about 0.2× — this corrects previous over-estimation, not a step backward.
- Usage records unified to a single source: the running cost shown by the toolbar icon used to come from one source, while the settings-page usage table came from another — so the two could fall out of sync. "Clear records" in settings only cleared the table, while the toolbar icon kept showing the old total. This release unifies both to the same record. Tokens and cost consumed by glossary extraction are now also included in the usage table (with a "[Glossary]" prefix).
- "Thinking off" actually works for custom models: when connecting to services like Fireworks, Together, Groq, or DeepInfra running thinking-capable models (Qwen, DeepSeek, etc.), choosing "Off" for thinking used to be silently ignored — users set "Off" but the model still spent a long time thinking. This release sends the standard parameter; choosing "Off" now actually drops from 56 s to 1.2 s in our test.
- Custom-model default changed to OpenRouter GPT-5.4 Mini: new users opening the "Custom model" tab only need to fill in an OpenRouter API key to start using it — the API endpoint, model name, and two pricing fields are pre-filled.
v1.9.0 Released 2026-05-09
Compared with the previous store version v1.8.55
Two main themes: both the translation target and the UI now span 8 languages, and complex page layouts get major bilingual-mode polish.
- Multi-language translation target: the translation target expanded from Traditional Chinese to 8 languages (Traditional Chinese, Simplified Chinese, English, Japanese, Korean, Spanish, French, German). Switch in the "Target language" panel of options; all translation modes (web pages, PDF, YouTube subtitles, custom models) share this setting; the default follows your browser locale.
- Multi-language UI: popup, settings page, web translation progress toast, and PDF document translation reader are all available in 8 languages. The UI language can be set independently from the translation target (e.g. "English UI + translate into Traditional Chinese").
- Correct CJK glyph variants in translations: when translating into Japanese or Korean, translated text now picks the corresponding locale font stack, avoiding glyph drift on pages locked into Traditional-Chinese fonts (e.g. the Japanese "査" still rendered as the Chinese form).
- Major bilingual-mode fixes for GitHub / Medium and other complex pages: bilingual mode received 15+ structural fixes — GitHub code blocks no longer overlay translations, filename cells are no longer mistranslated, table cells now have proper breathing room from the translation block, commit dates no longer trigger LLM hallucination of long stories, Medium pull-quote translations no longer overflow the column, like / comment counts are no longer mistranslated, and more.
- Custom provider strong segment markers (default on): when using a custom OpenAI-compatible provider against locally quantized models (Ollama / llama.cpp running gemma-4 / Qwen quantized), Shinkansen now uses sturdier segment markers so they aren't mistranslated as "N1, N2" leaking into the output. Commercial API users (OpenRouter / DeepSeek / Groq, etc.) can turn this off in the "Custom model" tab to save tokens.
- Full privacy policy update + English version: the privacy policy now reflects the 8 target languages, 3 engines (Gemini / Google Translate / OpenAI-compatible), and 5 outbound connections (including FX rate API / GitHub release check), and is now available in English.
- YouTube subtitles "Chinese flickers back to English" fix: in some YouTube playback scenarios (quality switch, ad break end, player remount, theatre toggle), YouTube fires phantom navigation events that previously caused Shinkansen to reset subtitle translation state and re-fetch captions (~10 seconds), so users saw the translated subtitle flicker back to English for a while before returning. This release adds a guard: if it's the same video and translation is still active, the reset is skipped — flicker gone.
- Log system fixes: the Log tab in settings now loads history from before a service-worker restart, and the "Clear" button actually clears persisted entries (previously, old logs would reappear after each SW restart).
v1.8.55 Released 2026-05-05
Compared with the previous store version v1.8.38
This release focuses on PDF document translation and bilingual experience polish.
- PDF document translation (beta): drop a PDF onto the "Translate Document" tab; Shinkansen parses the layout locally, sends the extracted text for translation, and presents the result in a side-by-side reader for users to read. Can be downloaded as a bilingual PDF. The whole document is processed inside your browser; only the extracted plain text is sent to the translation endpoint you configured.
- PDF translation editing: the reader supports per-segment editing of the translation, with basic markdown (bold, italic, links) and built-in find / replace. Saving regenerates the side-by-side preview.
- Article glossary: before translation, AI can extract a glossary of names and proper nouns from the article. After review or editing, this glossary is used during translation to keep names consistent throughout the document. The glossary can be imported and exported as JSON.
- Google Drive video subtitle translation: the YouTube subtitle translation pipeline extends to videos hosted on Google Drive, with consistent styling and bilingual behavior.
- YouTube bilingual subtitle visual integration: in bilingual mode, the original and translated lines now share a single black background, fully solving the previous "two-line English crowds out the translation" and "three black bars stacked" issues.
- Customizable accent color for bilingual mode: bilingual mode offers 8 accent colors and automatic dark-mode contrast, improving legibility on dark pages.
- Translation memory no longer cleared on extension version updates: the cache survives version bumps so users do not lose data each upgrade. Manual clearing is still available from the popup or settings page.
- Display currency switch (Traditional Chinese UI only): cost statistics in the settings page can switch between USD and TWD with automatic conversion.
v1.8.38 Released 2026-05-01
Compared with the previous store version v1.8.30
This release focuses on UX polish and cross-browser compatibility fixes.
- Local Ollama / llama.cpp connection guidance: the custom Provider tab in settings adds an expandable section "Getting 403 connecting to local Ollama / llama.cpp?" with two viable workarounds (configuring
OLLAMA_ORIGINS, or using a hosts-file fake domain).
- Support for browsers without
openOptionsPage (e.g. Arc): clicking the "Settings" button in the popup now opens the settings tab correctly on Arc.
- YouTube no longer keeps translating after CC is turned off: when the user toggles off the YouTube CC button, Shinkansen pauses subtitle translation immediately and hides any leftover Chinese subtitles, so tokens are not consumed when subtitles are not visible.
- Bilingual mode contrast on dark backgrounds: the bilingual wrapper now auto-detects the actual page background luminance and applies a contrast-strengthened color scheme on dark pages, fixing the previous "beige fill clashes with light-gray text" issue. Border radius, padding, and inter-paragraph spacing also tuned.
- Subscribed-thread title detection on forums: thread titles in vBulletin-style forums (which add a wrapper and small icon when subscribed) are now correctly detected and translated.
v1.8.30 Released 2026-04-30
Compared with the previous store version v1.4.22
A long stretch separated this release from v1.4.22, with substantial accumulated changes. The user-visible highlights are below.
- Instant Translation: see the page start turning into your target language within 1 second of pressing translate, instead of waiting for the entire batch to come back at once (Gemini engine only). The first paragraphs now stream, dropping first-character latency from 2.5–4.4 seconds to 1.0–1.2 seconds.
- Bilingual side-by-side mode: a one-click toggle in the popup. "Overlay" replaces text in place; "Bilingual" keeps the original and appends the translation as a new paragraph. Bilingual mode offers four visual treatments (subtle background tint, left border, wavy underline, none) for the translated paragraphs.
- Custom AI models: in addition to Google Gemini and Google Translate, a new "Custom OpenAI-compatible endpoint" tab lets users connect to OpenRouter, Together, DeepSeek, Groq, Fireworks, Anthropic Claude, local Ollama / llama.cpp, and any other OpenAI-compatible service — hundreds of models in total.
- YouTube auto-caption smart re-segmentation: YouTube auto-generated captions (videos without manual subtitles, marked CC auto-generated) used to arrive as 1–3 word fragments without punctuation, with translations broken to match. Now AI re-segments the whole batch by sentence boundaries and adds punctuation before translating, so Chinese subtitles read as complete sentences instead of word fragments. Default mode is "hybrid": local heuristic segmentation appears immediately, AI re-segmentation runs in the background and replaces it once ready.
- Translate opening only (cost saver): translate only the first few paragraphs (5–50 range, default 25), dramatically reducing token usage — useful for previewing before deciding whether to read the whole article. After translation, a "Translate remaining paragraphs" button appears in the bottom-right; clicking it finishes the article, reusing previously translated paragraphs from the local cache without re-charging.
- Blocked-word list: a user-editable substitution list (25 defaults, e.g. mainland Chinese phrasings to avoid in Taiwan-Mandarin output), explicitly telling the AI to never use the left-column terms.
- Translation shortcuts and three presets: three customizable translation presets, each bound to a shortcut (macOS Option+A/S/D, Windows Alt+A/S/D); engine, model, and label per preset are configurable in the "Translation shortcuts" section of settings. Pressing any shortcut while translated restores the page; pressing during translation cancels.
- Cross-tab translation continuity: after triggering translation in tab A, opening a link from A in a new tab B (including Cmd / Ctrl-click,
target="_blank", or programmatic window.open) automatically translates B with the same preset. Multi-level: B opening C also continues.
- Faster translation startup: long pages (Wikipedia, forums, long Medium articles) now start translating noticeably faster. Across a representative set of long pages, first-character latency dropped by an average of 29% (NPR from 11.7 s to 5.1 s).
- More intuitive translation order: on long pages, the first translated text users see is now the article title and first paragraph instead of navigation menus, cookie banners, or tables of contents (paragraphs inside
main / article are translated first).
- Store update notifications: when Chrome Web Store or Firefox Add-ons auto-updates to a new version, popup and toast show a "Welcome to the new version" message listing the headline features. Patch-level updates are silent and don't pester users.
- "Translate this page" toolbar button: clicking the toolbar icon directly triggers translation and can be configured in settings to use a specific preset.
- Background-tab CPU and battery savings: when a tab is in the background, Shinkansen pauses content detection and SPA URL polling, reducing power drain on inactive tabs.
- Reload button on the usage history page: the usage history tab in settings adds a "Reload" button so users can see the latest entries without closing the settings tab.
- Multiple YouTube subtitle improvements: subtitles bypass YouTube's native "word-by-word" rendering for stable full-line display, subtitle styling auto-aligns to the native YouTube caption style, the YouTube subtitle settings tab is reorganized (auto-translate, engine, advanced, window, prompt), and subtitle translation can optionally apply the fixed glossary and blocked-word list (off by default to save tokens).