request.ts 594 B

1234567891011121314151617181920
  1. /**
  2. * 国际化请求配置 - next-intl 核心设置
  3. * 处理 4 种语言: vi, en, zh-CN, zh-TW
  4. */
  5. import { getRequestConfig } from 'next-intl/server';
  6. export default getRequestConfig(async ({ requestLocale }) => {
  7. let locale = await requestLocale;
  8. const supported = ['vi', 'en', 'zh-CN', 'zh-TW'] as const;
  9. if (!locale || !supported.includes(locale as (typeof supported)[number])) {
  10. locale = 'en';
  11. }
  12. return {
  13. locale,
  14. // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
  15. messages: (await import(`../../messages/${locale}.json`)).default,
  16. };
  17. });