Skip to content

Foundation / Internationalization

Internationalization (i18n)

RTL-safe layout, locale-aware formatters, and the LocaleProvider + useLocale hook. Switch locale below to see formatting and layout adapt in real time.

ACTIVE LOCALE

Use the switcher above on the demo page to see live locale switching.

Supported Locales

🇺🇸
English
en-US
🇸🇦
العربية
ar-SARTL
🇮🇱
עברית
he-ILRTL
🇨🇳
中文
zh-CN
🇯🇵
日本語
ja-JP
🇩🇪
Deutsch
de-DE
🇫🇷
Français
fr-FR

API

import { LocaleProvider, useLocale } from "@nodus/ds/i18n"; // Wrap your app: <LocaleProvider locale="en-US"> <App /> </LocaleProvider> // In any component: const { locale, dir, setLocale, formatNumber, formatCurrency, formatDate, formatRelativeTime } = useLocale(); formatNumber(1_234_567.89) // "1,234,567.89" formatCurrency(9876.54, "USD") // "$9,876.54" formatDate(new Date(), { dateStyle: "medium" }) formatRelativeTime(new Date(Date.now() - 3600_000)) // "1 hour ago"

See the interactive demo for live locale switching across all formatters.