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

javascript - 如何测试包装在具有“innerRef”的“withNamespaces”HOC 中的组件?

我将 i18n 添加到我的反应应用程序中使用react-i18next. 我有一个组件 A 使用对子组件 B 的引用,如下所示:

A.jsx:

B.jsx:

现在我想测试组件 A,所以我创建了一个这样的模拟withNamespaces

我该如何为此进行测试?我如何才能真正将在测试中创建的实际引用传递给 innerRef 函数?

0 投票
0 回答
237 浏览

react-i18next - 下拉和 react-i18next

我有一个下拉列表,其中列出了我想要的翻译得很好的国家/地区列表。即使我可以从下拉列表中向下和向上导航,我也无法选择任何选项。对此问题有任何解释、帮助或解决方案吗?

0 投票
0 回答
527 浏览

javascript - 更改语言后如何通过 react-router-dom 重新加载页面(react-i18next)

我的反应有些问题。

我需要重新加载页面并在更改语言后重新获取数据而无需window.location.

我使用 react、redux、react-router-dom、react-i18next 等

我不想使用componentWillReceiveProps并检查我的参数en是否已更改为 (ukru),然后调用触发 redux 操作的方法并发出一些请求。

有人有想法吗?

0 投票
1 回答
143 浏览

reactjs - React 应用程序 i18n 支持

我们有一个 React 应用程序,其中所有小部件的标签都是从属性文件中读取的,

属性文件:

在 js 文件中的使用(示例):

现在我们需要使其与 i18n 兼容。请建议一种更简单的方法来实现 i18n,我可以在 js 中没有太多更改的情况下重用这个属性文件

0 投票
1 回答
2083 浏览

reactjs - React Webpack:TypeError:react__WEBPACK_IMPORTED_MODULE_7___default.a.createContext

最近我将 i18next 库添加到我的 React 应用程序中。编译成功,但我在控制台中收到此 TypeError。

i18n 是来自https://react.i18next.com/guides/quick-start的示例。我在使用 create-react-app (React 16.7) 之前对其进行了测试,它运行良好。在我的应用程序中,我使用的是 React 15.6 和 Redux,但它看起来像 Webpack 问题。

index.js

包.json

0 投票
4 回答
7721 浏览

internationalization - i18next-browser-languageDetector 路径不起作用

我在根据路径检测语言时遇到问题,即http://localhost:3000/enhttp://localhost:3000/en/subpage应该将我的页面翻译成英文。我可以通过单击按钮并调用 i18n.changeLanguage('en') 来翻译它,但检测器似乎不起作用。

0 投票
1 回答
266 浏览

reactjs - 如何从已弃用的切换在 react-18next 中?

我已经更新react-i18next到最新版本,我看到<I18n>HOC 不见了。

在你拥有这样的东西之前

现在它说该模块没有导出成员 i18n。

我已经阅读了文档,但找不到明确的方法来获得相同的结果。我试过withNamespace了,但这并不能解决我的问题。

我的组件内部也有渲染 JSX.Elements 的函数,因此withNamespaces无法在那里传递,并且 {t} 不会传递给它们。

是否有类似于 was <I18n></I18n>doing 的组件或功能?

0 投票
0 回答
198 浏览

react-i18next - 如何将可迭代的 React.Component 传递给 react-i18next Trans 组件?

我正在尝试将几个由 map 函数创建的组件传递给翻译组件Trans。在以前的版本中,我可以使用任何东西作为变量,但是使用 react-i18next 的新 API 似乎并不那么容易。现在我无法将项目列表添加到翻译中,因为它呈现为[object Object]. 是的,它是React.Node,我不能将它用作values,但作为一个简单的组件,它只呈现第一个组件(在我的情况下ul

演示我的头痛的示例:

https://codesandbox.io/s/ojqxzpw86y

也许有人可以提供帮助,或提出一些建议。不,我不想从翻译中删除列表 =(

0 投票
1 回答
514 浏览

react-native - 如果没有带有 react-i18next 容器的 react-navigation 的导航道具,我将无法导航

我应用了没有react-navigations 文档(NavigationService )的导航道具的导航示例,但我无法使其与react-i18next 一起使用

我在我的代码中应用了文档https://reactnavigation.org/docs/en/navigating-without-navigation-prop.html的示例:

当授权令牌被验证并且结果是否定的时,必须打开登录屏幕(NavigationService.navigate('Login'))但它_navigator.dispatch is not a function在 NavigationService.js 中返回错误:

依赖项:

  • 反应 16.5.0
  • 反应原生 57.1
  • 反应-i18next 9.0.0
  • 反应导航 3.1.2

有什么建议吗?有没有其他人发现这种情况?

0 投票
1 回答
1246 浏览

reactjs - 如何模拟 i18n.addResourceBundle?

我在测试 i18next 时遇到了一些问题,我们在反应项目 + redux 中使用 jest + 酶。

我们在一个文件react-i18next中这样实现:lib/i18n

我们创建了一个__mocks__文件夹并使用了(https://github.com/i18next/react-i18next)中提供的示例,__mocks__/react-18next.js我们看到,一旦我们i18n从非 jsx 文件导入并尝试操作其属性,就不会调用该模拟。我们的用例如下:

我们有一个请求所有翻译的操作,并i18n.addResourceBundle在响应中使用 来设置所有翻译。

在这个动作中,我们导入了../lib/i18n.js为效果创建的文件,但是一旦我们开始测试我们的动作,我们就会不断收到以下错误

我们检测到__mocks__/react-i18next.js没有被调用,但是如果我们创建一个__mocks__/i18next.js文件,它将模拟导入的i18n实例,这是有意义的,因为在配置文件lib/i18n.js中我们正在导入它,import i18n from 'i18next';但您的项目中提供的模拟文件似乎再次不起作用。

我们正在考虑以下场景并想征求意见: - 将我们的 fetch 操作迁移到 i18next-xhr-backend,我们想问您这是否可以解决问题?因为我们不再要导入配置文件,因此不需要模拟它,但是我们将失去我们的 redux 操作日志记录功能,因为我们使用 redux store 来跟踪用户操作。- 正确模拟文件以保持当前功能,为此,我们想询问是否有人已经经历过相同的行为。

发生在 react-i18next 版本中 "react-i18next": "^9.0.2",