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

标签 next.js

我正在将我的应用程序迁移到 Next.js。目前我有一个这样的网址结构:

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”)似乎不是正确的解决方案。

最佳答案

文件夹结构是正确的,但是不需要在[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
  • Next.js 9.3 以下版本
  • https://github.com/fwojciec/simple-i18n-example
  • 关于Next.js 多语言站点的 url 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61875827/

    相关文章:

    node.js - Node JS 中是否也需要每个 React 库?

    reactjs - requestAnimationFrame 没有定义它 Next.js with React Native Web (Animated module)

    reactjs - 使用可以从多个页面触发的 React Modal react/next.js

    javascript - NextJS - 使用 sass-loader 为每个 scss 文件添加变量

    javascript - 如何在next.js中的package.json中使用代理?

    reactjs - 如何在我的 nextjs 应用程序中更新我的模板

    javascript - 使用 react redux 登录后重定向用户?

    javascript - NextJS 项目中使用的 ReactJS 库表示不是构造函数

    javascript - Nock JS 模拟工具产生错误 `Right-hand side of ' instanceof' is not an object`

    node.js - 检查失败 : U_SUCCESS(status)