首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react.js建议和实例中的本地化

react.js建议和实例中的本地化
EN

Stack Overflow用户
提问于 2014-12-30 09:42:49
回答 4查看 7.8K关注 0票数 6

我们正在决定如何在react.js中进行本地化,当然有办法进行本地化,但是您的建议是什么呢?

我试过雅虎的反应

代码语言:javascript
复制
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本地化有什么建议,谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-06-24 06:59:33

已经过了两个月了。也许还有更多的本地化模块。但是,如果您希望做一些简单的事情,并绕过使用这么多模块(我们只使用基本模块可以减轻负载),下面是设置:

假设我们有一个根页面和登录页面(在我们的路由器设置上,事情是基于根页面的)

  1. 有一个名为i18n的状态(在getInitialState中)
  2. 检测您的语言并插入i18n
  3. 将对象设置为i18n状态
  4. 在呈现()中使用如下内容

代码语言:javascript
复制
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传下来。或者如果你愿意的话,用混合器。

登录

代码语言:javascript
复制
this.props.i18n.t('...')
票数 0
EN

Stack Overflow用户

发布于 2015-02-16 02:02:02

回答我的问题。我们决定不使用雅虎的react intl,而是使用i18next。考虑使用更稳定和流行的东西在我们的生产是重要的。

您可以做的是在页面根目录初始化i18next,并将其传递给道具。在初始化i18next之前,一定要使用状态来防止页面呈现。

票数 3
EN

Stack Overflow用户

发布于 2015-12-12 15:27:00

现在有了react i 18 react https://github.com/i18next/react-i18next与i18next >=2.0.0一起工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27702998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档