Add tOrKey function to I18nProvider

feature/default_network_editable
Alexander Tseung 6 years ago
parent 176fb89771
commit 01f00a9ca6
  1. 11
      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 => {

Loading…
Cancel
Save