When Immersive Translate fails in Incognito, enable “Allow in Incognito” on the extension management page, then retest in a newly opened private tab—an icon does not prove content scripts are injected. SPA not translating usually means a client route or lazy load replaced the DOM: the landing view may stay bilingual while detail views snap back to the source language. Wait for the main content, then hard-refresh or click Translate again. Neither pattern means the default engine is broken if a static page works in a normal window.
People searching for Immersive Translate Incognito or SPA not translating usually already succeed in a regular window. The stuck cases are: private browsing stays silent, or a React/Vue admin loses bilingual text after a few client navigations. That is a different layer from a broken install or a never-translate list—those belong in the not-working checklist. If the install is shaky or Chrome Web Store will not open, use store-blocked manual install and source checks first; the download page remains the trusted entry.
Split Incognito from SPA issues
Incognito / private-window failures are about whether the browser lets the extension run in that profile. Typical signal: normal windows work; private windows fail for both full-page and selection.
SPA failures are about DOM replacement without a full document reload. Typical signal: the landing route is bilingual; after an in-app menu click, the new view is source-only; or infinite-scroll cards never enter the translation queue.
Compare three tabs with the same extension: normal window + static news, Incognito + the same news URL, normal window + the problem SPA. The pattern tells you whether to chase permission or refresh timing. For feed-style dynamic sites, see also the Twitter/Reddit translation guide.
Allow the extension in Incognito
Chrome / Edge: Extensions page → Immersive Translate → turn on Allow in Incognito. Firefox: add-on details → run in private windows (wording varies).
Three gotchas:
- After flipping the switch, open a new Incognito window—already-open private tabs often keep the old deny policy.
- Enterprise or parental policies can gray out the toggle; that is policy, not the translation engine.
- Private profiles may not share every setting synced in normal windows—confirm the active engine still works once Incognito is allowed.
If permission UIs are unfamiliar, use the browser extension setup guide. Only after the extension loads in private mode should you debug SPA refresh.
Why SPAs translate halfway
Page translation depends on content scripts finding replaceable text nodes. Multi-page sites reload the document on each click, giving scripts a fresh run. SPAs change the view with client routing: the URL updates, the document stays, old nodes unmount, new ones mount later.
Common symptoms:
- Hero / article body translates; secondary routes show source text only.
- First two scroll screens are bilingual; newly inserted cards stay untranslated.
- Modals, drawers, and tab panels never enter the queue.
That does not mean Immersive Translate “does not support SPAs.” Waiting until the target region is stable, then manually triggering translation—or hard-refreshing the tab—usually rescans the new nodes. Core bilingual triggers are covered in the webpage translation guide.
Refresh timing and client routes
Practical order (one variable at a time):
- Finish the in-app navigation; wait until skeletons/spinners clear and primary text is visible.
- Click Translate / bilingual again (avoid mashing the control on a blank shell).
- Still empty: hard-refresh the tab (Ctrl/Cmd+Shift+R), wait for content, trigger once more.
- Lazy lists only: scroll until new cards appear, then trigger; refresh the list page if needed.
A trap I hit: translating mid-route animation scanned an empty container, and nothing auto-rescanned afterward—it looked like SPA not translating when the click was simply early.
If every hop needs a manual click, add the host to your usual auto-translate / allowlist policy when the settings expose one. If auto rules misfire, tighten site exclusions—do not revoke Incognito permission as a first move.
Site access and content-script injection
Allow in Incognito ≠ automatic access to every host. If the extension is set to “on click,” private tabs still need an explicit grant or nothing injects—full page and selection both go silent.
Check:
- Whether the address bar prompts for extension access.
- Whether site access is “on all sites” vs “on click.”
- Whether ad-block custom rules hit content-script hosts (allowlist briefly to compare).
Permissions OK, static pages OK, only one SPA fails → stay on timing and dynamic DOM. Every window and every site fails → switch to the not-working checklist.
Vs full-page or selection failures
Split tracks to avoid reinstall loops:
- Incognito only, normal window fine → Allow in Incognito + new private window (this article).
- Static pages fine, SPA routes lose bilingual text → refresh timing and re-trigger (this article).
- Store blocked / still verifying a manual package → store-blocked manual install.
- Normal and private, static and SPA all dead → not-working checklist.
- Full page works, selection popup missing → selection popup fixes.
- Clear errors or fail-after-translating that recover after an engine switch → engine/key track, not this article.
Once it works, note two habits: whether Incognito permanently allows the extension, and whether your SPA needs auto-translate or a post-route click. Cheaper than reinstalling.
FAQ
Icon in Incognito but no full-page translation?
Enable Allow in Incognito and retest in a new private tab. Visibility ≠ injection.
SPA landing bilingual, detail routes English—broken install?
Usually a DOM swap without a rescan. Hard-refresh or Translate again after content settles; compare a static page.
Incognito static OK, SPA dashboard still English?
Private permission is fine—fix dynamic nodes and timing: translate after load, and again after lazy inserts.
Incognito allowed but only selection works?
Confirm site access and the full-page control; selection-only issues go to the selection checklist. Engine failures usually error, not Incognito-only silence.
Try Immersive Translate Now
Available for Chrome, Edge, and Firefox, with workflows for web pages, PDFs, and video subtitles.