Live in EdushadeMulti-Language

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.

Quick Tour·Multi-Language

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

Dashboard

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

Dashboard

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

Dashboard

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

Dashboard

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.

1Step
Enabled Languages table with flag, code, RTL toggle, fallback dropdown and primary badge

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.

2Step
URL structure selector with subdirectory/subdomain/query options and auto-detect toggle

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.

3Step
Page editor with localized title field showing English and a locale switcher

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 Sales

Twenty are ready to enable from the dropdown — English, Spanish, French, German, Italian, Portuguese, Russian, Japanese, Korean, Chinese, Arabic, Hindi, Bengali, Turkish, Dutch, Polish, Swedish, Danish, Norwegian and Finnish — each with the matching flag emoji. The locale code is two characters (`en`, `es`), so a custom locale you add later still slots in.

Start 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