Simulacrum

Internationalization

next-intl setup, eight shipped locales, RTL, language switcher, and locale-aware pricing display.

Locales

Simulacrum ships en, es, fr, de, pt, zh, ja, ar with Arabic RTL support. Message files are namespaced (common.json, auth.json, and so on).

Language switcher

Add the <LanguageSwitcher> component to the header. It updates the locale cookie and refreshes routed content.

Browser detection

Middleware detects preferred languages and redirects on first visit when no cookie is set.

Currency

Format Stripe prices with Intl.NumberFormat using the active locale. Map currency codes per market where you sell.

Keep translation keys stable; use descriptions for translators in your TMS export if you use one.