From a62238c19dab5605906d562d3340201c00be5aa8 Mon Sep 17 00:00:00 2001 From: Nicolas Gotchac Date: Tue, 5 Sep 2017 13:26:29 +0200 Subject: [PATCH] Add language selector in production (#6317) * Add language selector in PRODUCTIN * Fix wrong i18n keys * Update the default i18n files --- js/scripts/lint-i18n.js | 45 +++++++++++++----- js/src/i18n/_default/account.js | 17 +++++++ js/src/i18n/_default/accounts.js | 9 ++++ js/src/i18n/_default/application.js | 3 +- js/src/i18n/_default/connection.js | 1 + js/src/i18n/_default/createAccount.js | 46 ++++++++++++++++--- js/src/i18n/_default/createWallet.js | 21 +-------- js/src/i18n/_default/dapps.js | 3 ++ js/src/i18n/_default/deployContract.js | 25 +--------- js/src/i18n/_default/errors.js | 2 + js/src/i18n/_default/executeContract.js | 13 ------ js/src/i18n/_default/firstRun.js | 2 + js/src/i18n/_default/index.js | 3 ++ js/src/i18n/_default/peers.js | 46 +++++++++++++++++++ js/src/i18n/_default/requests.js | 24 ++++++++++ js/src/i18n/_default/settings.js | 11 ++--- js/src/i18n/_default/signer.js | 22 +++++++-- js/src/i18n/_default/status.js | 22 ++++++++- .../{details_windows.js => syncWarning.js} | 9 +++- js/src/i18n/_default/transfer.js | 5 -- js/src/i18n/_default/ui.js | 39 ++++++++++++++-- js/src/i18n/_default/walletSettings.js | 9 ++-- js/src/i18n/_default/writeContract.js | 2 +- js/src/i18n/store.js | 9 +--- js/src/modals/ExportAccount/exportAccount.js | 6 +-- .../ExportAccount/exportInput/exportInput.js | 4 +- js/src/ui/Features/defaults.js | 10 ++-- .../ui/LanguageSelector/languageSelector.js | 2 +- js/src/ui/TxList/TxRow/txRow.js | 2 +- js/src/views/Account/account.js | 8 ++-- js/src/views/Settings/Parity/parity.js | 4 +- 31 files changed, 301 insertions(+), 123 deletions(-) create mode 100644 js/src/i18n/_default/peers.js create mode 100644 js/src/i18n/_default/requests.js rename js/src/i18n/_default/{details_windows.js => syncWarning.js} (83%) diff --git a/js/scripts/lint-i18n.js b/js/scripts/lint-i18n.js index d392353d0..b19851957 100644 --- a/js/scripts/lint-i18n.js +++ b/js/scripts/lint-i18n.js @@ -20,34 +20,57 @@ import * as defaults from '../src/i18n/_default'; import { LANGUAGES, MESSAGES } from '../src/i18n/store'; const SKIP_LANG = ['en']; -const defaultKeys = Object.keys(flatten(Object.assign({}, defaults, LANGUAGES))); +const defaultValues = flatten(Object.assign({}, defaults, LANGUAGES)); +const defaultKeys = Object.keys(defaultValues); +const results = {}; Object .keys(MESSAGES) .filter((lang) => !SKIP_LANG.includes(lang)) .forEach((lang) => { const messageKeys = Object.keys(MESSAGES[lang]); - let extra = 0; - let found = 0; - let missing = 0; + const langResults = { found: [], missing: [], extras: [] }; - console.log(`*** Checking translations for ${lang}`); + console.warn(`*** Checking translations for ${lang}`); defaultKeys.forEach((key) => { if (messageKeys.includes(key)) { - found++; + langResults.found.push(key); } else { - missing++; - console.log(` Missing ${key}`); + langResults.missing.push(key); } }); messageKeys.forEach((key) => { if (!defaultKeys.includes(key)) { - extra++; - console.log(` Extra ${key}`); + langResults.extras.push(key); } }); - console.log(`Found ${found} keys, missing ${missing} keys, ${extra} extraneous keys\n`); + // Sort keys + langResults.extras.sort((kA, kB) => kA.localeCompare(kB)); + langResults.found.sort((kA, kB) => kA.localeCompare(kB)); + langResults.missing.sort((kA, kB) => kA.localeCompare(kB)); + + // Print to stderr the missing and extra keys + langResults.missing.forEach((key) => console.warn(` Missing ${key}`)); + langResults.extras.forEach((key) => console.warn(` Extra ${key}`)); + + results[lang] = langResults; + + console.warn(`Found ${langResults.found.length} keys, missing ${langResults.missing.length} keys, ${langResults.extras.length} extraneous keys\n`); }); + +const formattedResults = Object.keys(results) + .reduce((res, lang) => { + const { missing } = results[lang]; + + res[lang] = missing.map((key) => ({ + key, + default: defaultValues[key] + })); + + return res; + }, {}); + +process.stdout.write(JSON.stringify(formattedResults, null, 2) + '\n'); diff --git a/js/src/i18n/_default/account.js b/js/src/i18n/_default/account.js index 7c9d25520..3783ff368 100644 --- a/js/src/i18n/_default/account.js +++ b/js/src/i18n/_default/account.js @@ -18,12 +18,29 @@ export default { button: { delete: `delete`, edit: `edit`, + export: `export`, faucet: `Kovan ETH`, + forget: `forget`, password: `password`, shapeshift: `shapeshift`, transfer: `transfer`, verify: `verify` }, + export: { + info: `Export your account as a JSON file. Please enter the password linked with this account.`, + password: { + hint: `The password specified when creating this account`, + label: `Account password` + }, + setPassword: { + hint: `Enter password Here`, + label: `Password` + }, + title: `Export Account` + }, + external: { + confirmDelete: `Are you sure you want to remove the following external address from your account list?` + }, hardware: { confirmDelete: `Are you sure you want to remove the following hardware address from your account list?` }, diff --git a/js/src/i18n/_default/accounts.js b/js/src/i18n/_default/accounts.js index 2db3d5fd9..e90f0984f 100644 --- a/js/src/i18n/_default/accounts.js +++ b/js/src/i18n/_default/accounts.js @@ -16,10 +16,19 @@ export default { button: { + export: `export`, newAccount: `account`, newWallet: `wallet`, + restoreAccount: `restore`, vaults: `vaults` }, + export: { + button: { + cancel: `Cancel`, + export: `Export` + }, + title: `Export an Account` + }, summary: { minedBlock: `Mined at block #{blockNumber}` }, diff --git a/js/src/i18n/_default/application.js b/js/src/i18n/_default/application.js index f2e6be1ee..8f0de0dc1 100644 --- a/js/src/i18n/_default/application.js +++ b/js/src/i18n/_default/application.js @@ -22,8 +22,7 @@ export default { consensus: { capable: `Upgrade not required.`, capableUntil: `Upgrade required before #{blockNumber}`, - incapableSince: `Upgrade required since #{blockNumber}`, - unknown: `Upgrade status is unknown.` + incapableSince: `Upgrade required since #{blockNumber}` }, upgrade: `Upgrade` } diff --git a/js/src/i18n/_default/connection.js b/js/src/i18n/_default/connection.js index e51943178..4f38162e4 100644 --- a/js/src/i18n/_default/connection.js +++ b/js/src/i18n/_default/connection.js @@ -19,6 +19,7 @@ export default { connectingNode: `Connecting to the Parity Node. If this informational message persists, please ensure that your Parity node is running and reachable on the network.`, invalidToken: `invalid signer token`, noConnection: `Unable to make a connection to the Parity Secure API. To update your secure token or to generate a new one, run {newToken} and paste the generated token into the space below.`, + timestamp: `Ensure that both the Parity node and this machine connecting have computer clocks in-sync with each other and with a timestamp server, ensuring both successful token validation and block operations.`, token: { hint: `a generated token from Parity`, label: `secure token` diff --git a/js/src/i18n/_default/createAccount.js b/js/src/i18n/_default/createAccount.js index 8930fc7b4..791ee796b 100644 --- a/js/src/i18n/_default/createAccount.js +++ b/js/src/i18n/_default/createAccount.js @@ -21,8 +21,11 @@ export default { label: `address` }, phrase: { + backedUp: `Type "I have written down the phrase" below to confirm it is backed up.`, + backup: `Please back up the recovery phrase now. Make sure to keep it private and secure, it allows full and unlimited access to the account.`, + backupConfirm: `Type your recovery phrase now.`, hint: `the account recovery phrase`, - label: `owner recovery phrase (keep private and secure, it allows full and unlimited access to the account)` + label: `owner recovery phrase` } }, accountDetailsGeth: { @@ -50,14 +53,14 @@ export default { description: `Selecting your identity icon and specifying the password`, label: `New Account` }, - fromPhrase: { - description: `Recover using a previously stored recovery phrase and new password`, - label: `Recovery phrase` - }, fromPresale: { description: `Import an Ethereum presale wallet file with the original password`, label: `Presale wallet` }, + fromQr: { + description: `Attach an externally managed account via QR code`, + label: `External Account` + }, fromRaw: { description: `Enter a previously created raw private key with a new password`, label: `Private key` @@ -104,6 +107,21 @@ export default { label: `password` } }, + newQr: { + address: { + hint: `the network address for the account`, + label: `address` + }, + description: { + hint: `a description for the account`, + label: `account description` + }, + name: { + hint: `a descriptive name for the account`, + label: `account name` + }, + summary: `Use the built-in machine camera to scan to QR code of the account you wish to attach as an external account. External accounts are signed on the external device.` + }, rawKey: { hint: { hint: `(optional) a hint to help with remembering the password`, @@ -135,6 +153,9 @@ export default { hint: `a descriptive name for the account`, label: `account name` }, + passPhrase: { + error: `enter a recovery phrase` + }, password: { hint: `a strong, unique password`, label: `password` @@ -147,14 +168,27 @@ export default { hint: `the account recovery phrase`, label: `account recovery phrase` }, + warning: { + emptyPhrase: `The recovery phrase is empty. + This account can be recovered by anyone.`, + shortPhrase: `The recovery phrase is less than 11 words. + This account has not been generated by Parity and might be insecure. + Proceed with caution.`, + testnetEmptyPhrase: `The recovery phrase is empty. + This account can be recovered by anyone. + Proceed with caution.` + }, windowsKey: { label: `Key was created with Parity <1.4.5 on Windows` } }, title: { accountInfo: `account information`, + backupPhrase: `confirm recovery phrase`, createAccount: `create account`, createType: `creation type`, - importWallet: `import wallet` + importAccount: `import account`, + qr: `external account`, + restoreAccount: `restore account` } }; diff --git a/js/src/i18n/_default/createWallet.js b/js/src/i18n/_default/createWallet.js index eeb9e9a98..f32e95248 100644 --- a/js/src/i18n/_default/createWallet.js +++ b/js/src/i18n/_default/createWallet.js @@ -18,14 +18,9 @@ export default { button: { add: `Add`, cancel: `Cancel`, - close: `Close`, create: `Create`, done: `Done`, - next: `Next`, - sending: `Sending...` - }, - deployment: { - message: `The deployment is currently in progress` + next: `Next` }, details: { address: { @@ -73,21 +68,7 @@ export default { numOwners: `{numOwners} owners are required to confirm a transaction.`, owners: `The following are wallet owners` }, - rejected: { - message: `The deployment has been rejected`, - state: `The wallet will not be created. You can safely close this window.`, - title: `rejected` - }, - states: { - completed: `The contract deployment has been completed`, - confirmationNeeded: `The contract deployment needs confirmations from other owners of the Wallet`, - preparing: `Preparing transaction for network transmission`, - validatingCode: `Validating the deployed contract code`, - waitingConfirm: `Waiting for confirmation of the transaction in the Parity Secure Signer`, - waitingReceipt: `Waiting for the contract deployment transaction receipt` - }, steps: { - deployment: `wallet deployment`, details: `wallet details`, info: `wallet informaton`, type: `wallet type` diff --git a/js/src/i18n/_default/dapps.js b/js/src/i18n/_default/dapps.js index 9ed3415d1..514ef59c0 100644 --- a/js/src/i18n/_default/dapps.js +++ b/js/src/i18n/_default/dapps.js @@ -31,6 +31,9 @@ export default { } }, button: { + dapp: { + refresh: `refresh` + }, edit: `edit`, permissions: `permissions` }, diff --git a/js/src/i18n/_default/deployContract.js b/js/src/i18n/_default/deployContract.js index 0b5a05503..2436d540f 100644 --- a/js/src/i18n/_default/deployContract.js +++ b/js/src/i18n/_default/deployContract.js @@ -15,19 +15,12 @@ // along with Parity. If not, see . export default { - busy: { - title: `The deployment is currently in progress` - }, button: { cancel: `Cancel`, close: `Close`, create: `Create`, - done: `Done`, next: `Next` }, - completed: { - description: `Your contract has been deployed at` - }, details: { abi: { hint: `the abi of the contract to deploy or solc combined-output`, @@ -66,25 +59,9 @@ export default { parameters: { choose: `Choose the contract parameters` }, - rejected: { - description: `You can safely close this window, the contract deployment will not occur.`, - title: `The deployment has been rejected` - }, - state: { - completed: `The contract deployment has been completed`, - confirmationNeeded: `The operation needs confirmations from the other owners of the contract`, - preparing: `Preparing transaction for network transmission`, - validatingCode: `Validating the deployed contract code`, - waitReceipt: `Waiting for the contract deployment transaction receipt`, - waitSigner: `Waiting for confirmation of the transaction in the Parity Secure Signer` - }, title: { - completed: `completed`, - deployment: `deployment`, details: `contract details`, extras: `extra information`, - failed: `deployment failed`, - parameters: `contract parameters`, - rejected: `rejected` + parameters: `contract parameters` } }; diff --git a/js/src/i18n/_default/errors.js b/js/src/i18n/_default/errors.js index 76fed24cd..1a9c3516a 100644 --- a/js/src/i18n/_default/errors.js +++ b/js/src/i18n/_default/errors.js @@ -19,6 +19,8 @@ export default { invalidKey: `the raw key needs to be hex, 64 characters in length and contain the prefix "0x"`, noFile: `select a valid wallet file to import`, noKey: `you need to provide the raw private key`, + noMatchBackupPhrase: `the supplied recovery phrase does not match`, noMatchPassword: `the supplied passwords does not match`, + noMatchPhraseBackedUp: `type "I have written down the phrase"`, noName: `you need to specify a valid name` }; diff --git a/js/src/i18n/_default/executeContract.js b/js/src/i18n/_default/executeContract.js index 011264d3f..205a1d4dc 100644 --- a/js/src/i18n/_default/executeContract.js +++ b/js/src/i18n/_default/executeContract.js @@ -15,14 +15,8 @@ // along with Parity. If not, see . export default { - busy: { - posted: `Your transaction has been posted to the network`, - title: `The function execution is in progress`, - waitAuth: `Waiting for authorization in the Parity Signer` - }, button: { cancel: `cancel`, - done: `done`, next: `next`, post: `post transaction`, prev: `prev` @@ -44,15 +38,8 @@ export default { label: `function to execute` } }, - rejected: { - state: `You can safely close this window, the function execution will not occur.`, - title: `The execution has been rejected` - }, steps: { advanced: `advanced options`, - complete: `complete`, - rejected: `rejected`, - sending: `sending`, transfer: `function details` } }; diff --git a/js/src/i18n/_default/firstRun.js b/js/src/i18n/_default/firstRun.js index 5f41fa9c4..c6e6a640e 100644 --- a/js/src/i18n/_default/firstRun.js +++ b/js/src/i18n/_default/firstRun.js @@ -20,6 +20,7 @@ export default { create: `Create`, next: `Next`, print: `Print Phrase`, + restart: `Start Over`, skip: `Skip` }, completed: { @@ -28,6 +29,7 @@ export default { }, title: { completed: `completed`, + confirmation: `confirmation`, newAccount: `new account`, recovery: `recovery`, terms: `terms`, diff --git a/js/src/i18n/_default/index.js b/js/src/i18n/_default/index.js index 687e558dc..341663c92 100644 --- a/js/src/i18n/_default/index.js +++ b/js/src/i18n/_default/index.js @@ -41,11 +41,14 @@ export home from './home'; export loadContract from './loadContract'; export parityBar from './parityBar'; export passwordChange from './passwordChange'; +export peers from './peers'; +export requests from './requests'; export saveContract from './saveContract'; export settings from './settings'; export shapeshift from './shapeshift'; export signer from './signer'; export status from './status'; +export syncWarning from './syncWarning'; export tabBar from './tabBar'; export transfer from './transfer'; export txEditor from './txEditor'; diff --git a/js/src/i18n/_default/peers.js b/js/src/i18n/_default/peers.js new file mode 100644 index 000000000..2e66aaff0 --- /dev/null +++ b/js/src/i18n/_default/peers.js @@ -0,0 +1,46 @@ +// Copyright 2015-2017 Parity Technologies (UK) Ltd. +// This file is part of Parity. + +// Parity is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity. If not, see . + +export default { + acceptNonReserved: { + label: `Accept non-reserved` + }, + acceptNonReservedPeers: { + success: `Accepting non-reserved peers` + }, + addReserved: { + label: `Add reserved` + }, + dropNonReserved: { + label: `Drop non-reserved` + }, + dropNonReservedPeers: { + success: `Dropping non-reserved peers` + }, + form: { + action: { + label: `{add, select, true {Add} false {}}{remove, select, true {Remove} false {}}`, + success: `Successfully {add, select, true {added} false {}}{remove, select, true {removed} false {}} a reserved peer` + }, + cancel: { + label: `Cancel` + }, + label: `Peer enode URL` + }, + removeReserved: { + label: `Remove reserved` + } +}; diff --git a/js/src/i18n/_default/requests.js b/js/src/i18n/_default/requests.js new file mode 100644 index 000000000..328d52156 --- /dev/null +++ b/js/src/i18n/_default/requests.js @@ -0,0 +1,24 @@ +// Copyright 2015-2017 Parity Technologies (UK) Ltd. +// This file is part of Parity. + +// Parity is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity. If not, see . + +export default { + status: { + error: `An error occured:`, + transactionMined: `Transaction mined at block #{blockNumber} ({blockHeight} blocks ago)`, + transactionSent: `Transaction sent to network with hash`, + waitingForSigner: `Waiting for authorization in the Parity Signer` + } +}; diff --git a/js/src/i18n/_default/settings.js b/js/src/i18n/_default/settings.js index ea447e4a9..aef412b48 100644 --- a/js/src/i18n/_default/settings.js +++ b/js/src/i18n/_default/settings.js @@ -36,7 +36,7 @@ export default { }, languages: { hint: `the language this interface is displayed with`, - label: `UI language` + label: `language` }, loglevels: `Choose the different logs level.`, modes: { @@ -51,7 +51,7 @@ export default { label: `parity` }, proxy: { - details_0: `Instead of accessing Parity via the IP address and port, you will be able to access it via the .parity subdomain, by visiting {homeProxy}. To setup subdomain-based routing, you need to add the relevant proxy entries to your browser,`, + details_0: `Instead of accessing Parity via the IP address and port, you will be able to access it via the .web3.site subdomain, by visiting {homeProxy}. To setup subdomain-based routing, you need to add the relevant proxy entries to your browser,`, details_1: `To learn how to configure the proxy, instructions are provided for {windowsLink}, {macOSLink} or {ubuntuLink}.`, details_macos: `macOS`, details_ubuntu: `Ubuntu`, @@ -88,13 +88,12 @@ export default { description: `The secure transaction management area of the application where you can approve any outgoing transactions made from the application as well as those placed into the queue by decentralized applications.`, label: `Signer` }, - status: { - description: `See how the Parity node is performing in terms of connections to the network, logs from the actual running instance and details of mining (if enabled and configured).`, - label: `Status` - }, label: `views`, home: { label: `Home` + }, + status: { + label: `Status` } }, label: `settings` diff --git a/js/src/i18n/_default/signer.js b/js/src/i18n/_default/signer.js index 3f8615c52..6ba8fde46 100644 --- a/js/src/i18n/_default/signer.js +++ b/js/src/i18n/_default/signer.js @@ -15,6 +15,13 @@ // along with Parity. If not, see . export default { + decryptRequest: { + request: `A request to decrypt data using your account:`, + state: { + confirmed: `Confirmed`, + rejected: `Rejected` + } + }, embedded: { noPending: `There are currently no pending requests awaiting your confirmation` }, @@ -29,7 +36,7 @@ export default { requestOrigin: { dapp: `by a dapp at {url}`, ipc: `via IPC session`, - rpc: `via RPC {rpc}`, + rpc: `via RPC {url}`, signerCurrent: `via current tab`, signerUI: `via UI session`, unknownInterface: `via unknown interface`, @@ -38,10 +45,14 @@ export default { }, requestsPage: { noPending: `There are no requests requiring your confirmation.`, - pendingTitle: `Pending Requests`, + pendingTitle: `Pending Signature Authorization`, queueTitle: `Local Transactions` }, sending: { + external: { + scanSigned: `Scan the QR code of the signed transaction from your external device`, + scanTx: `Please scan the transaction QR on your external device` + }, hardware: { confirm: `Please confirm the transaction on your attached hardware device`, connect: `Please attach your hardware device before confirming the transaction` @@ -53,6 +64,10 @@ export default { confirmed: `Confirmed`, rejected: `Rejected` }, + tooltip: { + data: `Data: {data}`, + hash: `Hash to be signed: {hashToSign}` + }, unknownBinary: `(Unknown binary data)`, warning: `WARNING: This consequences of doing this may be grave. Confirm the request only if you are sure.` }, @@ -65,7 +80,8 @@ export default { txPendingConfirm: { buttons: { confirmBusy: `Confirming...`, - confirmRequest: `Confirm Request` + confirmRequest: `Confirm Request`, + scanSigned: `Scan Signed QR` }, errors: { invalidWallet: `Given wallet file is invalid.` diff --git a/js/src/i18n/_default/status.js b/js/src/i18n/_default/status.js index 536c0ff90..1874a4044 100644 --- a/js/src/i18n/_default/status.js +++ b/js/src/i18n/_default/status.js @@ -20,6 +20,14 @@ export default { stopped: `Refresh and display of logs from Parity is currently stopped via the UI, start it to see the latest updates.`, title: `Node Logs` }, + health: { + no: `no`, + peers: `Connected Peers`, + sync: `Chain Synchronized`, + time: `Time Synchronized`, + title: `Node Health`, + yes: `yes` + }, miningSettings: { input: { author: { @@ -41,13 +49,25 @@ export default { }, title: `mining settings` }, + peers: { + table: { + header: { + caps: `Capabilities`, + ethDiff: `Difficulty (ETH)`, + ethHeader: `Header (ETH)`, + id: `ID`, + name: `Name`, + remoteAddress: `Remote Address` + } + }, + title: `network peers` + }, status: { hashrate: `{hashrate} H/s`, input: { chain: `chain`, enode: `enode`, no: `no`, - peers: `peers`, port: `network port`, rpcEnabled: `rpc enabled`, rpcInterface: `rpc interface`, diff --git a/js/src/i18n/_default/details_windows.js b/js/src/i18n/_default/syncWarning.js similarity index 83% rename from js/src/i18n/_default/details_windows.js rename to js/src/i18n/_default/syncWarning.js index fcc570066..109a7d6ca 100644 --- a/js/src/i18n/_default/details_windows.js +++ b/js/src/i18n/_default/syncWarning.js @@ -14,4 +14,11 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -export default `Windows`; +export default { + dontShowAgain: { + label: `Do not show this warning again` + }, + understandBtn: { + label: `I understand` + } +}; diff --git a/js/src/i18n/_default/transfer.js b/js/src/i18n/_default/transfer.js index 3207f5b06..16c7c27a2 100644 --- a/js/src/i18n/_default/transfer.js +++ b/js/src/i18n/_default/transfer.js @@ -24,7 +24,6 @@ export default { buttons: { back: `Back`, cancel: `Cancel`, - close: `Close`, next: `Next`, send: `Send` }, @@ -51,10 +50,6 @@ export default { label: `total transaction amount` } }, - wallet: { - confirmation: `This transaction needs confirmation from other owners.`, - operationHash: `operation hash` - }, warning: { wallet_spent_limit: `This transaction value is above the remaining daily limit. It will need to be confirmed by other owners.` } diff --git a/js/src/i18n/_default/ui.js b/js/src/i18n/_default/ui.js index d84e7bd13..5d04208ad 100644 --- a/js/src/i18n/_default/ui.js +++ b/js/src/i18n/_default/ui.js @@ -66,6 +66,18 @@ export default { errors: { close: `close` }, + features: { + defaults: { + i18n: { + desc: `Allows changing the default interface language`, + name: `Language Selection` + }, + logging: { + desc: `Allows changing of the log levels for various components`, + name: `Logging Level Selection` + } + } + }, fileSelect: { defaultLabel: `Drop a file here, or click to select a file to upload` }, @@ -80,8 +92,8 @@ export default { }, methodDecoding: { condition: { - block: `, {historic, select, true {Submitted} false {Submission}} at block {blockNumber}`, - time: `, {historic, select, true {Submitted} false {Submission}} at {timestamp}` + block: `{historic, select, true {Will be submitted} false {To be submitted}} at block {blockNumber}`, + time: `{historic, select, true {Will be submitted} false {To be submitted}} {timestamp}` }, deploy: { address: `Deployed a contract at address`, @@ -101,7 +113,7 @@ export default { info: `{historic, select, true {Received} false {Will receive}} {valueEth} from {aContract}{address}` }, signature: { - info: `{historic, select, true {Executed} false {Will execute}} the {method} function on the contract {address} trsansferring {ethValue}{inputLength, plural, zero {,} other {passing the following {inputLength, plural, one {parameter} other {parameters}}}}` + info: `{historic, select, true {Executed} false {Will execute}} the {method} function on the contract {address} {showEth, select, true {transferring {ethValue}} false {}} {showInputs, select, false {} true {passing the following {inputLength, plural, one {parameter} other {parameters}}}}` }, token: { transfer: `{historic, select, true {Transferred} false {Will transfer}} {value} to {address}` @@ -131,6 +143,27 @@ export default { posted: `The transaction has been posted to the network with a hash of {hashLink}`, waiting: `waiting for confirmations` }, + txList: { + txRow: { + cancel: `Cancel`, + cancelWarning: `Warning: Editing or Canceling the transaction may not succeed!`, + canceled: `Canceled`, + edit: `Edit`, + editing: `Editing`, + pendingStatus: { + blocksLeft: `{blockNumber} blocks left`, + time: `{time} left` + }, + scheduled: `Scheduled`, + submitting: `Pending`, + verify: { + cancelEditCancel: `Cancel`, + cancelEditEdit: `Edit`, + confirm: `Are you sure?`, + nevermind: `Nevermind` + } + } + }, vaultSelect: { hint: `the vault this account is attached to`, label: `associated vault` diff --git a/js/src/i18n/_default/walletSettings.js b/js/src/i18n/_default/walletSettings.js index ddeae3798..e3cae3e3f 100644 --- a/js/src/i18n/_default/walletSettings.js +++ b/js/src/i18n/_default/walletSettings.js @@ -22,8 +22,12 @@ export default { cancel: `Cancel`, close: `Close`, next: `Next`, - send: `Send`, - sending: `Sending...` + send: `Send` + }, + changeOwner: { + labelFrom: `From`, + labelTo: `To`, + title: `Change Owner` }, changes: { modificationString: `For your modifications to be taken into account, @@ -62,7 +66,6 @@ export default { details: `from {from} to {to}`, title: `Change Required Owners` }, - rejected: `The transaction #{txid} has been rejected`, removeOwner: { title: `Remove Owner` } diff --git a/js/src/i18n/_default/writeContract.js b/js/src/i18n/_default/writeContract.js index fc1100b77..62f83dd4d 100644 --- a/js/src/i18n/_default/writeContract.js +++ b/js/src/i18n/_default/writeContract.js @@ -37,7 +37,7 @@ export default { params: `An error occurred with the following description` }, input: { - abi: `ABI Interface`, + abi: `ABI Definition`, code: `Bytecode`, metadata: `Metadata`, swarm: `Swarm Metadata Hash` diff --git a/js/src/i18n/store.js b/js/src/i18n/store.js index f2506950e..79bc48fe6 100644 --- a/js/src/i18n/store.js +++ b/js/src/i18n/store.js @@ -33,8 +33,8 @@ import zhHantTWMessages from './zh-Hant-TW'; let instance = null; -const LANGUAGES = flatten({ languages }); -const MESSAGES = { +export const LANGUAGES = flatten({ languages }); +export const MESSAGES = { de: Object.assign(flatten(deMessages), LANGUAGES), en: Object.assign(flatten(enMessages), LANGUAGES), nl: Object.assign(flatten(nlMessages), LANGUAGES), @@ -75,8 +75,3 @@ export default class Store { return instance; } } - -export { - LANGUAGES, - MESSAGES -}; diff --git a/js/src/modals/ExportAccount/exportAccount.js b/js/src/modals/ExportAccount/exportAccount.js index 48faaaec3..eddd23cd6 100644 --- a/js/src/modals/ExportAccount/exportAccount.js +++ b/js/src/modals/ExportAccount/exportAccount.js @@ -58,7 +58,7 @@ class ExportAccount extends Component { key='cancel' label={ } @@ -70,7 +70,7 @@ class ExportAccount extends Component { key='execute' label={ } @@ -81,7 +81,7 @@ class ExportAccount extends Component { open title={ } diff --git a/js/src/modals/ExportAccount/exportInput/exportInput.js b/js/src/modals/ExportAccount/exportInput/exportInput.js index 07673b29b..619166add 100644 --- a/js/src/modals/ExportAccount/exportInput/exportInput.js +++ b/js/src/modals/ExportAccount/exportInput/exportInput.js @@ -34,13 +34,13 @@ export default class ExportInput extends Component { type='password' label={ } hint={ } diff --git a/js/src/ui/Features/defaults.js b/js/src/ui/Features/defaults.js index 1e85c398e..62ce1fd99 100644 --- a/js/src/ui/Features/defaults.js +++ b/js/src/ui/Features/defaults.js @@ -30,17 +30,17 @@ const FEATURES = { const DEFAULTS = { [FEATURES.LANGUAGE]: { - mode: MODES.TESTING, + mode: MODES.PRODUCTION, name: ( ), description: ( ) }, @@ -49,13 +49,13 @@ const DEFAULTS = { name: ( ), description: ( ) } diff --git a/js/src/ui/LanguageSelector/languageSelector.js b/js/src/ui/LanguageSelector/languageSelector.js index 369ca6f28..e8f24e7f6 100644 --- a/js/src/ui/LanguageSelector/languageSelector.js +++ b/js/src/ui/LanguageSelector/languageSelector.js @@ -45,7 +45,7 @@ export default class LanguageSelector extends Component { label={ } value={ this.store.locale } diff --git a/js/src/ui/TxList/TxRow/txRow.js b/js/src/ui/TxList/TxRow/txRow.js index a28736ddb..fc40fc596 100644 --- a/js/src/ui/TxList/TxRow/txRow.js +++ b/js/src/ui/TxList/TxRow/txRow.js @@ -291,7 +291,7 @@ class TxRow extends Component {
diff --git a/js/src/views/Account/account.js b/js/src/views/Account/account.js index fdccac793..a475e3a6b 100644 --- a/js/src/views/Account/account.js +++ b/js/src/views/Account/account.js @@ -370,14 +370,14 @@ class Account extends Component { onDeny={ this.exportClose } title={ } >
@@ -388,13 +388,13 @@ class Account extends Component { type='password' hint={ } label={ } diff --git a/js/src/views/Settings/Parity/parity.js b/js/src/views/Settings/Parity/parity.js index 7de9b8061..9cf2c4f86 100644 --- a/js/src/views/Settings/Parity/parity.js +++ b/js/src/views/Settings/Parity/parity.js @@ -46,6 +46,8 @@ export default class Parity extends Component { } > + +
@@ -58,10 +60,10 @@ export default class Parity extends Component {
{ this.renderChains() } { this.renderModes() } -
+ { this.renderLogsConfig() } );