diff --git a/CHANGELOG.md b/CHANGELOG.md index 14c70e0fa0..2ad1d72039 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ Changelog ### Features +- Implemented a handle for the 'transaction is too big' transaction error ([PR 1308](https://github.com/input-output-hk/daedalus/pull/1308)) - Structured the Daedalus logs in the same format as the Cardano logs, which follows the structured logging specification ([PR 1299](https://github.com/input-output-hk/daedalus/pull/1299)) - Implemented an extra explanation line in the Create Paper Wallet Certificate dialog ([PR 1309](https://github.com/input-output-hk/daedalus/pull/1309)) - Improve performance of rendering huge lists of transactions and addresses ([PR 1276](https://github.com/input-output-hk/daedalus/pull/1276), [PR 1303](https://github.com/input-output-hk/daedalus/pull/1303), [PR 1305](https://github.com/input-output-hk/daedalus/pull/1305), ([PR 1306](https://github.com/input-output-hk/daedalus/pull/1306))) diff --git a/source/renderer/app/api/api.js b/source/renderer/app/api/api.js index b12f76cfbc..bc95b15db7 100644 --- a/source/renderer/app/api/api.js +++ b/source/renderer/app/api/api.js @@ -146,7 +146,8 @@ import { NotEnoughFundsForTransactionFeesError, NotEnoughFundsForTransactionError, NotEnoughMoneyToSendError, - RedeemAdaError + RedeemAdaError, + TooBigTransactionError, } from './transactions/errors'; import type { FaultInjectionIpcRequest } from '../../../common/types/cardano-node.types'; @@ -390,6 +391,9 @@ export default class AdaApi { if (error.message === 'CannotCreateAddress') { throw new IncorrectSpendingPasswordError(); } + if (error.message === 'TooBigTransaction') { + throw new TooBigTransactionError(); + } throw new GenericApiError(); } }; @@ -455,6 +459,9 @@ export default class AdaApi { throw new NotEnoughFundsForTransactionError(); } } + if (error.message === 'TooBigTransaction') { + throw new TooBigTransactionError(); + } throw new GenericApiError(); } }; diff --git a/source/renderer/app/api/transactions/errors.js b/source/renderer/app/api/transactions/errors.js index 44595de024..3ee82644a9 100644 --- a/source/renderer/app/api/transactions/errors.js +++ b/source/renderer/app/api/transactions/errors.js @@ -9,8 +9,8 @@ const messages = defineMessages({ }, notAllowedToSendMoneyToRedeemAddressError: { id: 'api.errors.NotAllowedToSendMoneyToRedeemAddressError', - defaultMessage: '!!!It is not allowed to send money to Ada redemption address.', - description: '"It is not allowed to send money to Ada redemption address." error message.' + defaultMessage: '!!!It is not allowed to send money to ada redemption address.', + description: '"It is not allowed to send money to ada redemption address." error message.' }, notEnoughMoneyToSendError: { id: 'api.errors.NotEnoughMoneyToSendError', @@ -29,19 +29,35 @@ const messages = defineMessages({ }, notEnoughFundsForTransactionFeesError: { id: 'api.errors.NotEnoughFundsForTransactionFeesError', - defaultMessage: '!!!Not enough Ada for fees. Try sending a smaller amount.', - description: '"Not enough Ada for fees. Try sending a smaller amount." error message' + defaultMessage: '!!!Not enough ada for fees. Try sending a smaller amount.', + description: '"Not enough ada for fees. Try sending a smaller amount." error message' }, notEnoughFundsForTransactionError: { id: 'api.errors.NotEnoughFundsForTransactionError', - defaultMessage: '!!!Not enough Ada. Try sending a smaller amount.', - description: '"Not enough Ada. Try sending a smaller amount." error message' + defaultMessage: '!!!Not enough ada . Try sending a smaller amount.', + description: '"Not enough ada . Try sending a smaller amount." error message' }, canNotCalculateTransactionFeesError: { id: 'api.errors.CanNotCalculateTransactionFeesError', defaultMessage: '!!!Cannot calculate fees while there are pending transactions.', description: '"Cannot calculate fees while there are pending transactions." error message' }, + tooBigTransactionError: { + id: 'api.errors.TooBigTransactionError', + defaultMessage: '!!!Amount too big due to wallet fragmentation.', + description: '"Amount too big due to wallet fragmentation" error message.' + }, + tooBigTransactionErrorLinkLabel: { + id: 'api.errors.TooBigTransactionErrorLinkLabel', + defaultMessage: '!!!Learn more.', + description: '"Amount too big due to wallet fragmentation" error link label.' + }, + tooBigTransactionErrorLinkURL: { + id: 'api.errors.TooBigTransactionErrorLinkURL', + defaultMessage: '!!!https://iohk.zendesk.com/hc/en-us/articles/360017733353', + description: '"Amount too big due to wallet fragmentation" error link URL.' + }, + }); export class NotAllowedToSendMoneyToSameAddressError extends LocalizableError { @@ -115,3 +131,16 @@ export class CanNotCalculateTransactionFeesError extends LocalizableError { }); } } + +export class TooBigTransactionError extends LocalizableError { + constructor() { + super({ + id: messages.tooBigTransactionError.id, + defaultMessage: messages.tooBigTransactionError.defaultMessage, + values: { + linkLabel: messages.tooBigTransactionErrorLinkLabel, + linkURL: messages.tooBigTransactionErrorLinkURL, + } + }); + } +} diff --git a/source/renderer/app/components/wallet/WalletSendConfirmationDialog.js b/source/renderer/app/components/wallet/WalletSendConfirmationDialog.js index 09d467bc2b..186cffd44e 100644 --- a/source/renderer/app/components/wallet/WalletSendConfirmationDialog.js +++ b/source/renderer/app/components/wallet/WalletSendConfirmationDialog.js @@ -13,6 +13,7 @@ import LocalizableError from '../../i18n/LocalizableError'; import styles from './WalletSendConfirmationDialog.scss'; import { FORM_VALIDATION_DEBOUNCE_WAIT } from '../../config/timingConfig'; import { submitOnEnter } from '../../utils/form'; +import { FormattedHTMLMessageWithLink } from '../widgets/FormattedHTMLMessageWithLink'; export const messages = defineMessages({ dialogTitle: { @@ -73,6 +74,7 @@ type Props = { onSubmit: Function, amountToNaturalUnits: (amountWithFractions: string) => string, onCancel: Function, + onExternalLinkClick: Function, isSubmitting: boolean, error: ?LocalizableError, currencyUnit: string, @@ -138,7 +140,8 @@ export default class WalletSendConfirmationDialog extends Component { transactionFee, isSubmitting, error, - currencyUnit + currencyUnit, + onExternalLinkClick } = this.props; const confirmButtonClasses = classnames([ @@ -160,6 +163,19 @@ export default class WalletSendConfirmationDialog extends Component { }, ]; + let errorElement = null; + if (error) { + const errorHasLink = !!error.values.linkLabel; + errorElement = errorHasLink + ? ( + + ) + : this.context.intl.formatMessage(error); + } + return ( { ) : null} - {error ?

{intl.formatMessage(error)}

: null} + {errorElement ?

{errorElement}

: null}
); diff --git a/source/renderer/app/components/wallet/WalletSendForm.js b/source/renderer/app/components/wallet/WalletSendForm.js index 8d56edffc1..a78abee669 100755 --- a/source/renderer/app/components/wallet/WalletSendForm.js +++ b/source/renderer/app/components/wallet/WalletSendForm.js @@ -1,5 +1,6 @@ // @flow import React, { Component } from 'react'; +import type { Node } from 'react'; import { observer } from 'mobx-react'; import classnames from 'classnames'; import { Button } from 'react-polymorph/lib/components/Button'; @@ -20,6 +21,7 @@ import WalletSendConfirmationDialog from './WalletSendConfirmationDialog'; import WalletSendConfirmationDialogContainer from '../../containers/wallet/dialogs/WalletSendConfirmationDialogContainer'; import { formattedAmountToBigNumber, formattedAmountToNaturalUnits, formattedAmountToLovelace } from '../../utils/formatters'; import { FORM_VALIDATION_DEBOUNCE_WAIT } from '../../config/timingConfig'; +import { FormattedHTMLMessageWithLink } from '../widgets/FormattedHTMLMessageWithLink'; export const messages = defineMessages({ titleLabel: { @@ -47,11 +49,6 @@ export const messages = defineMessages({ defaultMessage: '!!!Amount', description: 'Label for the "Amount" number input in the wallet send form.' }, - equalsAdaHint: { - id: 'wallet.send.form.amount.equalsAda', - defaultMessage: '!!!equals {amount} ADA', - description: 'Convertion hint for the "Amount" number input in the wallet send form.' - }, descriptionLabel: { id: 'wallet.send.form.description.label', defaultMessage: '!!!Description', @@ -100,13 +97,14 @@ type Props = { addressValidator: Function, openDialogAction: Function, isDialogOpen: Function, + onExternalLinkClick?: Function, isRestoreActive: boolean, }; type State = { isTransactionFeeCalculated: boolean, transactionFee: BigNumber, - transactionFeeError: ?string, + transactionFeeError: ?string | ?Node, }; @observer @@ -216,7 +214,7 @@ export default class WalletSendForm extends Component { const { intl } = this.context; const { currencyUnit, currencyMaxIntegerDigits, currencyMaxFractionalDigits, - isDialogOpen, isRestoreActive, + isDialogOpen, isRestoreActive, onExternalLinkClick } = this.props; const { isTransactionFeeCalculated, transactionFee, transactionFeeError } = this.state; const amountField = form.$('amount'); @@ -305,6 +303,7 @@ export default class WalletSendForm extends Component { transactionFee={fees} amountToNaturalUnits={formattedAmountToNaturalUnits} currencyUnit={currencyUnit} + onExternalLinkClick={onExternalLinkClick} /> ) : null} @@ -335,12 +334,21 @@ export default class WalletSendForm extends Component { }); } } catch (error) { + const errorHasLink = !!error.values.linkLabel; + const transactionFeeError = errorHasLink + ? ( + + ) + : this.context.intl.formatMessage(error); if (this._isMounted) { this._isCalculatingFee = false; this.setState({ isTransactionFeeCalculated: false, transactionFee: new BigNumber(0), - transactionFeeError: this.context.intl.formatMessage(error), + transactionFeeError, }); } } diff --git a/source/renderer/app/components/wallet/WalletSendForm.scss b/source/renderer/app/components/wallet/WalletSendForm.scss index c3ead04193..4986416647 100755 --- a/source/renderer/app/components/wallet/WalletSendForm.scss +++ b/source/renderer/app/components/wallet/WalletSendForm.scss @@ -13,6 +13,7 @@ } } + .syncingTransactionsText { color: var(--theme-transactions-list-group-date-color); font-family: var(--font-regular); @@ -28,6 +29,12 @@ .receiverInput { position: relative; margin-bottom: 20px; + + :global { + .SimpleFormField_error a { + color: var(--rp-formfield-error-text-color, rgba(222, 50, 38, 0.5)); + } + } } .adaLabel { diff --git a/source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js b/source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js index 9a99dc129c..77f4d30aae 100644 --- a/source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js +++ b/source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js @@ -36,41 +36,28 @@ const messages = defineMessages({ }, instructionsRegular: { id: 'wallet.redeem.dialog.instructions.regular', - defaultMessage: `!!!

To redeem your Ada, upload your certificate or copy and paste your redemption code from the certificate. -Below is an example of a redemption key. Your key will look similar:

-

B_GQOAffMBeRIn6vh1hJmeOT3ViS_TmaT4XAHAfDVH0=

-

If you upload a PDF file with your certificate, a redemption code will be automatically extracted.

-

If you upload an encrypted certificate, you will need to provide a {adaRedemptionPassphraseLength} word mnemonic -passphrase to decrypt your certificate and your redemption code will be automatically extracted.

`, - description: 'Detailed instructions for redeeming Ada from the regular vending', + defaultMessage: '!!!

To redeem your ada, upload your certificate or copy and paste your redemption code from the certificate. Below is an example of a redemption key. Your key will look similar:

B_GQOAffMBeRIn6vh1hJmeOT3ViS_TmaT4XAHAfDVH0=

If you upload a PDF file with your certificate, a redemption code will be automatically extracted.

If you upload an encrypted certificate, you will need to provide a {adaRedemptionPassphraseLength} word mnemonic passphrase to decrypt your certificate and your redemption code will be automatically extracted.

', + description: 'Detailed instructions for redeeming ada from the regular vending', }, instructionsForceVended: { id: 'wallet.redeem.dialog.instructions.forceVended', - defaultMessage: `!!!

To redeem your Ada, upload your certificate or copy and paste your redemption code from the certificate. -Below is an example of a redemption key. Your key will look similar:

B_GQOAffMBeRIn6vh1hJmeOT3ViS_TmaT4XAHAfDVH0=

-

If you upload a PDF file with your certificate, the redemption code will be automatically extracted.

-

If you upload an encrypted certificate, you will need to provide your email address, Ada passcode and Ada amount -to decrypt your certificate and your redemption code will be automatically extracted.

`, - description: 'Detailed instructions for redeeming Ada from the force vending', + defaultMessage: '!!!

To redeem your ada, upload your certificate or copy and paste your redemption code from the certificate. Below is an example of a redemption key. Your key will look similar:

B_GQOAffMBeRIn6vh1hJmeOT3ViS_TmaT4XAHAfDVH0=

If you upload a PDF file with your certificate, the redemption code will be automatically extracted.

If you upload an encrypted certificate, you will need to provide your email address, ada passcode and ada amount to decrypt your certificate and your redemption code will be automatically extracted.

', + description: 'Detailed instructions for redeeming ada from the force vending', }, instructionsRecoveryRegular: { id: 'wallet.redeem.dialog.instructions.recoveryRegular', - defaultMessage: `!!!

To redeem your Ada using the regularly vended certificate from the recovery service, please upload your encrypted certificate and enter a {adaRedemptionPassphraseLength}-word mnemonic passphrase.

- >After you upload your encrypted certificate and enter your {adaRedemptionPassphraseLength}-word mnemonic passphrase, your redemption key will be automatically extracted and you will be able to redeem your Ada to the selected wallet.

`, - description: 'Detailed instructions for redeeming Ada from the regular vending via Recovery service', + defaultMessage: '!!!

To redeem your ada using the regularly vended certificate from the recovery service, please upload your encrypted certificate and enter a {adaRedemptionPassphraseLength}-word mnemonic passphrase.

After you upload your encrypted certificate and enter your {adaRedemptionPassphraseLength}-word mnemonic passphrase, your redemption key will be automatically extracted and you will be able to redeem your ada to the selected wallet.

', + description: 'Detailed instructions for redeeming ada from the regular vending via Recovery service', }, instructionsRecoveryForceVended: { id: 'wallet.redeem.dialog.instructions.recoveryForceVended', - defaultMessage: `!!!

To redeem your Ada using the force vended certificate from the recovery service, please upload your encrypted certificate and enter the decryption key. Your decryption key should look like this:

- >qXQWDxI3JrlFRtC4SeQjeGzLbVXWBomYPbNO1Vfm1T4=

- >After you upload your encrypted certificate and enter your decryption key, your redemption key will be automatically extracted and you will be able to redeem your Ada to the selected wallet.

`, - description: 'Detailed instructions for redeeming Ada from the force vending via Recovery service', + defaultMessage: '!!!

To redeem your ada using the force vended certificate from the recovery service, please upload your encrypted certificate and enter the decryption key. Your decryption key should look like this:

qXQWDxI3JrlFRtC4SeQjeGzLbVXWBomYPbNO1Vfm1T4=

After you upload your encrypted certificate and enter your decryption key, your redemption key will be automatically extracted and you will be able to redeem your ada to the selected wallet.

', + description: 'Detailed instructions for redeeming ada from the force vending via Recovery service', }, instructionsPaperVended: { id: 'wallet.redeem.dialog.instructions.paperVended', - defaultMessage: `!!!

To redeem your Ada, enter your shielded vending key from the certificate, choose a wallet -where Ada should be redeemed and enter {adaRedemptionPassphraseLength} word mnemonic passphrase.

`, - description: 'Detailed instructions for redeeming Ada from the paper vending', + defaultMessage: '!!!

To redeem your ada, enter your shielded vending key from the certificate, choose a wallet where ada should be redeemed and enter {adaRedemptionPassphraseLength} word mnemonic passphrase.

', + description: 'Detailed instructions for redeeming ada from the paper vending', }, certificateLabel: { id: 'wallet.redeem.dialog.certificateLabel', @@ -85,12 +72,12 @@ where Ada should be redeemed and enter {adaRedemptionPassphraseLength} word mnem walletSelectLabel: { id: 'wallet.redeem.dialog.walletSelectLabel', defaultMessage: '!!!Choose Wallet', - description: 'Label for the wallet select field on Ada redemption form' + description: 'Label for the wallet select field on ada redemption form' }, passphraseLabel: { id: 'wallet.redeem.dialog.passphraseLabel', - defaultMessage: '!!!Passphrase to Decrypt the Ada Voucher Certificate', - description: 'Label for the passphrase to decrypt Ada voucher certificate input' + defaultMessage: '!!!Passphrase to Decrypt the ada Voucher Certificate', + description: 'Label for the passphrase to decrypt ada voucher certificate input' }, passphraseHint: { id: 'wallet.redeem.dialog.passphraseHint', @@ -150,7 +137,7 @@ where Ada should be redeemed and enter {adaRedemptionPassphraseLength} word mnem submitLabel: { id: 'wallet.redeem.dialog.submitLabel', defaultMessage: '!!!Redeem your money', - description: 'Label for the "Ada redemption" dialog submit button.' + description: 'Label for the "Redeem your money" dialog submit button.' }, emailLabel: { id: 'wallet.redeem.dialog.emailLabel', @@ -169,8 +156,8 @@ where Ada should be redeemed and enter {adaRedemptionPassphraseLength} word mnem }, adaPasscodeHint: { id: 'wallet.redeem.dialog.adaPasscodeHint', - defaultMessage: '!!!Enter your Ada passcode', - description: 'Hint for the Ada passcode input field.' + defaultMessage: '!!!Enter your ada passcode', + description: 'Hint for the ada passcode input field.' }, adaAmountLabel: { id: 'wallet.redeem.dialog.adaAmountLabel', @@ -179,8 +166,8 @@ where Ada should be redeemed and enter {adaRedemptionPassphraseLength} word mnem }, adaAmountHint: { id: 'wallet.redeem.dialog.adaAmountHint', - defaultMessage: '!!!Enter your Ada amount', - description: 'Hint for the Ada amount input field.' + defaultMessage: '!!!Enter your ada amount', + description: 'Hint for the ada amount input field.' }, spendingPasswordPlaceholder: { id: 'wallet.redeem.dialog.spendingPasswordPlaceholder', diff --git a/source/renderer/app/components/widgets/FormattedHTMLMessageWithLink.js b/source/renderer/app/components/widgets/FormattedHTMLMessageWithLink.js new file mode 100644 index 0000000000..7367f7d826 --- /dev/null +++ b/source/renderer/app/components/widgets/FormattedHTMLMessageWithLink.js @@ -0,0 +1,63 @@ +// @flow +import React, { Component, Fragment } from 'react'; +import { intlShape } from 'react-intl'; +import type { ReactIntlMessageShape } from '../../i18n/types'; + +type ReactIntlMessageShapeWithLink = { + ...ReactIntlMessageShape, + values: { + linkPosition?: string, + linkLabel: string, + linkURL: string, + } +} + +type Props = { + message: ReactIntlMessageShapeWithLink, + onExternalLinkClick: Function, +}; + +export class FormattedHTMLMessageWithLink extends Component { + + static contextTypes = { + intl: intlShape.isRequired, + }; + + render() { + + const { intl } = this.context; + const { message, onExternalLinkClick } = this.props; + const { linkPosition, linkLabel, linkURL } = message.values; + + const MainMessage = ( + +  {intl.formatMessage(message)}  + + ); + const url = intl.formatMessage(linkURL); + const Link = ( + + onExternalLinkClick(url, event)} + > + {intl.formatMessage(linkLabel)} + + + ); + + return (linkPosition === 'before') + ? [ + Link, + MainMessage, + ] + : [ + MainMessage, + Link, + ]; + } +} diff --git a/source/renderer/app/containers/wallet/WalletSendPage.js b/source/renderer/app/containers/wallet/WalletSendPage.js index 29bda0c6f6..8731b0c176 100755 --- a/source/renderer/app/containers/wallet/WalletSendPage.js +++ b/source/renderer/app/containers/wallet/WalletSendPage.js @@ -22,7 +22,7 @@ export default class WalletSendPage extends Component { render() { const { intl } = this.context; - const { uiDialogs, wallets, transactions } = this.props.stores; + const { uiDialogs, wallets, transactions, app } = this.props.stores; const { actions } = this.props; const { isValidAddress } = wallets; const { calculateTransactionFee, validateAmount } = transactions; @@ -46,6 +46,7 @@ export default class WalletSendPage extends Component { isDialogOpen={uiDialogs.isOpen} openDialogAction={actions.dialogs.open.trigger} isRestoreActive={isRestoreActive} + onExternalLinkClick={app.openExternalLink} /> ); } diff --git a/source/renderer/app/containers/wallet/dialogs/WalletSendConfirmationDialogContainer.js b/source/renderer/app/containers/wallet/dialogs/WalletSendConfirmationDialogContainer.js index f1d1dc0d24..2f21bf7a58 100644 --- a/source/renderer/app/containers/wallet/dialogs/WalletSendConfirmationDialogContainer.js +++ b/source/renderer/app/containers/wallet/dialogs/WalletSendConfirmationDialogContainer.js @@ -14,6 +14,7 @@ type Props = { transactionFee: ?string, amountToNaturalUnits: (amountWithFractions: string) => string, currencyUnit: string, + onExternalLinkClick: Function, }; @inject('actions', 'stores') @observer @@ -27,8 +28,8 @@ export default class WalletSendConfirmationDialogContainer extends Component ); } diff --git a/source/renderer/app/i18n/LocalizableError.js b/source/renderer/app/i18n/LocalizableError.js index f49bf0c19c..adb6ae83af 100644 --- a/source/renderer/app/i18n/LocalizableError.js +++ b/source/renderer/app/i18n/LocalizableError.js @@ -1,11 +1,7 @@ // @flow import ExtendableError from 'es6-error'; -type ReactIntlMessageShape = { - id: string, - defaultMessage: string, - values?: Object -}; +import type { ReactIntlMessageShape } from './types'; export default class LocalizableError extends ExtendableError { constructor({ id, defaultMessage, values = {} }: ReactIntlMessageShape) { diff --git a/source/renderer/app/i18n/errors.js b/source/renderer/app/i18n/errors.js index b3fbe60b07..6f7b2867d4 100644 --- a/source/renderer/app/i18n/errors.js +++ b/source/renderer/app/i18n/errors.js @@ -13,7 +13,7 @@ export class AdaRedemptionCertificateParseError extends LocalizableError { constructor() { super({ id: 'global.errors.AdaRedemptionCertificateParseError', - defaultMessage: '!!!The ADA redemption code could not be parsed from the given document.', + defaultMessage: '!!!The ada redemption code could not be parsed from the given document.', }); } } @@ -22,7 +22,7 @@ export class AdaRedemptionEncryptedCertificateParseError extends LocalizableErro constructor() { super({ id: 'global.errors.AdaRedemptionEncryptedCertificateParseError', - defaultMessage: '!!!The ADA redemption code could not be parsed, please check your passphrase.', + defaultMessage: '!!!The ada redemption code could not be parsed, please check your passphrase.', }); } } diff --git a/source/renderer/app/i18n/global-messages.js b/source/renderer/app/i18n/global-messages.js index 1c528c4a34..2876162ceb 100644 --- a/source/renderer/app/i18n/global-messages.js +++ b/source/renderer/app/i18n/global-messages.js @@ -23,12 +23,12 @@ export default defineMessages({ }, invalidAdaRedemptionCertificate: { id: 'global.errors.AdaRedemptionCertificateParseError', - defaultMessage: '!!!The ADA redemption code could not be parsed from the given document.', + defaultMessage: '!!!The ada redemption code could not be parsed from the given document.', description: 'Error message shown when invalid Ada redemption certificate was uploaded.', }, invalidAdaRedemptionEncryptedCertificate: { id: 'global.errors.AdaRedemptionEncryptedCertificateParseError', - defaultMessage: '!!!The ADA redemption code could not be parsed, please check your passphrase.', + defaultMessage: '!!!The ada redemption code could not be parsed, please check your passphrase.', description: 'Error message shown when invalid Ada redemption encrypted certificate was uploaded.', }, invalidWalletName: { @@ -118,8 +118,8 @@ export default defineMessages({ }, unitAda: { id: 'global.unit.ada', - defaultMessage: '!!!Ada', - description: 'Name for "Ada" unit.' + defaultMessage: '!!!ADA', + description: 'Name for "ADA" unit.' }, recoveryPhraseDialogTitle: { id: 'wallet.backup.recovery.phrase.dialog.title', diff --git a/source/renderer/app/i18n/locales/de-DE.json b/source/renderer/app/i18n/locales/de-DE.json index 02c650b056..da40081cd2 100644 --- a/source/renderer/app/i18n/locales/de-DE.json +++ b/source/renderer/app/i18n/locales/de-DE.json @@ -14,6 +14,9 @@ "api.errors.NotEnoughMoneyToSendError": "!!!Not enough money to make this transaction.", "api.errors.RedeemAdaError": "!!!Your ADA could not be redeemed correctly.", "api.errors.ReportRequestError": "!!!There was a problem sending the support request.", + "api.errors.TooBigTransactionError": "!!!Too many input addresses need to be selected. Try sending a smaller amount.", + "api.errors.TooBigTransactionErrorLinkLabel": "!!!Learn more.", + "api.errors.TooBigTransactionErrorLinkURL": "!!!https://iohk.zendesk.com/hc/en-us/articles/360017733353", "api.errors.WalletAlreadyImportedError": "!!!Wallet you are trying to import already exists.", "api.errors.WalletAlreadyRestoredError": "!!!Wallet you are trying to restore already exists.", "api.errors.WalletFileImportError": "!!!Wallet could not be imported, please make sure you are providing a correct file.", @@ -314,7 +317,6 @@ "wallet.send.confirmationDialog.submit": "!!!Send", "wallet.send.confirmationDialog.title": "!!!Confirm transaction", "wallet.send.confirmationDialog.totalLabel": "!!!Total", - "wallet.send.form.amount.equalsAda": "!!!equals {amount} ADA", "wallet.send.form.amount.label": "Betrag", "wallet.send.form.description.hint": "Hier können sie optional eine Beschreibung hinzufügen.", "wallet.send.form.description.label": "Beschreibung", diff --git a/source/renderer/app/i18n/locales/defaultMessages.json b/source/renderer/app/i18n/locales/defaultMessages.json index 3720f7be0f..68e9bf91f5 100644 --- a/source/renderer/app/i18n/locales/defaultMessages.json +++ b/source/renderer/app/i18n/locales/defaultMessages.json @@ -91,8 +91,8 @@ } }, { - "defaultMessage": "!!!It is not allowed to send money to Ada redemption address.", - "description": "\"It is not allowed to send money to Ada redemption address.\" error message.", + "defaultMessage": "!!!It is not allowed to send money to ada redemption address.", + "description": "\"It is not allowed to send money to ada redemption address.\" error message.", "end": { "column": 3, "line": 14 @@ -147,8 +147,8 @@ } }, { - "defaultMessage": "!!!Not enough Ada for fees. Try sending a smaller amount.", - "description": "\"Not enough Ada for fees. Try sending a smaller amount.\" error message", + "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": 34 @@ -161,8 +161,8 @@ } }, { - "defaultMessage": "!!!Not enough Ada. Try sending a smaller amount.", - "description": "\"Not enough Ada. Try sending a smaller amount.\" error message", + "defaultMessage": "!!!Not enough ada . Try sending a smaller amount.", + "description": "\"Not enough ada . Try sending a smaller amount.\" error message", "end": { "column": 3, "line": 39 @@ -187,6 +187,48 @@ "column": 39, "line": 40 } + }, + { + "defaultMessage": "!!!Amount too big due to wallet fragmentation.", + "description": "\"Amount too big due to wallet fragmentation\" error message.", + "end": { + "column": 3, + "line": 49 + }, + "file": "source/renderer/app/api/transactions/errors.js", + "id": "api.errors.TooBigTransactionError", + "start": { + "column": 26, + "line": 45 + } + }, + { + "defaultMessage": "!!!Learn more.", + "description": "\"Amount too big due to wallet fragmentation\" error link label.", + "end": { + "column": 3, + "line": 54 + }, + "file": "source/renderer/app/api/transactions/errors.js", + "id": "api.errors.TooBigTransactionErrorLinkLabel", + "start": { + "column": 35, + "line": 50 + } + }, + { + "defaultMessage": "!!!https://iohk.zendesk.com/hc/en-us/articles/360017733353", + "description": "\"Amount too big due to wallet fragmentation\" error link URL.", + "end": { + "column": 3, + "line": 59 + }, + "file": "source/renderer/app/api/transactions/errors.js", + "id": "api.errors.TooBigTransactionErrorLinkURL", + "start": { + "column": 33, + "line": 55 + } } ], "path": "source/renderer/app/api/transactions/errors.json" @@ -1572,11 +1614,11 @@ } }, { - "defaultMessage": "!!!

To redeem your Ada, upload your certificate or copy and paste your redemption code from the certificate.\nBelow is an example of a redemption key. Your key will look similar:

\n

B_GQOAffMBeRIn6vh1hJmeOT3ViS_TmaT4XAHAfDVH0=

\n

If you upload a PDF file with your certificate, a redemption code will be automatically extracted.

\n

If you upload an encrypted certificate, you will need to provide a {adaRedemptionPassphraseLength} word mnemonic\npassphrase to decrypt your certificate and your redemption code will be automatically extracted.

", - "description": "Detailed instructions for redeeming Ada from the regular vending", + "defaultMessage": "!!!

To redeem your ada, upload your certificate or copy and paste your redemption code from the certificate. Below is an example of a redemption key. Your key will look similar:

B_GQOAffMBeRIn6vh1hJmeOT3ViS_TmaT4XAHAfDVH0=

If you upload a PDF file with your certificate, a redemption code will be automatically extracted.

If you upload an encrypted certificate, you will need to provide a {adaRedemptionPassphraseLength} word mnemonic passphrase to decrypt your certificate and your redemption code will be automatically extracted.

", + "description": "Detailed instructions for redeeming ada from the regular vending", "end": { "column": 3, - "line": 46 + "line": 41 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.instructions.regular", @@ -1586,59 +1628,59 @@ } }, { - "defaultMessage": "!!!

To redeem your Ada, upload your certificate or copy and paste your redemption code from the certificate.\nBelow is an example of a redemption key. Your key will look similar:

B_GQOAffMBeRIn6vh1hJmeOT3ViS_TmaT4XAHAfDVH0=

\n

If you upload a PDF file with your certificate, the redemption code will be automatically extracted.

\n

If you upload an encrypted certificate, you will need to provide your email address, Ada passcode and Ada amount\nto decrypt your certificate and your redemption code will be automatically extracted.

", - "description": "Detailed instructions for redeeming Ada from the force vending", + "defaultMessage": "!!!

To redeem your ada, upload your certificate or copy and paste your redemption code from the certificate. Below is an example of a redemption key. Your key will look similar:

B_GQOAffMBeRIn6vh1hJmeOT3ViS_TmaT4XAHAfDVH0=

If you upload a PDF file with your certificate, the redemption code will be automatically extracted.

If you upload an encrypted certificate, you will need to provide your email address, ada passcode and ada amount to decrypt your certificate and your redemption code will be automatically extracted.

", + "description": "Detailed instructions for redeeming ada from the force vending", "end": { "column": 3, - "line": 55 + "line": 46 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.instructions.forceVended", "start": { "column": 27, - "line": 47 + "line": 42 } }, { - "defaultMessage": "!!!

To redeem your Ada using the regularly vended certificate from the recovery service, please upload your encrypted certificate and enter a {adaRedemptionPassphraseLength}-word mnemonic passphrase.

\n >After you upload your encrypted certificate and enter your {adaRedemptionPassphraseLength}-word mnemonic passphrase, your redemption key will be automatically extracted and you will be able to redeem your Ada to the selected wallet.

", - "description": "Detailed instructions for redeeming Ada from the regular vending via Recovery service", + "defaultMessage": "!!!

To redeem your ada using the regularly vended certificate from the recovery service, please upload your encrypted certificate and enter a {adaRedemptionPassphraseLength}-word mnemonic passphrase.

After you upload your encrypted certificate and enter your {adaRedemptionPassphraseLength}-word mnemonic passphrase, your redemption key will be automatically extracted and you will be able to redeem your ada to the selected wallet.

", + "description": "Detailed instructions for redeeming ada from the regular vending via Recovery service", "end": { "column": 3, - "line": 61 + "line": 51 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.instructions.recoveryRegular", "start": { "column": 31, - "line": 56 + "line": 47 } }, { - "defaultMessage": "!!!

To redeem your Ada using the force vended certificate from the recovery service, please upload your encrypted certificate and enter the decryption key. Your decryption key should look like this:

\n >qXQWDxI3JrlFRtC4SeQjeGzLbVXWBomYPbNO1Vfm1T4=

\n >After you upload your encrypted certificate and enter your decryption key, your redemption key will be automatically extracted and you will be able to redeem your Ada to the selected wallet.

", - "description": "Detailed instructions for redeeming Ada from the force vending via Recovery service", + "defaultMessage": "!!!

To redeem your ada using the force vended certificate from the recovery service, please upload your encrypted certificate and enter the decryption key. Your decryption key should look like this:

qXQWDxI3JrlFRtC4SeQjeGzLbVXWBomYPbNO1Vfm1T4=

After you upload your encrypted certificate and enter your decryption key, your redemption key will be automatically extracted and you will be able to redeem your ada to the selected wallet.

", + "description": "Detailed instructions for redeeming ada from the force vending via Recovery service", "end": { "column": 3, - "line": 68 + "line": 56 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.instructions.recoveryForceVended", "start": { "column": 35, - "line": 62 + "line": 52 } }, { - "defaultMessage": "!!!

To redeem your Ada, enter your shielded vending key from the certificate, choose a wallet\nwhere Ada should be redeemed and enter {adaRedemptionPassphraseLength} word mnemonic passphrase.

", - "description": "Detailed instructions for redeeming Ada from the paper vending", + "defaultMessage": "!!!

To redeem your ada, enter your shielded vending key from the certificate, choose a wallet where ada should be redeemed and enter {adaRedemptionPassphraseLength} word mnemonic passphrase.

", + "description": "Detailed instructions for redeeming ada from the paper vending", "end": { "column": 3, - "line": 74 + "line": 61 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.instructions.paperVended", "start": { "column": 27, - "line": 69 + "line": 57 } }, { @@ -1646,13 +1688,13 @@ "description": "Label for the certificate file upload", "end": { "column": 3, - "line": 79 + "line": 66 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.certificateLabel", "start": { "column": 20, - "line": 75 + "line": 62 } }, { @@ -1660,41 +1702,41 @@ "description": "Hint for the certificate file upload", "end": { "column": 3, - "line": 84 + "line": 71 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.certificateHint", "start": { "column": 19, - "line": 80 + "line": 67 } }, { "defaultMessage": "!!!Choose Wallet", - "description": "Label for the wallet select field on Ada redemption form", + "description": "Label for the wallet select field on ada redemption form", "end": { "column": 3, - "line": 89 + "line": 76 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.walletSelectLabel", "start": { "column": 21, - "line": 85 + "line": 72 } }, { - "defaultMessage": "!!!Passphrase to Decrypt the Ada Voucher Certificate", - "description": "Label for the passphrase to decrypt Ada voucher certificate input", + "defaultMessage": "!!!Passphrase to Decrypt the ada Voucher Certificate", + "description": "Label for the passphrase to decrypt ada voucher certificate input", "end": { "column": 3, - "line": 94 + "line": 81 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.passphraseLabel", "start": { "column": 19, - "line": 90 + "line": 77 } }, { @@ -1702,13 +1744,13 @@ "description": "Hint for the mnemonic passphrase input", "end": { "column": 3, - "line": 99 + "line": 86 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.passphraseHint", "start": { "column": 18, - "line": 95 + "line": 82 } }, { @@ -1716,13 +1758,13 @@ "description": "\"No results\" message for the passphrase input search results.", "end": { "column": 3, - "line": 104 + "line": 91 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.passphrase.input.noResults", "start": { "column": 23, - "line": 100 + "line": 87 } }, { @@ -1730,13 +1772,13 @@ "description": "Label for ada redemption key input", "end": { "column": 3, - "line": 109 + "line": 96 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.redemptionKeyLabel", "start": { "column": 22, - "line": 105 + "line": 92 } }, { @@ -1744,13 +1786,13 @@ "description": "Label for shielded redemption key input", "end": { "column": 3, - "line": 114 + "line": 101 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.shieldedRedemptionKeyLabel", "start": { "column": 30, - "line": 110 + "line": 97 } }, { @@ -1758,13 +1800,13 @@ "description": "Label for decryption key input", "end": { "column": 3, - "line": 119 + "line": 106 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.decryptionKeyLabel", "start": { "column": 22, - "line": 115 + "line": 102 } }, { @@ -1772,13 +1814,13 @@ "description": "Error \"Invalid redemption key\" for ada redemption code input", "end": { "column": 3, - "line": 124 + "line": 111 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.redemptionCodeError", "start": { "column": 22, - "line": 120 + "line": 107 } }, { @@ -1786,13 +1828,13 @@ "description": "Error \"Invalid shielded vending key\" for ada redemption code input", "end": { "column": 3, - "line": 129 + "line": 116 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.shieldedRedemptionCodeError", "start": { "column": 30, - "line": 125 + "line": 112 } }, { @@ -1800,13 +1842,13 @@ "description": "Hint for ada redemption key input", "end": { "column": 3, - "line": 134 + "line": 121 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.redemptionCodeHint", "start": { "column": 21, - "line": 130 + "line": 117 } }, { @@ -1814,13 +1856,13 @@ "description": "Hint for ada redemption key input shown on Recovery tabs", "end": { "column": 3, - "line": 139 + "line": 126 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.recoveryRedemptionKeyHint", "start": { "column": 29, - "line": 135 + "line": 122 } }, { @@ -1828,13 +1870,13 @@ "description": "Hint for shielded vending key input", "end": { "column": 3, - "line": 144 + "line": 131 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.shieldedRedemptionKeyHint", "start": { "column": 29, - "line": 140 + "line": 127 } }, { @@ -1842,27 +1884,27 @@ "description": "Hint for decryption key input", "end": { "column": 3, - "line": 149 + "line": 136 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.decryptionKeyHint", "start": { "column": 21, - "line": 145 + "line": 132 } }, { "defaultMessage": "!!!Redeem your money", - "description": "Label for the \"Ada redemption\" dialog submit button.", + "description": "Label for the \"Redeem your money\" dialog submit button.", "end": { "column": 3, - "line": 154 + "line": 141 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.submitLabel", "start": { "column": 15, - "line": 150 + "line": 137 } }, { @@ -1870,13 +1912,13 @@ "description": "Label for the email input field.", "end": { "column": 3, - "line": 159 + "line": 146 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.emailLabel", "start": { "column": 14, - "line": 155 + "line": 142 } }, { @@ -1884,13 +1926,13 @@ "description": "Hint for the email input field.", "end": { "column": 3, - "line": 164 + "line": 151 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.emailHint", "start": { "column": 13, - "line": 160 + "line": 147 } }, { @@ -1898,27 +1940,27 @@ "description": "Label for the ada passcode input field.", "end": { "column": 3, - "line": 169 + "line": 156 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.adaPasscodeLabel", "start": { "column": 20, - "line": 165 + "line": 152 } }, { - "defaultMessage": "!!!Enter your Ada passcode", - "description": "Hint for the Ada passcode input field.", + "defaultMessage": "!!!Enter your ada passcode", + "description": "Hint for the ada passcode input field.", "end": { "column": 3, - "line": 174 + "line": 161 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.adaPasscodeHint", "start": { "column": 19, - "line": 170 + "line": 157 } }, { @@ -1926,27 +1968,27 @@ "description": "Label for the ada amount input field.", "end": { "column": 3, - "line": 179 + "line": 166 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.adaAmountLabel", "start": { "column": 18, - "line": 175 + "line": 162 } }, { - "defaultMessage": "!!!Enter your Ada amount", - "description": "Hint for the Ada amount input field.", + "defaultMessage": "!!!Enter your ada amount", + "description": "Hint for the ada amount input field.", "end": { "column": 3, - "line": 184 + "line": 171 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.adaAmountHint", "start": { "column": 17, - "line": 180 + "line": 167 } }, { @@ -1954,13 +1996,13 @@ "description": "Placeholder for \"spending password\"", "end": { "column": 3, - "line": 189 + "line": 176 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.spendingPasswordPlaceholder", "start": { "column": 31, - "line": 185 + "line": 172 } }, { @@ -1968,13 +2010,13 @@ "description": "Label for \"spending password\"", "end": { "column": 3, - "line": 194 + "line": 181 }, "file": "source/renderer/app/components/wallet/ada-redemption/AdaRedemptionForm.js", "id": "wallet.redeem.dialog.spendingPasswordLabel", "start": { "column": 25, - "line": 190 + "line": 177 } } ], @@ -4450,13 +4492,13 @@ "description": "Title for the \"Confirm transaction\" dialog.", "end": { "column": 3, - "line": 22 + "line": 23 }, "file": "source/renderer/app/components/wallet/WalletSendConfirmationDialog.js", "id": "wallet.send.confirmationDialog.title", "start": { "column": 15, - "line": 18 + "line": 19 } }, { @@ -4464,13 +4506,13 @@ "description": "Label for the \"Spending password\" input in the wallet send confirmation dialog.", "end": { "column": 3, - "line": 27 + "line": 28 }, "file": "source/renderer/app/components/wallet/WalletSendConfirmationDialog.js", "id": "wallet.send.confirmationDialog.spendingPasswordLabel", "start": { "column": 25, - "line": 23 + "line": 24 } }, { @@ -4478,13 +4520,13 @@ "description": "Label for the \"To\" in the wallet send confirmation dialog.", "end": { "column": 3, - "line": 32 + "line": 33 }, "file": "source/renderer/app/components/wallet/WalletSendConfirmationDialog.js", "id": "wallet.send.confirmationDialog.addressToLabel", "start": { "column": 18, - "line": 28 + "line": 29 } }, { @@ -4492,13 +4534,13 @@ "description": "Label for the \"Amount\" in the wallet send confirmation dialog.", "end": { "column": 3, - "line": 37 + "line": 38 }, "file": "source/renderer/app/components/wallet/WalletSendConfirmationDialog.js", "id": "wallet.send.confirmationDialog.amountLabel", "start": { "column": 15, - "line": 33 + "line": 34 } }, { @@ -4506,13 +4548,13 @@ "description": "Label for the \"Fees\" in the wallet send confirmation dialog.", "end": { "column": 3, - "line": 42 + "line": 43 }, "file": "source/renderer/app/components/wallet/WalletSendConfirmationDialog.js", "id": "wallet.send.confirmationDialog.feesLabel", "start": { "column": 13, - "line": 38 + "line": 39 } }, { @@ -4520,13 +4562,13 @@ "description": "Label for the \"Total\" in the wallet send confirmation dialog.", "end": { "column": 3, - "line": 47 + "line": 48 }, "file": "source/renderer/app/components/wallet/WalletSendConfirmationDialog.js", "id": "wallet.send.confirmationDialog.totalLabel", "start": { "column": 14, - "line": 43 + "line": 44 } }, { @@ -4534,13 +4576,13 @@ "description": "Placeholder for the \"Spending password\" inputs in the wallet send confirmation dialog.", "end": { "column": 3, - "line": 52 + "line": 53 }, "file": "source/renderer/app/components/wallet/WalletSendConfirmationDialog.js", "id": "wallet.send.confirmationDialog.spendingPasswordFieldPlaceholder", "start": { "column": 36, - "line": 48 + "line": 49 } }, { @@ -4548,13 +4590,13 @@ "description": "Label for the send button in the wallet send confirmation dialog.", "end": { "column": 3, - "line": 57 + "line": 58 }, "file": "source/renderer/app/components/wallet/WalletSendConfirmationDialog.js", "id": "wallet.send.confirmationDialog.submit", "start": { "column": 19, - "line": 53 + "line": 54 } }, { @@ -4562,13 +4604,13 @@ "description": "Label for the back button in the wallet send confirmation dialog.", "end": { "column": 3, - "line": 62 + "line": 63 }, "file": "source/renderer/app/components/wallet/WalletSendConfirmationDialog.js", "id": "wallet.send.confirmationDialog.back", "start": { "column": 19, - "line": 58 + "line": 59 } } ], @@ -4581,13 +4623,13 @@ "description": "Label for the \"Title\" text input in the wallet send form.", "end": { "column": 3, - "line": 29 + "line": 31 }, "file": "source/renderer/app/components/wallet/WalletSendForm.js", "id": "wallet.send.form.title.label", "start": { "column": 14, - "line": 25 + "line": 27 } }, { @@ -4595,13 +4637,13 @@ "description": "Hint inside the \"Receiver\" text input in the wallet send form.", "end": { "column": 3, - "line": 34 + "line": 36 }, "file": "source/renderer/app/components/wallet/WalletSendForm.js", "id": "wallet.send.form.title.hint", "start": { "column": 13, - "line": 30 + "line": 32 } }, { @@ -4609,13 +4651,13 @@ "description": "Label for the \"Receiver\" text input in the wallet send form.", "end": { "column": 3, - "line": 39 + "line": 41 }, "file": "source/renderer/app/components/wallet/WalletSendForm.js", "id": "wallet.send.form.receiver.label", "start": { "column": 17, - "line": 35 + "line": 37 } }, { @@ -4623,13 +4665,13 @@ "description": "Hint inside the \"Receiver\" text input in the wallet send form.", "end": { "column": 3, - "line": 44 + "line": 46 }, "file": "source/renderer/app/components/wallet/WalletSendForm.js", "id": "wallet.send.form.receiver.hint", "start": { "column": 16, - "line": 40 + "line": 42 } }, { @@ -4637,27 +4679,13 @@ "description": "Label for the \"Amount\" number input in the wallet send form.", "end": { "column": 3, - "line": 49 + "line": 51 }, "file": "source/renderer/app/components/wallet/WalletSendForm.js", "id": "wallet.send.form.amount.label", "start": { "column": 15, - "line": 45 - } - }, - { - "defaultMessage": "!!!equals {amount} ADA", - "description": "Convertion hint for the \"Amount\" number input in the wallet send form.", - "end": { - "column": 3, - "line": 54 - }, - "file": "source/renderer/app/components/wallet/WalletSendForm.js", - "id": "wallet.send.form.amount.equalsAda", - "start": { - "column": 17, - "line": 50 + "line": 47 } }, { @@ -4665,13 +4693,13 @@ "description": "Label for the \"description\" text area in the wallet send form.", "end": { "column": 3, - "line": 59 + "line": 56 }, "file": "source/renderer/app/components/wallet/WalletSendForm.js", "id": "wallet.send.form.description.label", "start": { "column": 20, - "line": 55 + "line": 52 } }, { @@ -4679,13 +4707,13 @@ "description": "Hint in the \"description\" text area in the wallet send form.", "end": { "column": 3, - "line": 64 + "line": 61 }, "file": "source/renderer/app/components/wallet/WalletSendForm.js", "id": "wallet.send.form.description.hint", "start": { "column": 19, - "line": 60 + "line": 57 } }, { @@ -4693,13 +4721,13 @@ "description": "Label for the next button on the wallet send form.", "end": { "column": 3, - "line": 69 + "line": 66 }, "file": "source/renderer/app/components/wallet/WalletSendForm.js", "id": "wallet.send.form.next", "start": { "column": 19, - "line": 65 + "line": 62 } }, { @@ -4707,13 +4735,13 @@ "description": "Error message shown when invalid address was entered.", "end": { "column": 3, - "line": 74 + "line": 71 }, "file": "source/renderer/app/components/wallet/WalletSendForm.js", "id": "wallet.send.form.errors.invalidAddress", "start": { "column": 18, - "line": 70 + "line": 67 } }, { @@ -4721,13 +4749,13 @@ "description": "Error message shown when invalid amount was entered.", "end": { "column": 3, - "line": 79 + "line": 76 }, "file": "source/renderer/app/components/wallet/WalletSendForm.js", "id": "wallet.send.form.errors.invalidAmount", "start": { "column": 17, - "line": 75 + "line": 72 } }, { @@ -4735,13 +4763,13 @@ "description": "Error message shown when invalid transaction title was entered.", "end": { "column": 3, - "line": 84 + "line": 81 }, "file": "source/renderer/app/components/wallet/WalletSendForm.js", "id": "wallet.send.form.errors.invalidTitle", "start": { "column": 16, - "line": 80 + "line": 77 } }, { @@ -4749,13 +4777,13 @@ "description": "Syncing transactions message shown during async wallet restore in the wallet send form.", "end": { "column": 3, - "line": 89 + "line": 86 }, "file": "source/renderer/app/components/wallet/WalletSendForm.js", "id": "wallet.send.form.syncingTransactionsMessage", "start": { "column": 30, - "line": 85 + "line": 82 } } ], @@ -5225,7 +5253,7 @@ } }, { - "defaultMessage": "!!!The ADA redemption code could not be parsed from the given document.", + "defaultMessage": "!!!The ada redemption code could not be parsed from the given document.", "description": "Error message shown when invalid Ada redemption certificate was uploaded.", "end": { "column": 3, @@ -5239,7 +5267,7 @@ } }, { - "defaultMessage": "!!!The ADA redemption code could not be parsed, please check your passphrase.", + "defaultMessage": "!!!The ada redemption code could not be parsed, please check your passphrase.", "description": "Error message shown when invalid Ada redemption encrypted certificate was uploaded.", "end": { "column": 3, @@ -5491,8 +5519,8 @@ } }, { - "defaultMessage": "!!!Ada", - "description": "Name for \"Ada\" unit.", + "defaultMessage": "!!!ADA", + "description": "Name for \"ADA\" unit.", "end": { "column": 3, "line": 123 diff --git a/source/renderer/app/i18n/locales/en-US.json b/source/renderer/app/i18n/locales/en-US.json index e3b310a5ee..348d502726 100644 --- a/source/renderer/app/i18n/locales/en-US.json +++ b/source/renderer/app/i18n/locales/en-US.json @@ -7,13 +7,16 @@ "api.errors.ForbiddenMnemonicError": "Invalid recovery phrase. Submitted recovery phrase is one of the example recovery phrases from the documentation and should not be used for wallets holding funds.", "api.errors.GenericApiError": "An error occurred.", "api.errors.IncorrectPasswordError": "Incorrect wallet password.", - "api.errors.NotAllowedToSendMoneyToRedeemAddressError": "It is not allowed to send money to Ada redemption address.", + "api.errors.NotAllowedToSendMoneyToRedeemAddressError": "It is not allowed to send money to ada redemption address.", "api.errors.NotAllowedToSendMoneyToSameAddressError": "It's not allowed to send money to the same address you are sending from. Make sure you have enough addresses with money in this account or send to a different address.", - "api.errors.NotEnoughFundsForTransactionError": "Not enough Ada. Try sending a smaller amount.", - "api.errors.NotEnoughFundsForTransactionFeesError": "Not enough Ada for fees. Try sending a smaller amount.", + "api.errors.NotEnoughFundsForTransactionError": "Not enough ada. Try sending a smaller amount.", + "api.errors.NotEnoughFundsForTransactionFeesError": "Not enough ada for fees. Try sending a smaller amount.", "api.errors.NotEnoughMoneyToSendError": "Not enough money to make this transaction.", - "api.errors.RedeemAdaError": "Your ADA could not be redeemed correctly.", + "api.errors.RedeemAdaError": "Your ada could not be redeemed correctly.", "api.errors.ReportRequestError": "There was a problem sending the support request.", + "api.errors.TooBigTransactionError": "Amount too big due to wallet fragmentation.", + "api.errors.TooBigTransactionErrorLinkLabel": "Learn more.", + "api.errors.TooBigTransactionErrorLinkURL": "https://iohk.zendesk.com/hc/en-us/articles/360017733353", "api.errors.WalletAlreadyImportedError": "Wallet you are trying to import already exists.", "api.errors.WalletAlreadyRestoredError": "Wallet you are trying to restore already exists.", "api.errors.WalletFileImportError": "Wallet could not be imported, please make sure you are providing a correct file.", @@ -39,8 +42,8 @@ "global.assuranceLevel.normal": "Normal", "global.assuranceLevel.strict": "Strict", "global.dialog.button.continue": "Continue", - "global.errors.AdaRedemptionCertificateParseError": "The ADA redemption code could not be parsed from the given document.", - "global.errors.AdaRedemptionEncryptedCertificateParseError": "The ADA redemption code could not be parsed, please check your passphrase.", + "global.errors.AdaRedemptionCertificateParseError": "The ada redemption code could not be parsed from the given document.", + "global.errors.AdaRedemptionEncryptedCertificateParseError": "The ada redemption code could not be parsed, please check your passphrase.", "global.errors.fieldIsRequired": "This field is required.", "global.errors.incompleteMnemonic": "Please enter all {expected} words.", "global.errors.invalidEmail": "Invalid email entered, please check.", @@ -62,7 +65,7 @@ "global.passwordInstructions": "Note that password needs to be at least 7 characters long, and have at least 1 uppercase, 1 lowercase letter and 1 number.", "global.spendingPasswordLabel": "Spending Password", "global.spendingPasswordPlaceholder": "Password", - "global.unit.ada": "Ada", + "global.unit.ada": "ADA", "inline.editing.dropdown.changesSaved": "Your changes have been saved", "inline.editing.input.cancel.label": "cancel", "inline.editing.input.change.label": "change", @@ -249,9 +252,9 @@ "wallet.redeem.choices.tab.title.recoveryForceVended": "Recovery - force vended", "wallet.redeem.choices.tab.title.recoveryRegular": "Recovery - regular", "wallet.redeem.choices.tab.title.regularVended": "Regular", - "wallet.redeem.dialog.adaAmountHint": "Enter your Ada amount", + "wallet.redeem.dialog.adaAmountHint": "Enter your ada amount", "wallet.redeem.dialog.adaAmountLabel": "Ada amount", - "wallet.redeem.dialog.adaPasscodeHint": "Enter your Ada passcode", + "wallet.redeem.dialog.adaPasscodeHint": "Enter your ada passcode", "wallet.redeem.dialog.adaPasscodeLabel": "Ada passcode", "wallet.redeem.dialog.certificateHint": "Click here to select your certificate file on your computer", "wallet.redeem.dialog.certificateLabel": "Certificate", @@ -260,14 +263,14 @@ "wallet.redeem.dialog.emailHint": "Enter your email address", "wallet.redeem.dialog.emailLabel": "Email", "wallet.redeem.dialog.headline": "Ada Redemption", - "wallet.redeem.dialog.instructions.forceVended": "

To redeem your Ada, upload your certificate or copy and paste your redemption code from the certificate. Below is an example of a redemption key. Your key will look similar:

B_GQOAffMBeRIn6vh1hJmeOT3ViS_TmaT4XAHAfDVH0=

If you upload a PDF file with your certificate, the redemption code will be automatically extracted.

If you upload an encrypted certificate, you will need to provide your email address, Ada passcode and Ada amount to decrypt your certificate and your redemption code will be automatically extracted.

", - "wallet.redeem.dialog.instructions.paperVended": "

To redeem your Ada, enter your shielded vending key from the certificate, choose a wallet where Ada should be redeemed and enter {adaRedemptionPassphraseLength} word mnemonic passphrase.

", - "wallet.redeem.dialog.instructions.recoveryForceVended": "

To redeem your Ada using the force vended certificate from the recovery service, please upload your encrypted certificate and enter the decryption key. Your decryption key should look like this:

qXQWDxI3JrlFRtC4SeQjeGzLbVXWBomYPbNO1Vfm1T4=

After you upload your encrypted certificate and enter your decryption key, your redemption key will be automatically extracted and you will be able to redeem your Ada to the selected wallet.

", - "wallet.redeem.dialog.instructions.recoveryRegular": "

To redeem your Ada using the regularly vended certificate from the recovery service, please upload your encrypted certificate and enter a {adaRedemptionPassphraseLength}-word mnemonic passphrase.

After you upload your encrypted certificate and enter your {adaRedemptionPassphraseLength}-word mnemonic passphrase, your redemption key will be automatically extracted and you will be able to redeem your Ada to the selected wallet.

", - "wallet.redeem.dialog.instructions.regular": "

To redeem your Ada, upload your certificate or copy and paste your redemption code from the certificate. Below is an example of a redemption key. Your key will look similar:

B_GQOAffMBeRIn6vh1hJmeOT3ViS_TmaT4XAHAfDVH0=

If you upload a PDF file with your certificate, a redemption code will be automatically extracted.

If you upload an encrypted certificate, you will need to provide a {adaRedemptionPassphraseLength} word mnemonic passphrase to decrypt your certificate and your redemption code will be automatically extracted.

", + "wallet.redeem.dialog.instructions.forceVended": "

To redeem your ada, upload your certificate or copy and paste your redemption code from the certificate. Below is an example of a redemption key. Your key will look similar:

B_GQOAffMBeRIn6vh1hJmeOT3ViS_TmaT4XAHAfDVH0=

If you upload a PDF file with your certificate, the redemption code will be automatically extracted.

If you upload an encrypted certificate, you will need to provide your email address, ada passcode and ada amount to decrypt your certificate and your redemption code will be automatically extracted.

", + "wallet.redeem.dialog.instructions.paperVended": "

To redeem your ada, enter your shielded vending key from the certificate, choose a wallet where ada should be redeemed and enter {adaRedemptionPassphraseLength} word mnemonic passphrase.

", + "wallet.redeem.dialog.instructions.recoveryForceVended": "

To redeem your ada using the force vended certificate from the recovery service, please upload your encrypted certificate and enter the decryption key. Your decryption key should look like this:

qXQWDxI3JrlFRtC4SeQjeGzLbVXWBomYPbNO1Vfm1T4=

After you upload your encrypted certificate and enter your decryption key, your redemption key will be automatically extracted and you will be able to redeem your ada to the selected wallet.

", + "wallet.redeem.dialog.instructions.recoveryRegular": "

To redeem your ada using the regularly vended certificate from the recovery service, please upload your encrypted certificate and enter a {adaRedemptionPassphraseLength}-word mnemonic passphrase.

After you upload your encrypted certificate and enter your {adaRedemptionPassphraseLength}-word mnemonic passphrase, your redemption key will be automatically extracted and you will be able to redeem your ada to the selected wallet.

", + "wallet.redeem.dialog.instructions.regular": "

To redeem your ada, upload your certificate or copy and paste your redemption code from the certificate. Below is an example of a redemption key. Your key will look similar:

B_GQOAffMBeRIn6vh1hJmeOT3ViS_TmaT4XAHAfDVH0=

If you upload a PDF file with your certificate, a redemption code will be automatically extracted.

If you upload an encrypted certificate, you will need to provide a {adaRedemptionPassphraseLength} word mnemonic passphrase to decrypt your certificate and your redemption code will be automatically extracted.

", "wallet.redeem.dialog.passphrase.input.noResults": "No results", "wallet.redeem.dialog.passphraseHint": "Enter your {length}-Word Passphrase here", - "wallet.redeem.dialog.passphraseLabel": "Passphrase to Decrypt the Ada Voucher Certificate", + "wallet.redeem.dialog.passphraseLabel": "Passphrase to Decrypt the ada Voucher Certificate", "wallet.redeem.dialog.recoveryRedemptionKeyHint": "Upload your certificate", "wallet.redeem.dialog.redemptionCodeError": "Invalid redemption key", "wallet.redeem.dialog.redemptionCodeHint": "Enter your redemption key or upload a certificate", @@ -277,7 +280,7 @@ "wallet.redeem.dialog.shieldedRedemptionKeyLabel": "Shielded vending key", "wallet.redeem.dialog.spendingPasswordLabel": "Password", "wallet.redeem.dialog.spendingPasswordPlaceholder": "Password", - "wallet.redeem.dialog.submitLabel": "Redeem your Ada", + "wallet.redeem.dialog.submitLabel": "Redeem your ada", "wallet.redeem.dialog.walletSelectLabel": "Choose Wallet", "wallet.redeem.disclaimerOverlay.checkboxLabel": "I’ve understood the information above", "wallet.redeem.disclaimerOverlay.disclaimerText": "ATTENTION: Redeeming on the Cardano Test-net will validate that your certificate or redemption key is correct and will allow you to redeem TEST-ADA for testing purposes only. KEEP your certificate or redemption key safe and secure. You will need to redeem again when Cardano SL launches the mainnet. TEST-ADA holds no value and cannot be exchanged.", @@ -285,9 +288,9 @@ "wallet.redeem.disclaimerOverlay.title": "Daedalus Redemption Disclamer", "wallet.redeem.noWallets.createWalletLink": "Create your first wallet", "wallet.redeem.noWallets.headLine": "Ada redemption is not available because you don't have any wallets.", - "wallet.redeem.noWallets.instructions": "Create a new wallet (or restore an existing one), come back here and choose it for Ada redemption.", + "wallet.redeem.noWallets.instructions": "Create a new wallet (or restore an existing one), come back here and choose it for ada redemption.", "wallet.redeem.success.overlay.confirmButton": "Great", - "wallet.redeem.success.overlay.headline": "You successfully redeemed your Ada!", + "wallet.redeem.success.overlay.headline": "You successfully redeemed your ada!", "wallet.restore.dialog.form.errors.invalidRecoveryPhrase": "Invalid recovery phrase", "wallet.restore.dialog.passwordFieldPlaceholder": "Password", "wallet.restore.dialog.passwordSwitchLabel": "Spending password", @@ -314,7 +317,6 @@ "wallet.send.confirmationDialog.submit": "Send", "wallet.send.confirmationDialog.title": "Confirm transaction", "wallet.send.confirmationDialog.totalLabel": "Total", - "wallet.send.form.amount.equalsAda": "equals {amount} ADA", "wallet.send.form.amount.label": "Amount", "wallet.send.form.description.hint": "You can type a message here, if you want.", "wallet.send.form.description.label": "Description", diff --git a/source/renderer/app/i18n/locales/hr-HR.json b/source/renderer/app/i18n/locales/hr-HR.json index de47419c74..c95ff10898 100644 --- a/source/renderer/app/i18n/locales/hr-HR.json +++ b/source/renderer/app/i18n/locales/hr-HR.json @@ -14,6 +14,9 @@ "api.errors.NotEnoughMoneyToSendError": "!!!Not enough money to make this transaction.", "api.errors.RedeemAdaError": "!!!Your ADA could not be redeemed correctly.", "api.errors.ReportRequestError": "!!!There was a problem sending the support request.", + "api.errors.TooBigTransactionError": "!!!Too many input addresses need to be selected. Try sending a smaller amount.", + "api.errors.TooBigTransactionErrorLinkLabel": "!!!Learn more.", + "api.errors.TooBigTransactionErrorLinkURL": "!!!https://iohk.zendesk.com/hc/en-us/articles/360017733353", "api.errors.WalletAlreadyImportedError": "!!!Wallet you are trying to import already exists.", "api.errors.WalletAlreadyRestoredError": "!!!Wallet you are trying to restore already exists.", "api.errors.WalletFileImportError": "!!!Wallet could not be imported, please make sure you are providing a correct file.", @@ -314,7 +317,6 @@ "wallet.send.confirmationDialog.submit": "!!!Send", "wallet.send.confirmationDialog.title": "!!!Confirm transaction", "wallet.send.confirmationDialog.totalLabel": "!!!Total", - "wallet.send.form.amount.equalsAda": "!!!equals {amount} ADA", "wallet.send.form.amount.label": "Iznos", "wallet.send.form.description.hint": "Unesite poruku primatelju ukoliko to želite.", "wallet.send.form.description.label": "Opis", diff --git a/source/renderer/app/i18n/locales/ja-JP.json b/source/renderer/app/i18n/locales/ja-JP.json index e995d8fff4..8aebe02a81 100644 --- a/source/renderer/app/i18n/locales/ja-JP.json +++ b/source/renderer/app/i18n/locales/ja-JP.json @@ -9,11 +9,14 @@ "api.errors.IncorrectPasswordError": "無効なウォレットパスワード", "api.errors.NotAllowedToSendMoneyToRedeemAddressError": "Ada還元アドレスに送金することはできません。", "api.errors.NotAllowedToSendMoneyToSameAddressError": "送金元と入金先が同じアドレスである場合にはトランザクションは行えません。このウォレットに十分なアドレスがあることを確認するか、別のアドレスに送金を行なってください。", - "api.errors.NotEnoughFundsForTransactionError": "ADAが足りません。より少額の送金を試みてください。", - "api.errors.NotEnoughFundsForTransactionFeesError": "手数料を支払うためのADAが不足しています。より少額の送金を試みてください。", + "api.errors.NotEnoughFundsForTransactionError": "Adaが足りません。より少額の送金を試みてください。", + "api.errors.NotEnoughFundsForTransactionFeesError": "手数料を支払うためのadaが不足しています。より少額の送金を試みてください。", "api.errors.NotEnoughMoneyToSendError": "トランザクションを行うための金額が不足しております。", - "api.errors.RedeemAdaError": "ADAを正常に還元できませんでした。", + "api.errors.RedeemAdaError": "Adaを正常に還元できませんでした。", "api.errors.ReportRequestError": "サポート送信時に問題が発生しました。", + "api.errors.TooBigTransactionError": "ウォレットのフラグメンテーションの為、額が大きすぎます。", + "api.errors.TooBigTransactionErrorLinkLabel": "もっと詳しく知る", + "api.errors.TooBigTransactionErrorLinkURL": "https://iohk.zendesk.com/hc/ja/articles/360017733353", "api.errors.WalletAlreadyImportedError": "インポートしようとしているウォレットは既に存在します", "api.errors.WalletAlreadyRestoredError": "復元しようとしているウォレットは既に存在します", "api.errors.WalletFileImportError": "ウォレットをインポートできませんでした。有効なファイルを指定していることを確認してください", @@ -39,8 +42,8 @@ "global.assuranceLevel.normal": "普通", "global.assuranceLevel.strict": "厳重", "global.dialog.button.continue": "次", - "global.errors.AdaRedemptionCertificateParseError": "指定されたファイルからはADA還元キーを解析することができませんでした。", - "global.errors.AdaRedemptionEncryptedCertificateParseError": "ADA還元キーを解析することができませんでした。パスフレーズを再度確認してください。", + "global.errors.AdaRedemptionCertificateParseError": "指定されたファイルからはada還元キーを解析することができませんでした。", + "global.errors.AdaRedemptionEncryptedCertificateParseError": "Ada還元キーを解析することができませんでした。パスフレーズを再度確認してください。", "global.errors.fieldIsRequired": "このフィールドは必須です。", "global.errors.incompleteMnemonic": "{expected}語を入力して下さい", "global.errors.invalidEmail": "無効なメールアドレスです、再度確認してください。", @@ -62,7 +65,7 @@ "global.passwordInstructions": "パスワードは7文字以上であり、英字大文字、小文字、数字を含む必要があります。", "global.spendingPasswordLabel": "送金時のパスワード", "global.spendingPasswordPlaceholder": "パスワード", - "global.unit.ada": "Ada", + "global.unit.ada": "ADA", "inline.editing.dropdown.changesSaved": "変更は保存されました", "inline.editing.input.cancel.label": "キャンセル", "inline.editing.input.change.label": "変更", @@ -252,19 +255,19 @@ "wallet.redeem.dialog.adaAmountHint": "Ada額を入力してください", "wallet.redeem.dialog.adaAmountLabel": "Ada額", "wallet.redeem.dialog.adaPasscodeHint": "Ada還元用コードを入力してください", - "wallet.redeem.dialog.adaPasscodeLabel": "ADA還元用コード", + "wallet.redeem.dialog.adaPasscodeLabel": "Ada還元用コード", "wallet.redeem.dialog.certificateHint": "ここをクリックしてパソコンから証明書を選択してください", "wallet.redeem.dialog.certificateLabel": "証明書", "wallet.redeem.dialog.decryptionKeyHint": "復号キーを入力してください", "wallet.redeem.dialog.decryptionKeyLabel": "複号キー", "wallet.redeem.dialog.emailHint": "メールアドレスを入力してください", "wallet.redeem.dialog.emailLabel": "メール", - "wallet.redeem.dialog.headline": "ADA還元", - "wallet.redeem.dialog.instructions.forceVended": "

Adaの還元を行うには証明書をアップロードするか、証明書に記載されているAda還元キーをコピー&ペーストしてください。Ada還元キーの例:

B_GQOAffMBeRIn6vh1hJmeOT3ViS_TmaT4XAHAfDVH0=

証明書付きのPDFファイルをアップロードした場合、還元キーは自動的に抽出されます。

暗号化された証明書をアップロードした場合、解読するにはメールアドレス、Ada還元用コード、Ada交換額を入力する必要があります。還元キーは自動的に抽出されます。

", + "wallet.redeem.dialog.headline": "Ada還元", + "wallet.redeem.dialog.instructions.forceVended": "

Adaの還元を行うには証明書をアップロードするか、証明書に記載されているada還元キーをコピー&ペーストしてください。Ada還元キーの例:

B_GQOAffMBeRIn6vh1hJmeOT3ViS_TmaT4XAHAfDVH0=

証明書付きのPDFファイルをアップロードした場合、還元キーは自動的に抽出されます。

暗号化された証明書をアップロードした場合、解読するにはメールアドレス、ada還元用コード、ada交換額を入力する必要があります。還元キーは自動的に抽出されます。

", "wallet.redeem.dialog.instructions.paperVended": "

Adaの還元を行うには証明書に記載されている保護還元キーを入力し、還元先のウォレットを指定し、{adaRedemptionPassphraseLength}つのパスフレーズを入力してください。

", - "wallet.redeem.dialog.instructions.recoveryForceVended": "

リカバリーサービスを通じて入手した強制ヴェンドされた証明書を用いてADAを還元するには、暗号化された証明書をアップロードし、その復号キーを入力してください。復号キーは以下のようなものです。

qXQWDxI3JrlFRtC4SeQjeGzLbVXWBomYPbNO1Vfm1T4=

暗号化された証明書をアップロードし、復号キーを入力後、還元キーは自動的に抽出され、指定したウォレットにADAが還元できるようになります。

", - "wallet.redeem.dialog.instructions.recoveryRegular": "

リカバリーサービスを通じて入手した通常ヴェンドされた証明書を用いてADAを還元するには、暗号化された証明書をアップロードし、{adaRedemptionPassphraseLength}つの英単語(ニーモニックフレーズ)を入力してください。

暗号化された証明書をアップロードし、{adaRedemptionPassphraseLength}つの英単語(ニーモニックフレーズ)を入力後、還元キーは自動的に抽出され、指定されたウォレットにADAが還元できるようになります。

", - "wallet.redeem.dialog.instructions.regular": "

Adaの還元を行うには証明書をアップロードするか、証明書に記載されているAda還元キーをコピー&ペーストしてください。Ada還元キーの例:

B_GQOAffMBeRIn6vh1hJmeOT3ViS_TmaT4XAHAfDVH0=

証明書付きのPDFファイルをアップロードした場合、還元キーは自動的に書き出されます。

暗号化された証明書をアップロードした場合、解読するには{adaRedemptionPassphraseLength}つのパスフレーズを入力する必要があります。還元キーは自動的に抽出されます。

", + "wallet.redeem.dialog.instructions.recoveryForceVended": "

リカバリーサービスを通じて入手した強制ヴェンドされた証明書を用いてadaを還元するには、暗号化された証明書をアップロードし、その復号キーを入力してください。復号キーは以下のようなものです。

qXQWDxI3JrlFRtC4SeQjeGzLbVXWBomYPbNO1Vfm1T4=

暗号化された証明書をアップロードし、復号キーを入力後、還元キーは自動的に抽出され、指定したウォレットにadaが還元できるようになります。

", + "wallet.redeem.dialog.instructions.recoveryRegular": "

リカバリーサービスを通じて入手した通常ヴェンドされた証明書を用いてadaを還元するには、暗号化された証明書をアップロードし、{adaRedemptionPassphraseLength}つの英単語(ニーモニックフレーズ)を入力してください。

暗号化された証明書をアップロードし、{adaRedemptionPassphraseLength}つの英単語(ニーモニックフレーズ)を入力後、還元キーは自動的に抽出され、指定されたウォレットにadaが還元できるようになります。

", + "wallet.redeem.dialog.instructions.regular": "

Adaの還元を行うには証明書をアップロードするか、証明書に記載されているada還元キーをコピー&ペーストしてください。Ada還元キーの例:

B_GQOAffMBeRIn6vh1hJmeOT3ViS_TmaT4XAHAfDVH0=

証明書付きのPDFファイルをアップロードした場合、還元キーは自動的に書き出されます。

暗号化された証明書をアップロードした場合、解読するには{adaRedemptionPassphraseLength}つのパスフレーズを入力する必要があります。還元キーは自動的に抽出されます。

", "wallet.redeem.dialog.passphrase.input.noResults": "該当する単語は見つかりませんでした", "wallet.redeem.dialog.passphraseHint": "{length}つのパスフレーズを入力してください", "wallet.redeem.dialog.passphraseLabel": "Ada証明書を解読するためのパスフレーズ", @@ -280,11 +283,11 @@ "wallet.redeem.dialog.submitLabel": "Adaを還元", "wallet.redeem.dialog.walletSelectLabel": "ウォレット選択", "wallet.redeem.disclaimerOverlay.checkboxLabel": "免責事項に同意する", - "wallet.redeem.disclaimerOverlay.disclaimerText": "注意:テストネットでの還元はあなたの証明書または還元キーが正当なものであるということを証明し、テスト目的のみであるテスト版のAda(TEST-ADA)を手に入れることができます。なお、この証明書は正式版カルダノネットワーク(Cardano SL)が公開された際に再度還元作業を行って頂く必要がありますので、必ず安全な場所に保管してください。TEST-ADAは一切の価値を保有せず、TEST-ADAを用いた換金を行うことはできません。", + "wallet.redeem.disclaimerOverlay.disclaimerText": "注意:テストネットでの還元はあなたの証明書または還元キーが正当なものであるということを証明し、テスト目的のみであるテスト版のada(TEST-ADA)を手に入れることができます。なお、この証明書は正式版カルダノネットワーク(Cardano SL)が公開された際に再度還元作業を行って頂く必要がありますので、必ず安全な場所に保管してください。TEST-ADAは一切の価値を保有せず、TEST-ADAを用いた換金を行うことはできません。", "wallet.redeem.disclaimerOverlay.submitLabel": "次", "wallet.redeem.disclaimerOverlay.title": "ダイダロスを利用した還元に関する免責事項", "wallet.redeem.noWallets.createWalletLink": "最初のウォレットを作成する", - "wallet.redeem.noWallets.headLine": "ウォレットがないためAdaの還元操作を行うことができません。", + "wallet.redeem.noWallets.headLine": "ウォレットがないためadaの還元操作を行うことができません。", "wallet.redeem.noWallets.instructions": "ウォレットの新規作成、もしくは既存のウォレットを復元し、還元を行ってください。", "wallet.redeem.success.overlay.confirmButton": "完了", "wallet.redeem.success.overlay.headline": "還元に成功しました", @@ -314,7 +317,6 @@ "wallet.send.confirmationDialog.submit": "送金", "wallet.send.confirmationDialog.title": "トランザクションの確認", "wallet.send.confirmationDialog.totalLabel": "合計", - "wallet.send.form.amount.equalsAda": "{amount}ADAと同額", "wallet.send.form.amount.label": "金額", "wallet.send.form.description.hint": "任意のメッセージを入力できます", "wallet.send.form.description.label": "詳細", diff --git a/source/renderer/app/i18n/locales/ko-KR.json b/source/renderer/app/i18n/locales/ko-KR.json index 66207983ef..307e146d0c 100644 --- a/source/renderer/app/i18n/locales/ko-KR.json +++ b/source/renderer/app/i18n/locales/ko-KR.json @@ -14,6 +14,9 @@ "api.errors.NotEnoughMoneyToSendError": "!!!Not enough money to make this transaction.", "api.errors.RedeemAdaError": "!!!Your ADA could not be redeemed correctly.", "api.errors.ReportRequestError": "!!!There was a problem sending the support request.", + "api.errors.TooBigTransactionError": "!!!Too many input addresses need to be selected. Try sending a smaller amount.", + "api.errors.TooBigTransactionErrorLinkLabel": "!!!Learn more.", + "api.errors.TooBigTransactionErrorLinkURL": "!!!https://iohk.zendesk.com/hc/en-us/articles/360017733353", "api.errors.WalletAlreadyImportedError": "!!!Wallet you are trying to import already exists.", "api.errors.WalletAlreadyRestoredError": "!!!Wallet you are trying to restore already exists.", "api.errors.WalletFileImportError": "!!!Wallet could not be imported, please make sure you are providing a correct file.", @@ -314,7 +317,6 @@ "wallet.send.confirmationDialog.submit": "!!!Send", "wallet.send.confirmationDialog.title": "!!!Confirm transaction", "wallet.send.confirmationDialog.totalLabel": "!!!Total", - "wallet.send.form.amount.equalsAda": "!!!equals {amount} ADA", "wallet.send.form.amount.label": "!!!Amount", "wallet.send.form.description.hint": "!!!You can add a message if you want", "wallet.send.form.description.label": "!!!Description", diff --git a/source/renderer/app/i18n/locales/terms-of-use/mainnet/en-US.md b/source/renderer/app/i18n/locales/terms-of-use/mainnet/en-US.md index 1805cb31ae..47f4e4bd35 100644 --- a/source/renderer/app/i18n/locales/terms-of-use/mainnet/en-US.md +++ b/source/renderer/app/i18n/locales/terms-of-use/mainnet/en-US.md @@ -6,9 +6,9 @@ BY CLICKING THE ACCEPTANCE BUTTON OR ACCESSING, USING OR INSTALLING ANY PART OF 1. ## 1. Service Terms and Limitations -**a. Description.** The Software functions as a free, open source, digital cryptocurrency wallet. The Software does not constitute an account by which the Company or any other third parties serve as financial intermediaries or custodians of User's ADA or any other cryptocurrency. +**a. Description.** The Software functions as a free, open source, digital cryptocurrency wallet. The Software does not constitute an account by which the Company or any other third parties serve as financial intermediaries or custodians of User's ada or any other cryptocurrency. -While the Software has undergone beta testing and continues to be improved by feedback from the developers community, open-source contributors and beta-testers, the Company cannot guarantee there will not be bugs in the Software. User acknowledges that User's use of this Software is at User's risk, discretion and in compliance with all applicable laws. User is responsible for safekeeping User's passwords, PINs, private keys, redemption keys, shielded vending keys, backup recovery mnemonic phrases, ADA passcodes and any other codes User uses to access the Software or any information, ADA, voucher, or other cryptocurrency unit. +While the Software has undergone beta testing and continues to be improved by feedback from the developers community, open-source contributors and beta-testers, the Company cannot guarantee there will not be bugs in the Software. User acknowledges that User's use of this Software is at User's risk, discretion and in compliance with all applicable laws. User is responsible for safekeeping User's passwords, PINs, private keys, redemption keys, shielded vending keys, backup recovery mnemonic phrases, ada passcodes and any other codes User uses to access the Software or any information, ada, voucher, or other cryptocurrency unit. IF USER LOSES ACCESS TO USER'S CRYPTOCURRENCY WALLET OR PRIVATE KEYS AND HAS NOT SEPARATELY STORED A BACKUP OF USER'S CRYPTOCURRENCY WALLET OR BACKUP RECOVERY MNEMONIC PHRASE(S) AND CORRESPONDING PASSWORD(S), USER ACKNOWLEDGES AND AGREES THAT ANY ADA OR ANY OTHER CRYPTOCURRENCIES USER HAS ASSOCIATED WITH THAT CRYPTOCURRENCY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The Company and its shareholders, directors, officers, employees, independent contractors, affiliates and agents cannot guarantee transaction confirmation or retrieve User's private keys or passwords if User loses or forgets them. @@ -58,26 +58,26 @@ User agrees to indemnify, hold harmless and defend Company, its shareholders, di The Company retains all right, title, and interest in and to all of the Company's brands, logos, and trademarks, including, but not limited to, Input Output HK Limited, IOHK, Daedalus, Daedalus Cryptocurrency Wallet, Daedalus Wallet, Daedalus App, and variations of the wording of the aforementioned brands, logos, and trademarks. -11. ## 11. ADA Redemption -User agrees and consents to redeem User's ADA by choosing one of the three available redemption options: +11. ## 11. Ada Redemption +User agrees and consents to redeem User's ada by choosing one of the three available redemption options: -a) User may redeem User's ADA by uploading User's certificate or by copying and pasting User's redemption key from User's certificate. If User uploads a PDF file with User's certificate, a redemption key shall be automatically extracted. If User uploads an encrypted certificate, User's redemption code shall be automatically extracted only after User provides User's 9 word mnemonic passphrase; +a) User may redeem User's ada by uploading User's certificate or by copying and pasting User's redemption key from User's certificate. If User uploads a PDF file with User's certificate, a redemption key shall be automatically extracted. If User uploads an encrypted certificate, User's redemption code shall be automatically extracted only after User provides User's 9 word mnemonic passphrase; -b) User may redeem User's ADA by uploading User's certificate or by copying and pasting User's redemption key from User's certificate. If User uploads a PDF file with User's certificate, a redemption key shall be automatically extracted. If User uploads an encrypted certificate, User's redemption key shall be automatically extracted only after User provides User's email address, ADA passcode and ADA amount; or +b) User may redeem User's ada by uploading User's certificate or by copying and pasting User's redemption key from User's certificate. If User uploads a PDF file with User's certificate, a redemption key shall be automatically extracted. If User uploads an encrypted certificate, User's redemption key shall be automatically extracted only after User provides User's email address, ada passcode and ada amount; or -c) User may redeem User's ADA by (i) entering the shielded vending key from User's certificate, (ii) choosing a wallet where User's ADA shall be redeemed and (iii) entering User's 9 word mnemonic passphrase. +c) User may redeem User's ada by (i) entering the shielded vending key from User's certificate, (ii) choosing a wallet where User's ada shall be redeemed and (iii) entering User's 9 word mnemonic passphrase. 12. ## 12. Warnings -User acknowledges that IOHK shall not be responsible for transferring, safeguarding, or maintaining private keys and/or User's ADA or any other cryptocurrency. If User and/or any co-signing authorities lose, mishandle, or have stolen associated private keys, or if User's cosigners refuse to provide requisite authority, User acknowledges that User may not be able to recover User's ADA or any other cryptocurrency, and that the Company shall not be responsible for such loss. +User acknowledges that IOHK shall not be responsible for transferring, safeguarding, or maintaining private keys and/or User's ada or any other cryptocurrency. If User and/or any co-signing authorities lose, mishandle, or have stolen associated private keys, or if User's cosigners refuse to provide requisite authority, User acknowledges that User may not be able to recover User's ada or any other cryptocurrency, and that the Company shall not be responsible for such loss. -User acknowledges and agrees that ADA or any other cryptocurrency transactions facilitated by Daedalus and/or the Company may be delayed, and that the Company shall not be responsible for any associated loss. +User acknowledges and agrees that ada or any other cryptocurrency transactions facilitated by Daedalus and/or the Company may be delayed, and that the Company shall not be responsible for any associated loss. User acknowledges and agrees that the Company shall not be responsible for any aspect of the information, content, or services contained in any third-party materials or on any third party sites accessible or linked to Daedalus and/or the Company. -User agrees that User should never share User's certificate with any natural or legal person, including the Company, Cardano Foundation, Attain Corporation, or any other entity. Further, User acknowledges that sharing User's certificate may result in loss of User's ADA or any other cryptocurrency, and User agrees that the Company shall not be responsible for such loss. +User agrees that User should never share User's certificate with any natural or legal person, including the Company, Cardano Foundation, Attain Corporation, or any other entity. Further, User acknowledges that sharing User's certificate may result in loss of User's ada or any other cryptocurrency, and User agrees that the Company shall not be responsible for such loss. -By using Daedalus, User acknowledges and agrees: (i) that the Company is not responsible for operation of the underlying protocols and that the Company makes no guarantee of their functionality, security, or availability; and (ii) that the underlying protocols are subject to sudden changes in operating rules ("forks"), and that such forks may materially affect the value, and/or function of the ADA or any other cryptocurrency that User stores on Daedalus. In the event of a fork, User agrees that the Company may temporarily suspend Daedalus operations (with or without notice to User) and that the Company may, in its sole discretion, (a) configure or reconfigure its systems or (b) decide not to support (or cease supporting) the forked protocol entirely, provided, however, that User will have an opportunity to withdraw funds from Daedalus. User acknowledges and agrees that the Company assumes absolutely no responsibility whatsoever in respect of an unsupported branch of a forked protocol. +By using Daedalus, User acknowledges and agrees: (i) that the Company is not responsible for operation of the underlying protocols and that the Company makes no guarantee of their functionality, security, or availability; and (ii) that the underlying protocols are subject to sudden changes in operating rules ("forks"), and that such forks may materially affect the value, and/or function of the ada or any other cryptocurrency that User stores on Daedalus. In the event of a fork, User agrees that the Company may temporarily suspend Daedalus operations (with or without notice to User) and that the Company may, in its sole discretion, (a) configure or reconfigure its systems or (b) decide not to support (or cease supporting) the forked protocol entirely, provided, however, that User will have an opportunity to withdraw funds from Daedalus. User acknowledges and agrees that the Company assumes absolutely no responsibility whatsoever in respect of an unsupported branch of a forked protocol. 13. ## 13. Miscellaneous @@ -87,4 +87,4 @@ By using Daedalus, User acknowledges and agrees: (i) that the Company is not res **c. Entire Agreement – Disclaimer of Reliance**. This Agreement constitutes the entire agreement between the Parties with respect to the subject matter hereof and supersedes all prior agreements or understandings between the Parties. Each Party expressly warrants and represents that: a) it has authority to enter this Agreement; and b) it is not relying upon any statements, understandings, representations, expectations or agreements other than those expressly set forth in this Agreement. -**d. THIS AGREEMENT IS SUBJECT TO BINDING ARBITRATION.** User agrees that any and all disputes or claims against any person arising out of or in any way related to this Agreement or the access, use or installation of the Software by User or any other person shall be subject to binding arbitration under the Rules of Arbitration of the International Chamber of Commerce by one or more arbitrators appointed in accordance with the said Rules. The location of the arbitration shall be Hong Kong. The language of the arbitration shall be English. \ No newline at end of file +**d. THIS AGREEMENT IS SUBJECT TO BINDING ARBITRATION.** User agrees that any and all disputes or claims against any person arising out of or in any way related to this Agreement or the access, use or installation of the Software by User or any other person shall be subject to binding arbitration under the Rules of Arbitration of the International Chamber of Commerce by one or more arbitrators appointed in accordance with the said Rules. The location of the arbitration shall be Hong Kong. The language of the arbitration shall be English. diff --git a/source/renderer/app/i18n/locales/terms-of-use/mainnet/ja-JP.md b/source/renderer/app/i18n/locales/terms-of-use/mainnet/ja-JP.md index 9198f1f2db..4dde31002d 100644 --- a/source/renderer/app/i18n/locales/terms-of-use/mainnet/ja-JP.md +++ b/source/renderer/app/i18n/locales/terms-of-use/mainnet/ja-JP.md @@ -6,11 +6,11 @@ 1. ## 第1条 サービス利用の条件と制限 -**a. 内容の説明** 本ソフトウェアは、無料かつオープンソースのデジタル仮想通貨ウォレットとして機能するものです。当社もしくはその他の第三者がユーザーのADAやその他の仮想通貨の金融仲介業者または管理者として管理するアカウントを、本ソフトウェアは構成しません。 +**a. 内容の説明** 本ソフトウェアは、無料かつオープンソースのデジタル仮想通貨ウォレットとして機能するものです。当社もしくはその他の第三者がユーザーのadaやその他の仮想通貨の金融仲介業者または管理者として管理するアカウントを、本ソフトウェアは構成しません。 -本ソフトウェアについてはベータテストを行い、開発者コミュニティ、オープンソース貢献者およびベータテスターからのフィードバックを基に継続的な改良を行っていますが、当社は本ソフトウェアにバグが存在しないとする保証は行いません。ユーザーは、ユーザー自身の責任および選択にて、かつ適用されるすべての法律に従って、本ソフトウェアを利用することを了承します。ユーザーは、ユーザーが本ソフトウェア、または情報、ADA、バウチャー、その他の仮想通貨単位へアクセスする際に用いるユーザーのパスワード、暗証番号(PIN番号)、秘密鍵、換金鍵、保護販売鍵、バックアップ復元用ニーモニック・パスフレーズ、ADA用パスコード、およびその他のコード類の保管についての責任を負うものとします。 +本ソフトウェアについてはベータテストを行い、開発者コミュニティ、オープンソース貢献者およびベータテスターからのフィードバックを基に継続的な改良を行っていますが、当社は本ソフトウェアにバグが存在しないとする保証は行いません。ユーザーは、ユーザー自身の責任および選択にて、かつ適用されるすべての法律に従って、本ソフトウェアを利用することを了承します。ユーザーは、ユーザーが本ソフトウェア、または情報、ada、バウチャー、その他の仮想通貨単位へアクセスする際に用いるユーザーのパスワード、暗証番号(PIN番号)、秘密鍵、換金鍵、保護販売鍵、バックアップ復元用ニーモニック・パスフレーズ、ADA用パスコード、およびその他のコード類の保管についての責任を負うものとします。 -ユーザーが、ユーザーの仮想通貨ウォレットへのアクセスまたは秘密鍵を失った場合に、ユーザーの仮想通貨ウォレットまたはバックアップ復元用ニーモニックフレーズ、およびこれに対応するパスワードを別個に保管していなかった場合、ユーザーは、当該仮想通貨ウォレットにてユーザーが所有するADAまたはその他のあらゆる仮想通貨へはアクセス不能となることを了承し、かつこれに同意します。すべての取引のリクエストは取消不能です。ユーザーがユーザーの秘密鍵もしくはパスワードを紛失または忘れた場合、当社および当社の株主、取締役、役員、従業員、関連会社および代理人は、取引の確認、秘密鍵もしくはパスワードの回復について保証することはできません。 +ユーザーが、ユーザーの仮想通貨ウォレットへのアクセスまたは秘密鍵を失った場合に、ユーザーの仮想通貨ウォレットまたはバックアップ復元用ニーモニックフレーズ、およびこれに対応するパスワードを別個に保管していなかった場合、ユーザーは、当該仮想通貨ウォレットにてユーザーが所有するadaまたはその他のあらゆる仮想通貨へはアクセス不能となることを了承し、かつこれに同意します。すべての取引のリクエストは取消不能です。ユーザーがユーザーの秘密鍵もしくはパスワードを紛失または忘れた場合、当社および当社の株主、取締役、役員、従業員、関連会社および代理人は、取引の確認、秘密鍵もしくはパスワードの回復について保証することはできません。 **b. アクセスについて** ユーザーは、何らかの理由により本ソフトウェアが随時アクセス不能または操作不能となる場合があることに同意します。上記の理由には以下のものが含まれますが、これらに限定されません。(i) 機器の不具合、(ii) 当社が随時実施する定期的なメンテナンスもしくは修理、または、(iii) 当社の制御を超える事由、もしくは合理的に考えて当社には予測不可能な事由。 @@ -58,29 +58,29 @@ Input Output HK Limited、IOHK、Daedalus(ダイダロス)、Daedalus Cryptocurrency Wallet(ダイダロス仮想通貨ウォレット)、Daedalus Wallet(ダイダロス・ウォレット)、Daedalus App(ダイダロス・アプリケーション)を含む(ただしこれらに限定されない)当社のブランド、ロゴ、および商標のすべて、ならびに、それらのブランド、ロゴ、および商標の派生語のすべてに付随する権利、権原および権益はすべて、当社が保持するものです。 -11. ## 第11条 ADAの換金 +11. ## 第11条 adaの換金 -ユーザーは、ユーザーが所有するADAの換金は3つの換金方法から1つを選択して行うことに同意し、かつこれを承諾します。 +ユーザーは、ユーザーが所有するadaの換金は3つの換金方法から1つを選択して行うことに同意し、かつこれを承諾します。 -a) ユーザーは、ADA証明書のアップロード、またはADA証明書に記載の換金鍵をコピー・アンド・ペーストすることにより、ユーザーのADAを換金することができます。ユーザーがPDF形式のADA証明書をアップロードした場合、換金鍵は自動的に抽出されます。ユーザーが暗号化された証明書をアップロードした場合、ユーザーが9語のニーモニック・パスフレーズを入力した場合のみ、換金コードが自動的に抽出されます。 +a) ユーザーは、ada証明書のアップロード、またはada証明書に記載の換金鍵をコピー・アンド・ペーストすることにより、ユーザーのadaを換金することができます。ユーザーがPDF形式のada証明書をアップロードした場合、換金鍵は自動的に抽出されます。ユーザーが暗号化された証明書をアップロードした場合、ユーザーが9語のニーモニック・パスフレーズを入力した場合のみ、換金コードが自動的に抽出されます。 -b) ユーザーは、ADA証明書のアップロード、またはADA証明書に記載の換金鍵をコピー・アンド・ペーストすることにより、ユーザーのADAを換金することができます。ユーザーがPDF形式のADA証明書をアップロードした場合、換金鍵は自動的に抽出されます。ユーザーが暗号化された証明書をアップロードした場合、ユーザーがユーザーの電子メールアドレス、ADA還元用コード、およびADAの金額を入力した場合のみ、換金鍵が自動的に抽出されます。 +b) ユーザーは、ada証明書のアップロード、またはada証明書に記載の換金鍵をコピー・アンド・ペーストすることにより、ユーザーのadaを換金することができます。ユーザーがPDF形式のada証明書をアップロードした場合、換金鍵は自動的に抽出されます。ユーザーが暗号化された証明書をアップロードした場合、ユーザーがユーザーの電子メールアドレス、ada還元用コード、およびadaの金額を入力した場合のみ、換金鍵が自動的に抽出されます。 -c) ユーザーは、(i) ADA証明書に記載の保護販売鍵を入力し、(ii) 換金するユーザーのADAのウォレットを選択し、かつ、(iii) ユーザーの9語のニーモニック・パスフレーズを入力することにより、ユーザーのADAを換金することができます。 +c) ユーザーは、(i) Ada証明書に記載の保護販売鍵を入力し、(ii) 換金するユーザーのadaのウォレットを選択し、かつ、(iii) ユーザーの9語のニーモニック・パスフレーズを入力することにより、ユーザーのadaを換金することができます。 12. ## 第12条 警告事項 -ユーザーは、IOHKが秘密鍵、および/または、ユーザーのADAもしくはその他の仮想通貨の移行、保護または維持についての責任を負わないことを了承しています。ユーザーおよび/または連署による権限者が関連の秘密鍵を紛失し、誤って処理し、もしくは盗難された場合、または、ユーザーの連署人が必要とされる権限の使用を拒否した場合、ユーザーは、ユーザーのADAまたはその他の仮想通貨が復元不可能となる可能性があり、かつ当社は当該損失についての責任を負わないことを了承しています。 +ユーザーは、IOHKが秘密鍵、および/または、ユーザーのadaもしくはその他の仮想通貨の移行、保護または維持についての責任を負わないことを了承しています。ユーザーおよび/または連署による権限者が関連の秘密鍵を紛失し、誤って処理し、もしくは盗難された場合、または、ユーザーの連署人が必要とされる権限の使用を拒否した場合、ユーザーは、ユーザーのadaまたはその他の仮想通貨が復元不可能となる可能性があり、かつ当社は当該損失についての責任を負わないことを了承しています。 -ユーザーは、ダイダロスおよび/または当社が処理するADAまたはその他の仮想通貨の取引に遅延が起こり得ること、および、当社はその遅延に関連した損失に対し責任を負わないことを了承し、かつこれに同意します。 +ユーザーは、ダイダロスおよび/または当社が処理するadaまたはその他の仮想通貨の取引に遅延が起こり得ること、および、当社はその遅延に関連した損失に対し責任を負わないことを了承し、かつこれに同意します。 ユーザーは、ダイダロスおよび/または当社にアクセス可能な、もしくはこれらにリンクする第三者の素材または第三者のサイトに含まれる情報、内容またはサービスのいかなる部分についても、当社はその責任を負わないことを了承し、かつこれに同意します。 -ユーザーは、いかなる自然人または法人(当社、カルダノ財団、アテインコーポレーション、その他の事業体を含みます。)とも、ユーザーの証明書を決して共有しないことに同意します。さらにユーザーは、ユーザーの証明書の共有によりユーザーのADAを損失する場合があることを了承し、かつ、ユーザーは、当社が当該損失に対する責任を負わないことに同意します。 +ユーザーは、いかなる自然人または法人(当社、カルダノ財団、アテインコーポレーション、その他の事業体を含みます。)とも、ユーザーの証明書を決して共有しないことに同意します。さらにユーザーは、ユーザーの証明書の共有によりユーザーのadaを損失する場合があることを了承し、かつ、ユーザーは、当社が当該損失に対する責任を負わないことに同意します。 -ユーザーは、Testnet上でのADAの換金ではテスト版のADAのみの換金となること、および、実際のADAを換金するには、Mainnetがリリースされた後にユーザーがMainnet上で同じ手続きを再度行う必要があることを了承し、かつこれらに同意します。 +ユーザーは、Testnet上でのadaの換金ではテスト版のadaのみの換金となること、および、実際のadaを換金するには、Mainnetがリリースされた後にユーザーがMainnet上で同じ手続きを再度行う必要があることを了承し、かつこれらに同意します。 -ダイダロスを利用することにより、ユーザーは以下のことを了承し、かつこれらに同意します。(i) 当社は下位プロトコルの操作に対して責任を負わないこと、および、当社はそれらの機能性、安全性、または入手可能性について何らの保証も行わないこと、および、(ii) 下位プロトコルは操作ルールにおける急な変更(以下「フォーク」)を前提としており、かつ、それらのフォークは、ユーザーがダイダロスに保管するADAもしくはその他の仮想通貨の価値および/または機能に重大な影響を与える可能性があること。フォークが発生した場合、当社は(ユーザーへの通知の有無を問わず)一時的にダイダロスの運営を停止する可能性があること、および、当社は、その単独の裁量により、(a) システムの設定または再設定を行うか、または、(b) フォークが発生したプロトコルのサポートを完全に行わない(またはサポートを終了する)決定を行う場合があることに、ユーザーは同意します。ただし、ユーザーにはダイダロスから資金を引き出す機会が与えられます。ユーザーは、フォークが発生した非サポートのプロトコル分岐に関しては当社が完全に一切の責任を負わないことを了承し、かつこれに同意します。 +ダイダロスを利用することにより、ユーザーは以下のことを了承し、かつこれらに同意します。(i) 当社は下位プロトコルの操作に対して責任を負わないこと、および、当社はそれらの機能性、安全性、または入手可能性について何らの保証も行わないこと、および、(ii) 下位プロトコルは操作ルールにおける急な変更(以下「フォーク」)を前提としており、かつ、それらのフォークは、ユーザーがダイダロスに保管するadaもしくはその他の仮想通貨の価値および/または機能に重大な影響を与える可能性があること。フォークが発生した場合、当社は(ユーザーへの通知の有無を問わず)一時的にダイダロスの運営を停止する可能性があること、および、当社は、その単独の裁量により、(a) システムの設定または再設定を行うか、または、(b) フォークが発生したプロトコルのサポートを完全に行わない(またはサポートを終了する)決定を行う場合があることに、ユーザーは同意します。ただし、ユーザーにはダイダロスから資金を引き出す機会が与えられます。ユーザーは、フォークが発生した非サポートのプロトコル分岐に関しては当社が完全に一切の責任を負わないことを了承し、かつこれに同意します。 13. ## 第13条 雑則 @@ -90,4 +90,4 @@ c) ユーザーは、(i) ADA証明書に記載の保護販売鍵を入力し、( **c. 完全合意 – 依拠の否認** 本契約は、本契約の内容に関する両当事者間の完全な合意を構成するものであり、かつ、両当事者間における従前のすべての合意または了解に優先します。各当事者は、a) 本契約を締結する権限を有すること、および、b) 本契約中に明示にて規定されるもの以外のいかなる声明、了解、表明、見込み、または合意にも依拠しないことを明確に保証し、かつ表明します。 -**d. 本契約は仲裁を前提とします** 本契約、または、ユーザーもしくはその他の者による本ソフトウェアへのアクセス、利用またはインストールに起因または関連して提起されるいずれかの者に対する紛争および請求は、その一切が国際商業会議所の仲裁規則に基づく仲裁を前提とし、当該仲裁は同規則に従って任命された1名以上の仲裁人により行われるものとします。仲裁地は香港とし、仲裁での使用言語は英語とします。 \ No newline at end of file +**d. 本契約は仲裁を前提とします** 本契約、または、ユーザーもしくはその他の者による本ソフトウェアへのアクセス、利用またはインストールに起因または関連して提起されるいずれかの者に対する紛争および請求は、その一切が国際商業会議所の仲裁規則に基づく仲裁を前提とし、当該仲裁は同規則に従って任命された1名以上の仲裁人により行われるものとします。仲裁地は香港とし、仲裁での使用言語は英語とします。 diff --git a/source/renderer/app/i18n/locales/terms-of-use/other/en-US.md b/source/renderer/app/i18n/locales/terms-of-use/other/en-US.md index 00e8280f74..08b3fb2503 100644 --- a/source/renderer/app/i18n/locales/terms-of-use/other/en-US.md +++ b/source/renderer/app/i18n/locales/terms-of-use/other/en-US.md @@ -6,9 +6,9 @@ BY CLICKING THE ACCEPTANCE BUTTON OR ACCESSING, USING OR INSTALLING ANY PART OF 1. ## 1. Service Terms and Limitations -**a. Description.** The Software functions as a free, open source, digital cryptocurrency wallet. The Software does not constitute an account by which the Company or any other third parties serve as financial intermediaries or custodians of User's ADA or any other cryptocurrency. +**a. Description.** The Software functions as a free, open source, digital cryptocurrency wallet. The Software does not constitute an account by which the Company or any other third parties serve as financial intermediaries or custodians of User's ada or any other cryptocurrency. -While the Software has undergone beta testing and continues to be improved by feedback from the developers community, open-source contributors and beta-testers, the Company cannot guarantee there will not be bugs in the Software. User acknowledges that User's use of this Software is at User's risk, discretion and in compliance with all applicable laws. User is responsible for safekeeping User's passwords, PINs, private keys, redemption keys, shielded vending keys, backup recovery mnemonic passphrases, ADA passcodes and any other codes User uses to access the Software or any information, ADA, voucher, or other cryptocurrency unit. +While the Software has undergone beta testing and continues to be improved by feedback from the developers community, open-source contributors and beta-testers, the Company cannot guarantee there will not be bugs in the Software. User acknowledges that User's use of this Software is at User's risk, discretion and in compliance with all applicable laws. User is responsible for safekeeping User's passwords, PINs, private keys, redemption keys, shielded vending keys, backup recovery mnemonic passphrases, ada passcodes and any other codes User uses to access the Software or any information, ada, voucher, or other cryptocurrency unit. IF USER LOSES ACCESS TO USER'S CRYPTOCURRENCY WALLET OR PRIVATE KEYS AND HAS NOT SEPARATELY STORED A BACKUP OF USER'S CRYPTOCURRENCY WALLET OR BACKUP RECOVERY MNEMONIC PHRASE(S) AND CORRESPONDING PASSWORD(S), USER ACKNOWLEDGES AND AGREES THAT ANY ADA OR ANY OTHER CRYPTOCURRENCIES USER HAS ASSOCIATED WITH THAT CRYPTOCURRENCY WALLET WILL BECOME INACCESSIBLE. All transaction requests are irreversible. The Company and its shareholders, directors, officers, employees, affiliates and agents cannot guarantee transaction confirmation or retrieve User's private keys or passwords if User loses or forgets them. @@ -58,29 +58,29 @@ User agrees to indemnify, hold harmless and defend Company, its shareholders, di The Company retains all right, title, and interest in and to all of the Company's brands, logos, and trademarks, including, but not limited to, Input Output HK Limited, IOHK, Daedalus, Daedalus Cryptocurrency Wallet, Daedalus Wallet, Daedalus App, and variations of the wording of the aforementioned brands, logos, and trademarks. -11. ## 11. ADA Redemption +11. ## 11. Ada Redemption -User agrees and consents to redeem User's ADA by choosing one of the three available redemption options: +User agrees and consents to redeem User's ada by choosing one of the three available redemption options: -a) User may redeem User's ADA by uploading User's certificate or by copying and pasting User's redemption key from User's certificate. If User uploads a PDF file with User's certificate, a redemption key shall be automatically extracted. If User uploads an encrypted certificate, User's redemption code shall be automatically extracted only after User provides User's 9 word mnemonic passphrase; +a) User may redeem User's ada by uploading User's certificate or by copying and pasting User's redemption key from User's certificate. If User uploads a PDF file with User's certificate, a redemption key shall be automatically extracted. If User uploads an encrypted certificate, User's redemption code shall be automatically extracted only after User provides User's 9 word mnemonic passphrase; -b) User may redeem User's ADA by uploading User's certificate or by copying and pasting User's redemption key from User's certificate. If User uploads a PDF file with User's certificate, a redemption key shall be automatically extracted. If User uploads an encrypted certificate, User's redemption key shall be automatically extracted only after User provides User's email address, ADA passcode and ADA amount; or +b) User may redeem User's ada by uploading User's certificate or by copying and pasting User's redemption key from User's certificate. If User uploads a PDF file with User's certificate, a redemption key shall be automatically extracted. If User uploads an encrypted certificate, User's redemption key shall be automatically extracted only after User provides User's email address, ada passcode and ada amount; or -c) User may redeem User's ADA by (i) entering the shielded vending key from User's certificate, (ii) choosing a wallet where User's ADA shall be redeemed and (iii) entering User's 9 word mnemonic passphrase. +c) User may redeem User's ada by (i) entering the shielded vending key from User's certificate, (ii) choosing a wallet where User's ada shall be redeemed and (iii) entering User's 9 word mnemonic passphrase. 12. ## 12. Warnings -User acknowledges that IOHK shall not be responsible for transferring, safeguarding, or maintaining private keys and/or User's ADA or any other cryptocurrency. If User and/or any co-signing authorities lose, mishandle, or have stolen associated private keys, or if User's cosigners refuse to provide requisite authority, User acknowledges that User may not be able to recover User's ADA or any other cryptocurrency, and that the Company shall not be responsible for such loss. +User acknowledges that IOHK shall not be responsible for transferring, safeguarding, or maintaining private keys and/or User's ada or any other cryptocurrency. If User and/or any co-signing authorities lose, mishandle, or have stolen associated private keys, or if User's cosigners refuse to provide requisite authority, User acknowledges that User may not be able to recover User's ada or any other cryptocurrency, and that the Company shall not be responsible for such loss. -User acknowledges and agrees that ADA or any other cryptocurrency transactions facilitated by Daedalus and/or the Company may be delayed, and that the Company shall not be responsible for any associated loss. +User acknowledges and agrees that ada or any other cryptocurrency transactions facilitated by Daedalus and/or the Company may be delayed, and that the Company shall not be responsible for any associated loss. User acknowledges and agrees that the Company shall not be responsible for any aspect of the information, content, or services contained in any third-party materials or on any third party sites accessible or linked to Daedalus and/or the Company. -User agrees that User should never share User's certificate with any natural or legal person, including the Company, Cardano Foundation, Attain Corporation, or any other entity. Further, User acknowledges that sharing User's certificate may result in loss of User's ADA or any other cryptocurrency, and User agrees that the Company shall not be responsible for such loss. +User agrees that User should never share User's certificate with any natural or legal person, including the Company, Cardano Foundation, Attain Corporation, or any other entity. Further, User acknowledges that sharing User's certificate may result in loss of User's ada or any other cryptocurrency, and User agrees that the Company shall not be responsible for such loss. -User acknowledges and agrees that by redeeming ADA in the testnet User redeems test-ADA only, and that in order to redeem actual ADA, User must repeat the procedure in the mainnet, once released. +User acknowledges and agrees that by redeeming ada in the testnet User redeems TEST-ADA only, and that in order to redeem actual ada, User must repeat the procedure in the mainnet, once released. -By using Daedalus, User acknowledges and agrees: (i) that the Company is not responsible for operation of the underlying protocols and that the Company makes no guarantee of their functionality, security, or availability; and (ii) that the underlying protocols are subject to sudden changes in operating rules ("forks"), and that such forks may materially affect the value, and/or function of the ADA or any other cryptocurrency that User stores on Daedalus. In the event of a fork, User agrees that the Company may temporarily suspend Daedalus operations (with or without notice to User) and that the Company may, in its sole discretion, (a) configure or reconfigure its systems or (b) decide not to support (or cease supporting) the forked protocol entirely, provided, however, that User will have an opportunity to withdraw funds from Daedalus. User acknowledges and agrees that the Company assumes absolutely no responsibility whatsoever in respect of an unsupported branch of a forked protocol. +By using Daedalus, User acknowledges and agrees: (i) that the Company is not responsible for operation of the underlying protocols and that the Company makes no guarantee of their functionality, security, or availability; and (ii) that the underlying protocols are subject to sudden changes in operating rules ("forks"), and that such forks may materially affect the value, and/or function of the ada or any other cryptocurrency that User stores on Daedalus. In the event of a fork, User agrees that the Company may temporarily suspend Daedalus operations (with or without notice to User) and that the Company may, in its sole discretion, (a) configure or reconfigure its systems or (b) decide not to support (or cease supporting) the forked protocol entirely, provided, however, that User will have an opportunity to withdraw funds from Daedalus. User acknowledges and agrees that the Company assumes absolutely no responsibility whatsoever in respect of an unsupported branch of a forked protocol. 13. ## 13. Miscellaneous @@ -90,4 +90,4 @@ By using Daedalus, User acknowledges and agrees: (i) that the Company is not res **c. Entire Agreement – Disclaimer of Reliance.** This Agreement constitutes the entire agreement between the Parties with respect to the subject matter hereof and supersedes all prior agreements or understandings between the Parties. Each Party expressly warrants and represents that: a) it has authority to enter this Agreement; and b) it is not relying upon any statements, understandings, representations, expectations or agreements other than those expressly set forth in this Agreement. -**d. THIS AGREEMENT IS SUBJECT TO BINDING ARBITRATION.** User agrees that any and all disputes or claims against any person arising out of or in any way related to this Agreement or the access, use or installation of the Software by User or any other person shall be subject to binding arbitration under the Rules of Arbitration of the International Chamber of Commerce by one or more arbitrators appointed in accordance with the said Rules. The location of the arbitration shall be Hong Kong. The language of the arbitration shall be English. \ No newline at end of file +**d. THIS AGREEMENT IS SUBJECT TO BINDING ARBITRATION.** User agrees that any and all disputes or claims against any person arising out of or in any way related to this Agreement or the access, use or installation of the Software by User or any other person shall be subject to binding arbitration under the Rules of Arbitration of the International Chamber of Commerce by one or more arbitrators appointed in accordance with the said Rules. The location of the arbitration shall be Hong Kong. The language of the arbitration shall be English. diff --git a/source/renderer/app/i18n/locales/zh-CN.json b/source/renderer/app/i18n/locales/zh-CN.json index 66207983ef..307e146d0c 100644 --- a/source/renderer/app/i18n/locales/zh-CN.json +++ b/source/renderer/app/i18n/locales/zh-CN.json @@ -14,6 +14,9 @@ "api.errors.NotEnoughMoneyToSendError": "!!!Not enough money to make this transaction.", "api.errors.RedeemAdaError": "!!!Your ADA could not be redeemed correctly.", "api.errors.ReportRequestError": "!!!There was a problem sending the support request.", + "api.errors.TooBigTransactionError": "!!!Too many input addresses need to be selected. Try sending a smaller amount.", + "api.errors.TooBigTransactionErrorLinkLabel": "!!!Learn more.", + "api.errors.TooBigTransactionErrorLinkURL": "!!!https://iohk.zendesk.com/hc/en-us/articles/360017733353", "api.errors.WalletAlreadyImportedError": "!!!Wallet you are trying to import already exists.", "api.errors.WalletAlreadyRestoredError": "!!!Wallet you are trying to restore already exists.", "api.errors.WalletFileImportError": "!!!Wallet could not be imported, please make sure you are providing a correct file.", @@ -314,7 +317,6 @@ "wallet.send.confirmationDialog.submit": "!!!Send", "wallet.send.confirmationDialog.title": "!!!Confirm transaction", "wallet.send.confirmationDialog.totalLabel": "!!!Total", - "wallet.send.form.amount.equalsAda": "!!!equals {amount} ADA", "wallet.send.form.amount.label": "!!!Amount", "wallet.send.form.description.hint": "!!!You can add a message if you want", "wallet.send.form.description.label": "!!!Description", diff --git a/source/renderer/app/i18n/types.js b/source/renderer/app/i18n/types.js new file mode 100644 index 0000000000..d9af821c30 --- /dev/null +++ b/source/renderer/app/i18n/types.js @@ -0,0 +1,7 @@ +// @flow + +export type ReactIntlMessageShape = { + id: string, + defaultMessage: string, + values?: Object +}; diff --git a/source/renderer/app/themes/mixins/error-message.scss b/source/renderer/app/themes/mixins/error-message.scss index 47cafd50f2..e125a54bad 100644 --- a/source/renderer/app/themes/mixins/error-message.scss +++ b/source/renderer/app/themes/mixins/error-message.scss @@ -2,4 +2,7 @@ color: var(--theme-color-error); font-family: var(--font-regular); line-height: 1.5em; + a { + color: var(--theme-color-error); + } }