Skip to content

Translations Not Showing

Work through these steps in order. Each one rules out a different layer of the translation pipeline.


What you’re seeingMost likely cause
/fr/about/ loads but shows English textLanguage inactive, or translations not generated yet
Some strings translated, others still in EnglishThose strings weren’t scanned, or haven’t been translated yet
URL redirects to /fr/ or the homepageLanguage is marked inactive
/fr/about/ returns a 404 errorPermalink structure needs refreshing

Step 1 — Confirm the language is added and active

Section titled “Step 1 — Confirm the language is added and active”
  1. Go to Omnalingo → Settings → Languages.
  2. Find the target language (for example, French) in the list.
  3. Make sure the toggle is set to Active.

If the language is there but inactive, enable it and save. If the language isn’t in the list at all, you need to add it first — see Languages.

Keep in mind that the free plan allows only one active target language. If you’ve added more than one language, the second and beyond are automatically paused until you upgrade.


Section titled “Step 2 — Refresh your permalink structure”

Omnalingo adds language-prefixed URLs (like /fr/, /de/) to your site, which requires WordPress’s rewrite rules to be up to date. If those rules are stale, translated URLs return 404 errors.

Fix: Go to wp-admin → Settings → Permalinks and click Save Changes. You don’t need to change anything — just saving flushes the rules. Then test the translated URL again.


Step 3 — Check that the page was scanned

Section titled “Step 3 — Check that the page was scanned”

If the URL loads but shows source-language text, the page may not have been scanned yet, or translations may not have been generated.

  1. Open the Omnalingo dashboard.
  2. Find the page in the list.
  3. Check its scan status — if it shows “Not scanned” or the scan was never run, start a scan.
  4. After scanning, check whether translations exist for that page by clicking into it and selecting the target language tab.

If the scan status looks fine but translations are missing, run Translate All from the dashboard to generate AI translations for any unprocessed strings.


Caching plugins serve saved copies of pages. If the page was cached before translations were generated (or before Omnalingo was configured), visitors — and you — will see the cached, untranslated version.

Clear your cache from your caching plugin’s admin panel (WP Rocket, LiteSpeed Cache, W3 Total Cache, or similar), then reload the translated page without your browser cache (Ctrl+Shift+R or Cmd+Shift+R).


If you’ve added exclusion rules, a rule may be preventing the page from being scanned.

Go to Omnalingo → Settings → Exclusions and check whether any URL exclusions match the page you’re testing. Also check the CSS selector exclusions — a selector that’s too broad (like main or .content) could be suppressing most of the page’s text.

See Exclusions for details.


Step 6 — Verify the URL you’re testing

Section titled “Step 6 — Verify the URL you’re testing”

Translated content lives at a language-prefixed URL. If you configured French with the slug fr, the French version of your About page is at /fr/about/ — not /about/.

  • Make sure you’re testing the prefixed URL.
  • Check that the slug in your browser matches what’s configured in Settings → Languages.

Step 7 — Dynamic content (JavaScript-loaded text)

Section titled “Step 7 — Dynamic content (JavaScript-loaded text)”

If your page loads translated text but certain elements (like a cart widget, a mini-cart, or a dynamic product block) still show the original language, those elements may be loaded by JavaScript after the page renders.

Omnalingo handles most dynamic content automatically, but you need translations to exist first:

  1. Open the visual editor for the page and check whether those strings appear in the sidebar. If they don’t, they haven’t been scanned yet — trigger a scan.
  2. After translating, clear your cache. Dynamic content translations are delivered via a separate JavaScript file that caching plugins can also cache.

Step 8 — Check for caching of the translated page itself

Section titled “Step 8 — Check for caching of the translated page itself”

Even if translations exist in the database, a full-page caching plugin may be serving a cached copy of the English page for your translated URL. Omnalingo needs to be able to process each request — it can’t do this when a cached HTML file is served directly.

Configure your caching plugin to either:

  • Exclude URLs starting with your language slug (for example, don’t cache /fr/*)
  • Or segment the cache by language so each language has its own cached version

Consult your caching plugin’s documentation for the exact setting.