Add language selector in production (#6317)
* Add language selector in PRODUCTIN * Fix wrong i18n keys * Update the default i18n files
This commit is contained in:
parent
7462a69583
commit
a62238c19d
@ -20,34 +20,57 @@ import * as defaults from '../src/i18n/_default';
|
|||||||
import { LANGUAGES, MESSAGES } from '../src/i18n/store';
|
import { LANGUAGES, MESSAGES } from '../src/i18n/store';
|
||||||
|
|
||||||
const SKIP_LANG = ['en'];
|
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
|
Object
|
||||||
.keys(MESSAGES)
|
.keys(MESSAGES)
|
||||||
.filter((lang) => !SKIP_LANG.includes(lang))
|
.filter((lang) => !SKIP_LANG.includes(lang))
|
||||||
.forEach((lang) => {
|
.forEach((lang) => {
|
||||||
const messageKeys = Object.keys(MESSAGES[lang]);
|
const messageKeys = Object.keys(MESSAGES[lang]);
|
||||||
let extra = 0;
|
const langResults = { found: [], missing: [], extras: [] };
|
||||||
let found = 0;
|
|
||||||
let missing = 0;
|
|
||||||
|
|
||||||
console.log(`*** Checking translations for ${lang}`);
|
console.warn(`*** Checking translations for ${lang}`);
|
||||||
|
|
||||||
defaultKeys.forEach((key) => {
|
defaultKeys.forEach((key) => {
|
||||||
if (messageKeys.includes(key)) {
|
if (messageKeys.includes(key)) {
|
||||||
found++;
|
langResults.found.push(key);
|
||||||
} else {
|
} else {
|
||||||
missing++;
|
langResults.missing.push(key);
|
||||||
console.log(` Missing ${key}`);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
messageKeys.forEach((key) => {
|
messageKeys.forEach((key) => {
|
||||||
if (!defaultKeys.includes(key)) {
|
if (!defaultKeys.includes(key)) {
|
||||||
extra++;
|
langResults.extras.push(key);
|
||||||
console.log(` Extra ${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');
|
||||||
|
@ -18,12 +18,29 @@ export default {
|
|||||||
button: {
|
button: {
|
||||||
delete: `delete`,
|
delete: `delete`,
|
||||||
edit: `edit`,
|
edit: `edit`,
|
||||||
|
export: `export`,
|
||||||
faucet: `Kovan ETH`,
|
faucet: `Kovan ETH`,
|
||||||
|
forget: `forget`,
|
||||||
password: `password`,
|
password: `password`,
|
||||||
shapeshift: `shapeshift`,
|
shapeshift: `shapeshift`,
|
||||||
transfer: `transfer`,
|
transfer: `transfer`,
|
||||||
verify: `verify`
|
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: {
|
hardware: {
|
||||||
confirmDelete: `Are you sure you want to remove the following hardware address from your account list?`
|
confirmDelete: `Are you sure you want to remove the following hardware address from your account list?`
|
||||||
},
|
},
|
||||||
|
@ -16,10 +16,19 @@
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
button: {
|
button: {
|
||||||
|
export: `export`,
|
||||||
newAccount: `account`,
|
newAccount: `account`,
|
||||||
newWallet: `wallet`,
|
newWallet: `wallet`,
|
||||||
|
restoreAccount: `restore`,
|
||||||
vaults: `vaults`
|
vaults: `vaults`
|
||||||
},
|
},
|
||||||
|
export: {
|
||||||
|
button: {
|
||||||
|
cancel: `Cancel`,
|
||||||
|
export: `Export`
|
||||||
|
},
|
||||||
|
title: `Export an Account`
|
||||||
|
},
|
||||||
summary: {
|
summary: {
|
||||||
minedBlock: `Mined at block #{blockNumber}`
|
minedBlock: `Mined at block #{blockNumber}`
|
||||||
},
|
},
|
||||||
|
@ -22,8 +22,7 @@ export default {
|
|||||||
consensus: {
|
consensus: {
|
||||||
capable: `Upgrade not required.`,
|
capable: `Upgrade not required.`,
|
||||||
capableUntil: `Upgrade required before #{blockNumber}`,
|
capableUntil: `Upgrade required before #{blockNumber}`,
|
||||||
incapableSince: `Upgrade required since #{blockNumber}`,
|
incapableSince: `Upgrade required since #{blockNumber}`
|
||||||
unknown: `Upgrade status is unknown.`
|
|
||||||
},
|
},
|
||||||
upgrade: `Upgrade`
|
upgrade: `Upgrade`
|
||||||
}
|
}
|
||||||
|
@ -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.`,
|
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`,
|
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.`,
|
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: {
|
token: {
|
||||||
hint: `a generated token from Parity`,
|
hint: `a generated token from Parity`,
|
||||||
label: `secure token`
|
label: `secure token`
|
||||||
|
@ -21,8 +21,11 @@ export default {
|
|||||||
label: `address`
|
label: `address`
|
||||||
},
|
},
|
||||||
phrase: {
|
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`,
|
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: {
|
accountDetailsGeth: {
|
||||||
@ -50,14 +53,14 @@ export default {
|
|||||||
description: `Selecting your identity icon and specifying the password`,
|
description: `Selecting your identity icon and specifying the password`,
|
||||||
label: `New Account`
|
label: `New Account`
|
||||||
},
|
},
|
||||||
fromPhrase: {
|
|
||||||
description: `Recover using a previously stored recovery phrase and new password`,
|
|
||||||
label: `Recovery phrase`
|
|
||||||
},
|
|
||||||
fromPresale: {
|
fromPresale: {
|
||||||
description: `Import an Ethereum presale wallet file with the original password`,
|
description: `Import an Ethereum presale wallet file with the original password`,
|
||||||
label: `Presale wallet`
|
label: `Presale wallet`
|
||||||
},
|
},
|
||||||
|
fromQr: {
|
||||||
|
description: `Attach an externally managed account via QR code`,
|
||||||
|
label: `External Account`
|
||||||
|
},
|
||||||
fromRaw: {
|
fromRaw: {
|
||||||
description: `Enter a previously created raw private key with a new password`,
|
description: `Enter a previously created raw private key with a new password`,
|
||||||
label: `Private key`
|
label: `Private key`
|
||||||
@ -104,6 +107,21 @@ export default {
|
|||||||
label: `password`
|
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: {
|
rawKey: {
|
||||||
hint: {
|
hint: {
|
||||||
hint: `(optional) a hint to help with remembering the password`,
|
hint: `(optional) a hint to help with remembering the password`,
|
||||||
@ -135,6 +153,9 @@ export default {
|
|||||||
hint: `a descriptive name for the account`,
|
hint: `a descriptive name for the account`,
|
||||||
label: `account name`
|
label: `account name`
|
||||||
},
|
},
|
||||||
|
passPhrase: {
|
||||||
|
error: `enter a recovery phrase`
|
||||||
|
},
|
||||||
password: {
|
password: {
|
||||||
hint: `a strong, unique password`,
|
hint: `a strong, unique password`,
|
||||||
label: `password`
|
label: `password`
|
||||||
@ -147,14 +168,27 @@ export default {
|
|||||||
hint: `the account recovery phrase`,
|
hint: `the account recovery phrase`,
|
||||||
label: `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: {
|
windowsKey: {
|
||||||
label: `Key was created with Parity <1.4.5 on Windows`
|
label: `Key was created with Parity <1.4.5 on Windows`
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
title: {
|
title: {
|
||||||
accountInfo: `account information`,
|
accountInfo: `account information`,
|
||||||
|
backupPhrase: `confirm recovery phrase`,
|
||||||
createAccount: `create account`,
|
createAccount: `create account`,
|
||||||
createType: `creation type`,
|
createType: `creation type`,
|
||||||
importWallet: `import wallet`
|
importAccount: `import account`,
|
||||||
|
qr: `external account`,
|
||||||
|
restoreAccount: `restore account`
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -18,14 +18,9 @@ export default {
|
|||||||
button: {
|
button: {
|
||||||
add: `Add`,
|
add: `Add`,
|
||||||
cancel: `Cancel`,
|
cancel: `Cancel`,
|
||||||
close: `Close`,
|
|
||||||
create: `Create`,
|
create: `Create`,
|
||||||
done: `Done`,
|
done: `Done`,
|
||||||
next: `Next`,
|
next: `Next`
|
||||||
sending: `Sending...`
|
|
||||||
},
|
|
||||||
deployment: {
|
|
||||||
message: `The deployment is currently in progress`
|
|
||||||
},
|
},
|
||||||
details: {
|
details: {
|
||||||
address: {
|
address: {
|
||||||
@ -73,21 +68,7 @@ export default {
|
|||||||
numOwners: `{numOwners} owners are required to confirm a transaction.`,
|
numOwners: `{numOwners} owners are required to confirm a transaction.`,
|
||||||
owners: `The following are wallet owners`
|
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: {
|
steps: {
|
||||||
deployment: `wallet deployment`,
|
|
||||||
details: `wallet details`,
|
details: `wallet details`,
|
||||||
info: `wallet informaton`,
|
info: `wallet informaton`,
|
||||||
type: `wallet type`
|
type: `wallet type`
|
||||||
|
@ -31,6 +31,9 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
button: {
|
button: {
|
||||||
|
dapp: {
|
||||||
|
refresh: `refresh`
|
||||||
|
},
|
||||||
edit: `edit`,
|
edit: `edit`,
|
||||||
permissions: `permissions`
|
permissions: `permissions`
|
||||||
},
|
},
|
||||||
|
@ -15,19 +15,12 @@
|
|||||||
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
busy: {
|
|
||||||
title: `The deployment is currently in progress`
|
|
||||||
},
|
|
||||||
button: {
|
button: {
|
||||||
cancel: `Cancel`,
|
cancel: `Cancel`,
|
||||||
close: `Close`,
|
close: `Close`,
|
||||||
create: `Create`,
|
create: `Create`,
|
||||||
done: `Done`,
|
|
||||||
next: `Next`
|
next: `Next`
|
||||||
},
|
},
|
||||||
completed: {
|
|
||||||
description: `Your contract has been deployed at`
|
|
||||||
},
|
|
||||||
details: {
|
details: {
|
||||||
abi: {
|
abi: {
|
||||||
hint: `the abi of the contract to deploy or solc combined-output`,
|
hint: `the abi of the contract to deploy or solc combined-output`,
|
||||||
@ -66,25 +59,9 @@ export default {
|
|||||||
parameters: {
|
parameters: {
|
||||||
choose: `Choose the contract 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: {
|
title: {
|
||||||
completed: `completed`,
|
|
||||||
deployment: `deployment`,
|
|
||||||
details: `contract details`,
|
details: `contract details`,
|
||||||
extras: `extra information`,
|
extras: `extra information`,
|
||||||
failed: `deployment failed`,
|
parameters: `contract parameters`
|
||||||
parameters: `contract parameters`,
|
|
||||||
rejected: `rejected`
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -19,6 +19,8 @@ export default {
|
|||||||
invalidKey: `the raw key needs to be hex, 64 characters in length and contain the prefix "0x"`,
|
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`,
|
noFile: `select a valid wallet file to import`,
|
||||||
noKey: `you need to provide the raw private key`,
|
noKey: `you need to provide the raw private key`,
|
||||||
|
noMatchBackupPhrase: `the supplied recovery phrase does not match`,
|
||||||
noMatchPassword: `the supplied passwords 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`
|
noName: `you need to specify a valid name`
|
||||||
};
|
};
|
||||||
|
@ -15,14 +15,8 @@
|
|||||||
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
export default {
|
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: {
|
button: {
|
||||||
cancel: `cancel`,
|
cancel: `cancel`,
|
||||||
done: `done`,
|
|
||||||
next: `next`,
|
next: `next`,
|
||||||
post: `post transaction`,
|
post: `post transaction`,
|
||||||
prev: `prev`
|
prev: `prev`
|
||||||
@ -44,15 +38,8 @@ export default {
|
|||||||
label: `function to execute`
|
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: {
|
steps: {
|
||||||
advanced: `advanced options`,
|
advanced: `advanced options`,
|
||||||
complete: `complete`,
|
|
||||||
rejected: `rejected`,
|
|
||||||
sending: `sending`,
|
|
||||||
transfer: `function details`
|
transfer: `function details`
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -20,6 +20,7 @@ export default {
|
|||||||
create: `Create`,
|
create: `Create`,
|
||||||
next: `Next`,
|
next: `Next`,
|
||||||
print: `Print Phrase`,
|
print: `Print Phrase`,
|
||||||
|
restart: `Start Over`,
|
||||||
skip: `Skip`
|
skip: `Skip`
|
||||||
},
|
},
|
||||||
completed: {
|
completed: {
|
||||||
@ -28,6 +29,7 @@ export default {
|
|||||||
},
|
},
|
||||||
title: {
|
title: {
|
||||||
completed: `completed`,
|
completed: `completed`,
|
||||||
|
confirmation: `confirmation`,
|
||||||
newAccount: `new account`,
|
newAccount: `new account`,
|
||||||
recovery: `recovery`,
|
recovery: `recovery`,
|
||||||
terms: `terms`,
|
terms: `terms`,
|
||||||
|
@ -41,11 +41,14 @@ export home from './home';
|
|||||||
export loadContract from './loadContract';
|
export loadContract from './loadContract';
|
||||||
export parityBar from './parityBar';
|
export parityBar from './parityBar';
|
||||||
export passwordChange from './passwordChange';
|
export passwordChange from './passwordChange';
|
||||||
|
export peers from './peers';
|
||||||
|
export requests from './requests';
|
||||||
export saveContract from './saveContract';
|
export saveContract from './saveContract';
|
||||||
export settings from './settings';
|
export settings from './settings';
|
||||||
export shapeshift from './shapeshift';
|
export shapeshift from './shapeshift';
|
||||||
export signer from './signer';
|
export signer from './signer';
|
||||||
export status from './status';
|
export status from './status';
|
||||||
|
export syncWarning from './syncWarning';
|
||||||
export tabBar from './tabBar';
|
export tabBar from './tabBar';
|
||||||
export transfer from './transfer';
|
export transfer from './transfer';
|
||||||
export txEditor from './txEditor';
|
export txEditor from './txEditor';
|
||||||
|
46
js/src/i18n/_default/peers.js
Normal file
46
js/src/i18n/_default/peers.js
Normal file
@ -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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
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`
|
||||||
|
}
|
||||||
|
};
|
24
js/src/i18n/_default/requests.js
Normal file
24
js/src/i18n/_default/requests.js
Normal file
@ -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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
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`
|
||||||
|
}
|
||||||
|
};
|
@ -36,7 +36,7 @@ export default {
|
|||||||
},
|
},
|
||||||
languages: {
|
languages: {
|
||||||
hint: `the language this interface is displayed with`,
|
hint: `the language this interface is displayed with`,
|
||||||
label: `UI language`
|
label: `language`
|
||||||
},
|
},
|
||||||
loglevels: `Choose the different logs level.`,
|
loglevels: `Choose the different logs level.`,
|
||||||
modes: {
|
modes: {
|
||||||
@ -51,7 +51,7 @@ export default {
|
|||||||
label: `parity`
|
label: `parity`
|
||||||
},
|
},
|
||||||
proxy: {
|
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_1: `To learn how to configure the proxy, instructions are provided for {windowsLink}, {macOSLink} or {ubuntuLink}.`,
|
||||||
details_macos: `macOS`,
|
details_macos: `macOS`,
|
||||||
details_ubuntu: `Ubuntu`,
|
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.`,
|
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`
|
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`,
|
label: `views`,
|
||||||
home: {
|
home: {
|
||||||
label: `Home`
|
label: `Home`
|
||||||
|
},
|
||||||
|
status: {
|
||||||
|
label: `Status`
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
label: `settings`
|
label: `settings`
|
||||||
|
@ -15,6 +15,13 @@
|
|||||||
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
decryptRequest: {
|
||||||
|
request: `A request to decrypt data using your account:`,
|
||||||
|
state: {
|
||||||
|
confirmed: `Confirmed`,
|
||||||
|
rejected: `Rejected`
|
||||||
|
}
|
||||||
|
},
|
||||||
embedded: {
|
embedded: {
|
||||||
noPending: `There are currently no pending requests awaiting your confirmation`
|
noPending: `There are currently no pending requests awaiting your confirmation`
|
||||||
},
|
},
|
||||||
@ -29,7 +36,7 @@ export default {
|
|||||||
requestOrigin: {
|
requestOrigin: {
|
||||||
dapp: `by a dapp at {url}`,
|
dapp: `by a dapp at {url}`,
|
||||||
ipc: `via IPC session`,
|
ipc: `via IPC session`,
|
||||||
rpc: `via RPC {rpc}`,
|
rpc: `via RPC {url}`,
|
||||||
signerCurrent: `via current tab`,
|
signerCurrent: `via current tab`,
|
||||||
signerUI: `via UI session`,
|
signerUI: `via UI session`,
|
||||||
unknownInterface: `via unknown interface`,
|
unknownInterface: `via unknown interface`,
|
||||||
@ -38,10 +45,14 @@ export default {
|
|||||||
},
|
},
|
||||||
requestsPage: {
|
requestsPage: {
|
||||||
noPending: `There are no requests requiring your confirmation.`,
|
noPending: `There are no requests requiring your confirmation.`,
|
||||||
pendingTitle: `Pending Requests`,
|
pendingTitle: `Pending Signature Authorization`,
|
||||||
queueTitle: `Local Transactions`
|
queueTitle: `Local Transactions`
|
||||||
},
|
},
|
||||||
sending: {
|
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: {
|
hardware: {
|
||||||
confirm: `Please confirm the transaction on your attached hardware device`,
|
confirm: `Please confirm the transaction on your attached hardware device`,
|
||||||
connect: `Please attach your hardware device before confirming the transaction`
|
connect: `Please attach your hardware device before confirming the transaction`
|
||||||
@ -53,6 +64,10 @@ export default {
|
|||||||
confirmed: `Confirmed`,
|
confirmed: `Confirmed`,
|
||||||
rejected: `Rejected`
|
rejected: `Rejected`
|
||||||
},
|
},
|
||||||
|
tooltip: {
|
||||||
|
data: `Data: {data}`,
|
||||||
|
hash: `Hash to be signed: {hashToSign}`
|
||||||
|
},
|
||||||
unknownBinary: `(Unknown binary data)`,
|
unknownBinary: `(Unknown binary data)`,
|
||||||
warning: `WARNING: This consequences of doing this may be grave. Confirm the request only if you are sure.`
|
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: {
|
txPendingConfirm: {
|
||||||
buttons: {
|
buttons: {
|
||||||
confirmBusy: `Confirming...`,
|
confirmBusy: `Confirming...`,
|
||||||
confirmRequest: `Confirm Request`
|
confirmRequest: `Confirm Request`,
|
||||||
|
scanSigned: `Scan Signed QR`
|
||||||
},
|
},
|
||||||
errors: {
|
errors: {
|
||||||
invalidWallet: `Given wallet file is invalid.`
|
invalidWallet: `Given wallet file is invalid.`
|
||||||
|
@ -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.`,
|
stopped: `Refresh and display of logs from Parity is currently stopped via the UI, start it to see the latest updates.`,
|
||||||
title: `Node Logs`
|
title: `Node Logs`
|
||||||
},
|
},
|
||||||
|
health: {
|
||||||
|
no: `no`,
|
||||||
|
peers: `Connected Peers`,
|
||||||
|
sync: `Chain Synchronized`,
|
||||||
|
time: `Time Synchronized`,
|
||||||
|
title: `Node Health`,
|
||||||
|
yes: `yes`
|
||||||
|
},
|
||||||
miningSettings: {
|
miningSettings: {
|
||||||
input: {
|
input: {
|
||||||
author: {
|
author: {
|
||||||
@ -41,13 +49,25 @@ export default {
|
|||||||
},
|
},
|
||||||
title: `mining settings`
|
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: {
|
status: {
|
||||||
hashrate: `{hashrate} H/s`,
|
hashrate: `{hashrate} H/s`,
|
||||||
input: {
|
input: {
|
||||||
chain: `chain`,
|
chain: `chain`,
|
||||||
enode: `enode`,
|
enode: `enode`,
|
||||||
no: `no`,
|
no: `no`,
|
||||||
peers: `peers`,
|
|
||||||
port: `network port`,
|
port: `network port`,
|
||||||
rpcEnabled: `rpc enabled`,
|
rpcEnabled: `rpc enabled`,
|
||||||
rpcInterface: `rpc interface`,
|
rpcInterface: `rpc interface`,
|
||||||
|
@ -14,4 +14,11 @@
|
|||||||
// You should have received a copy of the GNU General Public License
|
// You should have received a copy of the GNU General Public License
|
||||||
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
export default `Windows`;
|
export default {
|
||||||
|
dontShowAgain: {
|
||||||
|
label: `Do not show this warning again`
|
||||||
|
},
|
||||||
|
understandBtn: {
|
||||||
|
label: `I understand`
|
||||||
|
}
|
||||||
|
};
|
@ -24,7 +24,6 @@ export default {
|
|||||||
buttons: {
|
buttons: {
|
||||||
back: `Back`,
|
back: `Back`,
|
||||||
cancel: `Cancel`,
|
cancel: `Cancel`,
|
||||||
close: `Close`,
|
|
||||||
next: `Next`,
|
next: `Next`,
|
||||||
send: `Send`
|
send: `Send`
|
||||||
},
|
},
|
||||||
@ -51,10 +50,6 @@ export default {
|
|||||||
label: `total transaction amount`
|
label: `total transaction amount`
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
wallet: {
|
|
||||||
confirmation: `This transaction needs confirmation from other owners.`,
|
|
||||||
operationHash: `operation hash`
|
|
||||||
},
|
|
||||||
warning: {
|
warning: {
|
||||||
wallet_spent_limit: `This transaction value is above the remaining daily limit. It will need to be confirmed by other owners.`
|
wallet_spent_limit: `This transaction value is above the remaining daily limit. It will need to be confirmed by other owners.`
|
||||||
}
|
}
|
||||||
|
@ -66,6 +66,18 @@ export default {
|
|||||||
errors: {
|
errors: {
|
||||||
close: `close`
|
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: {
|
fileSelect: {
|
||||||
defaultLabel: `Drop a file here, or click to select a file to upload`
|
defaultLabel: `Drop a file here, or click to select a file to upload`
|
||||||
},
|
},
|
||||||
@ -80,8 +92,8 @@ export default {
|
|||||||
},
|
},
|
||||||
methodDecoding: {
|
methodDecoding: {
|
||||||
condition: {
|
condition: {
|
||||||
block: `, {historic, select, true {Submitted} false {Submission}} at block {blockNumber}`,
|
block: `{historic, select, true {Will be submitted} false {To be submitted}} at block {blockNumber}`,
|
||||||
time: `, {historic, select, true {Submitted} false {Submission}} at {timestamp}`
|
time: `{historic, select, true {Will be submitted} false {To be submitted}} {timestamp}`
|
||||||
},
|
},
|
||||||
deploy: {
|
deploy: {
|
||||||
address: `Deployed a contract at address`,
|
address: `Deployed a contract at address`,
|
||||||
@ -101,7 +113,7 @@ export default {
|
|||||||
info: `{historic, select, true {Received} false {Will receive}} {valueEth} from {aContract}{address}`
|
info: `{historic, select, true {Received} false {Will receive}} {valueEth} from {aContract}{address}`
|
||||||
},
|
},
|
||||||
signature: {
|
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: {
|
token: {
|
||||||
transfer: `{historic, select, true {Transferred} false {Will transfer}} {value} to {address}`
|
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}`,
|
posted: `The transaction has been posted to the network with a hash of {hashLink}`,
|
||||||
waiting: `waiting for confirmations`
|
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: {
|
vaultSelect: {
|
||||||
hint: `the vault this account is attached to`,
|
hint: `the vault this account is attached to`,
|
||||||
label: `associated vault`
|
label: `associated vault`
|
||||||
|
@ -22,8 +22,12 @@ export default {
|
|||||||
cancel: `Cancel`,
|
cancel: `Cancel`,
|
||||||
close: `Close`,
|
close: `Close`,
|
||||||
next: `Next`,
|
next: `Next`,
|
||||||
send: `Send`,
|
send: `Send`
|
||||||
sending: `Sending...`
|
},
|
||||||
|
changeOwner: {
|
||||||
|
labelFrom: `From`,
|
||||||
|
labelTo: `To`,
|
||||||
|
title: `Change Owner`
|
||||||
},
|
},
|
||||||
changes: {
|
changes: {
|
||||||
modificationString: `For your modifications to be taken into account,
|
modificationString: `For your modifications to be taken into account,
|
||||||
@ -62,7 +66,6 @@ export default {
|
|||||||
details: `from {from} to {to}`,
|
details: `from {from} to {to}`,
|
||||||
title: `Change Required Owners`
|
title: `Change Required Owners`
|
||||||
},
|
},
|
||||||
rejected: `The transaction #{txid} has been rejected`,
|
|
||||||
removeOwner: {
|
removeOwner: {
|
||||||
title: `Remove Owner`
|
title: `Remove Owner`
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ export default {
|
|||||||
params: `An error occurred with the following description`
|
params: `An error occurred with the following description`
|
||||||
},
|
},
|
||||||
input: {
|
input: {
|
||||||
abi: `ABI Interface`,
|
abi: `ABI Definition`,
|
||||||
code: `Bytecode`,
|
code: `Bytecode`,
|
||||||
metadata: `Metadata`,
|
metadata: `Metadata`,
|
||||||
swarm: `Swarm Metadata Hash`
|
swarm: `Swarm Metadata Hash`
|
||||||
|
@ -33,8 +33,8 @@ import zhHantTWMessages from './zh-Hant-TW';
|
|||||||
|
|
||||||
let instance = null;
|
let instance = null;
|
||||||
|
|
||||||
const LANGUAGES = flatten({ languages });
|
export const LANGUAGES = flatten({ languages });
|
||||||
const MESSAGES = {
|
export const MESSAGES = {
|
||||||
de: Object.assign(flatten(deMessages), LANGUAGES),
|
de: Object.assign(flatten(deMessages), LANGUAGES),
|
||||||
en: Object.assign(flatten(enMessages), LANGUAGES),
|
en: Object.assign(flatten(enMessages), LANGUAGES),
|
||||||
nl: Object.assign(flatten(nlMessages), LANGUAGES),
|
nl: Object.assign(flatten(nlMessages), LANGUAGES),
|
||||||
@ -75,8 +75,3 @@ export default class Store {
|
|||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export {
|
|
||||||
LANGUAGES,
|
|
||||||
MESSAGES
|
|
||||||
};
|
|
||||||
|
@ -58,7 +58,7 @@ class ExportAccount extends Component {
|
|||||||
key='cancel'
|
key='cancel'
|
||||||
label={
|
label={
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='export.accounts.button.cancel'
|
id='accounts.export.button.cancel'
|
||||||
defaultMessage='Cancel'
|
defaultMessage='Cancel'
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
@ -70,7 +70,7 @@ class ExportAccount extends Component {
|
|||||||
key='execute'
|
key='execute'
|
||||||
label={
|
label={
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='export.accounts.button.export'
|
id='accounts.export.button.export'
|
||||||
defaultMessage='Export'
|
defaultMessage='Export'
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
@ -81,7 +81,7 @@ class ExportAccount extends Component {
|
|||||||
open
|
open
|
||||||
title={
|
title={
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='export.accounts.title'
|
id='accounts.export.title'
|
||||||
defaultMessage='Export an Account'
|
defaultMessage='Export an Account'
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
|
@ -34,13 +34,13 @@ export default class ExportInput extends Component {
|
|||||||
type='password'
|
type='password'
|
||||||
label={
|
label={
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='export.setPassword.label'
|
id='account.export.setPassword.label'
|
||||||
defaultMessage='Password'
|
defaultMessage='Password'
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
hint={
|
hint={
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='export.setPassword.hint'
|
id='account.export.setPassword.hint'
|
||||||
defaultMessage='Enter password Here'
|
defaultMessage='Enter password Here'
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
|
@ -30,17 +30,17 @@ const FEATURES = {
|
|||||||
|
|
||||||
const DEFAULTS = {
|
const DEFAULTS = {
|
||||||
[FEATURES.LANGUAGE]: {
|
[FEATURES.LANGUAGE]: {
|
||||||
mode: MODES.TESTING,
|
mode: MODES.PRODUCTION,
|
||||||
name: (
|
name: (
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='ui.features.defaults.i18n.name'
|
id='ui.features.defaults.i18n.name'
|
||||||
defaultMssage='Language Selection'
|
defaultMessage='Language Selection'
|
||||||
/>
|
/>
|
||||||
),
|
),
|
||||||
description: (
|
description: (
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='ui.features.defaults.i18n.desc'
|
id='ui.features.defaults.i18n.desc'
|
||||||
defaultMssage='Allows changing the default interface language'
|
defaultMessage='Allows changing the default interface language'
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
@ -49,13 +49,13 @@ const DEFAULTS = {
|
|||||||
name: (
|
name: (
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='ui.features.defaults.logging.name'
|
id='ui.features.defaults.logging.name'
|
||||||
defaultMssage='Logging Level Selection'
|
defaultMessage='Logging Level Selection'
|
||||||
/>
|
/>
|
||||||
),
|
),
|
||||||
description: (
|
description: (
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='ui.features.defaults.logging.desc'
|
id='ui.features.defaults.logging.desc'
|
||||||
defaultMssage='Allows changing of the log levels for various components'
|
defaultMessage='Allows changing of the log levels for various components'
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ export default class LanguageSelector extends Component {
|
|||||||
label={
|
label={
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='settings.parity.languages.label'
|
id='settings.parity.languages.label'
|
||||||
defaultMessage='UI language'
|
defaultMessage='language'
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
value={ this.store.locale }
|
value={ this.store.locale }
|
||||||
|
@ -291,7 +291,7 @@ class TxRow extends Component {
|
|||||||
<div />
|
<div />
|
||||||
<div className={ styles.uppercase }>
|
<div className={ styles.uppercase }>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='ui.txList.txRow.verify'
|
id='ui.txList.txRow.verify.confirm'
|
||||||
defaultMessage='Are you sure?'
|
defaultMessage='Are you sure?'
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -370,14 +370,14 @@ class Account extends Component {
|
|||||||
onDeny={ this.exportClose }
|
onDeny={ this.exportClose }
|
||||||
title={
|
title={
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='export.account.title'
|
id='account.export.title'
|
||||||
defaultMessage='Export Account'
|
defaultMessage='Export Account'
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<div className={ styles.textbox }>
|
<div className={ styles.textbox }>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='export.account.info'
|
id='account.export.info'
|
||||||
defaultMessage='Export your account as a JSON file. Please enter the password linked with this account.'
|
defaultMessage='Export your account as a JSON file. Please enter the password linked with this account.'
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -388,13 +388,13 @@ class Account extends Component {
|
|||||||
type='password'
|
type='password'
|
||||||
hint={
|
hint={
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='export.account.password.hint'
|
id='account.export.password.hint'
|
||||||
defaultMessage='The password specified when creating this account'
|
defaultMessage='The password specified when creating this account'
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
label={
|
label={
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='export.account.password.label'
|
id='account.export.password.label'
|
||||||
defaultMessage='Account password'
|
defaultMessage='Account password'
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
|
@ -46,6 +46,8 @@ export default class Parity extends Component {
|
|||||||
<FormattedMessage id='settings.parity.label' />
|
<FormattedMessage id='settings.parity.label' />
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
|
<Features />
|
||||||
|
|
||||||
<div className={ layout.layout }>
|
<div className={ layout.layout }>
|
||||||
<div className={ layout.overview }>
|
<div className={ layout.overview }>
|
||||||
<div>
|
<div>
|
||||||
@ -58,10 +60,10 @@ export default class Parity extends Component {
|
|||||||
<div className={ layout.details }>
|
<div className={ layout.details }>
|
||||||
{ this.renderChains() }
|
{ this.renderChains() }
|
||||||
{ this.renderModes() }
|
{ this.renderModes() }
|
||||||
<Features />
|
|
||||||
<LanguageSelector />
|
<LanguageSelector />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{ this.renderLogsConfig() }
|
{ this.renderLogsConfig() }
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user