| 6 | |
| 7 | // Loads the Application Locales/Translations Dynamically |
| 8 | const loadLocaleDictionary = async (locale: string) => { |
| 9 | if (locale === defaultLocale.code) { |
| 10 | return defaultMessages; |
| 11 | } |
| 12 | |
| 13 | if (availableLocaleCodes.includes(locale)) { |
| 14 | // Other languages don't really require HMR as they |
| 15 | // will never be development languages so we can load them dynamically |
| 16 | const { default: messages } = await import( |
| 17 | `@node-core/website-i18n/locales/${locale}.json` |
| 18 | ); |
| 19 | |
| 20 | // Use default messages as fallback |
| 21 | return deepMerge(defaultMessages, messages); |
| 22 | } |
| 23 | |
| 24 | throw new Error(`Unsupported locale: ${locale}`); |
| 25 | }; |
| 26 | |
| 27 | // Provides `next-intl` configuration for RSC/SSR |
| 28 | export default getRequestConfig(async ({ requestLocale }) => { |