Internationalisation
Kubuno ships in 13 languages, RTL included. The core and every module share a single i18next instance exposed by the SDK.
Supported languages #
en · fr · es · pt · it · de · el · ru · ar (RTL) · he (RTL) · hi · zh · ja.
A module's translations #
A module embeds its strings (often inline) and registers them at startup under its own namespace:
// frontend/src/i18n.ts
import { registerModuleTranslations } from '@kubuno/sdk'
const fr = { new_event: 'Nouvel événement' /* … */ }
const en = { new_event: 'New event' /* … */ }
// … les 13 langues
registerModuleTranslations('calendar', { en, fr, es, pt, it, de, el, ru, ar, he, hi, zh, ja })// dans un composant
const { t } = useTranslation()
<button>{t('calendar:new_event')}</button>RTL #
The SDK sets document.documentElement.dir = 'rtl' for ar and he. Use logical properties (start/end) rather than left/right — automatic with Tailwind.
Note
The language preference is remembered (cookie) and mirrored into the core's user preferences.