parent
eb5a84975b
commit
5fe0be722b
@ -0,0 +1,18 @@ |
|||||||
|
const connect = require('react-redux').connect |
||||||
|
|
||||||
|
const metamaskConnect = (mapStateToProps, mapDispatchToProps) => { |
||||||
|
return connect( |
||||||
|
_higherOrderMapStateToProps(mapStateToProps), |
||||||
|
mapDispatchToProps |
||||||
|
) |
||||||
|
} |
||||||
|
|
||||||
|
const _higherOrderMapStateToProps = (mapStateToProps) => { |
||||||
|
return (state, ownProps) => { |
||||||
|
const stateProps = mapStateToProps(state, ownProps) |
||||||
|
stateProps.localeMessages = state.localeMessages || {} |
||||||
|
return stateProps |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
module.exports = metamaskConnect |
@ -0,0 +1,18 @@ |
|||||||
|
const extend = require('xtend') |
||||||
|
const actions = require('../actions') |
||||||
|
const MetamascaraPlatform = require('../../../app/scripts/platforms/window') |
||||||
|
const environmentType = require('../../../app/scripts/lib/environment-type') |
||||||
|
const { OLD_UI_NETWORK_TYPE } = require('../../../app/scripts/config').enums |
||||||
|
|
||||||
|
module.exports = reduceMetamask |
||||||
|
|
||||||
|
function reduceMetamask (state, action) { |
||||||
|
const localeMessagesState = extend({}, state.localeMessages) |
||||||
|
|
||||||
|
switch (action.type) { |
||||||
|
case actions.SET_LOCALE_MESSAGES: |
||||||
|
return action.value |
||||||
|
default: |
||||||
|
return localeMessagesState |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,37 @@ |
|||||||
|
// cross-browser connection to extension i18n API
|
||||||
|
const extension = require('extensionizer') |
||||||
|
const log = require('loglevel') |
||||||
|
|
||||||
|
const getMessage = (locale, key, substitutions) => { |
||||||
|
// check locale is loaded
|
||||||
|
if (!locale) { |
||||||
|
// throw new Error('Translator - has not loaded a locale yet.')
|
||||||
|
return '' |
||||||
|
} |
||||||
|
// check entry is present
|
||||||
|
const entry = locale[key] |
||||||
|
if (!entry) { |
||||||
|
log.error(`Translator - Unable to find value for "${key}"`) |
||||||
|
throw new Error(`Translator - Unable to find value for "${key}"`) |
||||||
|
} |
||||||
|
let phrase = entry.message |
||||||
|
// perform substitutions
|
||||||
|
if (substitutions && substitutions.length) { |
||||||
|
phrase = phrase.replace(/\$1/g, substitutions[0]) |
||||||
|
if (substitutions.length > 1) { |
||||||
|
phrase = phrase.replace(/\$2/g, substitutions[1]) |
||||||
|
} |
||||||
|
} |
||||||
|
return phrase |
||||||
|
} |
||||||
|
|
||||||
|
async function fetchLocale (localeName) { |
||||||
|
const response = await fetch(`/_locales/${localeName}/messages.json`) |
||||||
|
const locale = await response.json() |
||||||
|
return locale |
||||||
|
} |
||||||
|
|
||||||
|
module.exports = { |
||||||
|
getMessage, |
||||||
|
fetchLocale, |
||||||
|
} |
Loading…
Reference in new issue