i18n / Localisation¶
No i18n is implemented.
- No
i18next/react-intl/linguiinpackage.json - No
locales/ori18n/directory - All strings in
src/pages/*.tsxandsrc/components/*.tsxare hardcoded English
Why this is probably OK¶
This is an internal admin tool for Someli staff, who are presumed to be English-speaking (or at minimum, English-capable). The cost of i18n (translation + ongoing maintenance + bundle size) exceeds the benefit for this audience.
When to revisit¶
- If Someli's internal staff grows internationally and English is not a workable shared language for some staff
- If the admin tool ever exposes UI to non-staff (unlikely)
If i18n is added later¶
Path: react-i18next is the standard React choice. Setup is ~3 hours:
npm i react-i18next i18next i18next-browser-languagedetectorsrc/i18n/config.tswith resources per locale- Wrap
Appin<I18nextProvider> - Replace hardcoded strings with
t('key')calls
Pluralisation, date / number / currency formatting can use Intl.NumberFormat / Intl.DateTimeFormat natively (already locale-aware in modern browsers).
RTL¶
No RTL support. The shadcn / Radix primitives generally accept dir="rtl" and Tailwind has logical properties (ms-, me-, ps-, pe-) but the project uses physical ones (ml-, mr-, pl-, pr-). An RTL pass would require swapping these.
For an English-only admin tool, no action needed.