当前位置: 首页 > 知识库问答 >
问题:

next.js多语言站点的url结构

谷泽宇
2023-03-14

我正在将我的应用程序迁移到Next.js。目前我有一个url结构如下所示:

www.example.com/ <-- English
www.example.com/de <-- German
www.example.com/page <-- English
www.example.com/de/page <-- German

所以我的英文网站没有URL中的语言。如果有人试图访问网址中带有“en”的网站,他将被转发。

我如何在Next.js中实现这一点?在/pages目录中总是有两个文件(即“[language].js”和“index.js”)似乎不是正确的解决方案。

共有1个答案

闾丘高峰
2023-03-14

文件夹结构是正确的,但您不需要在[language]文件夹内部编写重复的代码。只需从“main”文件夹导入页面即可。目前使用Next.js设置多语言有点复杂。现在的情况是这样的。

如果要使用库

  • 对于无服务器部署,您应该注意这一个。
    • https://github.com/vinissimus/next-translate
    • https://github.com/isaachinman/next-i18next

    如果你想自己做,你应该修改它们以匹配你的需要。

    • next.js 9.3或以上版本
      • https://codesandbox.io/s/92ebn
      • https://github.com/fwojciec/simple-i18n-example

 类似资料:
  • This page explains how migrate a translated Docusaurus v1 site to Docusaurus v2. i18n differences Docusaurus v2 i18n is conceptually quite similar to Docusaurus v1 i18n with a few differences. It is n

  • 我已经建立了一个多语言的网站,它的默认语言是英语,它被翻译成更多的语言。我们已经选择了子目录URL策略,这样我们的URL就像、等,默认语言应该从这些URL中省略吗?所以不是 我们可以用 (默认站点语言,本例中为EN) 在SEO、UX、最佳实践方面哪个更好? 附注。我读过这个和这个,但重点是是否翻译URL是最优的,他们没有真正解决我的问题。请注意,在我的情况下,要么保留英文措辞(,),要么在不可能的

  • 问题内容: 我已经在这个问题上苦苦挣扎了好几个月了,但是以前我从来没有需要探索所有可能的选择的情况。现在,我觉得该是时候了解各种可能性并创建自己的个人喜好了,以便在我即将进行的项目中使用。 首先让我勾勒出我要寻找的情况 我将要升级/重新开发已经使用了一段时间的内容管理系统。但是,我觉得多语言是对该系统的巨大改进。在我没有使用任何框架之前,我将在即将到来的项目中使用Laraval4。Laravel似

  • 好的,我有这些旧网址: 我想重定向所有已发送的传入请求。在它的html只是网站的主页http://www.example.com.请记住,“旧”和“新”域名实际上是同一个ie。 我尝试过这一点,但htaccess规则不是我的强项:

  • 魔方加密的 PHP 规范支持标准 PHP 规范中常用的语法结构。 echo 语法为: echo statement; echo statement_1[, statement_2[, ...]]; exit 语法为: exit; exit(); exit(statement); 请注意,exit(statement); 不论表达式的值是整数还是字符串,总会输出后才终止脚本,这与标准