diff options
author | kumavis <kumavis@users.noreply.github.com> | 2018-03-28 09:41:45 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-28 09:41:45 +0800 |
commit | 0582fdb617a23cc56e9e08460f09d86769599fc1 (patch) | |
tree | 5daf844ac1fd0c9d1f683b479184509ebb96c850 /ui/app/actions.js | |
parent | b6b18339e2de92afd2fb5364ec5bc4c29b4d10a3 (diff) | |
parent | b4ec68b2d4b6713e0a203df88eb4a8982c2cf2c6 (diff) | |
download | tangerine-wallet-browser-0582fdb617a23cc56e9e08460f09d86769599fc1.tar tangerine-wallet-browser-0582fdb617a23cc56e9e08460f09d86769599fc1.tar.gz tangerine-wallet-browser-0582fdb617a23cc56e9e08460f09d86769599fc1.tar.bz2 tangerine-wallet-browser-0582fdb617a23cc56e9e08460f09d86769599fc1.tar.lz tangerine-wallet-browser-0582fdb617a23cc56e9e08460f09d86769599fc1.tar.xz tangerine-wallet-browser-0582fdb617a23cc56e9e08460f09d86769599fc1.tar.zst tangerine-wallet-browser-0582fdb617a23cc56e9e08460f09d86769599fc1.zip |
Merge pull request #3609 from MetaMask/i18n-translator-redux
Handle i18n with redux.
Diffstat (limited to 'ui/app/actions.js')
-rw-r--r-- | ui/app/actions.js | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/ui/app/actions.js b/ui/app/actions.js index 4a5962610..58240054d 100644 --- a/ui/app/actions.js +++ b/ui/app/actions.js @@ -2,6 +2,7 @@ const abi = require('human-standard-token-abi') const getBuyEthUrl = require('../../app/scripts/lib/buy-eth-url') const { getTokenAddressFromTokenObject } = require('./util') const ethUtil = require('ethereumjs-util') +const { fetchLocale } = require('../i18n-helper') var actions = { _setBackgroundConnection: _setBackgroundConnection, @@ -23,7 +24,7 @@ var actions = { NETWORK_DROPDOWN_CLOSE: 'UI_NETWORK_DROPDOWN_CLOSE', showNetworkDropdown: showNetworkDropdown, hideNetworkDropdown: hideNetworkDropdown, - // menu state + // menu state/ getNetworkStatus: 'getNetworkStatus', // transition state TRANSITION_FORWARD: 'TRANSITION_FORWARD', @@ -254,6 +255,13 @@ var actions = { SET_USE_BLOCKIE: 'SET_USE_BLOCKIE', setUseBlockie, + // locale + SET_CURRENT_LOCALE: 'SET_CURRENT_LOCALE', + SET_LOCALE_MESSAGES: 'SET_LOCALE_MESSAGES', + setCurrentLocale, + updateCurrentLocale, + setLocaleMessages, + // // Feature Flags setFeatureFlag, updateFeatureFlags, @@ -1792,6 +1800,38 @@ function setUseBlockie (val) { } } +function updateCurrentLocale (key) { + return (dispatch) => { + dispatch(actions.showLoadingIndication()) + fetchLocale(key) + .then((localeMessages) => { + log.debug(`background.setCurrentLocale`) + background.setCurrentLocale(key, (err) => { + dispatch(actions.hideLoadingIndication()) + if (err) { + return dispatch(actions.displayWarning(err.message)) + } + dispatch(actions.setCurrentLocale(key)) + dispatch(actions.setLocaleMessages(localeMessages)) + }) + }) + } +} + +function setCurrentLocale (key) { + return { + type: actions.SET_CURRENT_LOCALE, + value: key, + } +} + +function setLocaleMessages (localeMessages) { + return { + type: actions.SET_LOCALE_MESSAGES, + value: localeMessages, + } +} + function setNetworkEndpoints (networkEndpointType) { return dispatch => { log.debug('background.setNetworkEndpoints') |