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

reactjs - next-i18next 单元测试错误“无法读取未定义的属性语言”,带有链接和玩笑

next-i18next使用它自己的Link组件与语言环境子路径兼容。

https://github.com/isaachinman/next-i18next

当我尝试一个简单的快照测试时,我得到了错误Cannot read property language of undefined

我的组件:

这是快照测试:

测试在没有Link组件的情况下按预期运行并通过。

我将我的定义i18n.ts如下:

无论如何我可以修复这个错误吗?

0 投票
2 回答
1914 浏览

next.js - 通过 Url 的路径确定语言

我试图通过在next-i18next包中更改站点的子路径来找到一种更改语言的方法,我搜索了Internethttps://github.com/isaachinman/next-i18next/issues/32,https:/ /github.com/i18next/i18next-browser-languageDetector#detector-options)来回答这个问题,但它没有用。更改 url 中的子路径后,它被复制并将我重定向到一个不存在的页面。

在此处输入图像描述

我的代码:

也许我只是错过了一些东西,因为这是我在 next.js 上的第一个项目,所以我在社区中寻求帮助,如果有任何帮助或提示,我将不胜感激。

0 投票
2 回答
4287 浏览

javascript - next-i18next - 是否可以动态更改默认语言?

我正在使用 next-i18next 来处理我的 next.js 应用程序的国际化。

是否可以动态更改默认语言?例如基于顶级域?

编辑:我也在使用 localeSubpaths 所以这就是我试图调查这个话题的原因。

0 投票
1 回答
49 浏览

reactjs - 最佳实践:只为渲染准备一次道具

考虑 nextjs 应用程序中的以下简单页面:

在 props 中准备数据的最佳实践是什么?在我的情况下,我需要根据服务器端代码中不存在的标准(客户端浏览器中的当前语言,使用 next-i18next)对数据进行排序。我可以像这样使用状态

但这对我来说听起来并不是“React 的意图”。也许useEffect(() => {...}, [])运行一次是更好的选择?如果是,我如何记住结果数据useEffectuseRef?

编辑:还是useMemo要走的路?

0 投票
0 回答
262 浏览

reactjs - 如何使用 next-18next 设置测试环境 next.js 项目?在组件测试中导入 next-18next 的链接时失败

在 -- i18n.ts 中设置 next- i18next

我的组件使用 next-i18next Link组件

测试文件

正如react-i18next 测试设置中所建议的那样,我在mocks文件夹中模拟了 react-i18n.ts

运行测试时发生错误

作为测试的新手,我需要一个解决方案来修复所有与 next-i18next 相关的集成来运行测试而不会出现任何错误。

希望我能为我的问题找到一个好的解决方案。

0 投票
0 回答
867 浏览

reactjs - 如何在下一个为静态站点生成 (SSG) 页面实施 i18n 本地化

我已经实现了两个不同的第三方包来实现静态站点生成 (SSG) 页面的本地化,其中包括 next-i18next 和 next-translate。它们都适用于服务器渲染和客户端渲染页面。我正在尝试使它们适用于静态站点生成的页面,但到目前为止还无法做到这一点。我也实施了手动解决方案,到目前为止还没有成功。我有一些问题:

  1. 接下来我们可以实现静态站点生成页面的本地化吗?
  2. 如果是,您能否提供某种示例来实现 SSG 页面的本地化。
0 投票
2 回答
625 浏览

reactjs - Next.js next-i18next 总是路由到 EN

我有一个简单的项目,应该使用英语和荷兰语(默认)。我已经从原始示例中复制了所有内容,但不知何故它没有按预期工作。

即使我有browserLanguageDetection: false,它也迫使我/en结束。

我想显示 NL 文本,/但目前我不能。

你能检查一下沙箱并告诉我这里有什么问题吗?

https://codesandbox.io/s/pensive-galileo-zifjm?file=/pages/index.js

0 投票
1 回答
661 浏览

reactjs - Next.js 语言环境文件因为设置 basePath 而得到 404?

由于添加了 basePath ,语言环境文件得到了 404 ,

我尝试过的 i18n.tsx

但这会引发内部服务器错误。

0 投票
1 回答
577 浏览

reactjs - 如何使用 next-i18next 将 i18n 或 t 函数传递给依赖项

我有两个存储库。一个带有nextjs应用程序,第二个带有动态加载到第一个 repo 中的组件。

由于第二个 repo 中的一些组件包含翻译,我需要传递一个t函数或一个i18n实例(翻译文件和next-i18next初始化在第一个 repo 中)。

我尝试使用上下文提供程序传递它,但这不起作用:

TypeError:无法读取未定义的属性“翻译器”

有什么推荐的方法来实现这一目标吗?

0 投票
1 回答
76 浏览

next.js - 为什么在 Safari 中 next-i18next 总是路由到 EN?

next-i18next有效,但不适用于 Safari。

我什至在我们的 Next.js 应用程序中设置了区域本地化,因为 Safari 通常不会通过huhu-hu. 我不会为地区差异创建单独的翻译 json。所以两者都hu应该hu-hu在子文件夹中使用 Hungarian JSON。但奇怪的是,虽然在 Safari 中打开网站时加载了英语。为什么?我用错了吗?这i18next一切都奏效了。甚至defaultLocale设置为hu.