Next.js NextJS I18下一个NextJS本地化路线
我已经为我的NextJS网站完全实现了next-i18next。一切都按其应有的方式运行:Next.js NextJS I18下一个NextJS本地化路线,next.js,i18next,Next.js,I18next,我已经为我的NextJS网站完全实现了next-i18next。一切都按其应有的方式运行: | src/app | -- pages | -- post.js | -- category.js 使用i18next中间件自动检测语言 使用“语言选择”按钮更改语言 仅加载相关名称空间等的翻译 但是,我想本地化路由名称,以便它们反映set语言 我了解如何使用next routes来实现这一点,而这种交流尤其有用: 在该示例中,路线设置如下: routes.add('
| src/app
| -- pages
| -- post.js
| -- category.js
使用i18next中间件自动检测语言
使用“语言选择”按钮更改语言
仅加载相关名称空间等的翻译
但是,我想本地化路由名称,以便它们反映set语言
我了解如何使用next routes来实现这一点,而这种交流尤其有用:
在该示例中,路线设置如下:
routes.add('en-home', '/', 'index')
routes.add('de-home', '/de', 'index')
routes.add('en-test', '/test', 'test')
routes.add('de-test', '/de/prufung', 'test')
我尝试使用以下模式作为示例,从下一个路由实现路由和链接:
从i18n.language获取当前语言
根据语言集设置链接url
然而,这是行不通的
我注意到在引用的线程中,@samuelg0rd0n评论说他创建了一个自定义链接组件
请有人能告诉我如何根据网站设置的语言更改所有路线吗
谢谢 我强烈建议您尝试一个官方的Next.js示例: Next.js-命名路由示例下一个路由 但我发现它需要一个额外的服务器,如果我们将我们的应用程序结构定制为我自己的项目示例,它也会失败:
| src/app
| -- pages
| -- post.js
| -- category.js
| -- server.js (for routes)
| src/functions
| -- index.js (lambda function for server-side)
如果我运行下一个src/app,它将失败,并出现以下错误:
错误:>找不到“pages”目录。请在项目根目录下创建一个
在findPagesDir/home/paneladm/projects/paneladm dev/travel website/node_modules/next/dist/lib/find pages dir.js:3:170
在new DevServer/home/paneladm/projects/paneladm dev/travel website/node_modules/next/dist/server/next dev server.js:1:3491
在createServer/home/paneladm/projects/paneladm dev/travel website/node_modules/next/dist/server/next.js:2:105
反对。档案
工具书类
嗨,保罗,欢迎来到StackOverflow!我刚刚给你发了一个专门的例子。我希望它能有所帮助。@FrancisRodrigues你能给我发一个同样的例子吗?我也面临同样的问题,需要实现自定义链接,可以使用routes.js和i18ln.js。您找到解决方案了吗?你能分享一下吗?非常感谢。
| src/app
| -- pages
| -- post.js
| -- category.js
| -- server.js (for routes)
| src/functions
| -- index.js (lambda function for server-side)
const { routes } = require('./routes');
...
experimental: {
rewrites() {
const rewrites = [];
for (const route of routes) {
if (route.pattern !== route.page) {
rewrites.push({
source: route.pattern,
destination: route.page,
});
}
}
return rewrites;
}
},
| src/app
| -- pages
| -- post.js
| -- category.js