import { cookies } from 'next/headers';
import { getRequestConfig } from 'next-intl/server';

// 内存缓存：存储已经加载过的语言包
const locales: Record<string, any> = {};

export default getRequestConfig(async () => {
  const store = await cookies();
  const cookieLocale = store.get('locale')?.value || 'en-US';

  // 如果缓存中没有这个语言，才去加载
  if (!locales[cookieLocale]) {
    locales[cookieLocale] = (await import(`@/i18n/${cookieLocale}.ts`)).default;
  }

  return {
    locale: cookieLocale,
    messages: locales[cookieLocale], // 直接从缓存中读取
  };
});
