问题标签 [next-i18next]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1594 浏览

reactjs - 404 用于包含语言环境的所有路由 - NextJS 和 next-i18next

嗨,我正在关注这里的文档:github docs

,但所有具有语言环境的 URL 都返回 404。例如:

  • 本地主机:3000/de/second-page = 404
  • 本地主机:3000/en/second-page = 404
  • 本地主机:3000/de = 404
  • 本地主机:3000/en = 404

    • 默认区域设置相同。
  • 本地主机:3000/秒页 = 200

  • 本地主机:3000 = 200

我想,这是因为没有pages/de/second-page.js, 例如,但是这个库的目的是什么,如果它不能解决这个问题。

我搜索了很多,我知道localSubpaths,但似乎它不起作用:

它在我的应用程序中不起作用,但在他们的示例中也不起作用:他们的示例

0 投票
1 回答
1472 浏览

reactjs - Keep having namespacesRequired even if declared

I have setup next-18next with my NextJS and React project, the translation works perfectly in my project.

But I keep having the famous following warning :

You have not declared a namespacesRequired array on your page-level component: withI18nextTranslation(Index). This will cause all namespaces to be sent down to the client, possibly negatively impacting the performance of your app. For more info, see: https://github.com/isaachinman/next-i18next#4-declaring-namespace-dependencies

I have declared namespacesRequired in each of my page level component (except 404 page because I have read on the doc that you can't)

BUT :

  • I only have functionnal component so I used both getStaticProps and withTranslation.

  • I have read that sometimes this can happened if you don't have a favicon.ico but I have one (it appears in the tab).

No idea where to look at now... Here is the code of my page that trigger the warning

Here is my i18n config.

My server.js

Finally my _app.js has this as export line

If you guys have any idea I would be really glad to ear it :) Thank you.

0 投票
0 回答
242 浏览

next.js - Next-i18next 双重渲染

我正在使用 next-i18next 包进行本地化的 react+next 项目。

我注意到似乎在 Chrome 和 FF 中都出现了一个间歇性问题,并且看起来与 next-i18next 包本身有关。当任何页面最初加载时,看起来页面偶尔会呈现两次。这似乎只发生在客户端(不发出新的 GET 请求)。有没有其他人遇到过这个?

这可以通过复制 next-i18next 包中的简单示例并在任何页面的主要组件(示例中的 Homepage 和 SecondPage 组件)中插入 console.log 来重现。在页面上进行几次硬刷新(在我的情况下少于 10 次)通常足以显示 console.log 在客户端显示两次。在这些情况下,服务器将仅显示一条日志消息,而客户端将显示两次日志消息。

这似乎也发生在 dev 和 prod 模式下。但是,使用 prod 模式在 FF 中每次重新加载时都会发生双重渲染。

有什么想法吗?

谢谢。

0 投票
1 回答
597 浏览

reactjs - 无效配置:当前语言未包含在所有语言数组 i18next 中

我正在使用 NextJS 和 i18next

这是我的配置文件

在这些 .json 文件中保存我的语言

它有效(语言发生变化)但它返回给我这个错误

我尝试了很多东西,但没有任何效果

0 投票
1 回答
1112 浏览

next.js - 在 nextjs 中更改语言时如何使用 next-i18next 进行更改?

我正在将 next-i18next 用于多语言网站,并且所有组件都运行良好,但我不知道如何更改 _document.js 文件中 html 标记的语言?

0 投票
1 回答
273 浏览

reactjs - next-i18next 和 redux,存储当前语言环境的位置

我有一个带有 next.js 和 next-i18next 的应用程序,用于国际化。我需要存储当前的语言环境,并试图弄清楚如何去做。也许在 _app.tsx 或 _document.tsx/ 我从哪里获得当前语言环境?从实例或上下文?

0 投票
1 回答
1854 浏览

next.js - 如何避免 Next.js 中出现“You have not declared a namespacesRequired array”错误?

我将该next-i18next模块用于多语言应用程序。我不明白为什么会出现以下错误,因为我已经按照文档中显示的方式声明了命名空间。

错误信息:

索引.ts

我该如何解决这个问题?

0 投票
1 回答
2745 浏览

javascript - 尝试使用提供的 localeSubpaths 配置访问任何页面时出现 next-i18next 404 错误

尝试访问 Next.js 应用程序的任何页面时,我都遇到了 404 问题。

当没有localeSubpaths提供配置时,应用程序可以正常工作。

实施localeSubpaths配置(next.config.js)后:

应用程序不再工作。

每次我尝试访问主根目录/或任何语言环境页面fr时,de-DE浏览器都会显示 404 错误页面(自定义 Next.js 错误页面)。此页面包含一些可以正常工作的翻译内容。

页面还包含指向/主页的链接。当我通过单击链接导航到主页时 - >主页正确加载(包括相关翻译)

i18n.tsx配置文件:

0 投票
0 回答
613 浏览

javascript - next.js 上的多个配置 next.config.js

在尝试配置 next-i18next 包(版本 6)时,我的 next.js 配置文件出现问题,并且还有一个用于音频的 webpack 配置和一个用于图像的插件。直到升级一切都很好,但现在没有加载我设置的 defaultLanguage。

我的 next.config.js 看起来像这样:

任何帮助,将不胜感激。

0 投票
0 回答
636 浏览

internationalization - 在页面级组件上声明 namespacesRequired 数组

我有一个基于 next 和 react 的项目,使用 i18next 包我遇到以下警告,我认为这是根据反应分析器加载 i18n 需要大量时间的原因:

您尚未在页面级组件上声明 namespacesRequired 数组:withI18nextTranslation(Error)。这将导致所有命名空间都被发送到客户端,可能会对您的应用程序的性能产生负面影响。有关更多信息,请参阅: https ://github.com/isaachinman/next-i18next#4-declaring-namespace-dependencies

注释:翻译工作正常,我已经在我的所有组件中声明了 namespacesRequierd,除了 404。

这是我的 i18n 配置:

next.config.js :

版本:
package.json:

纱线:

我的 server.js 文件中没有与此相关的内容。