aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/_locales/en/messages.json631
-rw-r--r--ui/app/accounts/import/json.js14
-rw-r--r--ui/app/accounts/import/private-key.js6
-rw-r--r--ui/app/accounts/import/seed.js5
-rw-r--r--ui/app/accounts/new-account/create-form.js8
-rw-r--r--ui/app/accounts/new-account/index.js8
-rw-r--r--ui/app/components/customize-gas-modal/index.js4
-rw-r--r--ui/app/components/dropdowns/components/account-dropdowns.js2
-rw-r--r--ui/app/components/modals/account-details-modal.js4
-rw-r--r--ui/app/components/modals/account-modal-container.js2
-rw-r--r--ui/app/components/modals/buy-options-modal.js14
-rw-r--r--ui/app/components/modals/deposit-ether-modal.js29
-rw-r--r--ui/app/components/modals/edit-account-name-modal.js4
-rw-r--r--ui/app/components/modals/export-private-key-modal.js15
-rw-r--r--ui/app/components/modals/hide-token-confirmation-modal.js8
-rw-r--r--ui/app/components/modals/modal.js10
-rw-r--r--ui/app/components/modals/new-account-modal.js12
-rw-r--r--ui/app/components/pending-tx/confirm-deploy-contract.js20
-rw-r--r--ui/app/components/pending-tx/confirm-send-ether.js18
-rw-r--r--ui/app/components/pending-tx/confirm-send-token.js26
-rw-r--r--ui/app/components/pending-typed-msg.js4
-rw-r--r--ui/app/components/send-token/index.js32
-rw-r--r--ui/app/components/send/gas-fee-display-v2.js3
-rw-r--r--ui/app/components/send/gas-tooltip.js3
-rw-r--r--ui/app/components/send/to-autocomplete.js3
-rw-r--r--ui/app/components/signature-request.js4
26 files changed, 629 insertions, 260 deletions
diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json
index 6967a44d2..54f266318 100644
--- a/app/_locales/en/messages.json
+++ b/app/_locales/en/messages.json
@@ -1,71 +1,224 @@
{
- "appName": {
- "message": "MetaMask",
- "description": "The name of the application"
+ "accept": {
+ "message": "Accept"
+ },
+ "account": {
+ "message": "Account:"
+ },
+ "accDetails": {
+ "message": "Account Details"
+ },
+ "accountName": {
+ "message": "Account Name"
+ },
+ "address": {
+ "message": "Address"
+ },
+ "addToken": {
+ "message": "Add Token"
+ },
+ "amountPlusGas": {
+ "message": "Amount + Gas"
},
"appDescription": {
"message": "Ethereum Identity Management",
"description": "The description of the application"
},
- "encryptNewDen": {
- "message": "Encrypt your new DEN"
+ "appName": {
+ "message": "MetaMask",
+ "description": "The name of the application"
},
- "denExplainer": {
- "message": "Your DEN is your password-encrypted storage within MetaMask."
+ "attemptingConnect": {
+ "message": "Attempting to connect to blockchain."
},
- "importDen": {
- "message": "Import Existing DEN"
+ "available": {
+ "message": "Available"
},
- "createDen": {
- "message": "Create"
+ "back": {
+ "message": "Back"
},
- "newPassword": {
- "message": "New Password (min 8 chars)"
+ "balance": {
+ "message": "Balance:"
+ },
+ "balanceIsInsufficientGas": {
+ "message": "Insufficient balance for current gas total"
+ },
+ "borrowDharma": {
+ "message": "Borrow With Dharma (Beta)"
+ },
+ "buyButton": {
+ "message": "Buy"
+ },
+ "buyCoinbase": {
+ "message": "Buy on Coinbase"
+ },
+ "buyCoinbaseExplainer": {
+ "message": "Coinbase is the world’s most popular way to buy and sell bitcoin, ethereum, and litecoin."
+ },
+ "cancel": {
+ "message": "Cancel"
+ },
+ "cancelCaps": {
+ "message": "CANCEL"
+ },
+ "clickCopy": {
+ "message": "Click to Copy"
+ },
+ "confirm": {
+ "message": "Confirm"
+ },
+ "confirmCaps": {
+ "message": "CONFIRM"
+ },
+ "confirmContract": {
+ "message": "Confirm Contract"
},
"confirmPassword": {
"message": "Confirm Password"
},
- "passwordMismatch": {
- "message": "passwords don't match"
+ "confirmPasswordSmall": {
+ "message": "confirm password"
},
- "passwordShort": {
- "message": "password not long enough"
+ "continueToCoinbase": {
+ "message": "Continue to Coinbase"
},
- "myAccounts": {
- "message": "My Accounts"
+ "contractPublished": {
+ "message": "Contract Published"
},
- "logout": {
- "message": "Log out"
+ "conversionProgress": {
+ "message": "Conversion in progress"
+ },
+ "copiedButton": {
+ "message": "Copied"
+ },
+ "copiedClipboard": {
+ "message": "Copied to Clipboard"
+ },
+ "copiedExclamation": {
+ "message": "Copied!"
+ },
+ "copy": {
+ "message": "Copy"
+ },
+ "copyAddress": {
+ "message": "Copy Address to clipboard"
+ },
+ "copyButton": {
+ "message": " Copy "
+ },
+ "copyPrivateKey": {
+ "message": "This is your private key (click to copy)"
},
"createAccount": {
"message": "Create Account"
},
- "importAccount": {
- "message": "Import Account"
+ "createCaps": {
+ "message": "CREATE"
},
- "account": {
- "message": "Account:"
+ "createDen": {
+ "message": "Create"
},
- "infoHelp": {
- "message": "Info & Help"
+ "customGas": {
+ "message": "Customize Gas"
},
- "settings": {
- "message": "Settings"
+ "customize": {
+ "message": "Customize"
},
- "importedCaps": {
- "message": "IMPORTED"
+ "customRPC": {
+ "message": "Custom RPC"
},
- "saveButton": {
- "message": "SAVE"
+ "defaultNetwork": {
+ "message": "The default network for Ether transactions is Main Net."
},
- "cancelButton": {
- "message": "CANCEL"
+ "denExplainer": {
+ "message": "Your DEN is your password-encrypted storage within MetaMask."
},
- "signButton": {
- "message": "SIGN"
+ "deposit": {
+ "message": "Deposit"
},
- "revert": {
- "message": "Revert"
+ "depositBTC": {
+ "message": "Deposit your BTC to the address below:"
+ },
+ "depositButton": {
+ "message": "DEPOSIT"
+ },
+ "depositEth": {
+ "message": "Deposit Eth"
+ },
+ "depositEther": {
+ "message": "Deposit Ether"
+ },
+ "depositFiat": {
+ "message": "Deposit with Fiat"
+ },
+ "depositFromAccount": {
+ "message": "Deposit from another account"
+ },
+ "depositShapeShift": {
+ "message": "Deposit with ShapeShift"
+ },
+ "depositShapeShiftExplainer": {
+ "message": "If you own other cryptocurrencies, you can trade and deposit Ether directly into your MetaMask wallet. No Account Needed."
+ },
+ "detailsCaps": {
+ "message": "DETAILS"
+ },
+ "directDeposit": {
+ "message": "Direct Deposit"
+ },
+ "directDepositEther": {
+ "message": "Directly Deposit Ether"
+ },
+ "directDepositEtherExplainer": {
+ "message": "If you already have some Ether, the quickest way to get Ether in your new wallet by direct deposit."
+ },
+ "done": {
+ "message": "Done"
+ },
+ "editAccountName": {
+ "message": "Edit Account Name"
+ },
+ "editCaps": {
+ "message": "EDIT"
+ },
+ "encryptNewDen": {
+ "message": "Encrypt your new DEN"
+ },
+ "enterPassword": {
+ "message": "Enter password"
+ },
+ "etherscanView": {
+ "message": "View account on Etherscan"
+ },
+ "exchangeRate": {
+ "message": "Exchange Rate"
+ },
+ "exportPrivateKey": {
+ "message": "Export Private Key"
+ },
+ "exportPrivateKeyLower": {
+ "message": "Export private key"
+ },
+ "exportPrivateKeyWarning": {
+ "message": "Export private keys at your own risk."
+ },
+ "failed": {
+ "message": "Failed"
+ },
+ "fileImportFail": {
+ "message": "File import not working? Click here!"
+ },
+ "from": {
+ "message": "From"
+ },
+ "fromShapeShift": {
+ "message": "From ShapeShift"
+ },
+ "gasFee": {
+ "message": "Gas Fee"
+ },
+ "gasFeeSpecific": {
+ "message": "Gas fee:"
},
"gasLimit": {
"message": "Gas Limit"
@@ -73,103 +226,331 @@
"gasLimitCalculation": {
"message": "We calculate the suggested gas limit based on network success rates."
},
+ "gasLimitRequired": {
+ "message": "Gas Limit Required"
+ },
+ "gasLimitTooLow": {
+ "message": "Gas limit must be at least 21000"
+ },
"gasPrice": {
"message": "Gas Price (GWEI)"
},
"gasPriceCalculation": {
"message": "We calculate the suggested gas prices based on network success rates."
},
- "customGas": {
- "message": "Customize Gas"
+ "gasPriceRequired": {
+ "message": "Gas Price Required"
},
- "balanceIsInsufficientGas": {
- "message": "Insufficient balance for current gas total"
+ "getEther": {
+ "message": "Get Ether"
},
- "gasLimitTooLow": {
- "message": "Gas limit must be at least 21000"
+ "here": {
+ "message": "here"
+ },
+ "hideCaps": {
+ "message": "HIDE"
+ },
+ "hideToken": {
+ "message": "Hide Token"
+ },
+ "hideTokenPrompt": {
+ "message": "Hide Token?"
+ },
+ "howToDeposit": {
+ "message": "How would you like to deposit Ether?"
+ },
+ "import": {
+ "message": "Import"
},
- "editButton": {
- "message": "Edit"
+ "importAccount": {
+ "message": "Import Account"
+ },
+ "importAnAccount": {
+ "message": "Import an account"
+ },
+ "importCaps": {
+ "message": "IMPORT"
+ },
+ "importDen": {
+ "message": "Import Existing DEN"
+ },
+ "importedCaps": {
+ "message": "IMPORTED"
+ },
+ "infoHelp": {
+ "message": "Info & Help"
+ },
+ "invalidAddress": {
+ "message": "Invalid address"
+ },
+ "invalidGasParams": {
+ "message": "Invalid Gas Parameters"
+ },
+ "invalidInput": {
+ "message": "Invalid input."
+ },
+ "invalidRequest": {
+ "message": "Invalid Request"
+ },
+ "kovan": {
+ "message": "Kovan Test Network"
+ },
+ "limit": {
+ "message": "Limit"
+ },
+ "loading": {
+ "message": "Loading..."
+ },
+ "loadingTokens": {
+ "message": "Loading Tokens..."
+ },
+ "localhost": {
+ "message": "Localhost 8545"
+ },
+ "logout": {
+ "message": "Log out"
},
"looseCaps": {
"message": "LOOSE"
},
- "addToken": "Add Token",
- "exportPrivateKey": "Export Private Key",
- "copyAddress": "Copy Address to clipboard",
- "etherscanView": "View account on Etherscan",
- "qrCode": "Show QR Code",
- "accDetails": "Account Details",
- "networks": "Networks",
- "defaultNetwork": "The default network for Ether transactions is Main Net.",
- "mainnet": "Main Ethereum Network",
- "unknownNetwork": "Unknown Private Network",
- "rinkeby": "Rinkeby Test Network",
- "kovan": "Kovan Test Network",
- "ropsten": "Ropsten Test Network",
- "localhost": "Localhost 8545",
- "customRPC": "Custom RPC",
- "hideToken": "Hide Token",
- "copiedClipboard": "Copied to Clipboard",
- "detailsCaps": "DETAILS",
- "sendButton": "SEND",
- "depositButton": "DEPOSIT",
- "notStarted": "Not Started",
- "noTransactions": "No Transactions",
- "contractPublished": "Contract Published",
- "noTransactionHistory": "No transaction history.",
- "warning": "Warning",
- "failed": "Failed",
- "rejected": "Rejected",
- "sigRequested": "Signature Requested",
- "yourSigRequested": "Your signature is being requested",
- "balance": "Balance:",
- "retryWithMoreGas": "Retry with a higher gas price here",
- "takesTooLong": "Taking too long?",
- "transactionNumber": "Transaction Number",
- "loadingTokens": "Loading Tokens...",
- "troubleTokenBalances": "We had trouble loading your token balances. You can view them ",
- "here": "here",
- "message": "Message",
- "signNotice": "Signing this message can have \ndangerous side effects. Only sign messages from \nsites you fully trust with your entire account.\n This dangerous method will be removed in a future version. ",
- "youSign": "You are signing:",
- "conversionProgress": "Conversion in progress",
- "noDeposits": "No deposits received",
- "fromShapeShift": "From ShapeShift",
- "invalidRequest": "Invalid Request",
- "status": "Status",
- "limit": "Limit",
- "exchangeRate": "Exchange Rate",
- "min": "Minimum",
- "available": "Available",
- "unavailable": "Unavailable",
- "depositBTC": "Deposit your BTC to the address below:",
- "deposit": "Deposit",
- "receive": "Receive",
- "refundAddress": "Your Refund Address",
- "buyButton": "Buy",
- "signMessage": "Sign Message",
- "youSignCaps": "YOU ARE SIGNING",
- "messageCaps": "MESSAGE",
- "readMore": "Read more here.",
- "cancel": "Cancel",
- "sign": "Sign",
- "accept": "Accept",
- "attemptingConnect": "Attempting to connect to blockchain.",
- "privateNetwork": "Private Network",
- "invalidInput": "Invalid input.",
- "noAddressForName": "No address has been set for this name.",
- "clickCopy": "Click to Copy",
- "copyButton": " Copy ",
- "copiedButton": "Copied",
- "copy": "Copy",
- "copiedExclamation": "Copied!",
- "continueToCoinbase": "Continue to Coinbase",
- "depositEth": "Deposit Eth",
- "selectService": "Select Service",
- "unknownNetworkId": "Unknown network ID",
- "borrowDharma": "Borrow With Dharma (Beta)",
- "exportPrivateKeyWarning": "Export private keys at your own risk.",
- "confirmPasswordSmall": "confirm password",
- "submit": "Submit",
+ "mainnet": {
+ "message": "Main Ethereum Network"
+ },
+ "message": {
+ "message": "Message"
+ },
+ "messageCaps": {
+ "message": "MESSAGE"
+ },
+ "min": {
+ "message": "Minimum"
+ },
+ "myAccounts": {
+ "message": "My Accounts"
+ },
+ "needEtherInWallet": {
+ "message": "To interact with decentralized applications using MetaMask, you’ll need Ether in your wallet."
+ },
+ "needImportFile": {
+ "message": "You must select a file to import."
+ },
+ "needImportPassword": {
+ "message": "You must enter a password for the selected file."
+ },
+ "networks": {
+ "message": "Networks"
+ },
+ "newAccount": {
+ "message": "New Account"
+ },
+ "newContract": {
+ "message": "New Contract"
+ },
+ "newPassword": {
+ "message": "New Password (min 8 chars)"
+ },
+ "newRecipient": {
+ "message": "New Recipient"
+ },
+ "next": {
+ "message": "Next"
+ },
+ "noAddressForName": {
+ "message": "No address has been set for this name."
+ },
+ "noDeposits": {
+ "message": "No deposits received"
+ },
+ "noTransactionHistory": {
+ "message": "No transaction history."
+ },
+ "noTransactions": {
+ "message": "No Transactions"
+ },
+ "notStarted": {
+ "message": "Not Started"
+ },
+ "oldUI": {
+ "message": "Old UI"
+ },
+ "oldUIMessage": {
+ "message": "You have returned to the old UI. You can switch back to the New UI through the option in the top right dropdown menu."
+ },
+ "or": {
+ "message": "or"
+ },
+ "passwordMismatch": {
+ "message": "passwords don't match"
+ },
+ "passwordShort": {
+ "message": "password not long enough"
+ },
+ "pastePrivateKey": {
+ "message": "Paste your private key string here:"
+ },
+ "pasteSeed": {
+ "message": "Paste your seed phrase here!"
+ },
+ "privateKeyWarning": {
+ "message": "Warning: Never disclose this key. Anyone with your private keys can take steal any assets held in your account."
+ },
+ "privateNetwork": {
+ "message": "Private Network"
+ },
+ "qrCode": {
+ "message": "Show QR Code"
+ },
+ "readdToken": {
+ "message": "You can add this token back in the future by going go to “Add token” in your accounts options menu."
+ },
+ "readMore": {
+ "message": "Read more here."
+ },
+ "receive": {
+ "message": "Receive"
+ },
+ "recipientAddress": {
+ "message": "Recipient Address"
+ },
+ "refundAddress": {
+ "message": "Your Refund Address"
+ },
+ "rejected": {
+ "message": "Rejected"
+ },
+ "required": {
+ "message": "Required"
+ },
+ "retryWithMoreGas": {
+ "message": "Retry with a higher gas price here"
+ },
+ "revert": {
+ "message": "Revert"
+ },
+ "rinkeby": {
+ "message": "Rinkeby Test Network"
+ },
+ "ropsten": {
+ "message": "Ropsten Test Network"
+ },
+ "sampleAccountName": {
+ "message": "E.g. My new account"
+ },
+ "saveCaps": {
+ "message": "SAVE"
+ },
+ "selectService": {
+ "message": "Select Service"
+ },
+ "sendButton": {
+ "message": "SEND"
+ },
+ "sendTokens": {
+ "message": "Send Tokens"
+ },
+ "sendTokensAnywhere": {
+ "message": "Send Tokens to anyone with an Ethereum account"
+ },
+ "settings": {
+ "message": "Settings"
+ },
+ "shapeshiftBuy": {
+ "message": "Buy with Shapeshift"
+ },
+ "showPrivateKeys": {
+ "message": "Show Private Keys"
+ },
+ "sign": {
+ "message": "Sign"
+ },
+ "signCaps": {
+ "message": "SIGN"
+ },
+ "signMessage": {
+ "message": "Sign Message"
+ },
+ "signNotice": {
+ "message": "Signing this message can have \ndangerous side effects. Only sign messages from \nsites you fully trust with your entire account.\n This dangerous method will be removed in a future version. "
+ },
+ "sigRequested": {
+ "message": "Signature Requested"
+ },
+ "status": {
+ "message": "Status"
+ },
+ "submit": {
+ "message": "Submit"
+ },
+ "takesTooLong": {
+ "message": "Taking too long?"
+ },
+ "testFaucet": {
+ "message": "Test Faucet"
+ },
+ "to": {
+ "message": "To"
+ },
+ "tokenBalance": {
+ "message": "Your Token Balance is:"
+ },
+ "toSpecific": {
+ "message": "To:"
+ },
+ "total": {
+ "message": "Total"
+ },
+ "transactionMemo": {
+ "message": "Transaction memo (optional)"
+ },
+ "transactionNumber": {
+ "message": "Transaction Number"
+ },
+ "transfers": {
+ "message": "Transfers"
+ },
+ "troubleTokenBalances": {
+ "message": "We had trouble loading your token balances. You can view them "
+ },
+ "typePassword": {
+ "message": "Type Your Password"
+ },
+ "uiWelcome": {
+ "message": "Welcome to the New UI (Beta)"
+ },
+ "uiWelcomeMessage": {
+ "message": "You are now using the new Metamask UI. Take a look around, try out new features like sending tokens, and let us know if you have any issues."
+ },
+ "unavailable": {
+ "message": "Unavailable"
+ },
+ "unknown": {
+ "message": "Unknown"
+ },
+ "unknownNetwork": {
+ "message": "Unknown Private Network"
+ },
+ "unknownNetworkId": {
+ "message": "Unknown network ID"
+ },
+ "usedByClients": {
+ "message": "Used by a variety of different clients"
+ },
+ "viewAccount": {
+ "message": "View Account"
+ },
+ "warning": {
+ "message": "Warning"
+ },
+ "whatsThis": {
+ "message": "What's this?"
+ },
+ "yourSigRequested": {
+ "message": "Your signature is being requested"
+ },
+ "youSign": {
+ "message": "You are signing:"
+ },
+ "youSignCaps": {
+ "message": "YOU ARE SIGNING"
+ }
}
diff --git a/ui/app/accounts/import/json.js b/ui/app/accounts/import/json.js
index 9cefcfa77..ca9a29e34 100644
--- a/ui/app/accounts/import/json.js
+++ b/ui/app/accounts/import/json.js
@@ -26,8 +26,8 @@ JsonImportSubview.prototype.render = function () {
return (
h('div.new-account-import-form__json', [
- h('p', 'Used by a variety of different clients'),
- h('a.warning', { href: HELP_LINK, target: '_blank' }, 'File import not working? Click here!'),
+ h('p', t('usedByClients')),
+ h('a.warning', { href: HELP_LINK, target: '_blank' }, t('fileImportFail')),
h(FileInput, {
readAs: 'text',
@@ -42,7 +42,7 @@ JsonImportSubview.prototype.render = function () {
h('input.new-account-import-form__input-password', {
type: 'password',
- placeholder: 'Enter password',
+ placeholder: t('enterPassword'),
id: 'json-password-box',
onKeyPress: this.createKeyringOnEnter.bind(this),
}),
@@ -52,13 +52,13 @@ JsonImportSubview.prototype.render = function () {
h('button.new-account-create-form__button-cancel', {
onClick: () => this.props.goHome(),
}, [
- 'CANCEL',
+ t('cancelCaps'),
]),
h('button.new-account-create-form__button-create', {
onClick: () => this.createNewKeychain.bind(this),
}, [
- 'IMPORT',
+ t('importCaps'),
]),
]),
@@ -84,7 +84,7 @@ JsonImportSubview.prototype.createNewKeychain = function () {
const { fileContents } = state
if (!fileContents) {
- const message = 'You must select a file to import.'
+ const message = t('needImportFile')
return this.props.dispatch(actions.displayWarning(message))
}
@@ -92,7 +92,7 @@ JsonImportSubview.prototype.createNewKeychain = function () {
const password = passwordInput.value
if (!password) {
- const message = 'You must enter a password for the selected file.'
+ const message = t('needImportPassword')
return this.props.dispatch(actions.displayWarning(message))
}
diff --git a/ui/app/accounts/import/private-key.js b/ui/app/accounts/import/private-key.js
index 43afbca87..d8aa1a3d8 100644
--- a/ui/app/accounts/import/private-key.js
+++ b/ui/app/accounts/import/private-key.js
@@ -32,7 +32,7 @@ PrivateKeyImportView.prototype.render = function () {
return (
h('div.new-account-import-form__private-key', [
- h('span.new-account-create-form__instruction', 'Paste your private key string here:'),
+ h('span.new-account-create-form__instruction', t('pastePrivateKey')),
h('input.new-account-import-form__input-password', {
type: 'password',
@@ -45,13 +45,13 @@ PrivateKeyImportView.prototype.render = function () {
h('button.new-account-create-form__button-cancel', {
onClick: () => goHome(),
}, [
- 'CANCEL',
+ t('cancelCaps'),
]),
h('button.new-account-create-form__button-create', {
onClick: () => this.createNewKeychain(),
}, [
- 'IMPORT',
+ t('importCaps'),
]),
]),
diff --git a/ui/app/accounts/import/seed.js b/ui/app/accounts/import/seed.js
index b4a7c0afa..241200c6f 100644
--- a/ui/app/accounts/import/seed.js
+++ b/ui/app/accounts/import/seed.js
@@ -20,11 +20,10 @@ SeedImportSubview.prototype.render = function () {
style: {
},
}, [
- `Paste your seed phrase here!`,
+ t('pasteSeed'),
h('textarea'),
h('br'),
- h('button', 'Submit'),
+ h('button', t('submit')),
])
)
}
-
diff --git a/ui/app/accounts/new-account/create-form.js b/ui/app/accounts/new-account/create-form.js
index 494726ae4..f9faa928c 100644
--- a/ui/app/accounts/new-account/create-form.js
+++ b/ui/app/accounts/new-account/create-form.js
@@ -21,13 +21,13 @@ class NewAccountCreateForm extends Component {
return h('div.new-account-create-form', [
h('div.new-account-create-form__input-label', {}, [
- 'Account Name',
+ t('accountName'),
]),
h('div.new-account-create-form__input-wrapper', {}, [
h('input.new-account-create-form__input', {
value: this.state.newAccountName,
- placeholder: 'E.g. My new account',
+ placeholder: t('sampleAccountName'),
onChange: event => this.setState({ newAccountName: event.target.value }),
}, []),
]),
@@ -37,13 +37,13 @@ class NewAccountCreateForm extends Component {
h('button.new-account-create-form__button-cancel', {
onClick: () => this.props.goHome(),
}, [
- 'CANCEL',
+ t('cancelCaps'),
]),
h('button.new-account-create-form__button-create', {
onClick: () => this.props.createAccount(newAccountName),
}, [
- 'CREATE',
+ t('createCaps'),
]),
]),
diff --git a/ui/app/accounts/new-account/index.js b/ui/app/accounts/new-account/index.js
index acf0dc6e4..1ed43ae08 100644
--- a/ui/app/accounts/new-account/index.js
+++ b/ui/app/accounts/new-account/index.js
@@ -42,10 +42,10 @@ AccountDetailsModal.prototype.render = function () {
const { displayedForm, displayForm } = this.props
return h('div.new-account', {}, [
-
+
h('div.new-account__header', [
- h('div.new-account__title', 'New Account'),
+ h('div.new-account__title', t('newAccount')),
h('div.new-account__tabs', [
@@ -55,7 +55,7 @@ AccountDetailsModal.prototype.render = function () {
'new-account__tabs__unselected cursor-pointer': displayedForm !== 'CREATE',
}),
onClick: () => displayForm('CREATE'),
- }, 'Create'),
+ }, t('createDen')),
h('div.new-account__tabs__tab', {
className: classnames('new-account__tabs__tab', {
@@ -63,7 +63,7 @@ AccountDetailsModal.prototype.render = function () {
'new-account__tabs__unselected cursor-pointer': displayedForm !== 'IMPORT',
}),
onClick: () => displayForm('IMPORT'),
- }, 'Import'),
+ }, t('import')),
]),
diff --git a/ui/app/components/customize-gas-modal/index.js b/ui/app/components/customize-gas-modal/index.js
index a5384daaf..ae9ff769d 100644
--- a/ui/app/components/customize-gas-modal/index.js
+++ b/ui/app/components/customize-gas-modal/index.js
@@ -284,11 +284,11 @@ CustomizeGasModal.prototype.render = function () {
h('div.send-v2__customize-gas__buttons', [
h('div.send-v2__customize-gas__cancel', {
onClick: this.props.hideModal,
- }, [t('cancelButton')]),
+ }, [t('cancelCaps')]),
h(`div.send-v2__customize-gas__save${error ? '__error' : ''}`, {
onClick: () => !error && this.save(gasPrice, gasLimit, gasTotal),
- }, [t('saveButton')]),
+ }, [t('saveCaps')]),
]),
]),
diff --git a/ui/app/components/dropdowns/components/account-dropdowns.js b/ui/app/components/dropdowns/components/account-dropdowns.js
index 7ecec38d2..76fbb8060 100644
--- a/ui/app/components/dropdowns/components/account-dropdowns.js
+++ b/ui/app/components/dropdowns/components/account-dropdowns.js
@@ -129,7 +129,7 @@ class AccountDropdowns extends Component {
actions.showEditAccountModal(identity)
},
}, [
- t('editButton'),
+ t('editCaps'),
]),
]),
diff --git a/ui/app/components/modals/account-details-modal.js b/ui/app/components/modals/account-details-modal.js
index c1f7a3236..746c6de4c 100644
--- a/ui/app/components/modals/account-details-modal.js
+++ b/ui/app/components/modals/account-details-modal.js
@@ -64,12 +64,12 @@ AccountDetailsModal.prototype.render = function () {
h('button.btn-clear.account-modal__button', {
onClick: () => global.platform.openWindow({ url: genAccountLink(address, network) }),
- }, 'View account on Etherscan'),
+ }, t('etherscanView')),
// Holding on redesign for Export Private Key functionality
h('button.btn-clear.account-modal__button', {
onClick: () => showExportPrivateKeyModal(),
- }, 'Export private key'),
+ }, t('exportPrivateKeyLower')),
])
}
diff --git a/ui/app/components/modals/account-modal-container.js b/ui/app/components/modals/account-modal-container.js
index c548fb7b3..538edcf13 100644
--- a/ui/app/components/modals/account-modal-container.js
+++ b/ui/app/components/modals/account-modal-container.js
@@ -59,7 +59,7 @@ AccountModalContainer.prototype.render = function () {
h('i.fa.fa-angle-left.fa-lg'),
- h('span.account-modal-back__text', ' Back'),
+ h('span.account-modal-back__text', ' ' + t('back')),
]),
diff --git a/ui/app/components/modals/buy-options-modal.js b/ui/app/components/modals/buy-options-modal.js
index 74a7a847e..60fef7db4 100644
--- a/ui/app/components/modals/buy-options-modal.js
+++ b/ui/app/components/modals/buy-options-modal.js
@@ -56,15 +56,15 @@ BuyOptions.prototype.render = function () {
}, [
h('div.buy-modal-content-title', {
style: {},
- }, 'Transfers'),
- h('div', {}, 'How would you like to deposit Ether?'),
+ }, t('transfers')),
+ h('div', {}, t('howToDeposit')),
]),
h('div.buy-modal-content-options.flex-column.flex-center', {}, [
isTestNetwork
- ? this.renderModalContentOption(networkName, 'Test Faucet', () => toFaucet(network))
- : this.renderModalContentOption('Coinbase', 'Deposit with Fiat', () => toCoinbase(address)),
+ ? this.renderModalContentOption(networkName, t('testFaucet'), () => toFaucet(network))
+ : this.renderModalContentOption('Coinbase', t('depositFiat'), () => toCoinbase(address)),
// h('div.buy-modal-content-option', {}, [
// h('div.buy-modal-content-option-title', {}, 'Shapeshift'),
@@ -72,8 +72,8 @@ BuyOptions.prototype.render = function () {
// ]),,
this.renderModalContentOption(
- 'Direct Deposit',
- 'Deposit from another account',
+ t('directDeposit'),
+ t('depositFromAccount'),
() => this.goToAccountDetailsModal()
),
@@ -84,7 +84,7 @@ BuyOptions.prototype.render = function () {
background: 'white',
},
onClick: () => { this.props.hideModal() },
- }, h('div.buy-modal-content-footer#buy-modal-content-footer-text', {}, 'Cancel')),
+ }, h('div.buy-modal-content-footer#buy-modal-content-footer-text', {}, t('cancel'))),
]),
])
}
diff --git a/ui/app/components/modals/deposit-ether-modal.js b/ui/app/components/modals/deposit-ether-modal.js
index 532d66653..85f640a68 100644
--- a/ui/app/components/modals/deposit-ether-modal.js
+++ b/ui/app/components/modals/deposit-ether-modal.js
@@ -6,16 +6,13 @@ const actions = require('../../actions')
const networkNames = require('../../../../app/scripts/config.js').networkNames
const ShapeshiftForm = require('../shapeshift-form')
-const DIRECT_DEPOSIT_ROW_TITLE = 'Directly Deposit Ether'
-const DIRECT_DEPOSIT_ROW_TEXT = `If you already have some Ether, the quickest way to get Ether in
-your new wallet by direct deposit.`
-const COINBASE_ROW_TITLE = 'Buy on Coinbase'
-const COINBASE_ROW_TEXT = `Coinbase is the world’s most popular way to buy and sell bitcoin,
-ethereum, and litecoin.`
-const SHAPESHIFT_ROW_TITLE = 'Deposit with ShapeShift'
-const SHAPESHIFT_ROW_TEXT = `If you own other cryptocurrencies, you can trade and deposit Ether
-directly into your MetaMask wallet. No Account Needed.`
-const FAUCET_ROW_TITLE = 'Test Faucet'
+const DIRECT_DEPOSIT_ROW_TITLE = t('directDepositEther')
+const DIRECT_DEPOSIT_ROW_TEXT = t('directDepositEtherExplainer')
+const COINBASE_ROW_TITLE = t('buyCoinbase')
+const COINBASE_ROW_TEXT = t('buyCoinbaseExplainer')
+const SHAPESHIFT_ROW_TITLE = t('depositShapeShift')
+const SHAPESHIFT_ROW_TEXT = t('depositShapeShiftExplainer')
+const FAUCET_ROW_TITLE = t('testFaucet')
const facuetRowText = networkName => `Get Ether from a faucet for the ${networkName}`
function mapStateToProps (state) {
@@ -110,10 +107,10 @@ DepositEtherModal.prototype.render = function () {
h('div.deposit-ether-modal__header', [
- h('div.deposit-ether-modal__header__title', ['Deposit Ether']),
+ h('div.deposit-ether-modal__header__title', [t('depositEther')]),
h('div.deposit-ether-modal__header__description', [
- 'To interact with decentralized applications using MetaMask, you’ll need Ether in your wallet.',
+ t('needEtherInWallet'),
]),
h('div.deposit-ether-modal__header__close', {
@@ -131,7 +128,7 @@ DepositEtherModal.prototype.render = function () {
logo: h('img.deposit-ether-modal__buy-row__eth-logo', { src: '../../../images/eth_logo.svg' }),
title: DIRECT_DEPOSIT_ROW_TITLE,
text: DIRECT_DEPOSIT_ROW_TEXT,
- buttonLabel: 'View Account',
+ buttonLabel: t('viewAccount'),
onButtonClick: () => this.goToAccountDetailsModal(),
hide: buyingWithShapeshift,
}),
@@ -140,7 +137,7 @@ DepositEtherModal.prototype.render = function () {
logo: h('i.fa.fa-tint.fa-2x'),
title: FAUCET_ROW_TITLE,
text: facuetRowText(networkName),
- buttonLabel: 'Get Ether',
+ buttonLabel: t('getEther'),
onButtonClick: () => toFaucet(network),
hide: !isTestNetwork || buyingWithShapeshift,
}),
@@ -151,7 +148,7 @@ DepositEtherModal.prototype.render = function () {
}),
title: COINBASE_ROW_TITLE,
text: COINBASE_ROW_TEXT,
- buttonLabel: 'Continue to Coinbase',
+ buttonLabel: t('continueToCoinbase'),
onButtonClick: () => toCoinbase(address),
hide: isTestNetwork || buyingWithShapeshift,
}),
@@ -162,7 +159,7 @@ DepositEtherModal.prototype.render = function () {
}),
title: SHAPESHIFT_ROW_TITLE,
text: SHAPESHIFT_ROW_TEXT,
- buttonLabel: 'Buy with Shapeshift',
+ buttonLabel: t('shapeshiftBuy'),
onButtonClick: () => this.setState({ buyingWithShapeshift: true }),
hide: isTestNetwork,
hideButton: buyingWithShapeshift,
diff --git a/ui/app/components/modals/edit-account-name-modal.js b/ui/app/components/modals/edit-account-name-modal.js
index e2361140d..410fac7ba 100644
--- a/ui/app/components/modals/edit-account-name-modal.js
+++ b/ui/app/components/modals/edit-account-name-modal.js
@@ -50,7 +50,7 @@ EditAccountNameModal.prototype.render = function () {
]),
h('div.edit-account-name-modal-title', {
- }, ['Edit Account Name']),
+ }, [t('editAccountName')]),
h('input.edit-account-name-modal-input', {
placeholder: identity.name,
@@ -69,7 +69,7 @@ EditAccountNameModal.prototype.render = function () {
},
disabled: this.state.inputText.length === 0,
}, [
- 'SAVE',
+ t('saveCaps'),
]),
]),
diff --git a/ui/app/components/modals/export-private-key-modal.js b/ui/app/components/modals/export-private-key-modal.js
index 422f23f44..0745827cb 100644
--- a/ui/app/components/modals/export-private-key-modal.js
+++ b/ui/app/components/modals/export-private-key-modal.js
@@ -48,8 +48,8 @@ ExportPrivateKeyModal.prototype.exportAccountAndGetPrivateKey = function (passwo
ExportPrivateKeyModal.prototype.renderPasswordLabel = function (privateKey) {
return h('span.private-key-password-label', privateKey
- ? 'This is your private key (click to copy)'
- : 'Type Your Password'
+ ? t('copyPrivateKey')
+ : t('typePassword')
)
}
@@ -86,8 +86,8 @@ ExportPrivateKeyModal.prototype.renderButtons = function (privateKey, password,
),
(privateKey
- ? this.renderButton('btn-clear export-private-key__button', () => hideModal(), 'Done')
- : this.renderButton('btn-clear export-private-key__button', () => this.exportAccountAndGetPrivateKey(this.state.password, address), 'Confirm')
+ ? this.renderButton('btn-clear export-private-key__button', () => hideModal(), t('done'))
+ : this.renderButton('btn-clear export-private-key__button', () => this.exportAccountAndGetPrivateKey(this.state.password, address), t('confirm'))
),
])
@@ -120,7 +120,7 @@ ExportPrivateKeyModal.prototype.render = function () {
h('div.account-modal-divider'),
- h('span.modal-body-title', 'Show Private Keys'),
+ h('span.modal-body-title', t('showPrivateKeys')),
h('div.private-key-password', {}, [
this.renderPasswordLabel(privateKey),
@@ -130,10 +130,7 @@ ExportPrivateKeyModal.prototype.render = function () {
!warning ? null : h('span.private-key-password-error', warning),
]),
- h('div.private-key-password-warning', `Warning: Never disclose this key.
- Anyone with your private keys can take steal any assets held in your
- account.`
- ),
+ h('div.private-key-password-warning', t('privateKeyWarning')),
this.renderButtons(privateKey, this.state.password, address, hideModal),
diff --git a/ui/app/components/modals/hide-token-confirmation-modal.js b/ui/app/components/modals/hide-token-confirmation-modal.js
index 56c7ba299..55f1695af 100644
--- a/ui/app/components/modals/hide-token-confirmation-modal.js
+++ b/ui/app/components/modals/hide-token-confirmation-modal.js
@@ -41,7 +41,7 @@ HideTokenConfirmationModal.prototype.render = function () {
h('div.hide-token-confirmation__container', {
}, [
h('div.hide-token-confirmation__title', {}, [
- 'Hide Token?',
+ t('hideTokenPrompt'),
]),
h(Identicon, {
@@ -54,19 +54,19 @@ HideTokenConfirmationModal.prototype.render = function () {
h('div.hide-token-confirmation__symbol', {}, symbol),
h('div.hide-token-confirmation__copy', {}, [
- 'You can add this token back in the future by going go to “Add token” in your accounts options menu.',
+ t('readdToken'),
]),
h('div.hide-token-confirmation__buttons', {}, [
h('button.btn-cancel.hide-token-confirmation__button', {
onClick: () => hideModal(),
}, [
- 'CANCEL',
+ t('cancelCaps'),
]),
h('button.btn-clear.hide-token-confirmation__button', {
onClick: () => hideToken(address),
}, [
- 'HIDE',
+ t('hideCaps'),
]),
]),
]),
diff --git a/ui/app/components/modals/modal.js b/ui/app/components/modals/modal.js
index afb2a2175..e4e644d40 100644
--- a/ui/app/components/modals/modal.js
+++ b/ui/app/components/modals/modal.js
@@ -169,9 +169,8 @@ const MODALS = {
BETA_UI_NOTIFICATION_MODAL: {
contents: [
h(NotifcationModal, {
- header: 'Welcome to the New UI (Beta)',
- message: `You are now using the new Metamask UI. Take a look around, try out new features like sending tokens,
- and let us know if you have any issues.`,
+ header: t('uiWelcome'),
+ message: t('uiWelcomeMessage'),
}),
],
mobileModalStyle: {
@@ -187,9 +186,8 @@ const MODALS = {
OLD_UI_NOTIFICATION_MODAL: {
contents: [
h(NotifcationModal, {
- header: 'Old UI',
- message: `You have returned to the old UI. You can switch back to the New UI through the option in the top
- right dropdown menu.`,
+ header: t('oldUI'),
+ message: t('oldUIMessage'),
}),
],
mobileModalStyle: {
diff --git a/ui/app/components/modals/new-account-modal.js b/ui/app/components/modals/new-account-modal.js
index fc1fd413d..4fdfbd745 100644
--- a/ui/app/components/modals/new-account-modal.js
+++ b/ui/app/components/modals/new-account-modal.js
@@ -22,7 +22,7 @@ class NewAccountModal extends Component {
h('div.new-account-modal-wrapper', {
}, [
h('div.new-account-modal-header', {}, [
- 'New Account',
+ t('newAccount'),
]),
h('div.modal-close-x', {
@@ -30,19 +30,19 @@ class NewAccountModal extends Component {
}),
h('div.new-account-modal-content', {}, [
- 'Account Name',
+ t('accountName'),
]),
h('div.new-account-input-wrapper', {}, [
h('input.new-account-input', {
value: this.state.newAccountName,
- placeholder: 'E.g. My new account',
+ placeholder: t('sampleAccountName'),
onChange: event => this.setState({ newAccountName: event.target.value }),
}, []),
]),
h('div.new-account-modal-content.after-input', {}, [
- 'or',
+ t('or'),
]),
h('div.new-account-modal-content.after-input.pointer', {
@@ -50,13 +50,13 @@ class NewAccountModal extends Component {
this.props.hideModal()
this.props.showImportPage()
},
- }, 'Import an account'),
+ }, t('importAnAccount')),
h('div.new-account-modal-content.button', {}, [
h('button.btn-clear', {
onClick: () => this.props.createAccount(newAccountName),
}, [
- 'SAVE',
+ t('saveCaps'),
]),
]),
]),
diff --git a/ui/app/components/pending-tx/confirm-deploy-contract.js b/ui/app/components/pending-tx/confirm-deploy-contract.js
index ae6c6ef7b..0d8b2721f 100644
--- a/ui/app/components/pending-tx/confirm-deploy-contract.js
+++ b/ui/app/components/pending-tx/confirm-deploy-contract.js
@@ -200,7 +200,7 @@ ConfirmDeployContract.prototype.renderGasFee = function () {
return (
h('section.flex-row.flex-center.confirm-screen-row', [
- h('span.confirm-screen-label.confirm-screen-section-column', [ 'Gas Fee' ]),
+ h('span.confirm-screen-label.confirm-screen-section-column', [ t('gasFee') ]),
h('div.confirm-screen-section-column', [
h('div.confirm-screen-row-info', `${fiatGas} ${currentCurrency.toUpperCase()}`),
@@ -239,8 +239,8 @@ ConfirmDeployContract.prototype.renderTotalPlusGas = function () {
return (
h('section.flex-row.flex-center.confirm-screen-total-box ', [
h('div.confirm-screen-section-column', [
- h('span.confirm-screen-label', [ 'Total ' ]),
- h('div.confirm-screen-total-box__subtitle', [ 'Amount + Gas' ]),
+ h('span.confirm-screen-label', [ t('total') + ' ' ]),
+ h('div.confirm-screen-total-box__subtitle', [ t('amountPlusGas') ]),
]),
h('div.confirm-screen-section-column', [
@@ -274,7 +274,7 @@ ConfirmDeployContract.prototype.render = function () {
h('button.confirm-screen-back-button', {
onClick: () => backToAccountDetail(selectedAddress),
}, 'BACK'),
- h('div.confirm-screen-title', 'Confirm Contract'),
+ h('div.confirm-screen-title', t('confirmContract')),
h('div.confirm-screen-header-tip'),
]),
h('div.flex-row.flex-center.confirm-screen-identicons', [
@@ -292,7 +292,7 @@ ConfirmDeployContract.prototype.render = function () {
h('i.fa.fa-arrow-right.fa-lg'),
h('div.confirm-screen-account-wrapper', [
h('i.fa.fa-file-text-o'),
- h('span.confirm-screen-account-name', 'New Contract'),
+ h('span.confirm-screen-account-name', t('newContract')),
h('span.confirm-screen-account-number', ' '),
]),
]),
@@ -310,7 +310,7 @@ ConfirmDeployContract.prototype.render = function () {
h('div.confirm-screen-rows', [
h('section.flex-row.flex-center.confirm-screen-row', [
- h('span.confirm-screen-label.confirm-screen-section-column', [ 'From' ]),
+ h('span.confirm-screen-label.confirm-screen-section-column', [ t('from') ]),
h('div.confirm-screen-section-column', [
h('div.confirm-screen-row-info', fromName),
h('div.confirm-screen-row-detail', `...${fromAddress.slice(fromAddress.length - 4)}`),
@@ -318,9 +318,9 @@ ConfirmDeployContract.prototype.render = function () {
]),
h('section.flex-row.flex-center.confirm-screen-row', [
- h('span.confirm-screen-label.confirm-screen-section-column', [ 'To' ]),
+ h('span.confirm-screen-label.confirm-screen-section-column', [ t('to') ]),
h('div.confirm-screen-section-column', [
- h('div.confirm-screen-row-info', 'New Contract'),
+ h('div.confirm-screen-row-info', t('newContract')),
]),
]),
@@ -337,10 +337,10 @@ ConfirmDeployContract.prototype.render = function () {
// Cancel Button
h('div.cancel.btn-light.confirm-screen-cancel-button', {
onClick: (event) => this.cancel(event, txMeta),
- }, 'CANCEL'),
+ }, t('cancelCaps')),
// Accept Button
- h('button.confirm-screen-confirm-button', ['CONFIRM']),
+ h('button.confirm-screen-confirm-button', [t('confirmCaps')]),
]),
])
diff --git a/ui/app/components/pending-tx/confirm-send-ether.js b/ui/app/components/pending-tx/confirm-send-ether.js
index 652300c94..7608e02ad 100644
--- a/ui/app/components/pending-tx/confirm-send-ether.js
+++ b/ui/app/components/pending-tx/confirm-send-ether.js
@@ -165,7 +165,7 @@ ConfirmSendEther.prototype.getData = function () {
},
to: {
address: txParams.to,
- name: identities[txParams.to] ? identities[txParams.to].name : 'New Recipient',
+ name: identities[txParams.to] ? identities[txParams.to].name : t('newRecipient'),
},
memo: txParams.memo || '',
gasFeeInFIAT,
@@ -268,7 +268,7 @@ ConfirmSendEther.prototype.render = function () {
h('div.confirm-screen-rows', [
h('section.flex-row.flex-center.confirm-screen-row', [
- h('span.confirm-screen-label.confirm-screen-section-column', [ 'From' ]),
+ h('span.confirm-screen-label.confirm-screen-section-column', [ t('from') ]),
h('div.confirm-screen-section-column', [
h('div.confirm-screen-row-info', fromName),
h('div.confirm-screen-row-detail', `...${fromAddress.slice(fromAddress.length - 4)}`),
@@ -276,7 +276,7 @@ ConfirmSendEther.prototype.render = function () {
]),
h('section.flex-row.flex-center.confirm-screen-row', [
- h('span.confirm-screen-label.confirm-screen-section-column', [ 'To' ]),
+ h('span.confirm-screen-label.confirm-screen-section-column', [ t('to') ]),
h('div.confirm-screen-section-column', [
h('div.confirm-screen-row-info', toName),
h('div.confirm-screen-row-detail', `...${toAddress.slice(toAddress.length - 4)}`),
@@ -284,7 +284,7 @@ ConfirmSendEther.prototype.render = function () {
]),
h('section.flex-row.flex-center.confirm-screen-row', [
- h('span.confirm-screen-label.confirm-screen-section-column', [ 'Gas Fee' ]),
+ h('span.confirm-screen-label.confirm-screen-section-column', [ t('gasFee') ]),
h('div.confirm-screen-section-column', [
h('div.confirm-screen-row-info', `${gasFeeInFIAT} ${currentCurrency.toUpperCase()}`),
@@ -295,8 +295,8 @@ ConfirmSendEther.prototype.render = function () {
h('section.flex-row.flex-center.confirm-screen-total-box ', [
h('div.confirm-screen-section-column', [
- h('span.confirm-screen-label', [ 'Total ' ]),
- h('div.confirm-screen-total-box__subtitle', [ 'Amount + Gas' ]),
+ h('span.confirm-screen-label', [ t('total') + ' ' ]),
+ h('div.confirm-screen-total-box__subtitle', [ t('amountPlusGas') ]),
]),
h('div.confirm-screen-section-column', [
@@ -396,10 +396,10 @@ ConfirmSendEther.prototype.render = function () {
clearSend()
this.cancel(event, txMeta)
},
- }, 'CANCEL'),
+ }, t('cancelCaps')),
// Accept Button
- h('button.confirm-screen-confirm-button', ['CONFIRM']),
+ h('button.confirm-screen-confirm-button', [t('confirmCaps')]),
]),
])
)
@@ -414,7 +414,7 @@ ConfirmSendEther.prototype.onSubmit = function (event) {
if (valid && this.verifyGasParams()) {
this.props.sendTransaction(txMeta, event)
} else {
- this.props.dispatch(actions.displayWarning('Invalid Gas Parameters'))
+ this.props.dispatch(actions.displayWarning(t('invalidGasParams')))
this.setState({ submitting: false })
}
}
diff --git a/ui/app/components/pending-tx/confirm-send-token.js b/ui/app/components/pending-tx/confirm-send-token.js
index ad489c3e9..88644d57a 100644
--- a/ui/app/components/pending-tx/confirm-send-token.js
+++ b/ui/app/components/pending-tx/confirm-send-token.js
@@ -133,7 +133,7 @@ ConfirmSendToken.prototype.getAmount = function () {
? +(sendTokenAmount * tokenExchangeRate * conversionRate).toFixed(2)
: null,
token: typeof value === 'undefined'
- ? 'Unknown'
+ ? t('unknown')
: +sendTokenAmount.toFixed(decimals),
}
@@ -204,7 +204,7 @@ ConfirmSendToken.prototype.getData = function () {
},
to: {
address: value,
- name: identities[value] ? identities[value].name : 'New Recipient',
+ name: identities[value] ? identities[value].name : t('newRecipient'),
},
memo: txParams.memo || '',
}
@@ -244,7 +244,7 @@ ConfirmSendToken.prototype.renderGasFee = function () {
return (
h('section.flex-row.flex-center.confirm-screen-row', [
- h('span.confirm-screen-label.confirm-screen-section-column', [ 'Gas Fee' ]),
+ h('span.confirm-screen-label.confirm-screen-section-column', [ t('gasFee') ]),
h('div.confirm-screen-section-column', [
h('div.confirm-screen-row-info', `${fiatGas} ${currentCurrency}`),
@@ -266,8 +266,8 @@ ConfirmSendToken.prototype.renderTotalPlusGas = function () {
? (
h('section.flex-row.flex-center.confirm-screen-total-box ', [
h('div.confirm-screen-section-column', [
- h('span.confirm-screen-label', [ 'Total ' ]),
- h('div.confirm-screen-total-box__subtitle', [ 'Amount + Gas' ]),
+ h('span.confirm-screen-label', [ t('total') + ' ' ]),
+ h('div.confirm-screen-total-box__subtitle', [ t('amountPlusGas') ]),
]),
h('div.confirm-screen-section-column', [
@@ -279,8 +279,8 @@ ConfirmSendToken.prototype.renderTotalPlusGas = function () {
: (
h('section.flex-row.flex-center.confirm-screen-total-box ', [
h('div.confirm-screen-section-column', [
- h('span.confirm-screen-label', [ 'Total ' ]),
- h('div.confirm-screen-total-box__subtitle', [ 'Amount + Gas' ]),
+ h('span.confirm-screen-label', [ t('total') + ' ' ]),
+ h('div.confirm-screen-total-box__subtitle', [ t('amountPlusGas') ]),
]),
h('div.confirm-screen-section-column', [
@@ -316,7 +316,7 @@ ConfirmSendToken.prototype.render = function () {
h('h3.flex-center.confirm-screen-header', [
h('button.btn-clear.confirm-screen-back-button', {
onClick: () => editTransaction(txMeta),
- }, 'EDIT'),
+ }, t('editCaps')),
h('div.confirm-screen-title', 'Confirm Transaction'),
h('div.confirm-screen-header-tip'),
]),
@@ -359,7 +359,7 @@ ConfirmSendToken.prototype.render = function () {
h('div.confirm-screen-rows', [
h('section.flex-row.flex-center.confirm-screen-row', [
- h('span.confirm-screen-label.confirm-screen-section-column', [ 'From' ]),
+ h('span.confirm-screen-label.confirm-screen-section-column', [ t('from') ]),
h('div.confirm-screen-section-column', [
h('div.confirm-screen-row-info', fromName),
h('div.confirm-screen-row-detail', `...${fromAddress.slice(fromAddress.length - 4)}`),
@@ -367,7 +367,7 @@ ConfirmSendToken.prototype.render = function () {
]),
toAddress && h('section.flex-row.flex-center.confirm-screen-row', [
- h('span.confirm-screen-label.confirm-screen-section-column', [ 'To' ]),
+ h('span.confirm-screen-label.confirm-screen-section-column', [ t('to') ]),
h('div.confirm-screen-section-column', [
h('div.confirm-screen-row-info', toName),
h('div.confirm-screen-row-detail', `...${toAddress.slice(toAddress.length - 4)}`),
@@ -387,10 +387,10 @@ ConfirmSendToken.prototype.render = function () {
// Cancel Button
h('div.cancel.btn-light.confirm-screen-cancel-button', {
onClick: (event) => this.cancel(event, txMeta),
- }, 'CANCEL'),
+ }, t('cancelCaps')),
// Accept Button
- h('button.confirm-screen-confirm-button', ['CONFIRM']),
+ h('button.confirm-screen-confirm-button', [t('confirmCaps')]),
]),
@@ -407,7 +407,7 @@ ConfirmSendToken.prototype.onSubmit = function (event) {
if (valid && this.verifyGasParams()) {
this.props.sendTransaction(txMeta, event)
} else {
- this.props.dispatch(actions.displayWarning('Invalid Gas Parameters'))
+ this.props.dispatch(actions.displayWarning(t('invalidGasParams')))
this.setState({ submitting: false })
}
}
diff --git a/ui/app/components/pending-typed-msg.js b/ui/app/components/pending-typed-msg.js
index 73702d0f8..f0f846027 100644
--- a/ui/app/components/pending-typed-msg.js
+++ b/ui/app/components/pending-typed-msg.js
@@ -35,10 +35,10 @@ PendingMsg.prototype.render = function () {
h('.flex-row.flex-space-around', [
h('button', {
onClick: state.cancelTypedMessage,
- }, t('cancelButton')),
+ }, t('cancelCaps')),
h('button', {
onClick: state.signTypedMessage,
- }, t('signButton')),
+ }, t('signCaps')),
]),
])
diff --git a/ui/app/components/send-token/index.js b/ui/app/components/send-token/index.js
index 99d078251..a40664977 100644
--- a/ui/app/components/send-token/index.js
+++ b/ui/app/components/send-token/index.js
@@ -126,14 +126,14 @@ SendTokenScreen.prototype.validate = function () {
const amount = Number(stringAmount)
const errors = {
- to: !to ? 'Required' : null,
- amount: !amount ? 'Required' : null,
- gasPrice: !gasPrice ? 'Gas Price Required' : null,
- gasLimit: !gasLimit ? 'Gas Limit Required' : null,
+ to: !to ? t('required') : null,
+ amount: !amount ? t('required') : null,
+ gasPrice: !gasPrice ? t('gasPriceRequired') : null,
+ gasLimit: !gasLimit ? t('gasLimitRequired') : null,
}
if (to && !isValidAddress(to)) {
- errors.to = 'Invalid address'
+ errors.to = t('invalidAddress')
}
const isValid = Object.entries(errors).every(([key, value]) => value === null)
@@ -233,11 +233,11 @@ SendTokenScreen.prototype.renderToAddressInput = function () {
'send-screen-input-wrapper--error': errorMessage,
}),
}, [
- h('div', ['To:']),
+ h('div', [t('toSpecific')]),
h('input.large-input.send-screen-input', {
name: 'address',
list: 'addresses',
- placeholder: 'Address',
+ placeholder: t('address'),
value: to,
onChange: e => this.setState({
to: e.target.value,
@@ -355,8 +355,8 @@ SendTokenScreen.prototype.renderGasInput = function () {
}),
h('div.send-screen-gas-labels', {}, [
- h('span', [ h('i.fa.fa-bolt'), 'Gas fee:']),
- h('span', ['What\'s this?']),
+ h('span', [ h('i.fa.fa-bolt'), t('gasFeeSpecific')]),
+ h('span', [t('whatsThis')]),
]),
h('div.large-input.send-screen-gas-input', [
h(GasFeeDisplay, {
@@ -370,7 +370,7 @@ SendTokenScreen.prototype.renderGasInput = function () {
h(
'div.send-screen-gas-input-customize',
{ onClick: () => this.setState({ isGasTooltipOpen: !isGasTooltipOpen }) },
- ['Customize']
+ [t('customize')]
),
]),
h('div.send-screen-input-wrapper__error-message', [
@@ -381,7 +381,7 @@ SendTokenScreen.prototype.renderGasInput = function () {
SendTokenScreen.prototype.renderMemoInput = function () {
return h('div.send-screen-input-wrapper', [
- h('div', {}, ['Transaction memo (optional)']),
+ h('div', {}, [t('transactionMemo')]),
h(
'input.large-input.send-screen-input',
{ onChange: e => this.setState({ memo: e.target.value }) }
@@ -397,10 +397,10 @@ SendTokenScreen.prototype.renderButtons = function () {
h('button.send-token__button-next.btn-secondary', {
className: !isValid && 'send-screen__send-button__disabled',
onClick: () => isValid && this.submit(),
- }, ['Next']),
+ }, [t('next')]),
h('button.send-token__button-cancel.btn-tertiary', {
onClick: () => backToAccountDetail(selectedAddress),
- }, ['Cancel']),
+ }, [t('cancel')]),
])
}
@@ -417,9 +417,9 @@ SendTokenScreen.prototype.render = function () {
diameter: 75,
address: selectedTokenAddress,
}),
- h('div.send-token__title', ['Send Tokens']),
- h('div.send-token__description', ['Send Tokens to anyone with an Ethereum account']),
- h('div.send-token__balance-text', ['Your Token Balance is:']),
+ h('div.send-token__title', [t('sendTokens')]),
+ h('div.send-token__description', [t('sendTokensAnywhere')]),
+ h('div.send-token__balance-text', [t('tokenBalance')]),
h('div.send-token__token-balance', [
h(TokenBalance, { token: selectedToken, balanceOnly: true }),
]),
diff --git a/ui/app/components/send/gas-fee-display-v2.js b/ui/app/components/send/gas-fee-display-v2.js
index 0c4c3f7a9..edaa297b9 100644
--- a/ui/app/components/send/gas-fee-display-v2.js
+++ b/ui/app/components/send/gas-fee-display-v2.js
@@ -30,7 +30,7 @@ GasFeeDisplay.prototype.render = function () {
convertedPrefix: '$',
readOnly: true,
})
- : h('div.currency-display', 'Loading...'),
+ : h('div.currency-display', t('loading')),
h('button.send-v2__sliders-icon-container', {
onClick,
@@ -41,4 +41,3 @@ GasFeeDisplay.prototype.render = function () {
])
}
-
diff --git a/ui/app/components/send/gas-tooltip.js b/ui/app/components/send/gas-tooltip.js
index 46aff3499..da2a53c9e 100644
--- a/ui/app/components/send/gas-tooltip.js
+++ b/ui/app/components/send/gas-tooltip.js
@@ -81,7 +81,7 @@ GasTooltip.prototype.render = function () {
'marginTop': '81px',
},
}, [
- h('span.gas-tooltip-label', {}, ['Gas Limit']),
+ h('span.gas-tooltip-label', {}, [t('gasLimit')]),
h('i.fa.fa-info-circle'),
]),
h(InputNumber, {
@@ -97,4 +97,3 @@ GasTooltip.prototype.render = function () {
]),
])
}
-
diff --git a/ui/app/components/send/to-autocomplete.js b/ui/app/components/send/to-autocomplete.js
index e0cdd0a58..85e7bfa0e 100644
--- a/ui/app/components/send/to-autocomplete.js
+++ b/ui/app/components/send/to-autocomplete.js
@@ -92,7 +92,7 @@ ToAutoComplete.prototype.render = function () {
return h('div.send-v2__to-autocomplete', {}, [
h('input.send-v2__to-autocomplete__input', {
- placeholder: 'Recipient Address',
+ placeholder: t('recipientAddress'),
className: inError ? `send-v2__error-border` : '',
value: to,
onChange: event => onChange(event.target.value),
@@ -111,4 +111,3 @@ ToAutoComplete.prototype.render = function () {
])
}
-
diff --git a/ui/app/components/signature-request.js b/ui/app/components/signature-request.js
index 459d6a1a2..8003f8b1d 100644
--- a/ui/app/components/signature-request.js
+++ b/ui/app/components/signature-request.js
@@ -224,10 +224,10 @@ SignatureRequest.prototype.renderFooter = function () {
return h('div.request-signature__footer', [
h('button.request-signature__footer__cancel-button', {
onClick: cancel,
- }, t('cancelButton')),
+ }, t('cancelCaps')),
h('button.request-signature__footer__sign-button', {
onClick: sign,
- }, t('signButton')),
+ }, t('signCaps')),
])
}