Localization that goes deeper than,a translate button
Edushade ships a real localization system — twenty languages with flags ready to enable, three URL structures, a fallback chain per locale, true RTL with per-locale font overrides, and region-aware date, time, number and currency formats. Every page, post, form, menu and SEO field carries its own value per locale, so a learner reads your platform in their language without scaffolding around a translation tool.
Everything localization actually demands, in one settings tab
Localization in Edushade is not a wrapper around a translation API. It is a first-class part of the data model — every localized field is a `LocalizedField` keyed by locale, every block stores localized content, every URL is routed by locale, and every typography choice can vary per language. One settings tab controls all of it.
Twenty Built-In Languages
English, Spanish, French, German, Italian, Portuguese, Russian, Japanese, Korean, Chinese, Arabic, Hindi, Bengali, Turkish, Dutch, Polish, Swedish, Danish, Norwegian and Finnish — each with the right flag emoji and ready to enable in one click.
Three URL Structures
Subdirectory (example.com/en/page), subdomain (en.example.com) or query parameter (?lang=en). Switch between them from the same dropdown — the routing layer adapts.
Real RTL Support
Arabic, Hebrew, Persian and Urdu auto-detect as right-to-left when added. The platform sets html lang and dir, and the theme system flips alignment, padding and margins automatically.
Fallback Locale Per Language
Each non-primary locale picks its own fallback. If a Bengali page is missing a meta title, the platform pulls from the chosen fallback (English by default) instead of showing an empty field.
Per-Locale Typography
Pick a different font-sans, font-serif and font-mono for each language. Edushade emits :lang() CSS rules so an Arabic learner sees a script-appropriate font without you swapping it manually.
Region-Aware Formatting
Default date format, 12h vs 24h time, number format (1,234.56 vs 1.234,56), currency and timezone — all stored on the localization config and applied across formatting helpers.
Adding a language is one dropdown, not a checklist
Open the localization settings and the Enabled Languages table lists every locale on your site — flag, label, code, direction, fallback and primary status, all in one row. Pick a language from the Add Language dropdown and it lands in the table with a sensible default. Promote any locale to primary, set its RTL and fallback chain, and the rest of the platform picks up the change.
Twenty languages with flags ready to enable from a dropdown
Code, label, RTL toggle, fallback, primary and remove on every row
Primary locale cannot be removed; the table always keeps at least one
RTL detection is automatic for ar, he, fa and ur — toggleable per locale
URL routing that fits your stack, not the other way around
Pick the URL structure that fits your domain strategy. Subdirectory keeps the same hostname and stamps the locale code into the path — the cleanest option for SEO. Subdomain gives each locale its own host. Query parameter is the fastest to wire if you cannot touch DNS. The router and the SSR loader respect whichever you choose, and Auto-detect User Locale uses the Accept-Language header to land first-time visitors on the right page.
Three URL structures: subdirectory, subdomain, query parameter
Auto-detect User Locale honours the browser's Accept-Language header
Locale persists in localStorage across visits, scoped per browser
html lang attribute set automatically — :lang() CSS selectors just work
Localized fields wherever your team writes content
A localized field in Edushade is not a sidebar plugin — it is a first-class data type. Pages, posts, forms, menus, blocks and the SEO config all use the same LocalizedField shape, so the admin renders a locale switcher next to the field and the renderer falls back to the chosen fallback locale when a value is missing. No empty page when the Spanish version is in flight.
Page title, slug, meta title and meta description per locale
Post title, excerpt and full content per locale
Form title, description, field labels, placeholders, submit text and success message
Menu item labels, block content, SEO templates and system-page metadata
Per-locale typography for the languages that need it
Latin and non-Latin scripts deserve different fonts. Edushade lets you set font-sans, font-serif and font-mono per locale — the design theme stores the override and the platform emits :lang() CSS selectors that switch fonts automatically when the html lang attribute changes. An Arabic learner sees a script-appropriate font; an English learner sees yours; nobody sees a fallback box.
Per-locale font-sans, font-serif and font-mono on the design theme
CSS emits :lang(ar) { font-family: ... } rules automatically
Font picker filters to the languages each typeface actually supports
Light + dark themes inherit the same per-locale typography stack
From a single-language site to multilingual in three steps
Localization lives under Admin → Website → Settings → Localization. Add a language, pick a URL structure, translate the fields that matter — your content, menus and forms come along.
Add languages and set the primary
Open Localization Settings. Pick your primary locale, then add languages from the dropdown — flag, code and label are filled in for you. Toggle RTL on Arabic, Hebrew, Persian or Urdu. Pick a fallback locale per language so missing translations don't render blank.
Pick a URL structure and turn on auto-detect
Choose subdirectory, subdomain or query parameter — whichever fits your domain setup. Flip Auto-detect User Locale on so first-time visitors land in their browser language, then jump to Regional Settings to set default date, time, number, currency and timezone.
Translate where it matters and ship
Open a page, post, form or menu — every localized field shows a locale switcher inline. Translate what matters now, leave the rest, and the renderer falls back through the chain you configured. The locale switcher on the public site lets learners pick their own language at any time.
Multi-Language FAQ
How locales, URLs, RTL, fallbacks, typography and region-aware formatting actually work inside Edushade.
Can't find what you're looking for?
Contact SalesStart Building Learning Your Way
Set up courses, programs, and learning experiences without forcing your process into rigid software. A connected system for students, educators, and administrators.
Build Your Academy