NextJS 国际化 (i18n) 路由:语言环境未定义

问题描述 投票:0回答:0

我正在尝试为我的个人网站学习 Next.js 国际化 (i18n) 路由。但是,区域设置、区域设置和默认区域设置值变得未定义。 (我使用的是最新版本的 Next.js)

这是我的文件:

next.config.js:

/** @type {import('next').NextConfig} */
const nextConfig = {
  i18n: {
    locales: ["tr", "en"],
    defaultLocale: "tr",
  },
};

module.exports = nextConfig;

locales/tr.js:

export default {
  hello: "Merhaba dünya!",
};

locales/en.js:

export default {
  hello: "Hello world!",
};

应用程序/page.js:

"use client";
import { useRouter } from "next/navigation";

export default function Home() {
  const router = useRouter();
  const { locale, locales, defaultLocale } = router;
  console.log("Locales:", locale, locales, defaultLocale);
  console.log(router);

  return (
    <div>
      <h1>Hello world</h1>
      <p>Current locale: {locale}</p>
      <p>Default locale: {defaultLocale}</p>
      <p>Configured locales: {JSON.stringify(locales)}</p>
    </div>
  );
}

我尝试使用console.log获取信息。打印结果如下:
The print

最后是package.json:

{
  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint"
  },
  "dependencies": {
    "eslint": "8.45.0",
    "eslint-config-next": "13.4.12",
    "next": "13.4.12",
    "react": "18.2.0",
    "react-dom": "18.2.0"
  }
}

我找不到哪里出错了。请帮我解决它。

reactjs next.js frontend internationalization i18next
© www.soinside.com 2019 - 2024. All rights reserved.