NextJS13从服务器组件获取区域设置

cqoc49vn  于 2023-06-22  发布在  其他
关注(0)|答案(1)|浏览(138)

我想从组件中获取区域设置,而不使用“使用客户端”。nextjs13有可能使用app router吗?

import en from '@/public/locales/en.json';
import ru from '@/public/locales/ru.json';
    const Header = () => {
       const router = useRouter();
       const {locale} = router;
       const t = locale === 'en' ? en : ru;
       return <div>{t.title}</div>
    }

    const nextConfig = {
        i18n: {
            locales: ['en', 'ru']
        }
    }

它给出了一个错误“useRouter只在客户端组件中工作。在文件的顶部添加“使用客户端”指令以使用它“。“使用客户端”解决此问题。如何获取本地代码,例如'en'从本地文件中获取本地语言?

a6b3iqyw

a6b3iqyw1#

您可以从"next-intl/server"导入getLocale并在服务器组件中使用它

import { getLocale } from "next-intl/server";

export default function Home() {
  const locale = getLocale();
  return (
     <main>
       <div>{locale}</div>
     </main>
   );
}

相关问题