问题标签 [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.
reactjs - next-i18next 单元测试错误“无法读取未定义的属性语言”,带有链接和玩笑
next-i18next
使用它自己的Link
组件与语言环境子路径兼容。
https://github.com/isaachinman/next-i18next
当我尝试一个简单的快照测试时,我得到了错误Cannot read property language of undefined
。
我的组件:
这是快照测试:
测试在没有Link
组件的情况下按预期运行并通过。
我将我的定义i18n.ts
如下:
无论如何我可以修复这个错误吗?
next.js - 通过 Url 的路径确定语言
我试图通过在next-i18next包中更改站点的子路径来找到一种更改语言的方法,我搜索了Internet(https://github.com/isaachinman/next-i18next/issues/32,https:/ /github.com/i18next/i18next-browser-languageDetector#detector-options)来回答这个问题,但它没有用。更改 url 中的子路径后,它被复制并将我重定向到一个不存在的页面。
我的代码:
也许我只是错过了一些东西,因为这是我在 next.js 上的第一个项目,所以我在社区中寻求帮助,如果有任何帮助或提示,我将不胜感激。
javascript - next-i18next - 是否可以动态更改默认语言?
我正在使用 next-i18next 来处理我的 next.js 应用程序的国际化。
是否可以动态更改默认语言?例如基于顶级域?
编辑:我也在使用 localeSubpaths 所以这就是我试图调查这个话题的原因。
reactjs - 最佳实践:只为渲染准备一次道具
考虑 nextjs 应用程序中的以下简单页面:
在 props 中准备数据的最佳实践是什么?在我的情况下,我需要根据服务器端代码中不存在的标准(客户端浏览器中的当前语言,使用 next-i18next)对数据进行排序。我可以像这样使用状态
但这对我来说听起来并不是“React 的意图”。也许useEffect(() => {...}, [])
运行一次是更好的选择?如果是,我如何记住结果数据useEffect
?useRef
?
编辑:还是useMemo
要走的路?
reactjs - 如何使用 next-18next 设置测试环境 next.js 项目?在组件测试中导入 next-18next 的链接时失败
在 -- i18n.ts 中设置 next- i18next
我的组件使用 next-i18next Link组件
测试文件
正如react-i18next 测试设置中所建议的那样,我在mocks文件夹中模拟了 react-i18n.ts
运行测试时发生错误
作为测试的新手,我需要一个解决方案来修复所有与 next-i18next 相关的集成来运行测试而不会出现任何错误。
希望我能为我的问题找到一个好的解决方案。
reactjs - 如何在下一个为静态站点生成 (SSG) 页面实施 i18n 本地化
我已经实现了两个不同的第三方包来实现静态站点生成 (SSG) 页面的本地化,其中包括 next-i18next 和 next-translate。它们都适用于服务器渲染和客户端渲染页面。我正在尝试使它们适用于静态站点生成的页面,但到目前为止还无法做到这一点。我也实施了手动解决方案,到目前为止还没有成功。我有一些问题:
- 接下来我们可以实现静态站点生成页面的本地化吗?
- 如果是,您能否提供某种示例来实现 SSG 页面的本地化。
reactjs - Next.js next-i18next 总是路由到 EN
我有一个简单的项目,应该使用英语和荷兰语(默认)。我已经从原始示例中复制了所有内容,但不知何故它没有按预期工作。
即使我有browserLanguageDetection: false
,它也迫使我/en
结束。
我想显示 NL 文本,/
但目前我不能。
你能检查一下沙箱并告诉我这里有什么问题吗?
https://codesandbox.io/s/pensive-galileo-zifjm?file=/pages/index.js
reactjs - Next.js 语言环境文件因为设置 basePath 而得到 404?
由于添加了 basePath ,语言环境文件得到了 404 ,
我尝试过的 i18n.tsx
但这会引发内部服务器错误。
reactjs - 如何使用 next-i18next 将 i18n 或 t 函数传递给依赖项
我有两个存储库。一个带有nextjs
应用程序,第二个带有动态加载到第一个 repo 中的组件。
由于第二个 repo 中的一些组件包含翻译,我需要传递一个t
函数或一个i18n
实例(翻译文件和next-i18next
初始化在第一个 repo 中)。
我尝试使用上下文提供程序传递它,但这不起作用:
TypeError:无法读取未定义的属性“翻译器”
有什么推荐的方法来实现这一目标吗?
next.js - 为什么在 Safari 中 next-i18next 总是路由到 EN?
next-i18next
有效,但不适用于 Safari。
我什至在我们的 Next.js 应用程序中设置了区域本地化,因为 Safari 通常不会通过hu
但hu-hu
. 我不会为地区差异创建单独的翻译 json。所以两者都hu
应该hu-hu
在子文件夹中使用 Hungarian JSON。但奇怪的是,虽然在 Safari 中打开网站时加载了英语。为什么?我用错了吗?这i18next
一切都奏效了。甚至defaultLocale
设置为hu
.