diff --git a/ui/app/i18n-provider.js b/ui/app/i18n-provider.js index 936b185f7..3419474c4 100644 --- a/ui/app/i18n-provider.js +++ b/ui/app/i18n-provider.js @@ -6,6 +6,11 @@ const { compose } = require('recompose') const t = require('../i18n-helper').getMessage class I18nProvider extends Component { + tOrDefault = (key, defaultValue, ...args) => { + const { localeMessages: { current, en } = {} } = this.props + return t(current, key, ...args) || t(en, key, ...args) || defaultValue + } + getChildContext () { const { localeMessages } = this.props const { current, en } = localeMessages @@ -13,8 +18,9 @@ class I18nProvider extends Component { t (key, ...args) { return t(current, key, ...args) || t(en, key, ...args) || `[${key}]` }, - tOrDefault (key, ...args) { - return t(current, key, ...args) || t(en, key, ...args) || key + tOrDefault: this.tOrDefault, + tOrKey (key, ...args) { + return this.tOrDefault(key, key, ...args) }, } } @@ -32,6 +38,7 @@ I18nProvider.propTypes = { I18nProvider.childContextTypes = { t: PropTypes.func, tOrDefault: PropTypes.func, + tOrKey: PropTypes.func, } const mapStateToProps = state => {