From 9db1309f5a019cdda7c815edd9227c37a93e8cc1 Mon Sep 17 00:00:00 2001 From: Sebastien Guillemot Date: Tue, 30 Oct 2018 14:36:10 +0900 Subject: [PATCH] remove defaultMessages (#81) --- app/App.js | 8 +- app/i18n/README.md | 20 + app/i18n/locales/README.md | 7 - app/i18n/locales/defaultMessages.json | 3371 ------------------------- package.json | 2 +- translations/translation-runner.js | 1 - 6 files changed, 28 insertions(+), 3381 deletions(-) delete mode 100644 app/i18n/locales/README.md delete mode 100644 app/i18n/locales/defaultMessages.json diff --git a/app/App.js b/app/App.js index 01f1f615fa..504bf6560a 100644 --- a/app/App.js +++ b/app/App.js @@ -27,6 +27,12 @@ export default class App extends Component<{ render() { const { stores, actions, history } = this.props; const locale = stores.profile.currentLocale; + + // Merged english messages with selected by user locale messages + // In this case all english data would be overridden to user selected locale, but untranslated + // (missed in object keys) just stay in english + const mergedMessages = Object.assign({}, translations['en-US'], translations[locale]); + const currentTheme = 'yoroi'; const theme = require(`./themes/prebuilt/${currentTheme}.js`); // eslint-disable-line @@ -36,7 +42,7 @@ export default class App extends Component<{ {/* Automatically pass a theme prop to all componenets in this subtree. */} - +
diff --git a/app/i18n/README.md b/app/i18n/README.md index ffcda992ee..314813214d 100644 --- a/app/i18n/README.md +++ b/app/i18n/README.md @@ -1,3 +1,23 @@ +# i18n setup + +We use three libraries to handle our i18n scenario + +First, `react-intl` allows us to specify translations inside `json` files and load them inside our app + +However, a simple use of this library leads to passing `json` keys as strings inside your code. This makes it difficult to detect if a translation is actually used and if you're following good practices. + +To solve this, we use `babel-plugin-react-intl` which forces you to wrap the `json` keys in an special object though a `defineMessages` hook of `react-intl` inside your code that way the system can track which translations are used. + +Now we can use `react-intl-translations-manager` to generate a report of our translations any any mistakes that there may be (unused strings, missing translations, etc.) + +## Advantages/disadvantages with this setup + +`babel-plugin-react-intl` forces us to pollute our code with all these `defineMessages` that require a default text also specified in the code. This causes duplication of the translations where it occurs in both our `json` and our source (you can see discussion about this [here](https://github.com/yahoo/babel-plugin-react-intl/issues/43)). We could fix this by wrapping `defineMessages` again with our own wrapper that removes this requirement. + +Since the `defineMessages` occur inside our code, it means you have to compile the project to detect which translations are used. This makes switching branches problematic since switching branches will invalidate your `translation/messages` cache and you have to rebuild to fix it (if you call `manage-translations` before doing this, you will get bad results). + +One advantage is that this setup allows us to include the `translation-manager` results as part of our CI build (not done as of Oct 30th) + # Rebuilding language cache After making changes that affect the languages files, please do the following **AFTER** backing up your work (these actions may edit your files in a way you would like to reverse). diff --git a/app/i18n/locales/README.md b/app/i18n/locales/README.md deleted file mode 100644 index b03bf71325..0000000000 --- a/app/i18n/locales/README.md +++ /dev/null @@ -1,7 +0,0 @@ -**Note**: `defaultMessages.json` is a file automatiaclly generated by `npm run manage-translations`. We include it in the build system because not doing so would cause every CI build to have to build twice in the following way: - -1) `npm run build` (this will construct the translation cache) -2) `npm run manage-translations` (will build the defaultMessages.json) -3) `npm run build` (to this time include the default messages in the build) - -This is something that could be improved in the future. \ No newline at end of file diff --git a/app/i18n/locales/defaultMessages.json b/app/i18n/locales/defaultMessages.json deleted file mode 100644 index b3aeb576b6..0000000000 --- a/app/i18n/locales/defaultMessages.json +++ /dev/null @@ -1,3371 +0,0 @@ -[ - { - "descriptors": [ - { - "defaultMessage": "!!!This API method is not yet implemented.", - "description": "\"This API method is not yet implemented.\" error message.", - "end": { - "column": 3, - "line": 9 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.ApiMethodNotYetImplementedError", - "start": { - "column": 35, - "line": 5 - } - }, - { - "defaultMessage": "!!!Wallet you are trying to import already exists.", - "description": "\"Wallet you are trying to import already exists.\" error message.", - "end": { - "column": 3, - "line": 14 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.WalletAlreadyImportedError", - "start": { - "column": 30, - "line": 10 - } - }, - { - "defaultMessage": "!!!Your ADA could not be redeemed correctly.", - "description": "\"Your ADA could not be redeemed correctly.\" error message.", - "end": { - "column": 3, - "line": 19 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.RedeemAdaError", - "start": { - "column": 18, - "line": 15 - } - }, - { - "defaultMessage": "!!!Wallet could not be imported, please make sure you are providing a correct file.", - "description": "\"Wallet could not be imported, please make sure you are providing a correct file.\" error message.", - "end": { - "column": 3, - "line": 24 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.WalletFileImportError", - "start": { - "column": 25, - "line": 20 - } - }, - { - "defaultMessage": "!!!Not enough money to make this transaction.", - "description": "\"Not enough money to make this transaction.\" error message.", - "end": { - "column": 3, - "line": 29 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.NotEnoughMoneyToSendError", - "start": { - "column": 29, - "line": 25 - } - }, - { - "defaultMessage": "!!!Error while updating ada wallet.", - "description": "\"Error while updating ada wallet.\" error message", - "end": { - "column": 3, - "line": 34 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.updateAdaWalletError", - "start": { - "column": 24, - "line": 30 - } - }, - { - "defaultMessage": "!!!Error while getting Balance.", - "description": "\"Error while getting Balance.\" error message", - "end": { - "column": 3, - "line": 39 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.getBalanceError", - "start": { - "column": 19, - "line": 35 - } - }, - { - "defaultMessage": "!!!Error while updating ada transactions history.", - "description": "\"Error while updating ada transactions history.\" error message", - "end": { - "column": 3, - "line": 44 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.updateAdaTxsHistoryError", - "start": { - "column": 28, - "line": 40 - } - }, - { - "defaultMessage": "!!!Error while creating transaction.", - "description": "\"Error while creating transaction.\" error message", - "end": { - "column": 3, - "line": 49 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.transactionError", - "start": { - "column": 20, - "line": 45 - } - }, - { - "defaultMessage": "!!!Error while updating pending transactions.", - "description": "\"Error while updating pending transactions.\" error message", - "end": { - "column": 3, - "line": 54 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.pendingTransactionError", - "start": { - "column": 27, - "line": 50 - } - }, - { - "defaultMessage": "!!!Error while getting addresses with funds.", - "description": "\"Error while getting addresses with funds.\" error message", - "end": { - "column": 3, - "line": 59 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.getAddressesWithFundsError", - "start": { - "column": 30, - "line": 55 - } - }, - { - "defaultMessage": "!!!The wallet restored from your recovery phrase is empty. Please check your recovery phrase and attempt restoration again.", - "description": "\"Wallet without funds\" error message", - "end": { - "column": 3, - "line": 64 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.noInputsError", - "start": { - "column": 17, - "line": 60 - } - }, - { - "defaultMessage": "!!!Error while generating transfer transacion.", - "description": "\"Error while generating transfer transacion.\" error message", - "end": { - "column": 3, - "line": 69 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.generateTransferTxError", - "start": { - "column": 27, - "line": 65 - } - }, - { - "defaultMessage": "!!!Error received from api method call while sending tx.", - "description": "\"Error received from api method call while sending tx.\" error message", - "end": { - "column": 3, - "line": 74 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.sendTransactionError", - "start": { - "column": 24, - "line": 70 - } - }, - { - "defaultMessage": "!!!Error received from api method call while getting utxos.", - "description": "\"Error received from api method call while getting utxos.\" error message", - "end": { - "column": 3, - "line": 79 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.getAllUTXOsForAddressesError", - "start": { - "column": 32, - "line": 75 - } - }, - { - "defaultMessage": "!!!Error received from api method call while discovering addresses.", - "description": "\"Error received from api method call while discovering addresses.\" error message", - "end": { - "column": 3, - "line": 84 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.discoverAddressesError", - "start": { - "column": 26, - "line": 80 - } - }, - { - "defaultMessage": "!!!Error received from server while getting UTXOs.", - "description": "\"Error received from server while getting UTXOs.\" error message", - "end": { - "column": 3, - "line": 89 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.getUtxosForAddressesApiError", - "start": { - "column": 32, - "line": 85 - } - }, - { - "defaultMessage": "!!!Error received from server while getting balance.", - "description": "\"Error received from server while getting balance.\" error message", - "end": { - "column": 3, - "line": 94 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.getUtxosSumsForAddressesApiError", - "start": { - "column": 36, - "line": 90 - } - }, - { - "defaultMessage": "!!!Error received from server while getting txs.", - "description": "\"Error received from server while getting txs.\" error message", - "end": { - "column": 3, - "line": 99 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.getTxHistoryForAddressesApiError", - "start": { - "column": 36, - "line": 95 - } - }, - { - "defaultMessage": "!!!Error received from server while sending tx.", - "description": "\"Error received from server while sending tx.\" error message", - "end": { - "column": 3, - "line": 104 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.sendTransactionApiError", - "start": { - "column": 27, - "line": 100 - } - }, - { - "defaultMessage": "!!!Error received from server while checking used addresses.", - "description": "\"Error received from server while checking used addresses.\" error message", - "end": { - "column": 3, - "line": 109 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.checkAdressesInUseApiError", - "start": { - "column": 30, - "line": 105 - } - }, - { - "defaultMessage": "!!!The signature is invalid.", - "description": "\"The signature is invalid.\" error message", - "end": { - "column": 3, - "line": 114 - }, - "file": "app/api/ada/errors.js", - "id": "api.errors.invalidWitnessError", - "start": { - "column": 23, - "line": 110 - } - } - ], - "path": "app/api/ada/errors.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!An error occurred, please try again later.", - "description": "Generic error message.", - "end": { - "column": 3, - "line": 10 - }, - "file": "app/api/common.js", - "id": "api.errors.GenericApiError", - "start": { - "column": 19, - "line": 6 - } - }, - { - "defaultMessage": "!!!Incorrect wallet password.", - "description": "\"Incorrect wallet password.\" error message.", - "end": { - "column": 3, - "line": 15 - }, - "file": "app/api/common.js", - "id": "api.errors.IncorrectPasswordError", - "start": { - "column": 32, - "line": 11 - } - }, - { - "defaultMessage": "!!!Wallet you are trying to restore already exists.", - "description": "\"Wallet you are trying to restore already exists.\" error message.", - "end": { - "column": 3, - "line": 20 - }, - "file": "app/api/common.js", - "id": "api.errors.WalletAlreadyRestoredError", - "start": { - "column": 30, - "line": 16 - } - }, - { - "defaultMessage": "!!!There was a problem sending the support request.", - "description": "\"There was a problem sending the support request.\" error message", - "end": { - "column": 3, - "line": 25 - }, - "file": "app/api/common.js", - "id": "api.errors.ReportRequestError", - "start": { - "column": 22, - "line": 21 - } - }, - { - "defaultMessage": "!!!You cannot generate more than 20 consecutive unused addresses.", - "description": "\"User cannot generate more unused addresses\" error message", - "end": { - "column": 3, - "line": 30 - }, - "file": "app/api/common.js", - "id": "api.errors.unusedAddressesError", - "start": { - "column": 24, - "line": 26 - } - } - ], - "path": "app/api/common.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Unable to restore Daedalus wallet", - "description": "Label \"Unable to restore Daedalus wallet\" on the Daedalus transfer error page.", - "end": { - "column": 3, - "line": 16 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferErrorPage.js", - "id": "daedalusTransfer.errorPage.title.label", - "start": { - "column": 9, - "line": 12 - } - }, - { - "defaultMessage": "!!!Back", - "description": "Label \"Back\" on the Daedalus transfer error page.", - "end": { - "column": 3, - "line": 21 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferErrorPage.js", - "id": "daedalusTransfer.errorPage.backButton.label", - "start": { - "column": 19, - "line": 17 - } - } - ], - "path": "app/components/daedalusTransfer/DaedalusTransferErrorPage.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Instructions", - "description": "Label \"Instructions\" on the Daedalus transfer form page.", - "end": { - "column": 3, - "line": 21 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferFormPage.js", - "id": "daedalusTransfer.form.instructions.title.label", - "start": { - "column": 9, - "line": 17 - } - }, - { - "defaultMessage": "!!!Enter the 12-word recovery phrase used to back up your Daedalus wallet to restore the balance and transfer all the funds from Daedalus to Icarus.", - "description": "Text for instructions step 0 on the Daedalus transfer form page.", - "end": { - "column": 3, - "line": 26 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferFormPage.js", - "id": "daedalusTransfer.form.instructions.step0.text", - "start": { - "column": 9, - "line": 22 - } - }, - { - "defaultMessage": "!!!It will take about 1 minute to restore your balance. In the next step, you will be presented with a transaction that will move all of your funds from Daedalus to Icarus. Please review the details of the transaction carefully. You will need to pay a standard transaction fee on the Cardano network to make the transaction.", - "description": "Text for instructions step 1 on the Daedalus transfer form page.", - "end": { - "column": 3, - "line": 31 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferFormPage.js", - "id": "daedalusTransfer.form.instructions.step1.text", - "start": { - "column": 9, - "line": 27 - } - }, - { - "defaultMessage": "!!!Recovery phrase", - "description": "Label for the recovery phrase input on the Daedalus transfer form page.", - "end": { - "column": 3, - "line": 36 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferFormPage.js", - "id": "daedalusTransfer.form.recovery.phrase.input.label", - "start": { - "column": 28, - "line": 32 - } - }, - { - "defaultMessage": "!!!Enter recovery phrase", - "description": "Hint \"Enter recovery phrase\" for the recovery phrase input on the Daedalus transfer form page.", - "end": { - "column": 3, - "line": 41 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferFormPage.js", - "id": "daedalusTransfer.form.recovery.phrase.input.hint", - "start": { - "column": 27, - "line": 37 - } - }, - { - "defaultMessage": "!!!No results", - "description": "\"No results\" message for the recovery phrase input search results.", - "end": { - "column": 3, - "line": 46 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferFormPage.js", - "id": "daedalusTransfer.form.recovery.phrase.input.noResults", - "start": { - "column": 27, - "line": 42 - } - }, - { - "defaultMessage": "!!!Invalid recovery phrase", - "description": "Error message shown when invalid recovery phrase was entered.", - "end": { - "column": 3, - "line": 51 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferFormPage.js", - "id": "daedalusTransfer.form.errors.invalidRecoveryPhrase", - "start": { - "column": 25, - "line": 47 - } - }, - { - "defaultMessage": "!!!Back", - "description": "Label for the back button on the Daedalus transfer form page.", - "end": { - "column": 3, - "line": 56 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferFormPage.js", - "id": "daedalusTransfer.form.back", - "start": { - "column": 19, - "line": 52 - } - }, - { - "defaultMessage": "!!!Next", - "description": "Label for the next button on the Daedalus transfer form page.", - "end": { - "column": 3, - "line": 61 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferFormPage.js", - "id": "daedalusTransfer.form.next", - "start": { - "column": 19, - "line": 57 - } - } - ], - "path": "app/components/daedalusTransfer/DaedalusTransferFormPage.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Instructions", - "description": "Label \"Instructions\" on the Daedalus transfer instructions page.", - "end": { - "column": 3, - "line": 17 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferInstructionsPage.js", - "id": "daedalusTransfer.instructions.instructions.title.label", - "start": { - "column": 20, - "line": 13 - } - }, - { - "defaultMessage": "!!!Before you can transfer funds from your Daedalus wallet, you must create an Icarus wallet and back it up. Upon completion, you will receive a 15-word recovery phrase which can be used to restore your Icarus wallet at any time.", - "description": "Instructions text on the Daedalus transfer instructions page.", - "end": { - "column": 3, - "line": 22 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferInstructionsPage.js", - "id": "daedalusTransfer.instructions.instructions.text", - "start": { - "column": 20, - "line": 18 - } - }, - { - "defaultMessage": "!!!Create Icarus wallet", - "description": "Label \"Create Icarus wallet\" on the Daedalus transfer instructions page.", - "end": { - "column": 3, - "line": 27 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferInstructionsPage.js", - "id": "daedalusTransfer.instructions.instructions.button.label", - "start": { - "column": 22, - "line": 23 - } - }, - { - "defaultMessage": "!!!Attention", - "description": "Label \"Attention\" on the Daedalus transfer instructions page.", - "end": { - "column": 3, - "line": 32 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferInstructionsPage.js", - "id": "daedalusTransfer.instructions.attention.title.label", - "start": { - "column": 18, - "line": 28 - } - }, - { - "defaultMessage": "!!!Icarus and Daedalus wallets use different key derivation scheme and they each have a separate format for addresses. For this reason, Daedalus wallets cannot be restored and continued to be used in Icarus and vice versa. This will change in the future. For now, to use funds from your Daedalus wallet, you need to transfer them to your Icarus wallet. Daedalus and Icarus wallets are fully compatible for transferring of funds. If you don’t have a working copy of Daedalus, you can use your 12-word recovery phrase used to restore and transfer the balance from Daedalus into Icarus.", - "description": "Attention text on the Daedalus transfer instructions page.", - "end": { - "column": 3, - "line": 37 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferInstructionsPage.js", - "id": "daedalusTransfer.instructions.attention.text", - "start": { - "column": 17, - "line": 33 - } - }, - { - "defaultMessage": "!!!Do you have access to a working copy of your Daedalus wallet?", - "description": "Label \"Do you have access to a working copy of your Daedalus wallet?\" on the Daedalus transfer instructions page.", - "end": { - "column": 3, - "line": 42 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferInstructionsPage.js", - "id": "daedalusTransfer.instructions.attention.question.label", - "start": { - "column": 12, - "line": 38 - } - }, - { - "defaultMessage": "!!!Yes", - "description": "Label \"Yes\" on the Daedalus transfer instructions page.", - "end": { - "column": 3, - "line": 47 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferInstructionsPage.js", - "id": "daedalusTransfer.instructions.attention.answer.yes.label", - "start": { - "column": 13, - "line": 43 - } - }, - { - "defaultMessage": "!!!Use the to generate a new address and use it to send funds from Daedalus.", - "description": "text related to answer \"Yes\" on the Daedalus transfer instructions page.", - "end": { - "column": 3, - "line": 52 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferInstructionsPage.js", - "id": "daedalusTransfer.instructions.attention.answer.yes.text", - "start": { - "column": 17, - "line": 48 - } - }, - { - "defaultMessage": "!!!Go to the Receive screen", - "description": "Label \"Go to the Receive screen\" on the Daedalus transfer instructions page.", - "end": { - "column": 3, - "line": 57 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferInstructionsPage.js", - "id": "daedalusTransfer.instructions.instructions.attention.answer.yes.button.label", - "start": { - "column": 19, - "line": 53 - } - }, - { - "defaultMessage": "!!!No", - "description": "Label \"No\" on the Daedalus transfer instructions page.", - "end": { - "column": 3, - "line": 62 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferInstructionsPage.js", - "id": "daedalusTransfer.instructions.attention.answer.no.label", - "start": { - "column": 12, - "line": 58 - } - }, - { - "defaultMessage": "!!!Use the 12-word recovery phrase to transfer all of the funds from your Daedalus wallet to Icarus.", - "description": "Label related to answer \"No\" on the Daedalus transfer instructions page.", - "end": { - "column": 3, - "line": 67 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferInstructionsPage.js", - "id": "daedalusTransfer.instruction.attention.answer.no.text", - "start": { - "column": 16, - "line": 63 - } - }, - { - "defaultMessage": "!!!Transfer all funds from Daedalus wallet", - "description": "Label \"Transfer all funds from Daedalus wallet\" on the Daedalus transfer instructions page.", - "end": { - "column": 3, - "line": 72 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferInstructionsPage.js", - "id": "daedalusTransfer.instructions.attention.answer.no.button.label", - "start": { - "column": 18, - "line": 68 - } - } - ], - "path": "app/components/daedalusTransfer/DaedalusTransferInstructionsPage.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!From", - "description": "Label showing addresses where the tx will be from", - "end": { - "column": 3, - "line": 18 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferSummaryPage.js", - "id": "daedalusTransfer.summary.addressFrom.label", - "start": { - "column": 20, - "line": 14 - } - }, - { - "defaultMessage": "!!!Daedalus wallet Addresses", - "description": "SubLabel showing addresses where the tx will be from", - "end": { - "column": 3, - "line": 23 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferSummaryPage.js", - "id": "daedalusTransfer.summary.addressFrom.subLabel", - "start": { - "column": 23, - "line": 19 - } - }, - { - "defaultMessage": "!!!To", - "description": "Label showing addresses where the tx will be sent", - "end": { - "column": 3, - "line": 28 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferSummaryPage.js", - "id": "daedalusTransfer.summary.addressTo.label", - "start": { - "column": 18, - "line": 24 - } - }, - { - "defaultMessage": "!!!Recovered balance", - "description": "Label showing total recovered balance", - "end": { - "column": 3, - "line": 33 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferSummaryPage.js", - "id": "daedalusTransfer.summary.recoveredBalance.label", - "start": { - "column": 25, - "line": 29 - } - }, - { - "defaultMessage": "!!!Transaction fees", - "description": "Label showing transaction fees when transferring", - "end": { - "column": 3, - "line": 38 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferSummaryPage.js", - "id": "daedalusTransfer.summary.transactionFee.label", - "start": { - "column": 23, - "line": 34 - } - }, - { - "defaultMessage": "!!!Final balance", - "description": "Label showing final balance", - "end": { - "column": 3, - "line": 43 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferSummaryPage.js", - "id": "daedalusTransfer.summary.finalBalance.label", - "start": { - "column": 21, - "line": 39 - } - }, - { - "defaultMessage": "!!!Cancel", - "description": "Cancel button text", - "end": { - "column": 3, - "line": 48 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferSummaryPage.js", - "id": "daedalusTransfer.summary.cancelTransferButton.label", - "start": { - "column": 29, - "line": 44 - } - }, - { - "defaultMessage": "!!!Transfer Funds", - "description": "Do tansfer button text", - "end": { - "column": 3, - "line": 53 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferSummaryPage.js", - "id": "daedalusTransfer.summary.transferButton.label", - "start": { - "column": 23, - "line": 49 - } - } - ], - "path": "app/components/daedalusTransfer/DaedalusTransferSummaryPage.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Daedalus wallet is being restored", - "description": "Label \"Daedalus wallet is being restored\" on the Daedalus transfer waiting page.", - "end": { - "column": 3, - "line": 13 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferWaitingPage.js", - "id": "daedalusTransfer.waiting.title.label", - "start": { - "column": 9, - "line": 9 - } - }, - { - "defaultMessage": "!!!Fetching addresses", - "description": "Progress info \"Fetching addresses\" on the Daedalus transfer waiting page.", - "end": { - "column": 3, - "line": 18 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferWaitingPage.js", - "id": "daedalusTransfer.waiting.progressInfo.restoringAddresses", - "start": { - "column": 22, - "line": 14 - } - }, - { - "defaultMessage": "!!!Checking addresses funds", - "description": "Progress info \"Checking addresses funds\" on the Daedalus transfer waiting page.", - "end": { - "column": 3, - "line": 23 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferWaitingPage.js", - "id": "daedalusTransfer.waiting.progressInfo.checkingAddresses", - "start": { - "column": 21, - "line": 19 - } - }, - { - "defaultMessage": "!!!Generating transfer transaction", - "description": "Progress info \"Generating transfer transaction\" on the Daedalus transfer waiting page.", - "end": { - "column": 3, - "line": 28 - }, - "file": "app/components/daedalusTransfer/DaedalusTransferWaitingPage.js", - "id": "daedalusTransfer.waiting.checkingAddresses.generatingTx", - "start": { - "column": 16, - "line": 24 - } - } - ], - "path": "app/components/daedalusTransfer/DaedalusTransferWaitingPage.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Warning: This is a testnet. ADA on the testnet has no monetary value. For more information, check out the FAQ at {faqLink}", - "description": "Message alerting users the wallet is not running in mainnet.", - "end": { - "column": 3, - "line": 25 - }, - "file": "app/components/layout/SidebarLayout.js", - "id": "testnet.label.message", - "start": { - "column": 16, - "line": 21 - } - } - ], - "path": "app/components/layout/SidebarLayout.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Select your language", - "description": "Label for the language select.", - "end": { - "column": 3, - "line": 20 - }, - "file": "app/components/profile/language-selection/LanguageSelectionForm.js", - "id": "profile.languageSelect.form.languageSelectLabel", - "start": { - "column": 23, - "line": 16 - } - }, - { - "defaultMessage": "!!!Continue", - "description": "Label for the \"Language select\" form submit button.", - "end": { - "column": 3, - "line": 25 - }, - "file": "app/components/profile/language-selection/LanguageSelectionForm.js", - "id": "profile.languageSelect.form.submitLabel", - "start": { - "column": 15, - "line": 21 - } - } - ], - "path": "app/components/profile/language-selection/LanguageSelectionForm.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!I agree with terms of use", - "description": "Label for the \"I agree with terms of use\" checkbox.", - "end": { - "column": 3, - "line": 20 - }, - "file": "app/components/profile/terms-of-use/TermsOfUseForm.js", - "id": "profile.termsOfUse.checkboxLabel", - "start": { - "column": 17, - "line": 16 - } - }, - { - "defaultMessage": "!!!Continue", - "description": "Label for the \"Terms of use\" form submit button.", - "end": { - "column": 3, - "line": 30 - }, - "file": "app/components/profile/terms-of-use/TermsOfUseForm.js", - "id": "profile.termsOfUse.submitLabel", - "start": { - "column": 15, - "line": 26 - } - } - ], - "path": "app/components/profile/terms-of-use/TermsOfUseForm.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Language", - "description": "Label for the language select.", - "end": { - "column": 3, - "line": 18 - }, - "file": "app/components/settings/categories/GeneralSettings.js", - "id": "settings.general.languageSelect.label", - "start": { - "column": 23, - "line": 14 - } - } - ], - "path": "app/components/settings/categories/GeneralSettings.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!https://yoroi-wallet.com/faq/", - "description": "URL for the \"FAQ on Yoroi website\"", - "end": { - "column": 3, - "line": 12 - }, - "file": "app/components/settings/categories/SupportSettings.js", - "id": "settings.support.faq.faqLinkURL", - "start": { - "column": 14, - "line": 8 - } - }, - { - "defaultMessage": "!!!Frequently asked questions", - "description": "Title \"Frequently asked questions\" on the support settings page.", - "end": { - "column": 3, - "line": 20 - }, - "file": "app/components/settings/categories/SupportSettings.js", - "id": "settings.support.faq.title", - "start": { - "column": 12, - "line": 16 - } - }, - { - "defaultMessage": "!!!If you are experiencing issues, please see the {faqLink} for guidance on known issues.", - "description": "Content for the \"Frequently asked questions\" section on the support settings page.", - "end": { - "column": 3, - "line": 25 - }, - "file": "app/components/settings/categories/SupportSettings.js", - "id": "settings.support.faq.content", - "start": { - "column": 14, - "line": 21 - } - }, - { - "defaultMessage": "!!!FAQ on Yoroi website", - "description": "\"FAQ on Yoroi website\" link in the FAQ section on the support settings page", - "end": { - "column": 3, - "line": 30 - }, - "file": "app/components/settings/categories/SupportSettings.js", - "id": "settings.support.faq.faqLink", - "start": { - "column": 11, - "line": 26 - } - }, - { - "defaultMessage": "!!!Reporting a problem", - "description": "Title \"Reporting a problem\" on the support settings page.", - "end": { - "column": 3, - "line": 35 - }, - "file": "app/components/settings/categories/SupportSettings.js", - "id": "settings.support.reportProblem.title", - "start": { - "column": 22, - "line": 31 - } - }, - { - "defaultMessage": "!!!If the FAQ does not solve the issue you are experiencing, please use our {supportRequestLink} feature.", - "description": "Content for the \"Reporting a problem\" section on the support settings page.", - "end": { - "column": 3, - "line": 40 - }, - "file": "app/components/settings/categories/SupportSettings.js", - "id": "settings.support.reportProblem.content", - "start": { - "column": 24, - "line": 36 - } - }, - { - "defaultMessage": "!!!Support request", - "description": "\"Support request\" link in the \"Report a problem\" section on the support settings page.", - "end": { - "column": 3, - "line": 45 - }, - "file": "app/components/settings/categories/SupportSettings.js", - "id": "settings.support.reportProblem.link", - "start": { - "column": 22, - "line": 41 - } - }, - { - "defaultMessage": "!!!https://zendesk.com/support/", - "description": "URL for the \"Support Request\" link in the Support section on the support settings page", - "end": { - "column": 3, - "line": 50 - }, - "file": "app/components/settings/categories/SupportSettings.js", - "id": "settings.support.faq.supportRequestLinkURL", - "start": { - "column": 25, - "line": 46 - } - }, - { - "defaultMessage": "!!!Logs", - "description": "Title \"Logs\" on the support settings page.", - "end": { - "column": 3, - "line": 55 - }, - "file": "app/components/settings/categories/SupportSettings.js", - "id": "settings.support.logs.title", - "start": { - "column": 13, - "line": 51 - } - }, - { - "defaultMessage": "!!!If you want to inspect logs, you can {downloadLogsLink}. Logs do not contain sensitive information, and it would be helpful to attach them to problem reports to help the team investigate the issue you are experiencing. Logs can be attached automatically when using the bug reporting feature.", - "description": "Content for the \"Logs\" section on the support settings page.", - "end": { - "column": 3, - "line": 60 - }, - "file": "app/components/settings/categories/SupportSettings.js", - "id": "settings.support.logs.content", - "start": { - "column": 15, - "line": 56 - } - }, - { - "defaultMessage": "!!!download them here", - "description": "\"download them here\" link in the Logs section on the support settings page", - "end": { - "column": 3, - "line": 65 - }, - "file": "app/components/settings/categories/SupportSettings.js", - "id": "settings.support.logs.downloadLogsLink", - "start": { - "column": 20, - "line": 61 - } - } - ], - "path": "app/components/settings/categories/SupportSettings.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!General", - "description": "Label for the \"General\" link in the settings menu.", - "end": { - "column": 3, - "line": 14 - }, - "file": "app/components/settings/menu/SettingsMenu.js", - "id": "settings.menu.general.link.label", - "start": { - "column": 11, - "line": 10 - } - }, - { - "defaultMessage": "!!!Wallet", - "description": "Label for the \"Wallet\" link in the settings menu.", - "end": { - "column": 3, - "line": 19 - }, - "file": "app/components/settings/menu/SettingsMenu.js", - "id": "settings.menu.wallet.link.label", - "start": { - "column": 10, - "line": 15 - } - }, - { - "defaultMessage": "!!!Support", - "description": "Label for the \"Support\" link in the settings menu.", - "end": { - "column": 3, - "line": 24 - }, - "file": "app/components/settings/menu/SettingsMenu.js", - "id": "settings.menu.support.link.label", - "start": { - "column": 11, - "line": 20 - } - }, - { - "defaultMessage": "!!!Terms of use", - "description": "Label for the \"Terms of use\" link in the settings menu.", - "end": { - "column": 3, - "line": 29 - }, - "file": "app/components/settings/menu/SettingsMenu.js", - "id": "settings.menu.termsOfUse.link.label", - "start": { - "column": 14, - "line": 25 - } - } - ], - "path": "app/components/settings/menu/SettingsMenu.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!On the following screen, you will see a set of 15 random words. This is\n your wallet backup phrase. It can be entered in any version of Daedalus application in order\n to back up or restore your wallet’s funds and private key.", - "description": "Instructions for backing up wallet recovery phrase on dialog that displays wallet recovery phrase.", - "end": { - "column": 3, - "line": 21 - }, - "file": "app/components/wallet/backup-recovery/WalletBackupPrivacyWarningDialog.js", - "id": "wallet.backup.privacy.warning.dialog.recoveryPhraseInstructions", - "start": { - "column": 30, - "line": 15 - } - }, - { - "defaultMessage": "!!!Continue", - "description": "Label for button \"Continue\" on wallet backup dialog", - "end": { - "column": 3, - "line": 26 - }, - "file": "app/components/wallet/backup-recovery/WalletBackupPrivacyWarningDialog.js", - "id": "wallet.backup.privacy.warning.dialog..button.labelContinue", - "start": { - "column": 23, - "line": 22 - } - }, - { - "defaultMessage": "!!!Make sure nobody looks into your screen unless you want them to have access to your funds.", - "description": "Label for the checkbox on wallet backup dialog describing that nobody should be watching when recovery phrase is shown", - "end": { - "column": 3, - "line": 31 - }, - "file": "app/components/wallet/backup-recovery/WalletBackupPrivacyWarningDialog.js", - "id": "wallet.backup.privacy.warning.dialog.checkbox.label.nobodyWatching", - "start": { - "column": 22, - "line": 27 - } - } - ], - "path": "app/components/wallet/backup-recovery/WalletBackupPrivacyWarningDialog.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Please, make sure you have carefully written down your recovery phrase somewhere safe.\n You will need this phrase later for next use and recover. Phrase is case sensitive.", - "description": "Instructions for backing up wallet recovery phrase on dialog that displays wallet recovery phrase.", - "end": { - "column": 3, - "line": 19 - }, - "file": "app/components/wallet/backup-recovery/WalletRecoveryPhraseDisplayDialog.js", - "id": "wallet.backup.recovery.phrase.display.dialog.backup.instructions", - "start": { - "column": 22, - "line": 14 - } - }, - { - "defaultMessage": "!!!Yes, I’ve written it down", - "description": "Label for button \"Yes, I’ve written it down\" on wallet backup dialog", - "end": { - "column": 3, - "line": 24 - }, - "file": "app/components/wallet/backup-recovery/WalletRecoveryPhraseDisplayDialog.js", - "id": "wallet.backup.recovery.phrase.display.dialog.button.label.iHaveWrittenItDown", - "start": { - "column": 33, - "line": 20 - } - } - ], - "path": "app/components/wallet/backup-recovery/WalletRecoveryPhraseDisplayDialog.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Tap each word in the correct order to verify your recovery phrase", - "description": "Instructions for verifying wallet recovery phrase on dialog for entering wallet recovery phrase.", - "end": { - "column": 3, - "line": 22 - }, - "file": "app/components/wallet/backup-recovery/WalletRecoveryPhraseEntryDialog.js", - "id": "wallet.backup.recovery.phrase.entry.dialog.verification.instructions", - "start": { - "column": 28, - "line": 18 - } - }, - { - "defaultMessage": "!!!Confirm", - "description": "Label for button \"Confirm\" on wallet backup dialog", - "end": { - "column": 3, - "line": 27 - }, - "file": "app/components/wallet/backup-recovery/WalletRecoveryPhraseEntryDialog.js", - "id": "wallet.recovery.phrase.show.entry.dialog.button.labelConfirm", - "start": { - "column": 22, - "line": 23 - } - }, - { - "defaultMessage": "!!!Clear", - "description": "Label for button \"Clear\" on wallet backup dialog", - "end": { - "column": 3, - "line": 32 - }, - "file": "app/components/wallet/backup-recovery/WalletRecoveryPhraseEntryDialog.js", - "id": "wallet.recovery.phrase.show.entry.dialog.button.labelClear", - "start": { - "column": 20, - "line": 28 - } - }, - { - "defaultMessage": "!!!I understand that my money are held securely on this device only, not on the company servers", - "description": "Term and condition on wallet backup dialog describing that wallet is on a users device, not on company servers", - "end": { - "column": 3, - "line": 37 - }, - "file": "app/components/wallet/backup-recovery/WalletRecoveryPhraseEntryDialog.js", - "id": "wallet.backup.recovery.phrase.entry.dialog.terms.and.condition.device", - "start": { - "column": 14, - "line": 33 - } - }, - { - "defaultMessage": "!!!I understand that if this application is moved to another device or deleted, my money can\n be only recovered with the backup phrase which were written down in a secure place", - "description": "Term and condition on wallet backup dialog describing that wallet can only be recovered with a security phrase", - "end": { - "column": 3, - "line": 43 - }, - "file": "app/components/wallet/backup-recovery/WalletRecoveryPhraseEntryDialog.js", - "id": "wallet.backup.recovery.phrase.entry.dialog.terms.and.condition.recovery", - "start": { - "column": 16, - "line": 38 - } - } - ], - "path": "app/components/wallet/backup-recovery/WalletRecoveryPhraseEntryDialog.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Transactions", - "description": "Label for the \"Transactions\" nav button in the wallet navigation.", - "end": { - "column": 3, - "line": 16 - }, - "file": "app/components/wallet/navigation/WalletNavigation.js", - "id": "wallet.navigation.transactions", - "start": { - "column": 16, - "line": 12 - } - }, - { - "defaultMessage": "!!!Send", - "description": "Label for the \"Send\" nav button in the wallet navigation.", - "end": { - "column": 3, - "line": 21 - }, - "file": "app/components/wallet/navigation/WalletNavigation.js", - "id": "wallet.navigation.send", - "start": { - "column": 8, - "line": 17 - } - }, - { - "defaultMessage": "!!!Receive", - "description": "Label for the \"Receive\" nav button in the wallet navigation.", - "end": { - "column": 3, - "line": 26 - }, - "file": "app/components/wallet/navigation/WalletNavigation.js", - "id": "wallet.navigation.receive", - "start": { - "column": 11, - "line": 22 - } - } - ], - "path": "app/components/wallet/navigation/WalletNavigation.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Password", - "description": "Title for the \"Change wallet password\" dialog when there is no password set.", - "end": { - "column": 3, - "line": 21 - }, - "file": "app/components/wallet/settings/ChangeWalletPasswordDialog.js", - "id": "wallet.settings.changePassword.dialog.title.setPassword", - "start": { - "column": 26, - "line": 17 - } - }, - { - "defaultMessage": "!!!Change password", - "description": "Title for the \"Change wallet password\" dialog when there is already password set.", - "end": { - "column": 3, - "line": 26 - }, - "file": "app/components/wallet/settings/ChangeWalletPasswordDialog.js", - "id": "wallet.settings.changePassword.dialog.title.changePassword", - "start": { - "column": 29, - "line": 22 - } - }, - { - "defaultMessage": "!!!Wallet password", - "description": "Label for the \"Wallet password\" input in the change wallet password dialog.", - "end": { - "column": 3, - "line": 31 - }, - "file": "app/components/wallet/settings/ChangeWalletPasswordDialog.js", - "id": "wallet.settings.changePassword.dialog.walletPasswordLabel", - "start": { - "column": 23, - "line": 27 - } - }, - { - "defaultMessage": "!!!Current password", - "description": "Label for the \"Current password\" input in the change wallet password dialog.", - "end": { - "column": 3, - "line": 36 - }, - "file": "app/components/wallet/settings/ChangeWalletPasswordDialog.js", - "id": "wallet.settings.changePassword.dialog.currentPasswordLabel", - "start": { - "column": 24, - "line": 32 - } - }, - { - "defaultMessage": "!!!Repeat password", - "description": "Label for the \"Repeat password\" input in the change wallet password dialog.", - "end": { - "column": 3, - "line": 41 - }, - "file": "app/components/wallet/settings/ChangeWalletPasswordDialog.js", - "id": "wallet.settings.changePassword.dialog.repeatPasswordLabel", - "start": { - "column": 23, - "line": 37 - } - }, - { - "defaultMessage": "!!!Type current password", - "description": "Placeholder for the \"Current password\" inputs in the change wallet password dialog.", - "end": { - "column": 3, - "line": 46 - }, - "file": "app/components/wallet/settings/ChangeWalletPasswordDialog.js", - "id": "wallet.settings.changePassword.dialog.currentPasswordFieldPlaceholder", - "start": { - "column": 35, - "line": 42 - } - }, - { - "defaultMessage": "!!!Type new password", - "description": "Placeholder for the \"New password\" inputs in the change wallet password dialog.", - "end": { - "column": 3, - "line": 51 - }, - "file": "app/components/wallet/settings/ChangeWalletPasswordDialog.js", - "id": "wallet.settings.changePassword.dialog.newPasswordFieldPlaceholder", - "start": { - "column": 31, - "line": 47 - } - }, - { - "defaultMessage": "!!!New password", - "description": "Label for the \"New password\" input in the change wallet password dialog.", - "end": { - "column": 3, - "line": 56 - }, - "file": "app/components/wallet/settings/ChangeWalletPasswordDialog.js", - "id": "wallet.settings.changePassword.dialog.newPasswordLabel", - "start": { - "column": 20, - "line": 52 - } - }, - { - "defaultMessage": "!!!Repeat new password", - "description": "Placeholder for the \"Repeat password\" inputs in the change wallet password dialog.", - "end": { - "column": 3, - "line": 61 - }, - "file": "app/components/wallet/settings/ChangeWalletPasswordDialog.js", - "id": "wallet.settings.changePassword.dialog.repeatPasswordFieldPlaceholder", - "start": { - "column": 34, - "line": 57 - } - } - ], - "path": "app/components/wallet/settings/ChangeWalletPasswordDialog.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!+ {amount} of fees", - "description": "Label for the \"+ 12.042481 of fees\" message above amount input field.", - "end": { - "column": 3, - "line": 12 - }, - "file": "app/components/wallet/skins/AmountInputSkin.js", - "id": "wallet.amountInput.feesLabel", - "start": { - "column": 13, - "line": 8 - } - } - ], - "path": "app/components/wallet/skins/AmountInputSkin.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Outgoing pending confirmation", - "description": "\"Outgoing pending confirmation\" label on Wallet summary page", - "end": { - "column": 3, - "line": 17 - }, - "file": "app/components/wallet/summary/WalletSummary.js", - "id": "wallet.summary.page.pendingOutgoingConfirmationLabel", - "start": { - "column": 36, - "line": 13 - } - }, - { - "defaultMessage": "!!!Incoming pending confirmation", - "description": "\"Incoming pending confirmation\" label on Wallet summary page", - "end": { - "column": 3, - "line": 22 - }, - "file": "app/components/wallet/summary/WalletSummary.js", - "id": "wallet.summary.page.pendingIncomingConfirmationLabel", - "start": { - "column": 36, - "line": 18 - } - }, - { - "defaultMessage": "!!!Number of transactions", - "description": "\"Number of transactions\" label on Wallet summary page", - "end": { - "column": 3, - "line": 27 - }, - "file": "app/components/wallet/summary/WalletSummary.js", - "id": "wallet.summary.page.transactionsLabel", - "start": { - "column": 21, - "line": 23 - } - } - ], - "path": "app/components/wallet/summary/WalletSummary.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Card payment", - "description": "Transaction type shown for credit card payments.", - "end": { - "column": 3, - "line": 20 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.type.card", - "start": { - "column": 8, - "line": 16 - } - }, - { - "defaultMessage": "!!!{currency} transaction", - "description": "Transaction type shown for {currency} transactions.", - "end": { - "column": 3, - "line": 25 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.type", - "start": { - "column": 8, - "line": 21 - } - }, - { - "defaultMessage": "!!!Exchange", - "description": "Transaction type shown for money exchanges between currencies.", - "end": { - "column": 3, - "line": 30 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.type.exchange", - "start": { - "column": 12, - "line": 26 - } - }, - { - "defaultMessage": "!!!Transaction assurance level", - "description": "Transaction assurance level.", - "end": { - "column": 3, - "line": 35 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.assuranceLevel", - "start": { - "column": 18, - "line": 31 - } - }, - { - "defaultMessage": "!!!confirmations", - "description": "Transaction confirmations.", - "end": { - "column": 3, - "line": 40 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.confirmations", - "start": { - "column": 17, - "line": 36 - } - }, - { - "defaultMessage": "!!!Transaction ID", - "description": "Transaction ID.", - "end": { - "column": 3, - "line": 45 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.transactionId", - "start": { - "column": 17, - "line": 41 - } - }, - { - "defaultMessage": "!!!Conversion rate", - "description": "Conversion rate.", - "end": { - "column": 3, - "line": 50 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.conversion.rate", - "start": { - "column": 18, - "line": 46 - } - }, - { - "defaultMessage": "!!!{currency} sent", - "description": "Label \"{currency} sent\" for the transaction.", - "end": { - "column": 3, - "line": 55 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.sent", - "start": { - "column": 8, - "line": 51 - } - }, - { - "defaultMessage": "!!!{currency} received", - "description": "Label \"{currency} received\" for the transaction.", - "end": { - "column": 3, - "line": 60 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.received", - "start": { - "column": 12, - "line": 56 - } - }, - { - "defaultMessage": "!!!From address", - "description": "From address", - "end": { - "column": 3, - "line": 65 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.address.from", - "start": { - "column": 15, - "line": 61 - } - }, - { - "defaultMessage": "!!!From addresses", - "description": "From addresses", - "end": { - "column": 3, - "line": 70 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.addresses.from", - "start": { - "column": 17, - "line": 66 - } - }, - { - "defaultMessage": "!!!To address", - "description": "To address", - "end": { - "column": 3, - "line": 75 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.address.to", - "start": { - "column": 13, - "line": 71 - } - }, - { - "defaultMessage": "!!!To addresses", - "description": "To addresses", - "end": { - "column": 3, - "line": 80 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.addresses.to", - "start": { - "column": 15, - "line": 76 - } - }, - { - "defaultMessage": "!!!Transaction amount", - "description": "Transaction amount.", - "end": { - "column": 3, - "line": 85 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.transactionAmount", - "start": { - "column": 21, - "line": 81 - } - }, - { - "defaultMessage": "!!!low", - "description": "Transaction assurance level \"low\".", - "end": { - "column": 3, - "line": 93 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.assuranceLevel.low", - "start": { - "column": 25, - "line": 89 - } - }, - { - "defaultMessage": "!!!medium", - "description": "Transaction assurance level \"medium\".", - "end": { - "column": 3, - "line": 98 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.assuranceLevel.medium", - "start": { - "column": 28, - "line": 94 - } - }, - { - "defaultMessage": "!!!high", - "description": "Transaction assurance level \"high\".", - "end": { - "column": 3, - "line": 103 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.assuranceLevel.high", - "start": { - "column": 26, - "line": 99 - } - }, - { - "defaultMessage": "!!!Transaction pending", - "description": "Transaction state \"pending\"", - "end": { - "column": 3, - "line": 111 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.state.pending", - "start": { - "column": 31, - "line": 107 - } - }, - { - "defaultMessage": "!!!Transaction failed", - "description": "Transaction state \"pending\"", - "end": { - "column": 3, - "line": 116 - }, - "file": "app/components/wallet/transactions/Transaction.js", - "id": "wallet.transaction.state.failed", - "start": { - "column": 30, - "line": 112 - } - } - ], - "path": "app/components/wallet/transactions/Transaction.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Today", - "description": "Label for the \"Today\" label on the wallet summary page.", - "end": { - "column": 3, - "line": 20 - }, - "file": "app/components/wallet/transactions/WalletTransactionsList.js", - "id": "wallet.summary.page.todayLabel", - "start": { - "column": 9, - "line": 16 - } - }, - { - "defaultMessage": "!!!Yesterday", - "description": "Label for the \"Yesterday\" label on the wallet summary page.", - "end": { - "column": 3, - "line": 25 - }, - "file": "app/components/wallet/transactions/WalletTransactionsList.js", - "id": "wallet.summary.page.yesterdayLabel", - "start": { - "column": 13, - "line": 21 - } - }, - { - "defaultMessage": "!!!Show more transactions", - "description": "Label for the \"Show more transactions\" button on the wallet summary page.", - "end": { - "column": 3, - "line": 30 - }, - "file": "app/components/wallet/transactions/WalletTransactionsList.js", - "id": "wallet.summary.page.showMoreTransactionsButtonLabel", - "start": { - "column": 35, - "line": 26 - } - } - ], - "path": "app/components/wallet/transactions/WalletTransactionsList.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Add wallet", - "description": "Label for the \"Add wallet\" title on the wallet add dialog.", - "end": { - "column": 3, - "line": 16 - }, - "file": "app/components/wallet/WalletAdd.js", - "id": "wallet.add.dialog.title.label", - "start": { - "column": 9, - "line": 12 - } - }, - { - "defaultMessage": "!!!Create a new wallet", - "description": "Description for the \"Create\" button on the wallet add dialog.", - "end": { - "column": 3, - "line": 21 - }, - "file": "app/components/wallet/WalletAdd.js", - "id": "wallet.add.dialog.create.description", - "start": { - "column": 21, - "line": 17 - } - }, - { - "defaultMessage": "!!!Restore wallet from backup", - "description": "Description for the \"Restore\" button without paper wallet certificate on the wallet add dialog.", - "end": { - "column": 3, - "line": 26 - }, - "file": "app/components/wallet/WalletAdd.js", - "id": "wallet.add.dialog.restore.description", - "start": { - "column": 22, - "line": 22 - } - }, - { - "defaultMessage": "!!!Wallet restoration is currently in progress. Until it completes, it is not possible to restore or import new wallets.", - "description": "Restore notification message shown during async wallet restore on the wallet add screen.", - "end": { - "column": 3, - "line": 31 - }, - "file": "app/components/wallet/WalletAdd.js", - "id": "wallet.add.dialog.restoreNotificationMessage", - "start": { - "column": 30, - "line": 27 - } - } - ], - "path": "app/components/wallet/WalletAdd.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Create a new wallet", - "description": "Title \"Create a new wallet\" in the wallet create form.", - "end": { - "column": 3, - "line": 20 - }, - "file": "app/components/wallet/WalletCreateDialog.js", - "id": "wallet.create.dialog.title", - "start": { - "column": 15, - "line": 16 - } - }, - { - "defaultMessage": "!!!Wallet Name", - "description": "Label for the \"Wallet Name\" text input in the wallet create form.", - "end": { - "column": 3, - "line": 25 - }, - "file": "app/components/wallet/WalletCreateDialog.js", - "id": "wallet.create.dialog.name.label", - "start": { - "column": 14, - "line": 21 - } - }, - { - "defaultMessage": "!!!e.g: Shopping Wallet", - "description": "Hint for the \"Wallet Name\" text input in the wallet create form.", - "end": { - "column": 3, - "line": 30 - }, - "file": "app/components/wallet/WalletCreateDialog.js", - "id": "wallet.create.dialog.walletNameHint", - "start": { - "column": 18, - "line": 26 - } - }, - { - "defaultMessage": "!!!Create personal wallet", - "description": "Label for the \"Create personal wallet\" button on create wallet dialog.", - "end": { - "column": 3, - "line": 35 - }, - "file": "app/components/wallet/WalletCreateDialog.js", - "id": "wallet.create.dialog.create.personal.wallet.button.label", - "start": { - "column": 24, - "line": 31 - } - }, - { - "defaultMessage": "!!!Wallet password", - "description": "Label for the \"Wallet password\" input in the create wallet dialog.", - "end": { - "column": 3, - "line": 40 - }, - "file": "app/components/wallet/WalletCreateDialog.js", - "id": "wallet.create.dialog.walletPasswordLabel", - "start": { - "column": 23, - "line": 36 - } - }, - { - "defaultMessage": "!!!Repeat password", - "description": "Label for the \"Repeat password\" input in the create wallet dialog.", - "end": { - "column": 3, - "line": 45 - }, - "file": "app/components/wallet/WalletCreateDialog.js", - "id": "wallet.create.dialog.repeatPasswordLabel", - "start": { - "column": 23, - "line": 41 - } - }, - { - "defaultMessage": "!!!Password", - "description": "Placeholder for the \"Password\" inputs in the create wallet dialog.", - "end": { - "column": 3, - "line": 50 - }, - "file": "app/components/wallet/WalletCreateDialog.js", - "id": "wallet.create.dialog.passwordFieldPlaceholder", - "start": { - "column": 28, - "line": 46 - } - } - ], - "path": "app/components/wallet/WalletCreateDialog.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Your wallet address", - "description": "Label for wallet address on the wallet \"Receive page\"", - "end": { - "column": 3, - "line": 24 - }, - "file": "app/components/wallet/WalletReceive.js", - "id": "wallet.receive.page.walletAddressLabel", - "start": { - "column": 22, - "line": 20 - } - }, - { - "defaultMessage": "!!!Share this wallet address to receive payments. To protect your privacy, new addresses are generated automatically once you use them.", - "description": "Wallet receive payments instructions on the wallet \"Receive page\"", - "end": { - "column": 3, - "line": 29 - }, - "file": "app/components/wallet/WalletReceive.js", - "id": "wallet.receive.page.walletReceiveInstructions", - "start": { - "column": 29, - "line": 25 - } - }, - { - "defaultMessage": "!!!Generate new address", - "description": "Label for \"Generate new address\" button on the wallet \"Receive page\"", - "end": { - "column": 3, - "line": 34 - }, - "file": "app/components/wallet/WalletReceive.js", - "id": "wallet.receive.page.generateNewAddressButtonLabel", - "start": { - "column": 33, - "line": 30 - } - }, - { - "defaultMessage": "!!!Generated addresses", - "description": "\"Generated addresses\" section title on the wallet \"Receive page\"", - "end": { - "column": 3, - "line": 39 - }, - "file": "app/components/wallet/WalletReceive.js", - "id": "wallet.receive.page.generatedAddressesSectionTitle", - "start": { - "column": 34, - "line": 35 - } - }, - { - "defaultMessage": "!!!hide used", - "description": "Label for \"hide used\" wallet addresses link on the wallet \"Receive page\"", - "end": { - "column": 3, - "line": 44 - }, - "file": "app/components/wallet/WalletReceive.js", - "id": "wallet.receive.page.hideUsedLabel", - "start": { - "column": 17, - "line": 40 - } - }, - { - "defaultMessage": "!!!show used", - "description": "Label for \"show used\" wallet addresses link on the wallet \"Receive page\"", - "end": { - "column": 3, - "line": 49 - }, - "file": "app/components/wallet/WalletReceive.js", - "id": "wallet.receive.page.showUsedLabel", - "start": { - "column": 17, - "line": 45 - } - }, - { - "defaultMessage": "!!!Copy address", - "description": "Label for \"Copy address\" link on the wallet \"Receive page\"", - "end": { - "column": 3, - "line": 54 - }, - "file": "app/components/wallet/WalletReceive.js", - "id": "wallet.receive.page.copyAddressLabel", - "start": { - "column": 20, - "line": 50 - } - } - ], - "path": "app/components/wallet/WalletReceive.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Restore wallet", - "description": "Label \"Restore wallet\" on the wallet restore dialog.", - "end": { - "column": 3, - "line": 24 - }, - "file": "app/components/wallet/WalletRestoreDialog.js", - "id": "wallet.restore.dialog.title.label", - "start": { - "column": 9, - "line": 20 - } - }, - { - "defaultMessage": "!!!Wallet name", - "description": "Label for the wallet name input on the wallet restore dialog.", - "end": { - "column": 3, - "line": 29 - }, - "file": "app/components/wallet/WalletRestoreDialog.js", - "id": "wallet.restore.dialog.wallet.name.input.label", - "start": { - "column": 24, - "line": 25 - } - }, - { - "defaultMessage": "!!!Enter wallet name", - "description": "Hint \"Enter wallet name\" for the wallet name input on the wallet restore dialog.", - "end": { - "column": 3, - "line": 34 - }, - "file": "app/components/wallet/WalletRestoreDialog.js", - "id": "wallet.restore.dialog.wallet.name.input.hint", - "start": { - "column": 23, - "line": 30 - } - }, - { - "defaultMessage": "!!!Recovery phrase", - "description": "Label for the recovery phrase input on the wallet restore dialog.", - "end": { - "column": 3, - "line": 39 - }, - "file": "app/components/wallet/WalletRestoreDialog.js", - "id": "wallet.restore.dialog.recovery.phrase.input.label", - "start": { - "column": 28, - "line": 35 - } - }, - { - "defaultMessage": "!!!Enter recovery phrase", - "description": "Hint \"Enter recovery phrase\" for the recovery phrase input on the wallet restore dialog.", - "end": { - "column": 3, - "line": 44 - }, - "file": "app/components/wallet/WalletRestoreDialog.js", - "id": "wallet.restore.dialog.recovery.phrase.input.hint", - "start": { - "column": 27, - "line": 40 - } - }, - { - "defaultMessage": "!!!No results", - "description": "\"No results\" message for the recovery phrase input search results.", - "end": { - "column": 3, - "line": 49 - }, - "file": "app/components/wallet/WalletRestoreDialog.js", - "id": "wallet.restore.dialog.recovery.phrase.input.noResults", - "start": { - "column": 27, - "line": 45 - } - }, - { - "defaultMessage": "!!!Restore wallet", - "description": "Label for the \"Restore wallet\" button on the wallet restore dialog.", - "end": { - "column": 3, - "line": 54 - }, - "file": "app/components/wallet/WalletRestoreDialog.js", - "id": "wallet.restore.dialog.restore.wallet.button.label", - "start": { - "column": 21, - "line": 50 - } - }, - { - "defaultMessage": "!!!Invalid recovery phrase", - "description": "Error message shown when invalid recovery phrase was entered.", - "end": { - "column": 3, - "line": 59 - }, - "file": "app/components/wallet/WalletRestoreDialog.js", - "id": "wallet.restore.dialog.form.errors.invalidRecoveryPhrase", - "start": { - "column": 25, - "line": 55 - } - }, - { - "defaultMessage": "!!!Wallet password", - "description": "Label for the \"Wallet password\" input in the wallet restore dialog.", - "end": { - "column": 3, - "line": 64 - }, - "file": "app/components/wallet/WalletRestoreDialog.js", - "id": "wallet.restore.dialog.walletPasswordLabel", - "start": { - "column": 23, - "line": 60 - } - }, - { - "defaultMessage": "!!!Repeat password", - "description": "Label for the \"Repeat password\" input in the wallet restore dialog.", - "end": { - "column": 3, - "line": 69 - }, - "file": "app/components/wallet/WalletRestoreDialog.js", - "id": "wallet.restore.dialog.repeatPasswordLabel", - "start": { - "column": 23, - "line": 65 - } - }, - { - "defaultMessage": "!!!Password", - "description": "Placeholder for the \"Password\" inputs in the wallet restore dialog.", - "end": { - "column": 3, - "line": 74 - }, - "file": "app/components/wallet/WalletRestoreDialog.js", - "id": "wallet.restore.dialog.passwordFieldPlaceholder", - "start": { - "column": 28, - "line": 70 - } - } - ], - "path": "app/components/wallet/WalletRestoreDialog.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Confirm transaction", - "description": "Title for the \"Confirm transaction\" dialog.", - "end": { - "column": 3, - "line": 20 - }, - "file": "app/components/wallet/WalletSendConfirmationDialog.js", - "id": "wallet.send.confirmationDialog.title", - "start": { - "column": 15, - "line": 16 - } - }, - { - "defaultMessage": "!!!Spending password", - "description": "Label for the \"Spending password\" input in the wallet send confirmation dialog.", - "end": { - "column": 3, - "line": 25 - }, - "file": "app/components/wallet/WalletSendConfirmationDialog.js", - "id": "wallet.send.confirmationDialog.walletPasswordLabel", - "start": { - "column": 23, - "line": 21 - } - }, - { - "defaultMessage": "!!!To", - "description": "Label for the \"To\" in the wallet send confirmation dialog.", - "end": { - "column": 3, - "line": 30 - }, - "file": "app/components/wallet/WalletSendConfirmationDialog.js", - "id": "wallet.send.confirmationDialog.addressToLabel", - "start": { - "column": 18, - "line": 26 - } - }, - { - "defaultMessage": "!!!Amount", - "description": "Label for the \"Amount\" in the wallet send confirmation dialog.", - "end": { - "column": 3, - "line": 35 - }, - "file": "app/components/wallet/WalletSendConfirmationDialog.js", - "id": "wallet.send.confirmationDialog.amountLabel", - "start": { - "column": 15, - "line": 31 - } - }, - { - "defaultMessage": "!!!Fees", - "description": "Label for the \"Fees\" in the wallet send confirmation dialog.", - "end": { - "column": 3, - "line": 40 - }, - "file": "app/components/wallet/WalletSendConfirmationDialog.js", - "id": "wallet.send.confirmationDialog.feesLabel", - "start": { - "column": 13, - "line": 36 - } - }, - { - "defaultMessage": "!!!Total", - "description": "Label for the \"Total\" in the wallet send confirmation dialog.", - "end": { - "column": 3, - "line": 45 - }, - "file": "app/components/wallet/WalletSendConfirmationDialog.js", - "id": "wallet.send.confirmationDialog.totalLabel", - "start": { - "column": 14, - "line": 41 - } - }, - { - "defaultMessage": "!!!Type your spending password", - "description": "Placeholder for the \"Spending password\" inputs in the wallet send confirmation dialog.", - "end": { - "column": 3, - "line": 50 - }, - "file": "app/components/wallet/WalletSendConfirmationDialog.js", - "id": "wallet.send.confirmationDialog.walletPasswordFieldPlaceholder", - "start": { - "column": 34, - "line": 46 - } - }, - { - "defaultMessage": "!!!Send", - "description": "Label for the send button in the wallet send confirmation dialog.", - "end": { - "column": 3, - "line": 55 - }, - "file": "app/components/wallet/WalletSendConfirmationDialog.js", - "id": "wallet.send.confirmationDialog.submit", - "start": { - "column": 19, - "line": 51 - } - }, - { - "defaultMessage": "!!!Back", - "description": "Label for the back button in the wallet send confirmation dialog.", - "end": { - "column": 3, - "line": 60 - }, - "file": "app/components/wallet/WalletSendConfirmationDialog.js", - "id": "wallet.send.confirmationDialog.back", - "start": { - "column": 19, - "line": 56 - } - } - ], - "path": "app/components/wallet/WalletSendConfirmationDialog.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Title", - "description": "Label for the \"Title\" text input in the wallet send form.", - "end": { - "column": 3, - "line": 28 - }, - "file": "app/components/wallet/WalletSendForm.js", - "id": "wallet.send.form.title.label", - "start": { - "column": 14, - "line": 24 - } - }, - { - "defaultMessage": "!!!E.g: Money for Frank", - "description": "Hint inside the \"Receiver\" text input in the wallet send form.", - "end": { - "column": 3, - "line": 33 - }, - "file": "app/components/wallet/WalletSendForm.js", - "id": "wallet.send.form.title.hint", - "start": { - "column": 13, - "line": 29 - } - }, - { - "defaultMessage": "!!!Receiver", - "description": "Label for the \"Receiver\" text input in the wallet send form.", - "end": { - "column": 3, - "line": 38 - }, - "file": "app/components/wallet/WalletSendForm.js", - "id": "wallet.send.form.receiver.label", - "start": { - "column": 17, - "line": 34 - } - }, - { - "defaultMessage": "!!!Wallet Address", - "description": "Hint inside the \"Receiver\" text input in the wallet send form.", - "end": { - "column": 3, - "line": 43 - }, - "file": "app/components/wallet/WalletSendForm.js", - "id": "wallet.send.form.receiver.hint", - "start": { - "column": 16, - "line": 39 - } - }, - { - "defaultMessage": "!!!Amount", - "description": "Label for the \"Amount\" number input in the wallet send form.", - "end": { - "column": 3, - "line": 48 - }, - "file": "app/components/wallet/WalletSendForm.js", - "id": "wallet.send.form.amount.label", - "start": { - "column": 15, - "line": 44 - } - }, - { - "defaultMessage": "!!!equals {amount} ADA", - "description": "Convertion hint for the \"Amount\" number input in the wallet send form.", - "end": { - "column": 3, - "line": 53 - }, - "file": "app/components/wallet/WalletSendForm.js", - "id": "wallet.send.form.amount.equalsAda", - "start": { - "column": 17, - "line": 49 - } - }, - { - "defaultMessage": "!!!Description", - "description": "Label for the \"description\" text area in the wallet send form.", - "end": { - "column": 3, - "line": 58 - }, - "file": "app/components/wallet/WalletSendForm.js", - "id": "wallet.send.form.description.label", - "start": { - "column": 20, - "line": 54 - } - }, - { - "defaultMessage": "!!!You can add a message if you want", - "description": "Hint in the \"description\" text area in the wallet send form.", - "end": { - "column": 3, - "line": 63 - }, - "file": "app/components/wallet/WalletSendForm.js", - "id": "wallet.send.form.description.hint", - "start": { - "column": 19, - "line": 59 - } - }, - { - "defaultMessage": "!!!Next", - "description": "Label for the next button on the wallet send form.", - "end": { - "column": 3, - "line": 68 - }, - "file": "app/components/wallet/WalletSendForm.js", - "id": "wallet.send.form.next", - "start": { - "column": 19, - "line": 64 - } - }, - { - "defaultMessage": "!!!Please enter a valid address.", - "description": "Error message shown when invalid address was entered.", - "end": { - "column": 3, - "line": 73 - }, - "file": "app/components/wallet/WalletSendForm.js", - "id": "wallet.send.form.errors.invalidAddress", - "start": { - "column": 18, - "line": 69 - } - }, - { - "defaultMessage": "!!!Please enter a valid amount.", - "description": "Error message shown when invalid amount was entered.", - "end": { - "column": 3, - "line": 78 - }, - "file": "app/components/wallet/WalletSendForm.js", - "id": "wallet.send.form.errors.invalidAmount", - "start": { - "column": 17, - "line": 74 - } - }, - { - "defaultMessage": "!!!Please enter a title with at least 3 characters.", - "description": "Error message shown when invalid transaction title was entered.", - "end": { - "column": 3, - "line": 83 - }, - "file": "app/components/wallet/WalletSendForm.js", - "id": "wallet.send.form.errors.invalidTitle", - "start": { - "column": 16, - "line": 79 - } - }, - { - "defaultMessage": "!!!Not enough Ada for fees. Try sending a smaller amount.", - "description": "\"Not enough Ada for fees. Try sending a smaller amount.\" error message", - "end": { - "column": 3, - "line": 88 - }, - "file": "app/components/wallet/WalletSendForm.js", - "id": "wallet.send.form.transactionFeeError", - "start": { - "column": 23, - "line": 84 - } - }, - { - "defaultMessage": "!!!Calculating fee...", - "description": "Calculating fee...", - "end": { - "column": 3, - "line": 93 - }, - "file": "app/components/wallet/WalletSendForm.js", - "id": "wallet.send.form.calculatingFee", - "start": { - "column": 18, - "line": 89 - } - }, - { - "defaultMessage": "!!!Cannot send a transaction while there is a pending one", - "description": "\"Cannot send a transaction while there is a pending one\" error message", - "end": { - "column": 3, - "line": 98 - }, - "file": "app/components/wallet/WalletSendForm.js", - "id": "wallet.send.form.sendingIsDisabled", - "start": { - "column": 21, - "line": 94 - } - } - ], - "path": "app/components/wallet/WalletSendForm.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Name", - "description": "Label for the \"Name\" text input on the wallet settings page.", - "end": { - "column": 3, - "line": 19 - }, - "file": "app/components/wallet/WalletSettings.js", - "id": "wallet.settings.name.label", - "start": { - "column": 8, - "line": 15 - } - }, - { - "defaultMessage": "!!!Password", - "description": "Label for the \"Password\" field.", - "end": { - "column": 3, - "line": 24 - }, - "file": "app/components/wallet/WalletSettings.js", - "id": "wallet.settings.password", - "start": { - "column": 17, - "line": 20 - } - }, - { - "defaultMessage": "!!!Last updated", - "description": "Last updated X time ago message.", - "end": { - "column": 3, - "line": 29 - }, - "file": "app/components/wallet/WalletSettings.js", - "id": "wallet.settings.passwordLastUpdated", - "start": { - "column": 23, - "line": 25 - } - }, - { - "defaultMessage": "!!!Export wallet", - "description": "Label for the export button on wallet settings.", - "end": { - "column": 3, - "line": 34 - }, - "file": "app/components/wallet/WalletSettings.js", - "id": "wallet.settings.exportWalletButtonLabel", - "start": { - "column": 21, - "line": 30 - } - } - ], - "path": "app/components/wallet/WalletSettings.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!change", - "description": "Label \"change\" on inline editing inputs in inactive state.", - "end": { - "column": 3, - "line": 16 - }, - "file": "app/components/widgets/forms/InlineEditingInput.js", - "id": "inline.editing.input.change.label", - "start": { - "column": 10, - "line": 12 - } - }, - { - "defaultMessage": "!!!cancel", - "description": "Label \"cancel\" on inline editing inputs in inactive state.", - "end": { - "column": 3, - "line": 21 - }, - "file": "app/components/widgets/forms/InlineEditingInput.js", - "id": "inline.editing.input.cancel.label", - "start": { - "column": 10, - "line": 17 - } - }, - { - "defaultMessage": "!!!Your changes have been saved", - "description": "Message \"Your changes have been saved\" for inline editing (eg. on Profile Settings page).", - "end": { - "column": 3, - "line": 26 - }, - "file": "app/components/widgets/forms/InlineEditingInput.js", - "id": "inline.editing.input.changesSaved", - "start": { - "column": 16, - "line": 22 - } - } - ], - "path": "app/components/widgets/forms/InlineEditingInput.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Transfer funds from Daedalus", - "description": "Transfer from Daedalus Title.", - "end": { - "column": 3, - "line": 25 - }, - "file": "app/containers/daedalusTransfer/DaedalusTransferPage.js", - "id": "daedalusTransfer.title", - "start": { - "column": 9, - "line": 21 - } - } - ], - "path": "app/containers/daedalusTransfer/DaedalusTransferPage.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!loading components", - "description": "Message \"loading components\" on the loading screen.", - "end": { - "column": 3, - "line": 16 - }, - "file": "app/containers/LoadingPage.js", - "id": "loading.screen.loading", - "start": { - "column": 11, - "line": 12 - } - } - ], - "path": "app/containers/LoadingPage.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Language Select", - "description": "Language Select Title.", - "end": { - "column": 3, - "line": 15 - }, - "file": "app/containers/profile/LanguageSelectionPage.js", - "id": "profile.languageSelect.title", - "start": { - "column": 9, - "line": 11 - } - } - ], - "path": "app/containers/profile/LanguageSelectionPage.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Terms Of Use", - "description": "Terms of Use Title.", - "end": { - "column": 3, - "line": 15 - }, - "file": "app/containers/profile/TermsOfUsePage.js", - "id": "profile.termsOfUse.title", - "start": { - "column": 9, - "line": 11 - } - } - ], - "path": "app/containers/profile/TermsOfUsePage.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!General Settings", - "description": "General Settings Title.", - "end": { - "column": 3, - "line": 18 - }, - "file": "app/containers/settings/Settings.js", - "id": "settings.general.title", - "start": { - "column": 9, - "line": 14 - } - } - ], - "path": "app/containers/settings/Settings.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Add Wallet", - "description": "Add Wallet Title.", - "end": { - "column": 3, - "line": 26 - }, - "file": "app/containers/wallet/WalletAddPage.js", - "id": "wallet.add.page.title", - "start": { - "column": 9, - "line": 22 - } - } - ], - "path": "app/containers/wallet/WalletAddPage.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!You have successfully copied wallet address", - "description": "Message for the wallet address copy success notification.", - "end": { - "column": 3, - "line": 18 - }, - "file": "app/containers/wallet/WalletReceivePage.js", - "id": "wallet.receive.page.addressCopyNotificationMessage", - "start": { - "column": 11, - "line": 14 - } - } - ], - "path": "app/containers/wallet/WalletReceivePage.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!No recent transactions", - "description": "Message shown when wallet has no transactions on wallet summary page.", - "end": { - "column": 3, - "line": 23 - }, - "file": "app/containers/wallet/WalletSummaryPage.js", - "id": "wallet.summary.no.transactions", - "start": { - "column": 18, - "line": 18 - } - }, - { - "defaultMessage": "!!!No transactions found", - "description": "Message shown when wallet transaction search returns zero results.", - "end": { - "column": 3, - "line": 28 - }, - "file": "app/containers/wallet/WalletSummaryPage.js", - "id": "wallet.summary.no.transaction", - "start": { - "column": 23, - "line": 24 - } - } - ], - "path": "app/containers/wallet/WalletSummaryPage.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!This field is required.", - "description": "Error message when required fields are left empty.", - "end": { - "column": 3, - "line": 8 - }, - "file": "app/i18n/global-messages.js", - "id": "global.errors.fieldIsRequired", - "start": { - "column": 19, - "line": 4 - } - }, - { - "defaultMessage": "!!!Wallet name requires at least 3 and at most 40 letters.", - "description": "Error message shown when invalid wallet name was entered in create wallet dialog.", - "end": { - "column": 3, - "line": 13 - }, - "file": "app/i18n/global-messages.js", - "id": "global.errors.invalidWalletName", - "start": { - "column": 21, - "line": 9 - } - }, - { - "defaultMessage": "!!!Invalid password", - "description": "Error message shown when invalid wallet password was entered in create wallet dialog.", - "end": { - "column": 3, - "line": 18 - }, - "file": "app/i18n/global-messages.js", - "id": "global.errors.invalidWalletPassword", - "start": { - "column": 25, - "line": 14 - } - }, - { - "defaultMessage": "!!!Doesn't match.", - "description": "Error message shown when wallet password and repeat passwords don't match in create wallet dialog.", - "end": { - "column": 3, - "line": 23 - }, - "file": "app/i18n/global-messages.js", - "id": "global.errors.invalidRepeatPassword", - "start": { - "column": 25, - "line": 19 - } - }, - { - "defaultMessage": "!!!Note that password needs to be at least 7 characters long, and have at least 1 uppercase, 1 lowercase letter and 1 number.", - "description": "Password instructions note.", - "end": { - "column": 3, - "line": 28 - }, - "file": "app/i18n/global-messages.js", - "id": "global.passwordInstructions", - "start": { - "column": 24, - "line": 24 - } - }, - { - "defaultMessage": "!!!Cancel", - "description": "The word \"cancel\" reused at several places (like cancel buttons)", - "end": { - "column": 3, - "line": 33 - }, - "file": "app/i18n/global-messages.js", - "id": "global.labels.cancel", - "start": { - "column": 10, - "line": 29 - } - }, - { - "defaultMessage": "!!!Change", - "description": "The word \"change\" reused at several places (like change buttons)", - "end": { - "column": 3, - "line": 38 - }, - "file": "app/i18n/global-messages.js", - "id": "global.labels.change", - "start": { - "column": 10, - "line": 34 - } - }, - { - "defaultMessage": "!!!Create", - "description": "The word \"create\" reused at several places (like create buttons)", - "end": { - "column": 3, - "line": 43 - }, - "file": "app/i18n/global-messages.js", - "id": "global.labels.create", - "start": { - "column": 10, - "line": 39 - } - }, - { - "defaultMessage": "!!!Remove", - "description": "The word \"remove\" reused at several places (like remove buttons)", - "end": { - "column": 3, - "line": 48 - }, - "file": "app/i18n/global-messages.js", - "id": "global.labels.remove", - "start": { - "column": 10, - "line": 44 - } - }, - { - "defaultMessage": "!!!Save", - "description": "The word \"save\" reused at several places (like save buttons)", - "end": { - "column": 3, - "line": 53 - }, - "file": "app/i18n/global-messages.js", - "id": "global.labels.save", - "start": { - "column": 8, - "line": 49 - } - }, - { - "defaultMessage": "!!!English", - "description": "Language name for \"English\" language.", - "end": { - "column": 3, - "line": 58 - }, - "file": "app/i18n/global-messages.js", - "id": "global.language.english", - "start": { - "column": 19, - "line": 54 - } - }, - { - "defaultMessage": "!!!Japanese", - "description": "Language name for \"Japanese\" language.", - "end": { - "column": 3, - "line": 63 - }, - "file": "app/i18n/global-messages.js", - "id": "global.language.japanese", - "start": { - "column": 20, - "line": 59 - } - }, - { - "defaultMessage": "!!!Chinese Simplified", - "description": "Language name for \"Simplified Chinese\" language.", - "end": { - "column": 3, - "line": 68 - }, - "file": "app/i18n/global-messages.js", - "id": "global.language.chinese.simplified", - "start": { - "column": 29, - "line": 64 - } - }, - { - "defaultMessage": "!!!Chinese Traditional", - "description": "Language name for \"Traditional Chinese\" language.", - "end": { - "column": 3, - "line": 73 - }, - "file": "app/i18n/global-messages.js", - "id": "global.language.chinese.traditional", - "start": { - "column": 30, - "line": 69 - } - }, - { - "defaultMessage": "!!!Korean", - "description": "Language name for \"Korean\" language.", - "end": { - "column": 3, - "line": 78 - }, - "file": "app/i18n/global-messages.js", - "id": "global.language.korean", - "start": { - "column": 18, - "line": 74 - } - }, - { - "defaultMessage": "!!!German", - "description": "Language name for \"German\" language.", - "end": { - "column": 3, - "line": 83 - }, - "file": "app/i18n/global-messages.js", - "id": "global.language.german", - "start": { - "column": 18, - "line": 79 - } - }, - { - "defaultMessage": "!!!Croatian", - "description": "Language name for \"Croatian\" language.", - "end": { - "column": 3, - "line": 88 - }, - "file": "app/i18n/global-messages.js", - "id": "global.language.croatian", - "start": { - "column": 20, - "line": 84 - } - }, - { - "defaultMessage": "!!!Ada", - "description": "Name for \"Ada\" unit.", - "end": { - "column": 3, - "line": 93 - }, - "file": "app/i18n/global-messages.js", - "id": "global.unit.ada", - "start": { - "column": 11, - "line": 89 - } - }, - { - "defaultMessage": "!!!Recovery phrase", - "description": "Title for the \"Recovery Phrase\" dialog.", - "end": { - "column": 3, - "line": 98 - }, - "file": "app/i18n/global-messages.js", - "id": "wallet.backup.recovery.phrase.dialog.title", - "start": { - "column": 29, - "line": 94 - } - }, - { - "defaultMessage": "!!!Ada", - "description": "Name for \"Ada\" unit.", - "end": { - "column": 5, - "line": 107 - }, - "file": "app/i18n/global-messages.js", - "id": "environment.currency.ada", - "start": { - "column": 14, - "line": 103 - } - }, - { - "defaultMessage": "!!!Cardano", - "description": "Name for \"Cardano\" client.", - "end": { - "column": 5, - "line": 112 - }, - "file": "app/i18n/global-messages.js", - "id": "environment.apiName.cardano", - "start": { - "column": 13, - "line": 108 - } - }, - { - "defaultMessage": "!!!1.0.4", - "description": "Version of \"Cardano\" client.", - "end": { - "column": 5, - "line": 117 - }, - "file": "app/i18n/global-messages.js", - "id": "environment.apiVersion.cardano", - "start": { - "column": 16, - "line": 113 - } - } - ], - "path": "app/i18n/global-messages.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Unknow error.", - "description": "Unknow error message.", - "end": { - "column": 3, - "line": 10 - }, - "file": "app/i18n/LocalizableError.js", - "id": "app.errors.unknowError", - "start": { - "column": 15, - "line": 6 - } - } - ], - "path": "app/i18n/LocalizableError.json" - }, - { - "descriptors": [ - { - "defaultMessage": "!!!Unable to transfer funds.", - "description": "\"Unable to transfer funds.\" error message", - "end": { - "column": 3, - "line": 200 - }, - "file": "app/stores/ada/DaedalusTransferStore.js", - "id": "daedalusTransfer.error.transferFundsError", - "start": { - "column": 22, - "line": 196 - } - }, - { - "defaultMessage": "!!!There is no transfer transaction to send.", - "description": "\"There is no transfer transaction to send.\" error message", - "end": { - "column": 3, - "line": 205 - }, - "file": "app/stores/ada/DaedalusTransferStore.js", - "id": "daedalusTransfer.error.noTransferTxError", - "start": { - "column": 21, - "line": 201 - } - }, - { - "defaultMessage": "!!!Error while restoring blockchain addresses", - "description": "Any reason why the websocket transferring could failed", - "end": { - "column": 3, - "line": 210 - }, - "file": "app/stores/ada/DaedalusTransferStore.js", - "id": "daedalusTransfer.error.webSocketRestoreError", - "start": { - "column": 25, - "line": 206 - } - } - ], - "path": "app/stores/ada/DaedalusTransferStore.json" - } -] \ No newline at end of file diff --git a/package.json b/package.json index a30fbd51ec..35001815a5 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "build-dll": "rimraf ./dll && webpack --config=webpack/dll.config.js", "build-js-cardano-wasm": "./setup_cardano_crypto.sh", "manage-translations": "node ./translations/translation-runner.js", - "purge-translations": "rm -rf ./translations/messages/app" + "purge-translations": "rm -rf ./translations/messages" }, "repository": { "type": "git", diff --git a/translations/translation-runner.js b/translations/translation-runner.js index 53d8a28005..21f65a9a7a 100644 --- a/translations/translation-runner.js +++ b/translations/translation-runner.js @@ -13,7 +13,6 @@ function disableWhitelistFile(langResults) { manageTranslations({ messagesDirectory: 'translations/messages', translationsDirectory: 'app/i18n/locales', - singleMessagesFile: true, languages: ['en-US', 'zh-Hans', 'zh-Hant', 'ko-KR', 'ja-JP'], overrideCoreMethods: { provideWhitelistFile: (langResults) => { disableWhitelistFile(langResults); }