aboutsummaryrefslogtreecommitdiffstats
path: root/src/I18n.js
diff options
context:
space:
mode:
authorLibravatar Stefan Malzner <stefan@adlk.io>2017-10-13 12:29:40 +0200
committerLibravatar Stefan Malzner <stefan@adlk.io>2017-10-13 12:29:40 +0200
commit58cda9cc7fb79ca9df6746de7f9662bc08dc156a (patch)
tree1211600c2a5d3b5f81c435c6896618111a611720 /src/I18n.js
downloadferdium-app-58cda9cc7fb79ca9df6746de7f9662bc08dc156a.tar.gz
ferdium-app-58cda9cc7fb79ca9df6746de7f9662bc08dc156a.tar.zst
ferdium-app-58cda9cc7fb79ca9df6746de7f9662bc08dc156a.zip
initial commit
Diffstat (limited to 'src/I18n.js')
-rw-r--r--src/I18n.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/I18n.js b/src/I18n.js
new file mode 100644
index 000000000..ae3ba2fa9
--- /dev/null
+++ b/src/I18n.js
@@ -0,0 +1,28 @@
1import React, { Component } from 'react';
2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react';
4import { IntlProvider } from 'react-intl';
5
6import { oneOrManyChildElements } from './prop-types';
7import translations from './i18n/translations';
8import UserStore from './stores/UserStore';
9
10@inject('stores') @observer
11export default class I18N extends Component {
12 render() {
13 const { stores, children } = this.props;
14 const { locale } = stores.app;
15 return (
16 <IntlProvider {...{ locale, key: locale, messages: translations[locale] }}>
17 {children}
18 </IntlProvider>
19 );
20 }
21}
22
23I18N.wrappedComponent.propTypes = {
24 stores: PropTypes.shape({
25 user: PropTypes.instanceOf(UserStore).isRequired,
26 }).isRequired,
27 children: oneOrManyChildElements.isRequired,
28};