From b0f2c28f229442febd0f5e2162ee6955425da148 Mon Sep 17 00:00:00 2001 From: ASUKA1006 Date: Fri, 8 Mar 2019 01:11:12 +0900 Subject: [PATCH 1/3] changed confirm button to remove last button --- app/actions/wallet-backup-actions.js | 1 + app/components/wallet/WalletBackupDialog.js | 12 +++++----- .../WalletRecoveryPhraseEntryDialog.js | 24 +++++++++---------- .../dialogs/WalletBackupDialogContainer.js | 8 +++---- app/i18n/locales/en-US.json | 2 +- app/stores/toplevel/WalletBackupStore.js | 11 ++++++++- 6 files changed, 34 insertions(+), 24 deletions(-) diff --git a/app/actions/wallet-backup-actions.js b/app/actions/wallet-backup-actions.js index 0a9c651edf..877011252a 100644 --- a/app/actions/wallet-backup-actions.js +++ b/app/actions/wallet-backup-actions.js @@ -15,4 +15,5 @@ export default class WalletBackupActions { restartWalletBackup: Action = new Action(); cancelWalletBackup: Action = new Action(); finishWalletBackup: Action = new Action(); + removeOneMnemonicWord: Action = new Action(); } diff --git a/app/components/wallet/WalletBackupDialog.js b/app/components/wallet/WalletBackupDialog.js index d2dab2aa41..7f9bdcaa38 100644 --- a/app/components/wallet/WalletBackupDialog.js +++ b/app/components/wallet/WalletBackupDialog.js @@ -11,7 +11,6 @@ type Props = { isPrivacyNoticeAccepted: boolean, countdownRemaining: number, isTermDeviceAccepted: boolean, - canFinishBackup: boolean, isTermRecoveryAccepted: boolean, isValid: boolean, isSubmitting: boolean, @@ -26,8 +25,9 @@ type Props = { onAcceptTermRecovery: Function, onAddWord: Function, onClear: Function, - onFinishBackup: Function, onRestartBackup: Function, + removeWord: Function, + hasWord: Function }; @observer @@ -40,10 +40,10 @@ export default class WalletBackupDialog extends Component { countdownRemaining, onAcceptPrivacyNotice, onContinue, recoveryPhrase, onStartWalletBackup, isTermDeviceAccepted, - enteredPhrase, canFinishBackup, + enteredPhrase, removeWord, hasWord, isTermRecoveryAccepted, isValid, isSubmitting, onAcceptTermDevice, onAcceptTermRecovery, - onAddWord, onClear, onFinishBackup, + onAddWord, onClear, onRestartBackup, recoveryPhraseSorted, } = this.props; @@ -75,7 +75,6 @@ export default class WalletBackupDialog extends Component { { onAddWord={onAddWord} onCancelBackup={onCancelBackup} onClear={onClear} - onFinishBackup={onFinishBackup} onRestartBackup={onRestartBackup} recoveryPhraseSorted={recoveryPhraseSorted} + removeWord={removeWord} + hasWord={hasWord} /> ); } diff --git a/app/components/wallet/backup-recovery/WalletRecoveryPhraseEntryDialog.js b/app/components/wallet/backup-recovery/WalletRecoveryPhraseEntryDialog.js index 112227dc70..b90c78b541 100644 --- a/app/components/wallet/backup-recovery/WalletRecoveryPhraseEntryDialog.js +++ b/app/components/wallet/backup-recovery/WalletRecoveryPhraseEntryDialog.js @@ -20,10 +20,10 @@ const messages = defineMessages({ defaultMessage: '!!!Tap each word in the correct order to verify your recovery phrase', description: 'Instructions for verifying wallet recovery phrase on dialog for entering wallet recovery phrase.' }, - buttonLabelConfirm: { - id: 'wallet.recovery.phrase.show.entry.dialog.button.labelConfirm', - defaultMessage: '!!!Confirm', - description: 'Label for button "Confirm" on wallet backup dialog' + buttonLabelRemoveLast: { + id: 'wallet.recovery.phrase.show.entry.dialog.button.labelRemoveLast', + defaultMessage: '!!!Remove last', + description: 'Label for button "Remove Last" on wallet backup dialog' }, buttonLabelClear: { id: 'wallet.recovery.phrase.show.entry.dialog.button.labelClear', @@ -51,13 +51,13 @@ type Props = { isTermRecoveryAccepted: boolean, isSubmitting: boolean, onAddWord: Function, - canFinishBackup: boolean, onClear: Function, onAcceptTermDevice: Function, onAcceptTermRecovery: Function, onRestartBackup: Function, onCancelBackup: Function, - onFinishBackup: Function, + removeWord: Function, + hasWord: Function }; @observer @@ -80,10 +80,10 @@ export default class WalletRecoveryPhraseEntryDialog extends Component { onClear, onAcceptTermDevice, onAcceptTermRecovery, - canFinishBackup, + removeWord, onRestartBackup, onCancelBackup, - onFinishBackup + hasWord } = this.props; const dialogClasses = classnames([ styles.component, @@ -95,10 +95,9 @@ export default class WalletRecoveryPhraseEntryDialog extends Component { const actions = []; actions.push({ - className: isSubmitting ? styles.isSubmitting : null, - label: intl.formatMessage(messages.buttonLabelConfirm), - onClick: onFinishBackup, - disabled: !canFinishBackup, + label: intl.formatMessage(messages.buttonLabelRemoveLast), + onClick: removeWord, + disabled: !hasWord, primary: true }); @@ -107,6 +106,7 @@ export default class WalletRecoveryPhraseEntryDialog extends Component { actions.unshift({ label: intl.formatMessage(messages.buttonLabelClear), onClick: onClear, + primary: true }); } diff --git a/app/containers/wallet/dialogs/WalletBackupDialogContainer.js b/app/containers/wallet/dialogs/WalletBackupDialogContainer.js index 0af036b423..a41bc6df90 100644 --- a/app/containers/wallet/dialogs/WalletBackupDialogContainer.js +++ b/app/containers/wallet/dialogs/WalletBackupDialogContainer.js @@ -35,7 +35,7 @@ export default class WalletBackupDialogContainer extends Component { acceptWalletBackupTermDevice, acceptWalletBackupTermRecovery, restartWalletBackup, - finishWalletBackup, + removeOneMnemonicWord, acceptPrivacyNoticeForWalletBackup, continueToRecoveryPhraseForWalletBackup } = actions.walletBackup; @@ -57,7 +57,7 @@ export default class WalletBackupDialogContainer extends Component { // Props for WalletRecoveryPhraseEntryDialog isTermDeviceAccepted={isTermDeviceAccepted} enteredPhrase={enteredPhrase} - canFinishBackup={isRecoveryPhraseValid && isTermDeviceAccepted && isTermRecoveryAccepted} + hasWord={() => recoveryPhraseWords.length > 0} isTermRecoveryAccepted={isTermRecoveryAccepted} isValid={isRecoveryPhraseValid} isSubmitting={createWalletRequest.isExecuting} @@ -65,8 +65,8 @@ export default class WalletBackupDialogContainer extends Component { onAcceptTermRecovery={acceptWalletBackupTermRecovery.trigger} onAddWord={addWordToWalletBackupVerification.trigger} onClear={clearEnteredRecoveryPhrase.trigger} - onFinishBackup={() => { - finishWalletBackup.trigger(); + removeWord={() => { + removeOneMnemonicWord.trigger(); }} onRestartBackup={restartWalletBackup.trigger} recoveryPhraseSorted={recoveryPhraseSorted} diff --git a/app/i18n/locales/en-US.json b/app/i18n/locales/en-US.json index 4b46b5abed..293fc9b051 100644 --- a/app/i18n/locales/en-US.json +++ b/app/i18n/locales/en-US.json @@ -190,7 +190,7 @@ "wallet.receive.page.walletAddressLabel": "Your wallet address", "wallet.receive.page.walletReceiveInstructions": "Share this wallet address to receive payments. To protect your privacy, new addresses are generated automatically once you use them.", "wallet.recovery.phrase.show.entry.dialog.button.labelClear": "Clear", - "wallet.recovery.phrase.show.entry.dialog.button.labelConfirm": "Confirm", + "wallet.recovery.phrase.show.entry.dialog.button.labelRemoveLast": "Remove last", "wallet.redeem.choices.tab.title.forceVended": "Force vended", "wallet.redeem.choices.tab.title.paperVended": "Paper vended", "wallet.redeem.choices.tab.title.recoveryForceVended": "Recovery - force vended", diff --git a/app/stores/toplevel/WalletBackupStore.js b/app/stores/toplevel/WalletBackupStore.js index 05bdb539b0..d69f34dca9 100644 --- a/app/stores/toplevel/WalletBackupStore.js +++ b/app/stores/toplevel/WalletBackupStore.js @@ -42,6 +42,7 @@ class WalletBackupStore extends Store { a.restartWalletBackup.listen(this._restartWalletBackup); a.cancelWalletBackup.listen(this._cancelWalletBackup); a.finishWalletBackup.listen(this._finishWalletBackup); + a.removeOneMnemonicWord.listen(this._removeOneWord); } @action _initiateWalletBackup = (params: { recoveryPhrase: Array }) => { @@ -86,7 +87,7 @@ class WalletBackupStore extends Store { @action _addWordToWalletBackupVerification = (params: { word: string, index: number }) => { const { word, index } = params; - this.enteredPhrase.push({ word }); + this.enteredPhrase.push({ word, index }); const pickedWord = this.recoveryPhraseSorted[index]; if (pickedWord && pickedWord.word === word) pickedWord.isActive = false; }; @@ -98,6 +99,14 @@ class WalletBackupStore extends Store { ); }; + @action _removeOneWord = () => { + if (!this.enteredPhrase) { + return; + } + const poppedWord = this.enteredPhrase.pop(); + this.recoveryPhraseSorted[poppedWord.index].isActive = true; + }; + @computed get isRecoveryPhraseValid(): boolean { return ( this.recoveryPhraseWords.reduce((words, { word }) => words + word, '') === From ee3e80ce0eba219e042a1e3f1f8020c64f276836 Mon Sep 17 00:00:00 2001 From: ASUKA1006 Date: Fri, 8 Mar 2019 01:14:29 +0900 Subject: [PATCH 2/3] add translations --- app/i18n/locales/de-DE.json | 2 +- app/i18n/locales/fr-FR.json | 2 +- app/i18n/locales/ja-JP.json | 4 ++-- app/i18n/locales/ko-KR.json | 2 +- app/i18n/locales/ru-RU.json | 2 +- app/i18n/locales/zh-Hans.json | 2 +- app/i18n/locales/zh-Hant.json | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/i18n/locales/de-DE.json b/app/i18n/locales/de-DE.json index b306fb4368..d1b30415b7 100644 --- a/app/i18n/locales/de-DE.json +++ b/app/i18n/locales/de-DE.json @@ -190,7 +190,7 @@ "wallet.receive.page.walletAddressLabel": "Ihre Wallet-Adresse", "wallet.receive.page.walletReceiveInstructions": "Teile diese Wallet-Adresse mit, um Zahlungen zu erhalten. Um ihre Privatsphäre zu schützen, werden jedes Mal neue Adressen erzeugt, sobald sie genutzt worden sind.", "wallet.recovery.phrase.show.entry.dialog.button.labelClear": "Löschen", - "wallet.recovery.phrase.show.entry.dialog.button.labelConfirm": "Bestätigen", + "wallet.recovery.phrase.show.entry.dialog.button.labelRemoveLast": "!!!Remove last", "wallet.redeem.choices.tab.title.forceVended": "do not translate", "wallet.redeem.choices.tab.title.paperVended": "do not translate", "wallet.redeem.choices.tab.title.recoveryForceVended": "do not translate", diff --git a/app/i18n/locales/fr-FR.json b/app/i18n/locales/fr-FR.json index 850ef71987..554466310b 100644 --- a/app/i18n/locales/fr-FR.json +++ b/app/i18n/locales/fr-FR.json @@ -190,7 +190,7 @@ "wallet.receive.page.walletAddressLabel": "Votre adresse de wallet", "wallet.receive.page.walletReceiveInstructions": "Partagez cette adresse du wallet pour recevoir des paiements. Afin d'assurer votre sécurité, de nouvelles adresses sont générées à chaque utilisation.", "wallet.recovery.phrase.show.entry.dialog.button.labelClear": "Effacer", - "wallet.recovery.phrase.show.entry.dialog.button.labelConfirm": "Confirmer", + "wallet.recovery.phrase.show.entry.dialog.button.labelRemoveLast": "!!!Remove last", "wallet.redeem.choices.tab.title.forceVended": "do not translate", "wallet.redeem.choices.tab.title.paperVended": "do not translate", "wallet.redeem.choices.tab.title.recoveryForceVended": "do not translate", diff --git a/app/i18n/locales/ja-JP.json b/app/i18n/locales/ja-JP.json index ce58e255ea..6549d6d0c4 100644 --- a/app/i18n/locales/ja-JP.json +++ b/app/i18n/locales/ja-JP.json @@ -190,7 +190,7 @@ "wallet.receive.page.walletAddressLabel": "あなたのウォレットのアドレス", "wallet.receive.page.walletReceiveInstructions": "上記アドレスを送信元に共有し、ADAの送金を依頼してください。セキュリティーの観点から、一度使用したアドレスを再度使用することはできません。新たなアドレスが自動的に生成されます。", "wallet.recovery.phrase.show.entry.dialog.button.labelClear": "クリア", - "wallet.recovery.phrase.show.entry.dialog.button.labelConfirm": "確認", + "wallet.recovery.phrase.show.entry.dialog.button.labelRemoveLast": "!!!Remove last", "wallet.redeem.choices.tab.title.forceVended": "強制ヴェンド", "wallet.redeem.choices.tab.title.paperVended": "紙ヴェンド", "wallet.redeem.choices.tab.title.recoveryForceVended": "リカバリー:強制ヴェンド", @@ -352,4 +352,4 @@ "wallet.trezor.error.101": "Trezor.ioへの接続に失敗しました。インターネット接続を確認して再試行してください。", "wallet.trezor.error.102": "アクセス許可が得られませんでした。再試行してください。", "wallet.trezor.error.103": "キャンセルされました。再試行してください。" -} +} \ No newline at end of file diff --git a/app/i18n/locales/ko-KR.json b/app/i18n/locales/ko-KR.json index 9139ffdd92..0ce76a6962 100644 --- a/app/i18n/locales/ko-KR.json +++ b/app/i18n/locales/ko-KR.json @@ -190,7 +190,7 @@ "wallet.receive.page.walletAddressLabel": "내 지갑 주소", "wallet.receive.page.walletReceiveInstructions": "돈을 받으려면 이 지갑 주소를 공유하십시오. 개인정보를 보호하기 위해 새 주소를 사용하면 새 주소가 자동으로 생성됩니다.", "wallet.recovery.phrase.show.entry.dialog.button.labelClear": "지우기", - "wallet.recovery.phrase.show.entry.dialog.button.labelConfirm": "확인", + "wallet.recovery.phrase.show.entry.dialog.button.labelRemoveLast": "!!!Remove last", "wallet.redeem.choices.tab.title.forceVended": "강제 벤드", "wallet.redeem.choices.tab.title.paperVended": "페이퍼 벤드", "wallet.redeem.choices.tab.title.recoveryForceVended": "복구 - 강제 벤드", diff --git a/app/i18n/locales/ru-RU.json b/app/i18n/locales/ru-RU.json index 7658e0eb1b..c3026ff357 100644 --- a/app/i18n/locales/ru-RU.json +++ b/app/i18n/locales/ru-RU.json @@ -190,7 +190,7 @@ "wallet.receive.page.walletAddressLabel": "Адрес Вашего кошелька", "wallet.receive.page.walletReceiveInstructions": "Поделитесь данным адресом кошелька для получения платежей. Для защиты Вашей конфиденциальности, новые адреса генерируются автоматически после того, как Вы их использовали.", "wallet.recovery.phrase.show.entry.dialog.button.labelClear": "Очистить", - "wallet.recovery.phrase.show.entry.dialog.button.labelConfirm": "Подтвердить", + "wallet.recovery.phrase.show.entry.dialog.button.labelRemoveLast": "!!!Remove last", "wallet.redeem.choices.tab.title.forceVended": "Форсированная продажа", "wallet.redeem.choices.tab.title.paperVended": "Продажа документа", "wallet.redeem.choices.tab.title.recoveryForceVended": "Восстановление - форсированная продажа", diff --git a/app/i18n/locales/zh-Hans.json b/app/i18n/locales/zh-Hans.json index 00aa237785..d83d5b7310 100644 --- a/app/i18n/locales/zh-Hans.json +++ b/app/i18n/locales/zh-Hans.json @@ -190,7 +190,7 @@ "wallet.receive.page.walletAddressLabel": "您的钱包地址", "wallet.receive.page.walletReceiveInstructions": "共享此钱包地址以接收付款。为保护您的隐私,在您使用地址后会自动生成新地址。", "wallet.recovery.phrase.show.entry.dialog.button.labelClear": "清除", - "wallet.recovery.phrase.show.entry.dialog.button.labelConfirm": "确认", + "wallet.recovery.phrase.show.entry.dialog.button.labelRemoveLast": "!!!Remove last", "wallet.redeem.choices.tab.title.forceVended": "强行执行", "wallet.redeem.choices.tab.title.paperVended": "Paper執行", "wallet.redeem.choices.tab.title.recoveryForceVended": "强行恢复", diff --git a/app/i18n/locales/zh-Hant.json b/app/i18n/locales/zh-Hant.json index e425c19d81..704a65f398 100644 --- a/app/i18n/locales/zh-Hant.json +++ b/app/i18n/locales/zh-Hant.json @@ -190,7 +190,7 @@ "wallet.receive.page.walletAddressLabel": "您的錢包地址", "wallet.receive.page.walletReceiveInstructions": "分享此錢包地址,以接收付款。為保護您的隱私,一旦使用,就會自動產生新地址。", "wallet.recovery.phrase.show.entry.dialog.button.labelClear": "清除", - "wallet.recovery.phrase.show.entry.dialog.button.labelConfirm": "確認", + "wallet.recovery.phrase.show.entry.dialog.button.labelRemoveLast": "!!!Remove last", "wallet.redeem.choices.tab.title.forceVended": "強行執行", "wallet.redeem.choices.tab.title.paperVended": "Paper執行", "wallet.redeem.choices.tab.title.recoveryForceVended": "強行恢復", From 5867ec3236d6f71935224c50121818b212baf998 Mon Sep 17 00:00:00 2001 From: ASUKA1006 Date: Mon, 11 Mar 2019 02:17:26 +0900 Subject: [PATCH 3/3] fix a bug --- app/components/wallet/WalletBackupDialog.js | 4 ++- .../WalletRecoveryPhraseEntryDialog.js | 27 ++++++++++++++----- .../dialogs/WalletBackupDialogContainer.js | 4 +++ app/i18n/locales/de-DE.json | 1 + app/i18n/locales/en-US.json | 1 + app/i18n/locales/fr-FR.json | 1 + app/i18n/locales/ja-JP.json | 1 + app/i18n/locales/ko-KR.json | 1 + app/i18n/locales/ru-RU.json | 1 + app/i18n/locales/zh-Hans.json | 1 + app/i18n/locales/zh-Hant.json | 1 + 11 files changed, 35 insertions(+), 8 deletions(-) diff --git a/app/components/wallet/WalletBackupDialog.js b/app/components/wallet/WalletBackupDialog.js index 7f9bdcaa38..2fc0dcd0af 100644 --- a/app/components/wallet/WalletBackupDialog.js +++ b/app/components/wallet/WalletBackupDialog.js @@ -25,6 +25,7 @@ type Props = { onAcceptTermRecovery: Function, onAddWord: Function, onClear: Function, + onFinishBackup: Function, onRestartBackup: Function, removeWord: Function, hasWord: Function @@ -43,7 +44,7 @@ export default class WalletBackupDialog extends Component { enteredPhrase, removeWord, hasWord, isTermRecoveryAccepted, isValid, isSubmitting, onAcceptTermDevice, onAcceptTermRecovery, - onAddWord, onClear, + onAddWord, onClear, onFinishBackup, onRestartBackup, recoveryPhraseSorted, } = this.props; @@ -85,6 +86,7 @@ export default class WalletBackupDialog extends Component { onClear={onClear} onRestartBackup={onRestartBackup} recoveryPhraseSorted={recoveryPhraseSorted} + onFinishBackup={onFinishBackup} removeWord={removeWord} hasWord={hasWord} /> diff --git a/app/components/wallet/backup-recovery/WalletRecoveryPhraseEntryDialog.js b/app/components/wallet/backup-recovery/WalletRecoveryPhraseEntryDialog.js index b90c78b541..e598219d48 100644 --- a/app/components/wallet/backup-recovery/WalletRecoveryPhraseEntryDialog.js +++ b/app/components/wallet/backup-recovery/WalletRecoveryPhraseEntryDialog.js @@ -25,6 +25,11 @@ const messages = defineMessages({ defaultMessage: '!!!Remove last', description: 'Label for button "Remove Last" on wallet backup dialog' }, + buttonLabelConfirm: { + id: 'wallet.recovery.phrase.show.entry.dialog.button.labelConfirm', + defaultMessage: '!!!Confirm', + description: 'Label for button "Confirm" on wallet backup dialog' + }, buttonLabelClear: { id: 'wallet.recovery.phrase.show.entry.dialog.button.labelClear', defaultMessage: '!!!Clear', @@ -56,6 +61,7 @@ type Props = { onAcceptTermRecovery: Function, onRestartBackup: Function, onCancelBackup: Function, + onFinishBackup: Function, removeWord: Function, hasWord: Function }; @@ -83,6 +89,7 @@ export default class WalletRecoveryPhraseEntryDialog extends Component { removeWord, onRestartBackup, onCancelBackup, + onFinishBackup, hasWord } = this.props; const dialogClasses = classnames([ @@ -94,20 +101,26 @@ export default class WalletRecoveryPhraseEntryDialog extends Component { const actions = []; - actions.push({ - label: intl.formatMessage(messages.buttonLabelRemoveLast), - onClick: removeWord, - disabled: !hasWord, - primary: true - }); - // Only show "Clear" button when user is not yet done with entering mnemonic if (!isValid) { + actions.unshift({ + label: intl.formatMessage(messages.buttonLabelRemoveLast), + onClick: removeWord, + disabled: !hasWord, + primary: true + }); actions.unshift({ label: intl.formatMessage(messages.buttonLabelClear), onClick: onClear, primary: true }); + } else { + actions.push({ + className: isSubmitting ? styles.isSubmitting : null, + label: intl.formatMessage(messages.buttonLabelConfirm), + onClick: onFinishBackup, + primary: true + }); } return ( diff --git a/app/containers/wallet/dialogs/WalletBackupDialogContainer.js b/app/containers/wallet/dialogs/WalletBackupDialogContainer.js index a41bc6df90..16a935f6c0 100644 --- a/app/containers/wallet/dialogs/WalletBackupDialogContainer.js +++ b/app/containers/wallet/dialogs/WalletBackupDialogContainer.js @@ -35,6 +35,7 @@ export default class WalletBackupDialogContainer extends Component { acceptWalletBackupTermDevice, acceptWalletBackupTermRecovery, restartWalletBackup, + finishWalletBackup, removeOneMnemonicWord, acceptPrivacyNoticeForWalletBackup, continueToRecoveryPhraseForWalletBackup @@ -65,6 +66,9 @@ export default class WalletBackupDialogContainer extends Component { onAcceptTermRecovery={acceptWalletBackupTermRecovery.trigger} onAddWord={addWordToWalletBackupVerification.trigger} onClear={clearEnteredRecoveryPhrase.trigger} + onFinishBackup={() => { + finishWalletBackup.trigger(); + }} removeWord={() => { removeOneMnemonicWord.trigger(); }} diff --git a/app/i18n/locales/de-DE.json b/app/i18n/locales/de-DE.json index d1b30415b7..29bd3f6ad9 100644 --- a/app/i18n/locales/de-DE.json +++ b/app/i18n/locales/de-DE.json @@ -190,6 +190,7 @@ "wallet.receive.page.walletAddressLabel": "Ihre Wallet-Adresse", "wallet.receive.page.walletReceiveInstructions": "Teile diese Wallet-Adresse mit, um Zahlungen zu erhalten. Um ihre Privatsphäre zu schützen, werden jedes Mal neue Adressen erzeugt, sobald sie genutzt worden sind.", "wallet.recovery.phrase.show.entry.dialog.button.labelClear": "Löschen", + "wallet.recovery.phrase.show.entry.dialog.button.labelConfirm": "Bestätigen", "wallet.recovery.phrase.show.entry.dialog.button.labelRemoveLast": "!!!Remove last", "wallet.redeem.choices.tab.title.forceVended": "do not translate", "wallet.redeem.choices.tab.title.paperVended": "do not translate", diff --git a/app/i18n/locales/en-US.json b/app/i18n/locales/en-US.json index 293fc9b051..99be6ee752 100644 --- a/app/i18n/locales/en-US.json +++ b/app/i18n/locales/en-US.json @@ -190,6 +190,7 @@ "wallet.receive.page.walletAddressLabel": "Your wallet address", "wallet.receive.page.walletReceiveInstructions": "Share this wallet address to receive payments. To protect your privacy, new addresses are generated automatically once you use them.", "wallet.recovery.phrase.show.entry.dialog.button.labelClear": "Clear", + "wallet.recovery.phrase.show.entry.dialog.button.labelConfirm": "Confirm", "wallet.recovery.phrase.show.entry.dialog.button.labelRemoveLast": "Remove last", "wallet.redeem.choices.tab.title.forceVended": "Force vended", "wallet.redeem.choices.tab.title.paperVended": "Paper vended", diff --git a/app/i18n/locales/fr-FR.json b/app/i18n/locales/fr-FR.json index 554466310b..8bdad5c2bb 100644 --- a/app/i18n/locales/fr-FR.json +++ b/app/i18n/locales/fr-FR.json @@ -190,6 +190,7 @@ "wallet.receive.page.walletAddressLabel": "Votre adresse de wallet", "wallet.receive.page.walletReceiveInstructions": "Partagez cette adresse du wallet pour recevoir des paiements. Afin d'assurer votre sécurité, de nouvelles adresses sont générées à chaque utilisation.", "wallet.recovery.phrase.show.entry.dialog.button.labelClear": "Effacer", + "wallet.recovery.phrase.show.entry.dialog.button.labelConfirm": "Confirmer", "wallet.recovery.phrase.show.entry.dialog.button.labelRemoveLast": "!!!Remove last", "wallet.redeem.choices.tab.title.forceVended": "do not translate", "wallet.redeem.choices.tab.title.paperVended": "do not translate", diff --git a/app/i18n/locales/ja-JP.json b/app/i18n/locales/ja-JP.json index 6549d6d0c4..18b45447a5 100644 --- a/app/i18n/locales/ja-JP.json +++ b/app/i18n/locales/ja-JP.json @@ -190,6 +190,7 @@ "wallet.receive.page.walletAddressLabel": "あなたのウォレットのアドレス", "wallet.receive.page.walletReceiveInstructions": "上記アドレスを送信元に共有し、ADAの送金を依頼してください。セキュリティーの観点から、一度使用したアドレスを再度使用することはできません。新たなアドレスが自動的に生成されます。", "wallet.recovery.phrase.show.entry.dialog.button.labelClear": "クリア", + "wallet.recovery.phrase.show.entry.dialog.button.labelConfirm": "確認", "wallet.recovery.phrase.show.entry.dialog.button.labelRemoveLast": "!!!Remove last", "wallet.redeem.choices.tab.title.forceVended": "強制ヴェンド", "wallet.redeem.choices.tab.title.paperVended": "紙ヴェンド", diff --git a/app/i18n/locales/ko-KR.json b/app/i18n/locales/ko-KR.json index 0ce76a6962..158db04722 100644 --- a/app/i18n/locales/ko-KR.json +++ b/app/i18n/locales/ko-KR.json @@ -190,6 +190,7 @@ "wallet.receive.page.walletAddressLabel": "내 지갑 주소", "wallet.receive.page.walletReceiveInstructions": "돈을 받으려면 이 지갑 주소를 공유하십시오. 개인정보를 보호하기 위해 새 주소를 사용하면 새 주소가 자동으로 생성됩니다.", "wallet.recovery.phrase.show.entry.dialog.button.labelClear": "지우기", + "wallet.recovery.phrase.show.entry.dialog.button.labelConfirm": "확인", "wallet.recovery.phrase.show.entry.dialog.button.labelRemoveLast": "!!!Remove last", "wallet.redeem.choices.tab.title.forceVended": "강제 벤드", "wallet.redeem.choices.tab.title.paperVended": "페이퍼 벤드", diff --git a/app/i18n/locales/ru-RU.json b/app/i18n/locales/ru-RU.json index c3026ff357..fe5b647b65 100644 --- a/app/i18n/locales/ru-RU.json +++ b/app/i18n/locales/ru-RU.json @@ -190,6 +190,7 @@ "wallet.receive.page.walletAddressLabel": "Адрес Вашего кошелька", "wallet.receive.page.walletReceiveInstructions": "Поделитесь данным адресом кошелька для получения платежей. Для защиты Вашей конфиденциальности, новые адреса генерируются автоматически после того, как Вы их использовали.", "wallet.recovery.phrase.show.entry.dialog.button.labelClear": "Очистить", + "wallet.recovery.phrase.show.entry.dialog.button.labelConfirm": "Подтвердить", "wallet.recovery.phrase.show.entry.dialog.button.labelRemoveLast": "!!!Remove last", "wallet.redeem.choices.tab.title.forceVended": "Форсированная продажа", "wallet.redeem.choices.tab.title.paperVended": "Продажа документа", diff --git a/app/i18n/locales/zh-Hans.json b/app/i18n/locales/zh-Hans.json index d83d5b7310..e5d5fce099 100644 --- a/app/i18n/locales/zh-Hans.json +++ b/app/i18n/locales/zh-Hans.json @@ -190,6 +190,7 @@ "wallet.receive.page.walletAddressLabel": "您的钱包地址", "wallet.receive.page.walletReceiveInstructions": "共享此钱包地址以接收付款。为保护您的隐私,在您使用地址后会自动生成新地址。", "wallet.recovery.phrase.show.entry.dialog.button.labelClear": "清除", + "wallet.recovery.phrase.show.entry.dialog.button.labelConfirm": "确认", "wallet.recovery.phrase.show.entry.dialog.button.labelRemoveLast": "!!!Remove last", "wallet.redeem.choices.tab.title.forceVended": "强行执行", "wallet.redeem.choices.tab.title.paperVended": "Paper執行", diff --git a/app/i18n/locales/zh-Hant.json b/app/i18n/locales/zh-Hant.json index 704a65f398..99cd359593 100644 --- a/app/i18n/locales/zh-Hant.json +++ b/app/i18n/locales/zh-Hant.json @@ -190,6 +190,7 @@ "wallet.receive.page.walletAddressLabel": "您的錢包地址", "wallet.receive.page.walletReceiveInstructions": "分享此錢包地址,以接收付款。為保護您的隱私,一旦使用,就會自動產生新地址。", "wallet.recovery.phrase.show.entry.dialog.button.labelClear": "清除", + "wallet.recovery.phrase.show.entry.dialog.button.labelConfirm": "確認", "wallet.recovery.phrase.show.entry.dialog.button.labelRemoveLast": "!!!Remove last", "wallet.redeem.choices.tab.title.forceVended": "強行執行", "wallet.redeem.choices.tab.title.paperVended": "Paper執行",