我们正在决定如何在react.js中进行本地化,当然有办法进行本地化,但是您的建议是什么呢?
我试过雅虎的反应
var ReactIntl = require('react-intl') // we did npm install react-intl
// somewhere in the react component
render: function() {
return (<div><ReactIntl.Number>{600}</ReactIntl.Number></div>);
}提供错误:无法读取未定义的属性“_mockedReactClassConstructor”
花了几个小时试图解决这个错误,还是不能解决->放弃
我试用了mozilla的l20n,但不确定它是否适用于react.js
想知道你对react.js本地化有什么建议,谢谢!
发布于 2015-06-24 06:59:33
已经过了两个月了。也许还有更多的本地化模块。但是,如果您希望做一些简单的事情,并绕过使用这么多模块(我们只使用基本模块可以减轻负载),下面是设置:
假设我们有一个根页面和登录页面(在我们的路由器设置上,事情是基于根页面的)
根
render: function() {
var route;
if (this.state.configLoaded && this.state.i18n) {
route = (
<RouteHandler i18n={this.state.i18n} onLanguageChange={this._languageChangedHandler} />
);
}
return (
<div>
<Loading />
{route}
</div>
);
}
你通过道具把i18n传下来。或者如果你愿意的话,用混合器。
登录
this.props.i18n.t('...')发布于 2015-02-16 02:02:02
回答我的问题。我们决定不使用雅虎的react intl,而是使用i18next。考虑使用更稳定和流行的东西在我们的生产是重要的。
您可以做的是在页面根目录初始化i18next,并将其传递给道具。在初始化i18next之前,一定要使用状态来防止页面呈现。
发布于 2015-12-12 15:27:00
现在有了react i 18 react https://github.com/i18next/react-i18next与i18next >=2.0.0一起工作。
https://stackoverflow.com/questions/27702998
复制相似问题