问题标签 [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 回答
42 浏览

next.js - NextJS 无法在域上禁用重定向

我有以下 next-i18next.config.js 文件

我已设置localeDetectionfalse,但是当我将语言从 en 更改为 fr 时,我的应用程序被重定向到http://my-domain.fr

我的 next.config.js 如下

我错过了什么吗?

0 投票
3 回答
3296 浏览

typescript - Typescript next.js + i18n 的正确 getServerSideProps 语法

我正在为 NextJS Typescript 项目中的next-i18next集成而苦苦挣扎——在任何地方几乎没有最近的例子。我已经配置了国际化路由,但是只要getServerSideProps语法困扰我,我就无法正确设置 i18next。

我对 Typescript 了解不多,也不熟悉类型声明。

代码看起来像这样,大部分是从 next-i18next 文档中复制的:

在我的 IDE 中抛出关于“语言环境”的错误。即使我正在使用 getServerSideProps,我什至不确定它是否是大多数静态项目的最佳解决方案,但如果我最终计划一个 SSR,我似乎无法避免它。提供正确翻译的内容的简单方法 + 具有匹配的 URL 区域设置会很棒。

0 投票
1 回答
536 浏览

storybook - next-i18next 翻译在故事书中不起作用,控制台日志丢失键

我正在设置故事书,我正在使用我的翻译next-i18next。这就是我的设置方式:

现在在我使用翻译的任何地方,它都没有被翻译,并且这种类型的警告正在控制台中显示:

这是我的 package.json 中用于在本地启动故事书的脚本。

Storybook 尚未设置为在网站上查看。

当我运行开发服务器时,翻译工作,只是在故事书中它不起作用。我按照本指南进行设置:https ://dev.to/justincy/using-next-i18next-in-storybook-3he9

0 投票
0 回答
52 浏览

next.js - Nextjs 检测 url 中是否存在语言环境

我正在使用 next-i18next 库和 next 的 _middleware.js 文件来检测传入请求是否具有适当的语言环境,并且在它没有将它们重定向到西班牙语版本的情况下。问题是即使我重定向到 /es/whatever-pathname 下一个请求 url 路径名和 href 总是 /whatever-pathname 它永远不会带有语言环境。有没有办法解决这个问题?

我还尝试创建 es 和 en 文件夹,并将特定语言的内容放在这些文件夹下,配置语言环境,但我只得到空白页或 404 错误。所以我对此感到非常沮丧

非常感谢任何帮助。

提前致谢

0 投票
0 回答
20 浏览

reactjs - 使“serverSideTranslations”功能通用

我有一个下一个 js 项目,我为此使用next-i18next 。翻译工作正常。但是我必须在每个组件中调用serverSideTranslationscallgetStaticProps才能获取 i18next 道具

有什么方法可以使这个通用或在_app.tsx文件中。所以我不必写在每个文件中。

0 投票
1 回答
87 浏览

next.js - 如何在 next.js 中管理 i18n 路由以使用斜杠而不是破折号

我有一个包含多个国家/地区的网站,每个国家/地区都有多个地区,这是我的next-i18next.config.js

想要的行为而不是/{language}-{country}/:path{country}/{language/:path想知道是否有可能实现?

0 投票
0 回答
17 浏览

next.js - 设置重定向和重写,但路由器错过了自定义子路径

next.config.js

我想用我的/ko路线去/myCustomKo

它仅在首先加载时才起作用。我可以看到/myCustomKo而不是/ko.

我用 移动路线<Link href="/">root</Link>,我的子路径消失了。我希望它仍然/myCustomKo不是/

当我尝试这个过程时/en,一切都很完美。我点<Link />了一下,还是这样/en

如何保留我的自定义子路径?

概括

当我的子路径为/en时,我可以使用/en.

当我的子路径是/ar时,我也可以使用/ar.

但是当我的子路径是时/myCustomKo,我的路由器会错过/myCustomKo子路径。

0 投票
1 回答
46 浏览

next.js - Next-i18Next 在 NextJS 中阻塞全局状态

我正在使用 RecoilJS 在 Next 的两个页面之间传递全局状态。这工作正常,直到我在接收变量的页面中使用 next-i18next 。如果我在接收页面的 getServerSideProps 中注释掉 next-i18next 代码,则 Recoil 原子会正确传递。

但是,我取消注释掉这段代码,我的一个变量被阻塞了。我确实需要使用 next-i18next。谁能解释为什么它被阻止?

我有三个 Recoil 原子,并且正在使用 recoil-persist 在页面之间保留数据,因为我了解 Recoil 通常不会这样做:

'newUser' 和 'newName' 都通过了,但 'newUserAvatar' 没有通过,这有什么不寻常的地方。这用于存储文件输入字段的值,并且当取消注释下一个 i18next 代码时,'newUserAvatar' 始终变为空对象并在控制台记录为 'RECOIL AVATAR: {}'

如上所述注释掉代码后,它可以工作,这是console.log:

有人可以帮忙吗?

编辑:我认为这不是 Recoil 特有的。我也尝试了 React Context API,结果相同

0 投票
0 回答
99 浏览

next.js - 如何在 NextJS 中将 next-i18next 组合到现有的 getServerSideProps 函数中

我有一个在 getServerSideProps 中使用 next-i18next 的下一页,我还有另一个使用 getServerSideProps 从 MongoDB 中提取数据的页面。两者都能正常工作。

我希望能够将 next-i18next 添加到连接到 Mongo 的函数中(基本上结合了 getServerSideProps 函数),但出现错误:

nexti18n-next 错误:初始语言环境参数未传递到 serverSideTranslations'

第一个页面的getServerSideProps函数连接next-i18n

})

第二页中的 getServerSideProps 函数从 Mongo 中拉取数据:

})

是否可以将 next-i18next 代码“添加”到第二个函数?在我看来,每个函数中定义“语言环境”和“上下文”的方式不同是个问题。我已经尝试了很多两者的组合,但最终弄乱了 mongo 查询或翻译。

这就是我认为它会完成的方式:

非常感谢任何可能的帮助!

0 投票
0 回答
97 浏览

typescript - next-i18next 设置 Cookie httpOnly 标志未设置

目前在我正在开发的应用程序中,我们已经使用 typescript 实现了 next-i18next。

我不完全确定,但我猜 next-i18next 设置了一个名为“next-i18next”的 cookie,其值为当前语言。默认情况下,此 cookie 的 http-only 属性似乎无法使用。我们要启用此功能

我的代码是这样的:

这对我不起作用。有人知道如何启用此配置吗?欢迎不同的方法。

我正在使用的当前 next-i18next 版本是7.0.1

预先感谢您的回复。