reactjs - 订阅 i18n 到 mobx,基于 observable react 进行翻译
问题描述
我正在使用 i18n 为我的项目提供翻译,目前它将根据浏览器语言进行翻译。我希望它不是基于 mobx 商店中的属性更改语言。
我试过调查react-mobx-i18n
,这似乎是一个糟糕的解决方案。因为我必须将每个组件都注释为可翻译并重组所有内容。
import i18n from 'i18next'
i18n
.init({
fallbackLng: 'en',
resources: {
},
ns: ['application'],
defaultNS: 'application',
react: {
wait: true,
},
})
export default i18n
这是我的 App.js 的渲染
import React, { Component } from 'react';
import { I18nextProvider } from 'react-i18next'
import i18n from './i18n'
import { Provider } from 'mobx-react'
export default class App extends Component {
render() {
return (
<Provider {...this.props.stores}> //mobx stores
<I18nextProvider i18n={i18n}>
//router want to change mobx-state and rerender everything with a new language
</I18nextProvider>
</Provider>
)
}
}
我想以某种方式让 i18n 订阅我的 mobx 状态并在检测到新语言时更新。如果这是不可能的,那么我想在商店中编写一个处理程序来根据一些输入更改语言。
解决方案
推荐阅读
- python-3.x - 如何将数组从 (280, 280, 3) 重塑为 (28, 28, 3)
- json - 如何动态传递单元格值作为新 PowerQuery 的参数?
- clang - 如何使用 clang/LLVM 交叉编译 Coreutils 或其他 GNU 项目?
- python - 将 python 2 移植到 python 3 串行文件
- powershell - 在PowerShell中拆分表情符号序列
- python - 无法让 def 函数在 python 烧瓶中工作
- sql - 将具有持续时间的记录转换为时间表
- python - 使用数字、分类和文本管道制作 ColumnTransformer
- javascript - 在这种情况下如何修复无效的 JSON
- json - 用于远程文件的开源 JSON 日志查看器