仅使用next-i18next在服务器端添加翻译

时间:2020-01-08 08:07:41

标签: next.js server-side-rendering i18next react-i18next next-i18next

场景:

  • 我们有一台服务器,可以响应多个域(超过70个)
  • 每个域都有自己的语言(已经在单个JSON文件中)
  • 我有一张地图"domain":"translation.json"
  • 每个客户只有一种语言:访问“ example.com”的用户只会看到英语的网站。 “ example.es”中的访客将以西班牙语看到它。没有任何选项可以更改当前站点的语言,只需链接到另一个域即可。

问题

我不想在客户端加载70多种翻译,因为客户端将永远无法更改它。

如何在我的NextJS应用程序中应用该地图,而又不将其他资源分配给客户端?

PS:SO上没有用于“ next-i18next”的标签(nextjs有2个标签)。

1 个答案:

答案 0 :(得分:0)

Next-i18next具有2种模式,

  1. 服务器端,它使用i18next-node-fs-backend
  2. 加载相关的翻译文件
  3. 客户端,它使用i18next-xhr-backend加载相关的翻译文件。

这意味着默认情况下,此库仅加载 相关语言。