CustomizationAdvanced

i18n & languages

Supported languages and how the widget picks one.

The widget is fully translated into eight languages. Language detection is automatic — the widget reads the browser's navigator.language and picks the best match.

Supported languages

LocaleLanguage
en-USEnglish (United States)
en-GBEnglish (United Kingdom)
en-INEnglish (India)
hiHindi
teTelugu
urUrdu (right-to-left)
arArabic (right-to-left)
frFrench

Detection

The widget resolves the language in this order:

  1. localStorage — a previously detected/selected language is reused (the widget caches its choice there).
  2. Browser languagenavigator.language / navigator.languages.
  3. Fallback to en-US if nothing matches a supported language.

The resolved language is cached back to localStorage, so a returning visitor keeps the same language across sessions.

RTL support

ar and ur are right-to-left. The widget automatically flips its layout direction — no configuration required.

The patient can switch language

A language picker sits in the header above the calendar, so a patient can change language themselves. Their choice is cached to localStorage and reused next time.

It only appears on that first step — the later booking steps deliberately hide it, so the language is chosen before the patient starts entering details.

`calendarOnly` removes the picker

calendarOnly strips the header the picker lives in, which leaves the patient on whatever language was auto-detected. If you're building a kiosk in a specific language, that's usually what you want — just be aware there's no way for them to change it.

Overriding the language from config

There's no option to force a language through init(). If you need that for kiosk or embedded use, contact the platform team — it's tracked as a future config option.

On this page