我正在尝试为我的个人网站学习 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>
);
}
最后是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"
}
}
我找不到哪里出错了。请帮我解决它。