Extract i18n string into i18n/_defaults (base of translations) (#4514)

* Build script to pull i18n into i18n/_default

* Fix header

* Current strings as extracted

* details_windows without prefix

* clean before build

* Alwasy extract babel strings

* clean & run build before extraction

* Update settings messages

* Put back template string (PR comment)

* PR comment cleanups & logging

* Less complicated string type check (PR comment)

* Remove node cache to extract all keys (Thanks @ngotchac)

* Merge in defaults from i18n/en (Comment by @h3ll0fr13nd)

* Unique index keys only

* Update with latest master strings

* _.defaultsDeep (Thanks to @dehurst)

* Use to-source for string formatting

* Sync with toSource output on latest master

* Updated to use/output sorted objects
This commit is contained in:
Jaco Greeff 2017-02-14 13:16:39 +01:00 committed by GitHub
parent 7d12e383b2
commit 71c0cc867a
36 changed files with 1639 additions and 4 deletions

View File

@ -19,8 +19,8 @@
},
"development": {
"plugins": [
"react-hot-loader/babel",
["react-intl", { "messagesDir": "./.build/i18n/" }]
[ "react-intl", { "messagesDir": "./.build/i18n/" } ],
"react-hot-loader/babel"
]
},
"test": {

View File

@ -32,6 +32,7 @@
"build:markdown": "babel-node ./scripts/build-rpc-markdown.js",
"build:json": "babel-node ./scripts/build-rpc-json.js",
"build:embed": "EMBED=1 node webpack/embed",
"build:i18n": "npm run clean && npm run build && babel-node ./scripts/build-i18n.js",
"ci:build": "npm run ci:build:lib && npm run ci:build:dll && npm run ci:build:app && npm run ci:build:embed",
"ci:build:app": "NODE_ENV=production webpack --config webpack/app",
"ci:build:lib": "NODE_ENV=production webpack --config webpack/libraries",
@ -41,7 +42,7 @@
"ci:build:embed": "NODE_ENV=production EMBED=1 node webpack/embed",
"start": "npm install && npm run build:lib && npm run build:dll && npm run start:app",
"start:app": "node webpack/dev.server",
"clean": "rm -rf ./.build ./.coverage ./.happypack ./.npmjs ./build",
"clean": "rm -rf ./.build ./.coverage ./.happypack ./.npmjs ./build ./node_modules/.cache",
"coveralls": "npm run testCoverage && coveralls < coverage/lcov.info",
"lint": "npm run lint:css && npm run lint:js",
"lint:cached": "npm run lint:css && npm run lint:js:cached",
@ -134,6 +135,7 @@
"style-loader": "0.13.1",
"stylelint": "7.7.0",
"stylelint-config-standard": "15.0.1",
"to-source": "2.0.3",
"url-loader": "0.5.7",
"webpack": "2.2.1",
"webpack-dev-middleware": "1.9.0",

154
js/scripts/build-i18n.js Normal file
View File

@ -0,0 +1,154 @@
// 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/>.
const fs = require('fs');
const _ = require('lodash');
const path = require('path');
const toSource = require('to-source');
const FILE_HEADER = `// 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/>.\n\n`;
const SECTION_HEADER = 'export default ';
const SECTION_FOOTER = ';\n';
const INDENT = ' ';
const DESTPATH = path.join(__dirname, '../src/i18n/_default');
const ENPATH = path.join(__dirname, '../src/i18n/en');
const SRCPATH = path.join(__dirname, '../.build/i18n/i18n/en.json');
// main entry point
(function main () {
const { sections, sectionNames } = createSectionMap();
sectionNames.forEach((name) => outputSection(name, sections[name]));
outputIndex(sectionNames);
})();
// sort an object based on its keys
function sortObject (object) {
return Object
.keys(object)
.sort()
.reduce((sorted, key) => {
if (typeof object[key] === 'object') {
sorted[key] = sortObject(object[key]);
} else {
sorted[key] = object[key];
}
return sorted;
}, {});
}
// create an object map of the actual inputs
function createSectionMap () {
console.log(`Reading strings from ${SRCPATH}`);
const i18nstrings = require(SRCPATH);
const sections = sortObject(
Object
.keys(i18nstrings)
.reduce((sections, fullKey) => {
const defaultMessage = i18nstrings[fullKey].defaultMessage;
const keys = fullKey.split('.');
let outputs = sections;
keys.forEach((key, index) => {
if (index === keys.length - 1) {
outputs[key] = defaultMessage;
} else {
if (!outputs[key]) {
outputs[key] = {};
}
outputs = outputs[key];
}
});
return sections;
}, {})
);
const sectionNames = Object.keys(sections);
console.log(`Found ${sectionNames.length} sections`);
return {
sections,
sectionNames
};
}
// load the available deafults (non-exported strings) for a section
function readDefaults (sectionName) {
let defaults = {};
try {
defaults = require(path.join(ENPATH, `${sectionName}.js`)).default;
} catch (error) {
defaults = {};
}
return defaults;
}
// create the index.js file
function outputIndex (sectionNames) {
console.log(`Writing index.js to ${DESTPATH}`);
const defaults = readDefaults('index');
const dest = path.join(DESTPATH, 'index.js');
const exports = _.uniq(Object.keys(defaults).concat(sectionNames))
.sort()
.map((name) => `export ${name} from './${name}';`)
.join('\n');
fs.writeFileSync(dest, `${FILE_HEADER}${exports}\n`, 'utf8');
}
// export a section as a flatenned JS export string
function createJSSection (section) {
const source = toSource(section, {
enclose: true,
quoteChar: '`',
tabChar: INDENT,
tabDepth: 0
});
return `${SECTION_HEADER}${source}${SECTION_FOOTER}`;
}
// create the individual section files
function outputSection (sectionName, section) {
console.log(`Writing ${sectionName}.js to ${DESTPATH}`);
const defaults = readDefaults(sectionName);
const dest = path.join(DESTPATH, `${sectionName}.js`);
const sectionText = createJSSection(_.defaultsDeep(section, defaults));
fs.writeFileSync(dest, `${FILE_HEADER}${sectionText}`, 'utf8');
}

View File

@ -0,0 +1,35 @@
// 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 {
button: {
delete: `delete account`,
edit: `edit`,
password: `password`,
shapeshift: `shapeshift`,
transfer: `transfer`,
verify: `verify`
},
header: {
outgoingTransactions: `{count} outgoing transactions`,
uuid: `uuid: {uuid}`
},
title: `Account Management`,
transactions: {
poweredBy: `Transaction list powered by {etherscan}`,
title: `transactions`
}
};

View File

@ -0,0 +1,21 @@
// 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 {
summary: {
minedBlock: `Mined at block #{blockNumber}`
}
};

View File

@ -0,0 +1,37 @@
// 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 {
button: {
add: `Save Address`,
close: `Cancel`
},
input: {
address: {
hint: `the network address for the entry`,
label: `network address`
},
description: {
hint: `an expanded description for the entry`,
label: `(optional) address description`
},
name: {
hint: `a descriptive name for the entry`,
label: `address name`
}
},
label: `add saved address`
};

View File

@ -0,0 +1,60 @@
// 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 {
abi: {
hint: `the abi for the contract`,
label: `contract abi`
},
abiType: {
custom: {
description: `Contract created from custom ABI`,
label: `Custom Contract`
},
multisigWallet: {
description: `Ethereum Multisig contract {link}`,
label: `Multisig Wallet`,
link: `see contract code`
},
token: {
description: `A standard {erc20} token`,
erc20: `ERC 20`,
label: `Token`
}
},
address: {
hint: `the network address for the contract`,
label: `network address`
},
button: {
add: `Add Contract`,
cancel: `Cancel`,
next: `Next`,
prev: `Back`
},
description: {
hint: `an expanded description for the entry`,
label: `(optional) contract description`
},
name: {
hint: `a descriptive name for the contract`,
label: `contract name`
},
title: {
details: `enter contract details`,
type: `choose a contract type`
}
};

View File

@ -0,0 +1,26 @@
// 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 {
fromEmail: `Verified using email {email}`,
fromRegistry: `{name} (from registry)`,
labels: {
accounts: `accounts`,
contacts: `contacts`,
contracts: `contracts`
},
noAccount: `No account matches this query...`
};

View File

@ -0,0 +1,27 @@
// 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: {
consensus: {
capable: `Capable`,
capableUntil: `Capable until #{blockNumber}`,
incapableSince: `Incapable since #{blockNumber}`,
unknown: `Unknown capability`
},
upgrade: `Upgrade`
}
};

View File

@ -0,0 +1,26 @@
// 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 {
connectingAPI: `Connecting to the Parity Secure API.`,
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 supply the token below`,
token: {
hint: `a generated token from Parity`,
label: `secure token`
}
};

View File

@ -0,0 +1,19 @@
// 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 {
minedBlock: `Mined at block #{blockNumber}`
};

View File

@ -0,0 +1,163 @@
// 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 {
accountDetails: {
address: {
hint: `the network address for the account`,
label: `address`
},
name: {
hint: `a descriptive name for the account`,
label: `account name`
},
phrase: {
hint: `the account recovery phrase`,
label: `owner recovery phrase (keep private and secure, it allows full and unlimited access to the account)`
}
},
accountDetailsGeth: {
imported: `You have imported {number} addresses from the Geth keystore:`
},
button: {
back: `Back`,
cancel: `Cancel`,
close: `Close`,
create: `Create`,
import: `Import`,
next: `Next`,
print: `Print Phrase`
},
creationType: {
fromGeth: {
label: `Import accounts from Geth keystore`
},
fromJSON: {
label: `Import account from a backup JSON file`
},
fromNew: {
label: `Create new account manually`
},
fromPhrase: {
label: `Recover account from recovery phrase`
},
fromPresale: {
label: `Import account from an Ethereum pre-sale wallet`
},
fromRaw: {
label: `Import raw private key`
}
},
error: {
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`,
noMatchPassword: `the supplied passwords does not match`,
noName: `you need to specify a valid name for the account`
},
newAccount: {
hint: {
hint: `(optional) a hint to help with remembering the password`,
label: `password hint`
},
name: {
hint: `a descriptive name for the account`,
label: `account name`
},
password: {
hint: `a strong, unique password`,
label: `password`
},
password2: {
hint: `verify your password`,
label: `password (repeat)`
}
},
newGeth: {
noKeys: `There are currently no importable keys available from the Geth keystore, which are not already available on your Parity instance`
},
newImport: {
file: {
hint: `the wallet file for import`,
label: `wallet file`
},
hint: {
hint: `(optional) a hint to help with remembering the password`,
label: `password hint`
},
name: {
hint: `a descriptive name for the account`,
label: `account name`
},
password: {
hint: `the password to unlock the wallet`,
label: `password`
}
},
rawKey: {
hint: {
hint: `(optional) a hint to help with remembering the password`,
label: `password hint`
},
name: {
hint: `a descriptive name for the account`,
label: `account name`
},
password: {
hint: `a strong, unique password`,
label: `password`
},
password2: {
hint: `verify your password`,
label: `password (repeat)`
},
private: {
hint: `the raw hex encoded private key`,
label: `private key`
}
},
recoveryPhrase: {
hint: {
hint: `(optional) a hint to help with remembering the password`,
label: `password hint`
},
name: {
hint: `a descriptive name for the account`,
label: `account name`
},
password: {
hint: `a strong, unique password`,
label: `password`
},
password2: {
hint: `verify your password`,
label: `password (repeat)`
},
phrase: {
hint: `the account recovery phrase`,
label: `account recovery phrase`
},
windowsKey: {
label: `Key was created with Parity <1.4.5 on Windows`
}
},
title: {
accountInfo: `account information`,
createAccount: `create account`,
createType: `creation type`,
importWallet: `import wallet`
}
};

View File

@ -0,0 +1,105 @@
// 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 {
button: {
add: `Add`,
cancel: `Cancel`,
close: `Close`,
create: `Create`,
done: `Done`,
next: `Next`,
sending: `Sending...`
},
deployment: {
message: `The deployment is currently in progress`
},
details: {
address: {
hint: `the wallet contract address`,
label: `wallet address`
},
dayLimitMulti: {
hint: `amount of ETH spendable without confirmations`,
label: `wallet day limit`
},
description: {
hint: `the local description for this wallet`,
label: `wallet description (optional)`
},
descriptionMulti: {
hint: `the local description for this wallet`,
label: `wallet description (optional)`
},
name: {
hint: `the local name for this wallet`,
label: `wallet name`
},
nameMulti: {
hint: `the local name for this wallet`,
label: `wallet name`
},
ownerMulti: {
hint: `the owner account for this contract`,
label: `from account (contract owner)`
},
ownersMulti: {
label: `other wallet owners`
},
ownersMultiReq: {
hint: `number of required owners to accept a transaction`,
label: `required owners`
}
},
info: {
added: `added`,
copyAddress: `copy address to clipboard`,
created: `{name} has been {deployedOrAdded} at`,
dayLimit: `The daily limit is set to {dayLimit} ETH.`,
deployed: `deployed`,
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`,
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`
},
type: {
multisig: {
description: `Create/Deploy a {link} Wallet`,
label: `Multi-Sig wallet`,
link: `standard multi-signature`
},
watch: {
description: `Add an existing wallet to your accounts`,
label: `Watch a wallet`
}
}
};

View File

@ -0,0 +1,20 @@
// 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 {
loading: `Loading`,
unavailable: `The dapp cannot be reached`
};

View 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 {
add: {
builtin: {
desc: `Experimental applications developed by the Parity team to show off dapp capabilities, integration, experimental features and to control certain network-wide client behaviour.`,
label: `Applications bundled with Parity`
},
label: `visible applications`,
local: {
desc: `All applications installed locally on the machine by the user for access by the Parity client.`,
label: `Applications locally available`
},
network: {
desc: `These applications are not affiliated with Parity nor are they published by Parity. Each remain under the control of their respective authors. Please ensure that you understand the goals for each application before interacting.`,
label: `Applications on the global network`
}
},
button: {
edit: `edit`,
permissions: `permissions`
},
external: {
accept: `I understand that these applications are not affiliated with Parity`,
warning: `Applications made available on the network by 3rd-party authors are not affiliated with Parity nor are they published by Parity. Each remain under the control of their respective authors. Please ensure that you understand the goals for each before interacting.`
},
label: `Decentralized Applications`,
permissions: {
description: `{activeIcon} account is available to application, {defaultIcon} account is the default account`,
label: `visible dapp accounts`
}
};

View 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 {
password: {
hint: `provide the account password to confirm the account deletion`,
label: `account password`
},
question: `Are you sure you want to permanently delete the following account?`,
title: `confirm removal`
};

View File

@ -0,0 +1,81 @@
// 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 {
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`,
label: `abi / solc combined-output`
},
address: {
hint: `the owner account for this contract`,
label: `from account (contract owner)`
},
code: {
hint: `the compiled code of the contract to deploy`,
label: `code`
},
contract: {
label: `select a contract`
},
description: {
hint: `a description for the contract`,
label: `contract description (optional)`
},
name: {
hint: `a name for the deployed contract`,
label: `contract name`
}
},
owner: {
noneSelected: `a valid account as the contract owner needs to be selected`
},
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`,
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`,
failed: `deployment failed`,
parameters: `contract parameters`,
rejected: `rejected`
}
};

View File

@ -0,0 +1,17 @@
// 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 `Windows`;

View File

@ -0,0 +1,34 @@
// 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 {
description: {
hint: `description for this address`,
label: `address description`
},
name: {
label: `name`
},
passwordHint: {
hint: `a hint to allow password recovery`,
label: `(optional) password hint`
},
tags: {
hint: `press <Enter> to add a tag`,
label: `(optional) tags`
},
title: `edit metadata`
};

View File

@ -0,0 +1,58 @@
// 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 {
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`
},
details: {
address: {
hint: `from account`,
label: `the account to transact with`
},
advancedCheck: {
label: `advanced sending options`
},
amount: {
hint: `the amount to send to with the transaction`,
label: `transaction value (in ETH)`
},
function: {
hint: `the function to call on the contract`,
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`
}
};

View File

@ -0,0 +1,20 @@
// 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 {
install: `Install the extension now`,
intro: `Parity now has an extension available for Chrome that allows safe browsing of Ethereum-enabled distributed applications. It is highly recommended that you install this extension to further enhance your Parity experience.`
};

View File

@ -0,0 +1,32 @@
// 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 {
button: {
close: `Close`,
create: `Create`,
next: `Next`,
print: `Print Phrase`,
skip: `Skip`
},
title: {
completed: `completed`,
newAccount: `new account`,
recovery: `recovery`,
terms: `terms`,
welcome: `welcome`
}
};

View File

@ -0,0 +1,38 @@
// 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 {
account: {
visited: `accessed {when}`
},
accounts: {
none: `No recent accounts history available`,
title: `Recent Accounts`
},
dapp: {
visited: `accessed {when}`
},
dapps: {
none: `No recent Applications history available`,
title: `Recent Dapps`
},
title: `Parity Home`,
url: {
none: `No recent URL history available`,
title: `Web Applications`,
visited: `visited {when}`
}
};

View 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 account from './account';
export accounts from './accounts';
export addAddress from './addAddress';
export addContract from './addContract';
export addressSelect from './addressSelect';
export application from './application';
export connection from './connection';
export contract from './contract';
export createAccount from './createAccount';
export createWallet from './createWallet';
export dapp from './dapp';
export dapps from './dapps';
export deleteAccount from './deleteAccount';
export deployContract from './deployContract';
export editMeta from './editMeta';
export executeContract from './executeContract';
export extension from './extension';
export firstRun from './firstRun';
export home from './home';
export loadContract from './loadContract';
export parityBar from './parityBar';
export passwordChange from './passwordChange';
export settings from './settings';
export shapeshift from './shapeshift';
export transfer from './transfer';
export txEditor from './txEditor';
export ui from './ui';
export upgradeParity from './upgradeParity';
export walletSettings from './walletSettings';
export web from './web';

View File

@ -0,0 +1,43 @@
// 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 {
button: {
cancel: `Cancel`,
load: `Load`,
no: `No`,
yes: `Yes`
},
contract: {
savedAt: `Saved {when}`
},
header: {
saved: `Saved Contracts`,
snippets: `Contract Snippets`
},
removal: {
confirm: `Are you sure you want to remove the following contract from your saved contracts?`,
savedAt: `Saved {when}`
},
tab: {
local: `Local`,
snippets: `Snippets`
},
title: {
remove: `confirm removal`,
view: `view contracts`
}
};

View File

@ -0,0 +1,29 @@
// 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 {
button: {
close: `Close`
},
label: {
parity: `Parity`,
signer: `Signer`
},
title: {
accounts: `Default Account`,
signer: `Parity Signer: Pending`
}
};

View File

@ -0,0 +1,53 @@
// 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 {
button: {
cancel: `Cancel`,
change: `Change`,
test: `Test`,
wait: `Wait...`
},
currentPassword: {
hint: `your current password for this account`,
label: `current password`
},
newPassword: {
hint: `the new password for this account`,
label: `new password`
},
passwordHint: {
hint: `hint for the new password`,
label: `(optional) new password hint`
},
repeatPassword: {
error: `the supplied passwords do not match`,
hint: `repeat the new password for this account`,
label: `repeat new password`
},
success: `Your password has been successfully changed`,
tabChange: {
label: `Change Password`
},
tabTest: {
label: `Test Password`
},
testPassword: {
hint: `your account password`,
label: `password`
},
title: `Password Manager`
};

View File

@ -0,0 +1,89 @@
// 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 {
background: {
button_more: `generate more`,
overview_0: `The background pattern you can see right now is unique to your Parity installation. It will change every time you create a new Signer token. This is so that decentralized applications cannot pretend to be trustworthy.`,
overview_1: `Pick a pattern you like and memorize it. This Pattern will always be shown from now on, unless you clear your browser cache or use a new Signer token.`,
label: `background`
},
parity: {
languages: {
hint: `the language this interface is displayed with`,
label: `UI language`
},
loglevels: `Choose the different logs level.`,
modes: {
hint: `the syning mode for the Parity node`,
label: `mode of operation`,
mode_active: `Parity continuously syncs the chain`,
mode_dark: `Parity syncs only when the RPC is active`,
mode_offline: `Parity doesn't sync`,
mode_passive: `Parity syncs initially, then sleeps and wakes regularly to resync`
},
overview_0: `Control the Parity node settings and mode of operation via this interface.`,
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_1: `To learn how to configure the proxy, instructions are provided for {windowsLink}, {macOSLink} or {ubuntuLink}.`,
details_macos: `macOS`,
details_ubuntu: `Ubuntu`,
details_windows: `Windows`,
overview_0: `The proxy setup allows you to access Parity and all associated decentralized applications via memorable addresses.`,
label: `proxy`
},
views: {
accounts: {
description: `A list of all the accounts associated to and imported into this Parity instance. Send transactions, receive incoming values, manage your balances and fund your accounts.`,
label: `Accounts`
},
addresses: {
description: `A list of all contacts and address book entries that is managed by this Parity instance. Watch accounts and have the details available at the click of a button when transacting.`,
label: `Addressbook`
},
apps: {
description: `Distributed applications that interact with the underlying network. Add applications, manage you application portfolio and interact with application from around the network.`,
label: `Applications`
},
contracts: {
description: `Watch and interact with specific contracts that have been deployed on the network. This is a more technically-focused environment, specifically for advanced users that understand the inner working of certain contracts.`,
label: `Contracts`
},
overview_0: `Manage the available application views, using only the parts of the application that is applicable to you.`,
overview_1: `Are you an end-user? The defaults are setups for both beginner and advanced users alike.`,
overview_2: `Are you a developer? Add some features to manage contracts are interact with application deployments.`,
overview_3: `Are you a miner or run a large-scale node? Add the features to give you all the information needed to watch the node operation.`,
settings: {
description: `This view. Allows you to customize the application in term of options, operation and look and feel.`,
label: `Settings`
},
signer: {
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 distributed 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`
}
},
label: `settings`
};

View File

@ -0,0 +1,66 @@
// 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 {
awaitingDepositStep: {
awaitingConfirmation: `Awaiting confirmation of the deposit address for your {typeSymbol} funds exchange`,
awaitingDeposit: `{shapeshiftLink} is awaiting a {typeSymbol} deposit. Send the funds from your {typeSymbol} network client to -`,
minimumMaximum: `{minimum} minimum, {maximum} maximum`
},
awaitingExchangeStep: {
awaitingCompletion: `Awaiting the completion of the funds exchange and transfer of funds to your Parity account.`,
receivedInfo: `{shapeshiftLink} has received a deposit of -`
},
button: {
cancel: `Cancel`,
done: `Close`,
shift: `Shift Funds`
},
completedStep: {
completed: `{shapeshiftLink} has completed the funds exchange.`,
parityFunds: `The change in funds will be reflected in your Parity account shortly.`
},
errorStep: {
info: `The funds shifting via {shapeshiftLink} failed with a fatal error on the exchange. The error message received from the exchange is as follow:`
},
optionsStep: {
noPairs: `There are currently no exchange pairs/coins available to fund with.`,
returnAddr: {
hint: `the return address for send failures`,
label: `(optional) {coinSymbol} return address`
},
terms: {
label: `I understand that ShapeShift.io is a 3rd-party service and by using the service any transfer of information and/or funds is completely out of the control of Parity`
},
typeSelect: {
hint: `the type of crypto conversion to do`,
label: `fund account from`
}
},
price: {
minMax: `({minimum} minimum, {maximum} maximum)`
},
title: {
completed: `completed`,
deposit: `awaiting deposit`,
details: `details`,
error: `exchange failed`,
exchange: `awaiting exchange`
},
warning: {
noPrice: `No price match was found for the selected type`
}
};

View File

@ -0,0 +1,27 @@
// 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 {
advanced: {
data: {
hint: `the data to pass through with the transaction`,
label: `transaction data`
}
},
warning: {
wallet_spent_limit: `This transaction value is above the remaining daily limit. It will need to be confirmed by other owners.`
}
};

View File

@ -0,0 +1,39 @@
// 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 {
condition: {
block: {
hint: `The minimum block to send from`,
label: `Transaction send block`
},
blocknumber: `Send after BlockNumber`,
date: {
hint: `The minimum date to send from`,
label: `Transaction send date`
},
datetime: `Send after Date & Time`,
label: `Condition where transaction activates`,
none: `No conditions`,
time: {
hint: `The minimum time to send from`,
label: `Transaction send time`
}
},
gas: {
info: `You can choose the gas price based on the distribution of recent included transaction gas prices. The lower the gas price is, the cheaper the transaction will be. The higher the gas price is, the faster it should get mined by the network.`
}
};

View File

@ -0,0 +1,77 @@
// 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 {
balance: {
none: `There are no balances associated with this account`
},
blockStatus: {
bestBlock: `{blockNumber} best block`,
syncStatus: `{currentBlock}/{highestBlock} syncing`,
warpRestore: `{percentage}% warp restore`,
warpStatus: `, {percentage}% historic`
},
confirmDialog: {
no: `no`,
yes: `yes`
},
identityName: {
null: `NULL`,
unnamed: `UNNAMED`
},
passwordStrength: {
label: `password strength`
},
txHash: {
confirmations: `{count} {value, plural, one {confirmation} other {confirmations}}`,
oog: `The transaction might have gone out of gas. Try again with more gas.`,
posted: `The transaction has been posted to the network with a hash of {hashLink}`,
waiting: `waiting for confirmations`
},
verification: {
gatherData: {
accountHasRequested: {
false: `You did not request verification from this account yet.`,
pending: `Checking if you requested verification…`,
true: `You already requested verification from this account.`
},
accountIsVerified: {
false: `Your account is not verified yet.`,
pending: `Checking if your account is verified…`,
true: `Your account is already verified.`
},
email: {
hint: `the code will be sent to this address`,
label: `e-mail address`
},
fee: `The additional fee is {amount} ETH.`,
isAbleToRequest: {
pending: `Validating your input…`
},
isServerRunning: {
false: `The verification server is not running.`,
pending: `Checking if the verification server is running…`,
true: `The verification server is running.`
},
nofee: `There is no additional fee.`,
phoneNumber: {
hint: `the SMS will be sent to this number`,
label: `phone number in international format`
},
termsOfService: `I agree to the terms and conditions below.`
}
}
};

View File

@ -0,0 +1,44 @@
// 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 {
busy: `Your upgrade to Parity {newversion} is currently in progress`,
button: {
close: `close`,
done: `done`,
upgrade: `upgrade now`
},
completed: `Your upgrade to Parity {newversion} has been successfully completed.`,
consensus: {
capable: `Your current Parity version is capable of handling the network requirements.`,
capableUntil: `Your current Parity version is capable of handling the network requirements until block {blockNumber}`,
incapableSince: `Your current Parity version is incapable of handling the network requirements since block {blockNumber}`,
unknown: `Your current Parity version is capable of handling the network requirements.`
},
failed: `Your upgrade to Parity {newversion} has failed with an error.`,
info: {
upgrade: `A new version of Parity, version {newversion} is available as an upgrade from your current version {currentversion}`
},
step: {
completed: `upgrade completed`,
error: `error`,
info: `upgrade available`,
updating: `upgrading parity`
},
version: {
unknown: `unknown`
}
};

View File

@ -0,0 +1,58 @@
// 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 {
changes: {
modificationString: `For your modifications to be taken into account,
other owners have to send the same modifications. They can paste
this string to make it easier:`,
none: `No modifications have been made to the Wallet settings.`,
overview: `You are about to make the following modifications`
},
edit: {
message: `In order to edit this contract's settings, at
least {owners, number} {owners, plural, one {owner } other {owners }} have to
send the very same modifications. You can paste a stringified version
of the modifications here.`
},
modifications: {
daylimit: {
hint: `amount of ETH spendable without confirmations`,
label: `wallet day limit`
},
fromString: {
label: `modifications`
},
owners: {
label: `other wallet owners`
},
required: {
hint: `number of required owners to accept a transaction`,
label: `required owners`
},
sender: {
hint: `send modifications as this owner`,
label: `from account (wallet owner)`
}
},
rejected: {
busyStep: {
state: `The wallet settings will not be modified. You can safely close this window.`,
title: `The modifications have been rejected`
},
title: `rejected`
}
};

View File

@ -0,0 +1,19 @@
// 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 {
requestToken: `Requesting access token...`
};

View File

@ -65,7 +65,7 @@ export default class Proxy extends Component {
id='settings.proxy.details_1'
defaultMessage='To learn how to configure the proxy, instructions are provided for {windowsLink}, {macOSLink} or {ubuntuLink}.'
values={ {
windowsLink: <a href='https://blogs.msdn.microsoft.com/ieinternals/2013/10/11/understanding-web-proxy-configuration/' target='_blank'><FormattedMessage id='details_windows' defaultMessage='Windows' /></a>,
windowsLink: <a href='https://blogs.msdn.microsoft.com/ieinternals/2013/10/11/understanding-web-proxy-configuration/' target='_blank'><FormattedMessage id='settings.proxy.details_windows' defaultMessage='Windows' /></a>,
macOSLink: <a href='https://support.apple.com/kb/PH18553?locale=en_US' target='_blank'><FormattedMessage id='settings.proxy.details_macos' defaultMessage='macOS' /></a>,
ubuntuLink: <a href='http://xmodulo.com/how-to-set-up-proxy-auto-config-on-ubuntu-desktop.html' target='_blank'><FormattedMessage id='settings.proxy.details_ubuntu' defaultMessage='Ubuntu' /></a>
} }