KamoCRM

Wire next-intl with member.language as locale source

Featurekamo-internal
Shipped
28 ஏப்ரல், 2026 அன்று 3:28 PM UTC
Author
kamo
Commit
384eff4

Adds next-intl-based internationalization across kamo-internal without URL locale prefixes. Active locale is read from the kamo-locale cookie, which mirrors the authenticated member's `language` preference (set via the Regional Settings card in **************** Infrastructure: - i18n/locales.ts, i18n/request.ts: 22 supported locales matching kamo-marketing - /api/i18n/set-locale: writes the kamo-locale cookie - LocaleBootstrap: syncs cookie to Member.language on first authenticated load - I18nProviders: applies MUI core, x-data-grid, x-date-pickers locales and date-fns adapter locale to the active language - useFormatters: locale-aware date / number / percent / relative-time helpers - MyAccountTab Regional Settings save: writes the cookie + router.refresh() when the user changes their own language - scripts/translate.ts: build-time delta translation against TranslateService (mirrors kamo-marketing's pattern) - scripts/merge-fragments.ts, **************** tooling for aggregating per-area key fragments into messages/en.json Coverage: - messages/en.json seeded with shared common.*, nav.*, auth.* keys plus initial extraction across ~67 pages and components (dashboard, leads, commerce, settings, account, contacts, settings/features, settings/member, components/settings, components/tools/ai-chat, etc.). Many feature surfaces still need follow-up extraction passes.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing