summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-core/src/components/I18nProvider.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gitbook-core/src/components/I18nProvider.js')
-rw-r--r--packages/gitbook-core/src/components/I18nProvider.js28
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);