summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-core/src/components/I18nProvider.js
blob: b6b2d0fac87e2de9c6bb11afb63a22f27ac575f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const { Map } = require('immutable');
const React = require('react');
const intl = require('react-intl');
const ReactRedux = require('react-redux');

const I18nProvider = React.createClass({
    propTypes: {
        children: React.PropTypes.node,
        messages: React.PropTypes.object
    },

    render() {
        let { messages } = this.props;
        messages = messages.get('en', Map()).toJS();

        return (
            <intl.IntlProvider locale={'en'} messages={messages}>
                {this.props.children}
            </intl.IntlProvider>
        );
    }
});

const mapStateToProps = state => {
    return { messages: state.i18n.messages };
};

module.exports = ReactRedux.connect(mapStateToProps)(I18nProvider);