diff options
Diffstat (limited to 'packages/gitbook-core/src/components/I18nProvider.js')
-rw-r--r-- | packages/gitbook-core/src/components/I18nProvider.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/packages/gitbook-core/src/components/I18nProvider.js b/packages/gitbook-core/src/components/I18nProvider.js new file mode 100644 index 0000000..b6b2d0f --- /dev/null +++ b/packages/gitbook-core/src/components/I18nProvider.js @@ -0,0 +1,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); |