diff --git a/js/.babelrc b/js/.babelrc index 6fea8d286..5087af80d 100644 --- a/js/.babelrc +++ b/js/.babelrc @@ -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": { diff --git a/js/package.json b/js/package.json index 7d21ef6d5..842ea412f 100644 --- a/js/package.json +++ b/js/package.json @@ -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", diff --git a/js/scripts/build-i18n.js b/js/scripts/build-i18n.js new file mode 100644 index 000000000..1acf2c852 --- /dev/null +++ b/js/scripts/build-i18n.js @@ -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 . + +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 .\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'); +} diff --git a/js/src/i18n/_default/account.js b/js/src/i18n/_default/account.js new file mode 100644 index 000000000..ce5d277dd --- /dev/null +++ b/js/src/i18n/_default/account.js @@ -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 . + +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` + } +}; diff --git a/js/src/i18n/_default/accounts.js b/js/src/i18n/_default/accounts.js new file mode 100644 index 000000000..5cafa1054 --- /dev/null +++ b/js/src/i18n/_default/accounts.js @@ -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 . + +export default { + summary: { + minedBlock: `Mined at block #{blockNumber}` + } +}; diff --git a/js/src/i18n/_default/addAddress.js b/js/src/i18n/_default/addAddress.js new file mode 100644 index 000000000..38fd7e361 --- /dev/null +++ b/js/src/i18n/_default/addAddress.js @@ -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 . + +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` +}; diff --git a/js/src/i18n/_default/addContract.js b/js/src/i18n/_default/addContract.js new file mode 100644 index 000000000..edbecf118 --- /dev/null +++ b/js/src/i18n/_default/addContract.js @@ -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 . + +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` + } +}; diff --git a/js/src/i18n/_default/addressSelect.js b/js/src/i18n/_default/addressSelect.js new file mode 100644 index 000000000..108ac80f5 --- /dev/null +++ b/js/src/i18n/_default/addressSelect.js @@ -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 . + +export default { + fromEmail: `Verified using email {email}`, + fromRegistry: `{name} (from registry)`, + labels: { + accounts: `accounts`, + contacts: `contacts`, + contracts: `contracts` + }, + noAccount: `No account matches this query...` +}; diff --git a/js/src/i18n/_default/application.js b/js/src/i18n/_default/application.js new file mode 100644 index 000000000..1edafff6d --- /dev/null +++ b/js/src/i18n/_default/application.js @@ -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 . + +export default { + status: { + consensus: { + capable: `Capable`, + capableUntil: `Capable until #{blockNumber}`, + incapableSince: `Incapable since #{blockNumber}`, + unknown: `Unknown capability` + }, + upgrade: `Upgrade` + } +}; diff --git a/js/src/i18n/_default/connection.js b/js/src/i18n/_default/connection.js new file mode 100644 index 000000000..10f330618 --- /dev/null +++ b/js/src/i18n/_default/connection.js @@ -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 . + +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` + } +}; diff --git a/js/src/i18n/_default/contract.js b/js/src/i18n/_default/contract.js new file mode 100644 index 000000000..e6a2a110b --- /dev/null +++ b/js/src/i18n/_default/contract.js @@ -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 . + +export default { + minedBlock: `Mined at block #{blockNumber}` +}; diff --git a/js/src/i18n/_default/createAccount.js b/js/src/i18n/_default/createAccount.js new file mode 100644 index 000000000..562f1ff0c --- /dev/null +++ b/js/src/i18n/_default/createAccount.js @@ -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 . + +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` + } +}; diff --git a/js/src/i18n/_default/createWallet.js b/js/src/i18n/_default/createWallet.js new file mode 100644 index 000000000..9c7d8df3e --- /dev/null +++ b/js/src/i18n/_default/createWallet.js @@ -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 . + +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` + } + } +}; diff --git a/js/src/i18n/_default/dapp.js b/js/src/i18n/_default/dapp.js new file mode 100644 index 000000000..29dd2fd16 --- /dev/null +++ b/js/src/i18n/_default/dapp.js @@ -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 . + +export default { + loading: `Loading`, + unavailable: `The dapp cannot be reached` +}; diff --git a/js/src/i18n/_default/dapps.js b/js/src/i18n/_default/dapps.js new file mode 100644 index 000000000..d13caa46d --- /dev/null +++ b/js/src/i18n/_default/dapps.js @@ -0,0 +1,46 @@ +// Copyright 2015-2017 Parity Technologies (UK) Ltd. +// This file is part of Parity. + +// Parity is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity. If not, see . + +export default { + 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` + } +}; diff --git a/js/src/i18n/_default/deleteAccount.js b/js/src/i18n/_default/deleteAccount.js new file mode 100644 index 000000000..4818a785a --- /dev/null +++ b/js/src/i18n/_default/deleteAccount.js @@ -0,0 +1,24 @@ +// Copyright 2015-2017 Parity Technologies (UK) Ltd. +// This file is part of Parity. + +// Parity is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity. If not, see . + +export default { + 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` +}; diff --git a/js/src/i18n/_default/deployContract.js b/js/src/i18n/_default/deployContract.js new file mode 100644 index 000000000..fe7c9a69e --- /dev/null +++ b/js/src/i18n/_default/deployContract.js @@ -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 . + +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` + } +}; diff --git a/js/src/i18n/_default/details_windows.js b/js/src/i18n/_default/details_windows.js new file mode 100644 index 000000000..fcc570066 --- /dev/null +++ b/js/src/i18n/_default/details_windows.js @@ -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 . + +export default `Windows`; diff --git a/js/src/i18n/_default/editMeta.js b/js/src/i18n/_default/editMeta.js new file mode 100644 index 000000000..b5b521341 --- /dev/null +++ b/js/src/i18n/_default/editMeta.js @@ -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 . + +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 to add a tag`, + label: `(optional) tags` + }, + title: `edit metadata` +}; diff --git a/js/src/i18n/_default/executeContract.js b/js/src/i18n/_default/executeContract.js new file mode 100644 index 000000000..011264d3f --- /dev/null +++ b/js/src/i18n/_default/executeContract.js @@ -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 . + +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` + } +}; diff --git a/js/src/i18n/_default/extension.js b/js/src/i18n/_default/extension.js new file mode 100644 index 000000000..88ba33674 --- /dev/null +++ b/js/src/i18n/_default/extension.js @@ -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 . + +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.` +}; diff --git a/js/src/i18n/_default/firstRun.js b/js/src/i18n/_default/firstRun.js new file mode 100644 index 000000000..8439d0479 --- /dev/null +++ b/js/src/i18n/_default/firstRun.js @@ -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 . + +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` + } +}; diff --git a/js/src/i18n/_default/home.js b/js/src/i18n/_default/home.js new file mode 100644 index 000000000..0b5e68c04 --- /dev/null +++ b/js/src/i18n/_default/home.js @@ -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 . + +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}` + } +}; diff --git a/js/src/i18n/_default/index.js b/js/src/i18n/_default/index.js new file mode 100644 index 000000000..59fea4b05 --- /dev/null +++ b/js/src/i18n/_default/index.js @@ -0,0 +1,46 @@ +// Copyright 2015-2017 Parity Technologies (UK) Ltd. +// This file is part of Parity. + +// Parity is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity. If not, see . + +export 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'; diff --git a/js/src/i18n/_default/loadContract.js b/js/src/i18n/_default/loadContract.js new file mode 100644 index 000000000..d4edb3a81 --- /dev/null +++ b/js/src/i18n/_default/loadContract.js @@ -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 . + +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` + } +}; diff --git a/js/src/i18n/_default/parityBar.js b/js/src/i18n/_default/parityBar.js new file mode 100644 index 000000000..94090a961 --- /dev/null +++ b/js/src/i18n/_default/parityBar.js @@ -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 . + +export default { + button: { + close: `Close` + }, + label: { + parity: `Parity`, + signer: `Signer` + }, + title: { + accounts: `Default Account`, + signer: `Parity Signer: Pending` + } +}; diff --git a/js/src/i18n/_default/passwordChange.js b/js/src/i18n/_default/passwordChange.js new file mode 100644 index 000000000..fc0579250 --- /dev/null +++ b/js/src/i18n/_default/passwordChange.js @@ -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 . + +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` +}; diff --git a/js/src/i18n/_default/settings.js b/js/src/i18n/_default/settings.js new file mode 100644 index 000000000..7825660d2 --- /dev/null +++ b/js/src/i18n/_default/settings.js @@ -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 . + +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` +}; diff --git a/js/src/i18n/_default/shapeshift.js b/js/src/i18n/_default/shapeshift.js new file mode 100644 index 000000000..247927834 --- /dev/null +++ b/js/src/i18n/_default/shapeshift.js @@ -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 . + +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` + } +}; diff --git a/js/src/i18n/_default/transfer.js b/js/src/i18n/_default/transfer.js new file mode 100644 index 000000000..742e816f1 --- /dev/null +++ b/js/src/i18n/_default/transfer.js @@ -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 . + +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.` + } +}; diff --git a/js/src/i18n/_default/txEditor.js b/js/src/i18n/_default/txEditor.js new file mode 100644 index 000000000..7dab159a8 --- /dev/null +++ b/js/src/i18n/_default/txEditor.js @@ -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 . + +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.` + } +}; diff --git a/js/src/i18n/_default/ui.js b/js/src/i18n/_default/ui.js new file mode 100644 index 000000000..9bed497f5 --- /dev/null +++ b/js/src/i18n/_default/ui.js @@ -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 . + +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.` + } + } +}; diff --git a/js/src/i18n/_default/upgradeParity.js b/js/src/i18n/_default/upgradeParity.js new file mode 100644 index 000000000..cca634b88 --- /dev/null +++ b/js/src/i18n/_default/upgradeParity.js @@ -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 . + +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` + } +}; diff --git a/js/src/i18n/_default/walletSettings.js b/js/src/i18n/_default/walletSettings.js new file mode 100644 index 000000000..57dc1a169 --- /dev/null +++ b/js/src/i18n/_default/walletSettings.js @@ -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 . + +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` + } +}; diff --git a/js/src/i18n/_default/web.js b/js/src/i18n/_default/web.js new file mode 100644 index 000000000..6136d387f --- /dev/null +++ b/js/src/i18n/_default/web.js @@ -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 . + +export default { + requestToken: `Requesting access token...` +}; diff --git a/js/src/views/Settings/Proxy/proxy.js b/js/src/views/Settings/Proxy/proxy.js index 1b8ba49af..d5142e4a4 100644 --- a/js/src/views/Settings/Proxy/proxy.js +++ b/js/src/views/Settings/Proxy/proxy.js @@ -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: , + windowsLink: , macOSLink: , ubuntuLink: } }