diff --git a/.yarncahce/v6/.tmp/5d8efc829b465332f7e452d93a85c4bc b/.yarncahce/v6/.tmp/5d8efc829b465332f7e452d93a85c4bc new file mode 160000 index 0000000000..6a024e4769 --- /dev/null +++ b/.yarncahce/v6/.tmp/5d8efc829b465332f7e452d93a85c4bc @@ -0,0 +1 @@ +Subproject commit 6a024e4769ae1508f1c5e7a19f75d4a287a13467 diff --git a/app/i18n/translations/original.json b/app/i18n/translations/original.json index 60d6c0ac74..0ee83c4f88 100644 --- a/app/i18n/translations/original.json +++ b/app/i18n/translations/original.json @@ -1,6 +1,6 @@ { "meta": { - "version": "v1.7.5-pre" + "version": "v1.8.0" }, "SendFromUnmixed.btnCancel": "Cancel", "SendFromUnmixed.btnConfirm": "Enable sending from unmixed accounts", @@ -39,6 +39,9 @@ "accounts.immatureStakingRewards": "Immature Staking Rewards", "accounts.keys": "Keys", "accounts.keys.counts": "{external} external, {internal} internal, {imported} imported", + "accounts.lockFailed": "Failed to lock account: {originalError}", + "accounts.lockStatus": "Lock status", + "accounts.locked": "locked", "accounts.lockedByTickets": "Locked By Tickets", "accounts.name.default": "Primary Account", "accounts.newAccountConfirmations": "Create new account", @@ -58,14 +61,13 @@ "accounts.title": "Accounts", "accounts.total": "Total", "accounts.unconfirmed": "Unconfirmed", + "accounts.unlocked": "unlocked", "accounts.votingAuthority": "Voting Authority", "accountsButton.tip": "Accounts", "accountsSelect.placeholder": "Select account", "addAccountModal.label": "New Account Name", "addAccountModal.newAccountName": "New Account Name", "addAccountModal.placeholder": "Write the new Account Name", - "addCustomStakePool.failed": "Error trying to add custom stakepool: {originalError}", - "addCustomStakePool.success": "Successfully added stakepool {host}.", "addMixerAccountModal.changeAccountName": "Unmixed Account Name", "addMixerAccountModal.changeAccountName.placeholder": "Enter the unmixed account name", "addMixerAccountModal.mixedAccountName": "Mixed Account Name", @@ -129,16 +131,16 @@ "autoBuyerSettings.cancel": "Cancel", "autoBuyerSettings.header": "Automatic ticket purchases", "autoBuyerSettings.save": "Save", + "autoWalletLaunching.askMeLater": "Ask me later", + "autoWalletLaunching.checkboxDesc": "You’ll be able to change this later in Settings.", + "autoWalletLaunching.checkboxLabel": "Launch wallet immediately after loading completes", + "autoWalletLaunching.save": "Save", + "autoWalletLaunching.title": "Automatic Wallet Launching", "autobuyer.disabled": "Turn on auto buyer", "autobuyer.disabledText": "Auto buyer is disabled", "autobuyer.enabled": "Turn off auto buyer", "autobuyer.startErr": "Fill all fields.", - "backup.redeem.script.message": "You must make a backup of the redeem script.\n If the VSP closes without notifying and you do not have access to your redeem script {warnMessage}", - "backup.redeem.script.modal.title": "Backup Redeem Script", - "backup.redeem.script.title": "Script", - "backup.redeem.script.warn": "your funds may be lost forever.", "blockchain.filterByNamePlaceholder": "Filter by Name", - "blocksInput.blocks": "blocks", "buttons.listutxos": "List UTXOs", "changePassModal.confirm": "Confirm", "changePassModal.confirmPassphrasePlaceholder": "Confirm your Private Passphrase", @@ -176,12 +178,19 @@ "confirmSeed.warnings.pasteExistingError": "* Please paste a valid 33 word seed.", "confirmSeed.warnings.pasteExistingSeed": "*Please make sure you also have a physical, written down copy of your seed.", "confirmSeed.word.label": "Word #{index}", + "createTrezorWallet.cancel": "Cancel", + "createTrezorWallet.createAWallet": "Create a Wallet", + "createTrezorWallet.createWallet": "Create Wallet", + "createTrezorWallet.deviceSetup": " Device Setup", + "createTrezorWallet.dupeWalletName.error": "Please choose an unused wallet name", + "createTrezorWallet.title": "Create a Trezor-backed Decrediton Wallet", + "createTrezorWallet.walletNameInput.label": "Wallet Name", + "createTrezorWallet.walletNameInput.placeholder": "Choose a name for your Trezor Wallet", "createWallet.continueBtn": "Continue", "createWallet.copy": "Copy seed words to clipboard", "createWallet.createWalletBtn": "Create Wallet", "createWallet.enterHexSeed.placeholder": "Enter the hex representation of your seed...", "createWallet.enterSeed.placeholder": "Enter your seed...", - "createWallet.isTrezor.setupLink": "(setup device)", "createWallet.passhraseInput.label": "Private passphrase", "createWallet.passphraseInput.errors.noMatch": "*Passphrases do not match", "createWallet.passphraseInput.errors.noPassPhrase": "*Please enter your private passphrase", @@ -199,7 +208,6 @@ "createwallet.errors.walletRemoveFailed": "{originalError}", "createwallet.gapLimit.label": "Gap Limit", "createwallet.gaplimit.description": "Allowed unused address gap between used addresses of accounts", - "createwallet.isTrezor.label": "Trezor", "createwallet.trezor.description": "Trezor is a hardware wallet. For more information, visit {link}", "createwallet.walletWatchOnly.error": "Invalid Master Pubkey", "createwallet.walletmasterpubkey.label": "Master Pub Key", @@ -212,24 +220,11 @@ "daemon.connect.error": "Error connecting to daemon", "daemonSyncingTimeout.errors": "Daemon connection timeout exceeded.\n That Probably means you filled your parameters wrong. Please review it.", "decryptWalletForm.openBtn": "Open Wallet", - "dex.btcWalletConnected": "BTC Wallet has been successfully connected!", - "dex.btcWalletLocation.description": "If you have a non-default bitcoin location, please check the box and identify the location.", - "dex.btcWalletLocation.label": "You have a non-default bitcoin directory", - "dex.checkBTCConfig": "You must confirm your bitcoin.conf is properly set up for connecting to DEX. If you have not yet installed a bitcoin wallet, please go to bitcoin.org for further instructions.", - "dex.checkBTCConfig.failed": "Failed to check an existing BTC Config file: {originalError}", - "dex.checkBTCConfigButtonTryAgain": "Try again", - "dex.checkBTCConfigInstalled": "If you have already installed bitcoin.conf, but have not created a bitcoin.conf file, we can create one for you with the button below.", "dex.checkInit.failed": "Could not check DEX whether it is initialized: {originalError}", "dex.confirmDexSeed.description": "Please confirm your DEX account seed before proceeding.", "dex.confirmDexSeed.title": "Confirm DEX Account Seed", "dex.confirmDexSeedButton": "I have copied the DEX Account Seed", - "dex.connectBTCWallet": "Please enter the name of your BTC Wallet then attempt to connect to the wallet.", - "dex.connectBTCWallet.failed": "Connect to BTC wallet Failed: {originalError}", - "dex.connectBTCWalletNote": "Note: we have found a bitcoin.conf at the default location which will be used to communicate with your BTC Wallet.", - "dex.connectBTCWalletNote2": "Make sure you BTC Wallet is currently running before attempting to connect.", "dex.connectWallet.failed": "Connecting to DCR wallet Failed: {originalError}", - "dex.createBTCWallet": "Connect BTC Wallet", - "dex.createBTCWalletPassphrase": "BTC Passphrase (if set)", "dex.createDCRWallet": "Connect DCR Wallet", "dex.createDEXAccount.failed": "Failed to create an account for DEX: {originalError}", "dex.createDexAccount": "Create DEX Account", @@ -238,26 +233,18 @@ "dex.createDexAccount.selectAnExistingAccount": "Select an existing account", "dex.createDexAccount.title": "Create DEX Account", "dex.createDexAccountButton": "Create DEX Account", - "dex.createWallet.description": "Complete the following steps to connect your DCR and BTC wallets to the DEX.", - "dex.createWallet.title": "Connect Wallets to Dex", - "dex.createWalletBTCPassphraseButton": "Connect BTC Wallet", + "dex.createWallet.description": "Connect your DCR wallet to the DEX.", + "dex.createWallet.title": "Connect DCR Wallet to DEX", "dex.createWalletDCRPassphraseButton": "Connect DCR Wallet", - "dex.dcrWalletConnected": "DCR Wallet has been successfully connected!", - "dex.doNotUseBTCSPV": "Use Bitcoind Wallet", - "dex.doNotUseBTCSPV.advancedSetup": "Advanced Setup", - "dex.doNotUseBTCSPV.or": "or", - "dex.doNotUseBTCSPV.simpleSetup": "Simple Setup", "dex.enable.failed": "Enabling DEX Failed: {originalError}", "dex.enableButton": "Enable DEX", "dex.enableInformation": "Welcome to Decred's Decentralized Exchange! By clicking the following button you are enabling DEX on this wallet. For security purposes, we suggest using a separate DEX wallet and then transfer funds out from there to your normal wallet.", "dex.enablePage.description": "You must enable DEX features to use them.", "dex.enablePage.title": "Enable DEX", - "dex.error.description": "Dex not running", + "dex.error.description": "DEX not running", "dex.error.page": "Critical Error! DEX is not running. Please restart and check logs if problem persists.", "dex.error.title": "DEX Error", "dex.export.seed.failed": "{originalError}", - "dex.findBTCConfigButton": "Find bitcoin conf", - "dex.getConfig.failed": "Getting DEX Config Failed: {originalError}", "dex.hasDexSeed.description": "A DEX seed allows you to recover your account at a particular server and your native DEX wallets.", "dex.hasDexSeed.label": "I already have a DEX seed to recover.", "dex.hide.seed": "Click to Hide DEX Account Seed", @@ -269,36 +256,32 @@ "dex.instructions.seed": "You should carefully write down your application\n seed and save a copy. Should you lose access to this machine or the\n critical application files, the seed can be used to restore your DEX accounts\n and native wallets. DEX accounts created in prior versions are not\n recoverable with this seed, so be sure to export any such accounts\n from the DEX Settings page.", "dex.launchDexWIndow.description": "Launch the window to access the DEX", "dex.launchDexWindow": "Launch DEX Window", - "dex.launchDexWindow.title": "Launch Dex Window", + "dex.launchDexWindow.title": "Launch DEX Window", "dex.launchWindow.failed": "DEX Windows failed to be launched: {originalError}", "dex.login.failed": "DEX Login Failed: {originalError}", "dex.loginDexPassphrase": "DEX Passphrase", - "dex.loginPage.description": "Login and connect wallet to Dex", + "dex.loginPage.description": "Login and connect wallet to DEX", "dex.loginPage.title": "DEX Login", "dex.loginPassphrase": "Enter DEX Passphrase", "dex.loginPassphraseButton": "Login", "dex.logout.failed": "Unable to logout from DEX: {originalError}", "dex.logs": "Logs", - "dex.neededFieldsInConfig": "The following fields are required in the bitcoin.conf rpcuser, rpcpassword, rpcbind, rpcport. You must also set 'server=1' to start the wallet listening for connections. If you have any trouble with these instructions, please go to the support channel on chat.decred.org for further assistance.", "dex.newAccount": "Please create a new or select an existing account that will be connected to the DEX. Transfer funds in and out of this account to deposit/withdrawal funds from what is accessible at the DEX.", "dex.newPassphrase": "Please set a new passphrase for the DEX. You may use the same passphrase as you use for your wallet, or choose a new one.", "dex.newPassphraseNote": "Note: If you lose the DEX passphrase, you will be forced to create a new DEX account and pay your registration fee again.", "dex.openorders.confirmModal.goback": "Go back", "dex.openorders.message": "There are currently open orders still being managed on the DEX. Please wait until all orders are finished executing before closing. If you close before the orders are executed, you will not finish the trade and may be penalized.", "dex.openorders.title": "DEX Open Orders", - "dex.register.failed": "Paying DEX Fee Failed: {originalError}", - "dex.resetWalletRequired": "Wallet reset required", + "dex.resetWalletRequired": "Wallet restart required", "dex.resetWalletRequiredContent": "The wallet must be restarted to be able to communicate with the DEX client. Return to the DEX page once re-loaded and you may continue the process.", "dex.seed": "DEX Account Seed", "dex.seed.Hidden": "Click to reveal DEX Account Seed", "dex.startup.failed": "DEX Client Failed to Start: {originalError}", - "dex.subtitle.btcWallet": "BTC wallet", "dex.subtitle.dcrWallet": "DCR wallet", - "dex.updateBTCConfig": "You must update your bitcoin.conf to properly communicate with the DEX.", - "dex.updateBTCConfigButton": "Create BTC Config", - "dex.useBTCSPV": "Use DEX Native BTC", "dex.user.failed": "Failed to retrieve user information: {originalError}", - "dex.usingBtcSpv": "You have chosen to use the integrated BTC Wallet.", + "dexPassModal.confirm": "DEX App Passsword", + "dexPassModal.dexAppPasswordDesc": "Providing DEX app password automatically propagates the changes to dexc too", + "dexPassModal.dexPasswordPlaceholder": "Write your DEX App Passsword", "dialogs.cancelButton": "Cancel", "dialogs.confirmFileOverwrite": "Overwrite contents of file {filename}?", "dialogs.yesButton": "Yes", @@ -393,6 +376,7 @@ "getStarted.chainLoading.headerTime": "Time from last fetched header: ", "getStarted.chainLoading.syncEstimation": "Blockchain download estimated complete: ", "getStarted.chainLoading.syncEstimation.small": "Loading Decred blockchain, completion estimated", + "getStarted.closeEditWallets": "Close", "getStarted.confirmSeed.enterAllWords": "*Please enter all words", "getStarted.confirmSeed.wrongWordError": "Some words from the seed are incorrect. Please, choose the right ones to continue.", "getStarted.decrypt.error": "Wrong public passphrase inserted.", @@ -405,6 +389,7 @@ "getStarted.discoverAccountsInfo": "\n Enter the passphrase you just created to scan the blockchain for additional accounts you may have previously created with your wallet.\n\n Your account names aren't stored on the blockchain, so you will have to rename them after setting up Decrediton.\n ", "getStarted.discoverAddresses.passphrasePlaceholder": "Private Passphrase", "getStarted.discoverAddresses.scanBtn": "Scan", + "getStarted.editWallets": "Edit Wallets", "getStarted.header.discoveringAddresses.meta": "Discovering addresses", "getStarted.header.fetchingBlockHeaders.meta": "Fetching block headers", "getStarted.header.fetchingMissing.meta": "Fetching missing committed filters", @@ -413,18 +398,29 @@ "getStarted.learnBasics": "Learn the Basics", "getStarted.newSeedTab": "Create a New Wallet", "getStarted.passphrase.info": "The accounts for this wallet haven't been discovered yet. Please enter the wallet's private passphrase to perform account discovery.", + "getStarted.releaseInfo": "Release Info", "getStarted.releaseNotes.NewerVersion": "Newer Version", "getStarted.releaseNotes.OlderVersion": "Older Version", "getStarted.releaseNotesTitle": "Decrediton v{version} Released", "getStarted.restore": "Restore Existing Wallet", + "getStarted.startwalletservice": "Start wallet services", + "getStarted.trezor": "Setup a Trezor Wallet", "getStarted.updateAvailable": "Update Available", "getStarted.updateAvailableTooltip": "New version {version} available", "getStarted.walletRescan.progress": "Rescan Progress ({rescanCurrentBlock} / {rescanEndBlock})", "getStarted.whatsNew": "What's New in v{version}", - "getstarted.processManagedTickets.description": "Your wallet appears to have live tickets. Processing managed\n tickets confirms with the VSPs that all of your submitted tickets\n are currently known and paid for by the VSPs. If you've already\n confirmed your tickets then you may skip this step.", + "getstarted.cancelLoading": "Cancel Loading", + "getstarted.loadingpage.learnAboutDecred": "Learn about decred", + "getstarted.openWallet": "Open Wallet", + "getstarted.processManagedTickets.description": "Your wallet appears to have live tickets. Processing managed\n tickets confirms with the VSPs that all of your submitted tickets\n are currently known and paid for by the VSPs. If you've already\n confirmed your tickets then you may skip this step.", "getstarted.processManagedTickets.title": "Process Managed Tickets", - "getstarted.processUnmangedTickets.description": "Looks like you have vsp ticket with unprocessed fee. If they are picked\n to vote and they are not linked with a vsp, they may miss, if you are not\n properly dealing with solo vote.", + "getstarted.processUnmangedTickets.description": "Looks like you have vsp ticket with unprocessed fee.\n If they are picked to vote and they are not linked with a vsp,\n they may miss, if you are not properly dealing with solo vote.", "getstarted.processUnmangedTickets.title": "Process Unmanaged Tickets", + "getstarted.resendVotesToRecentlyUpdatedVSPs.description": "The following {count, plural, one {VSP is} other {VSPs are} } upgraded recently and {count, plural, one {it has} other {they have} } > 0 unspent tickets. Since the most recent vote preference update was prior to the upgrading, you need to resend the vote preferences.", + "getstarted.resendVotesToRecentlyUpdatedVSPs.tickets": " ({value, plural, one {# unspent ticket} other {# unspent tickets}})", + "getstarted.resendVotesToRecentlyUpdatedVSPs.title": "Resend Votes To Recently Updated VSPs", + "getstarted.resendVotesToRecentlyUpdatedVSPs.votesHeader": "{count, plural, one {Vote} other {Votes} } to be resent:", + "getstarted.resendVotesToRecentlyUpdatedVSPs.vspsHeader": "Recently upgraded {count, plural, one {VSP} other {VSPs} }:", "getstarted.setAccount.acctIdxRow": "Account {acctIdx}", "getstarted.setAccount.change": "Set Unmixed Account", "getstarted.setAccount.continue": "Continue", @@ -441,6 +437,8 @@ "getstarted.settings.tab.connectivity": "Connectivity", "getstarted.settings.tab.general": "General", "getstarted.settings.tab.privacyandsecurity": "Privacy and Security", + "getstarted.spvMode": "SPV Mode", + "getstarted.tutorials.learnAboutDecred": "Learn about decred", "governance.description": "Governance aspects of Decred.", "governance.ntf.updateVoteChoiceSuccess": "Your vote has been cast!\nThanks for participating in Decred's governance", "governance.tab.consensusChanges": "Consensus Changes", @@ -496,6 +494,7 @@ "home.lockedByTicketsTotalBalanceLabel": "Locked by tickets", "home.newNotYetVotedActiveProposalsCount": "{count, plural, one {1 active proposal} other {# new active proposals}}", "home.newNotYetVotedAgendasCount": "{count, plural, one {1 new consensus agenda} other {# new consensus agendas}}", + "home.newNotYetVotedTSpendCount": "{count, plural, one {1 active tspend} other {# new active tspends}}", "home.noTickets.lifecycle": "Learn About the Ticket Lifecycle", "home.noTickets.staking": "What is Staking (Proof-of-Stake)?", "home.noTickets.title": "No tickets yet", @@ -513,10 +512,6 @@ "home.ticketActivityTitle": "Staking Activity", "home.totalValueOfActiveTickets": "With a total value of {value}", "home.votedTicketsCount": "{count, plural, one {{fmtCount} voted ticket} other {{fmtCount} voted tickets}}", - "importRedeemScriptModal.btnCancel": "Cancel", - "importRedeemScriptModal.btnContinue": "Continue", - "importRedeemScriptModal.label": "Script:", - "importRedeemScriptModal.title": "Import Redeem Script", "infoConfirmModal.btnClose": "Close", "infoModal.btnClose": "Got it", "infoModal.btnConfirm": "Confirm", @@ -528,6 +523,8 @@ "invoiceFilter.type.expired": "Expired", "invoiceFilter.type.open": "Not Paid Yet", "invoiceFilter.type.settled": "Received", + "launcherSettings.checkboxDesc": "Open wallet automatically", + "launcherSettings.checkboxLabel": "Launch wallet immediately after loading completes", "listutxo.header.utxo": "UTXO", "listutxo.header.value": "Value", "listutxos.listUnspentUTXOs": "List Unspent UTXOs", @@ -853,15 +850,12 @@ "ln.watchtowersTab.listWatchtowers": "Watchtowers connected", "ln.watchtowersTab.removeTowerBtn": "Remove tower", "ln.watchtowersTab.sessions": "Sessions: {sessions}", - "loader.title": "Welcome to Decrediton Wallet", + "loader.title": "Welcome To Decrediton", + "loader.title.chooseTheWallet": "Choose The Wallet To Access", "loaderBar.StartingDaemon": "Starting Daemon...", - "loaderBar.WaitingConnection": "connecting to daemon...", - "loaderBar.WaitingDaemon": "Waiting for daemon connection...", + "loaderBar.WaitingConnection": "Connecting to daemon...", "loaderBar.checkingNetwork": "Checking if network matches...", - "loaderBar.choosingWallet": "Choose a wallet to open", - "loaderBar.choosingWalletSPV": "Choose a wallet to open in SPV mode", - "loaderBar.preCreateWalletCreate": "Create a wallet...", - "loaderBar.preCreateWalletRestore": "Restore a Wallet...", + "loaderBar.preCreateTrezorWalletCreate": "Create a trezor wallet...", "loaderBar.startingWallet": "Starting wallet...", "loaderBar.syncingDaemon": "Syncing Daemon...", "loaderBar.syncingRPC": "Syncing RPC connection...", @@ -898,12 +892,6 @@ "mytickets.loadingMoreTickets.cancelBtn": "Cancel listing tickets", "mytickets.loadingMoreTickets.returnBtn": "Return listing tickets", "mytickets.statistics.heatmap.link": "Heatmap", - "mytickets.statistics.stakepool.networkTickets": "All Network Tickets", - "mytickets.statistics.stakepool.stakepoolTickets": "VSP Tickets", - "mytickets.statistics.stakepool.ticketsTip": "{percentage}% proportion of network tickets", - "mytickets.statistics.stakepool.title": "VSP", - "mytickets.statistics.stakepool.votedTip": "{percentage}% of tickets missed", - "mytickets.statistics.stakepoolstats.title": "VSP", "mytickets.statistics.stakerewards.link": "Stake Rewards", "mytickets.statistics.stakerewards.title": "Stake Rewards", "mytickets.statistics.stakerewards.totalFees": "Total Fees", @@ -918,8 +906,6 @@ "mytickets.statistics.votetime.ninetyfifthpercentile.value": "{value, plural, =0 {in the same day} one { within one day } other {within # days} }", "mytickets.statistics.votetime.title": "Vote Time", "mytickets.subtitle": "My Tickets", - "newBTCConfig.failed": "{originalError}", - "newBTCConfig.success": "You have successfully created a default bitcoin config. Please restart your Bitcoin Core wallet for this config to be used as expected.", "noMoreTickets.description": "No More Tickets", "noProposals.description": "No Proposals Available", "noStats.description": "No Statistics Available", @@ -947,8 +933,10 @@ "paymentFilter.type.confirmed": "Confirmed", "paymentFilter.type.failed": "Failed", "paymentFilter.type.pending": "Pending", + "pkeys.title": "Politeia Keys", "politeia.details.openLinkModal": "Open Link in External Browser", "politeia.details.openLinkModalDesc": "Click Confirm to open the link: {link} in an external browser.", + "preCreateWallet.noDevice.back": "Back", "privacy.allowSendingFromUnmixedAccount": "Allow sending from unmixed accounts", "privacy.autobuyerRunning": "Autobuyer is running", "privacy.change.account": "Unmixed Account", @@ -995,6 +983,9 @@ "process.mangedTickets.button": "Continue", "process.mangedTickets.button.skip": "Skip", "process.mangedTickets.title": "Passphrase", + "process.resendVotesToRecentlyUpdatedVSPs.button": "Continue", + "process.resendVotesToRecentlyUpdatedVSPs.button.skip": "Skip", + "process.resendVotesToRecentlyUpdatedVSPs.title": "Passphrase", "process.settingPassAccts.button": "Continue", "process.settingPassAccts.title": "Passphrase", "process.unmanagedTickets.button.skip": "Skip", @@ -1040,48 +1031,18 @@ "proposals.updateVoteChoiceModal.btnLabel": "Cast Vote", "proposals.updateVoteChoiceModal.title": "Confirm Your Vote", "proposals.votedCheckmark.label": "Voted", - "purchase.isLegacy.legacy.add": "Use Legacy VSP", "purchase.splitTx": "Split Tx:", "purchase.subtitle": "Purchase Tickets", - "purchase.subtitle.legacy": "Purchase Tickets", - "purchase.ticket.backup.redeem.warn": "You must backup your redeem script. More information about it can be found at {link}", - "purchase.ticket.decred.docs": "Decred docs", - "purchase.ticket.dismiss.warn": "Dismiss Message", - "purchase.ticket.modal.desc": "Are you sure you want to dismiss this message? Make sure your redeem scripts are backed up.", - "purchase.ticket.modal.title": "Dismiss", - "purchase.ticket.warn.button": "Backup Redeem Scripts", "purchase.unsignedTickets": "Unsigned Ticket {number}", "purchase.vsp.enableListing.button": "Enable VSP Listing", "purchase.vsp.enableListing.description": "VSP listing from external API endpoint is currently disabled. Please enable the access to this third party service or manually configure the VSP.", "purchase.vsp.privacy.enabled": "You are purchasing mixed tickets", - "purchase.vsp.privacy.enabled.description": "Purchasing mixed tickets can take some time because mix transactions are only created every 20 minutes. The Privacy And Security page contains more information regarding the mixing process.", + "purchase.vsp.privacy.enabled.description": "Purchasing mixed tickets can take some time because mix transactions are only created every 10 minutes. The Privacy And Security page contains more information regarding the mixing process.", "purchaseTickets.accountFrom": "Account", - "purchaseTickets.advanced.expiry": "Expiry", - "purchaseTickets.advanced.poolAddress": "VSP Address", - "purchaseTickets.advanced.poolFees": "VSP Fees", - "purchaseTickets.advanced.ticketAddress": "Ticket Address", "purchaseTickets.alwaysUseThisVSP": "Always use this VSP", - "purchaseTickets.currentStakepool": "Current VSP", - "purchaseTickets.errors.expiryRequred": "Invalid expiry", "purchaseTickets.errors.insufficientBalance": "Not enough funds", - "purchaseTickets.errors.invalidTicketFee": "Invalid ticket fee", - "purchaseTickets.errors.invalidTxFee": "Invalid tx fee", - "purchaseTickets.expiry": "Expiry", - "purchaseTickets.expiryPlaceholder": "Expiry", - "purchaseTickets.import": "Manually import a redeem script for tickets.", - "purchaseTickets.importDisabledRescan": "Importing scripts is disabled during a rescan.", - "purchaseTickets.poolAddress": "VSP Address", - "purchaseTickets.poolFee": "VSP Fee", "purchaseTickets.purchaseBtn": "Purchase", - "purchaseTickets.stakePoolLabel": "VSP", - "purchaseTickets.ticketAddress": "Ticket Address", "purchaseTickets.ticketAmount": "Amount", - "purchaseTickets.ticketFee": "Ticket Fee", - "purchaseTickets.ticketFeePlaceholder": "Ticket Fee", - "purchaseTickets.ticketFeeTip": "Ticket Fee", - "purchaseTickets.txFee": "Tx Fee", - "purchaseTickets.txFeePlaceholder": "Tx Fee", - "purchaseTickets.txFeeTip": "Tx Fee", "purchaseTickets.validMsg": "Total: {amount} Remaining: {remaining}", "purchaseTickets.vspFee": "VSP Fee", "purchaseTickets.vspFrom": "VSP", @@ -1089,6 +1050,7 @@ "receive.amountPlaceholder": "Amount", "receive.errors.invalidAmount": "Please enter a valid amount", "receive.errors.negativeAmount": "Please enter a valid amount (> 0)", + "receive.hardwareWalletWarning": "Caution! Hardware wallets cannot spend from special/staking inputs. Only use this address for receiving funds from normal transacitons. Do not use for staking or treasury related receives.", "receive.modalClose": "Close", "receive.modalLabel": "This is My Decred (DCR) Address", "receive.newAddressBtn": "Generate new address", @@ -1101,8 +1063,6 @@ "releaseNotes.goBack": "Go back", "rescan.progressPercent": "{progress, number, percent}", "rescan.rescanning": "Rescanning {blockProgress} ({progressPercent})", - "runTicketBuyer.Failed": "Invalid private password. Please try again.", - "runTicketBuyer.Success": "Ticket Buyer successfully started.", "runTicketBuyerNew.Success": "Ticket Buyer successfully started.", "security.sign.failed": "{originalError}", "security.signTitle": "Sign Message", @@ -1139,7 +1099,6 @@ "selectLang.title": "Welcome to Decrediton Wallet", "selectLang.titleSub": "Choose your language", "selectStakepool.placeholder": "Select VSP...", - "selectStakepool.placeholder.legacy": "Select VSP...", "send.amount": "Amount", "send.amountPlaceholder": "Amount", "send.cancelSendAllTitle": "Cancel sending all funds", @@ -1189,13 +1148,18 @@ "sendtab.sendTo": "Send to", "set.getvspticketstatus.failed": "Fetch vsp ticket status failed: {originalError}", "set.vote.failed": "Set wallet vote choices failed: {originalError}", - "set.vote.success": "You have successfully updated your wallet vote choices on any legacy stakepools you may have had set up.", + "set.vote.partial.success": "You have partially updated your wallet vote choices on any VSP you may have had set up.", + "set.vote.success": "You have successfully updated your wallet vote choices on any VSP you may have had set up.", "set.vspdvote.failed": "Set vspd vote choices failed: {originalError}", + "set.vspdvote.single.failed": "Set vspd vote choice failed on {host}. {originalError}", + "set.vspdvote.timeout.failed": "Set vspd vote choice timeout exceded on {host}", "setNewPassphraseModal.confirm": "Confirm", "setNewPassphraseModal.confirmPassphrasePlaceholder": "Confirm your Passphrase", "setNewPassphraseModal.confirmationRequired": "Confirmation Required", "setNewPassphraseModal.newPassphrase": "New Passphrase", "setNewPassphraseModal.newPassphrasePlaceholder": "Write your New Passphrase", + "setTSpendPolicy.updateVoteChoiceFailed": "Set tspend policy failed: {originalError}", + "setTSpendPolicy.updateVoteChoiceSuccess": "Your tspend policy has been successfully updated! Thanks for participating in Decred's governance.", "setTreasuryPolicy.updateVoteChoiceFailed": "Set treasury policy failed: {originalError}", "setTreasuryPolicy.updateVoteChoiceSuccess": "Your treasury policy has been successfully updated! Thanks for participating in Decred's governance.", "settings.DiscoverAddressBtn": "Discover Address Usage", @@ -1218,6 +1182,7 @@ "settings.displayedUnits": "Displayed Units", "settings.errors.changePassphraseFailed": "Update passphrase failed. Incorrect private passphrase, please try again.", "settings.errors.setPassphraseAcctFailed": "Update passphrase failed. Incorrect passphrase, please try again.", + "settings.getstartpage.group-title.launcher": "Launcher", "settings.getstartpage.group-title.misc": "Misc", "settings.getstartpage.group-title.network": "Network", "settings.getstartpage.group-title.privacy-and-security": "Privacy and Security", @@ -1241,6 +1206,7 @@ "settings.privacy.updateCheck.label": "Update Check", "settings.privatePassphrase.buttonLabel": "Update Private Passphrase", "settings.proxy.location": "Proxy Location", + "settings.proxy.save": "Save proxy settings", "settings.proxy.type": "Proxy Type", "settings.proxy.type.none": "No Proxy", "settings.resetNetworkContent": "The setting you have chosen to change requires Decrediton to be restarted. Please confirm this action before proceeding.", @@ -1255,10 +1221,10 @@ "settings.tab.logs": "Logs", "settings.tab.privacyandsecurity": "Privacy and Security", "settings.tab.sources": "Sources", + "settings.tab.trezor": "Trezor", "settings.timezone.local.description": "Use your local timezone", "settings.timezone.utx.description": "Use Universal Coordinated Time", "settings.title": "Settings", - "settings.trezorConfig": "Trezor Config", "settings.uiAnimations.disabled": "Disabled", "settings.uiAnimations.enabled": "Enabled", "settings.uiAnimations.label": "UI Animations", @@ -1282,7 +1248,6 @@ "sidebar.link.privacy": "Privacy and Security", "sidebar.link.staking": "Staking", "sidebar.link.transactions": "On-chain Transactions", - "sidebar.link.trezor": "Trezor", "sidebar.mixer.running": "One or more of the following Decrediton features is running in\n the background: Privacy Mixer, Ticket Auto Buyer, Purchase Ticket\n Attempt", "sidebar.peerCount": "peer", "sidebar.peersCount": "peers", @@ -1295,27 +1260,15 @@ "snackbar.defaults.error": "{originalError}", "snackbar.defaults.success": "Success!", "snackbar.errorObject": "The following error happened: {error}", - "spv.auto.buyer.warn": "Ticket Auto Buyer not available while using SPV", "spv.options.disable.description": "This will use the regular Decred daemon and fully verify blocks. This will take longer but is fully secure. Any block or mined transaction can be fully trusted.", "spv.options.disable.title": "Disable SPV", "spv.options.enable.description": "SPV will allow your wallets to be restored and used much more quickly. This speed comes at cost, with blocks not being fully verified. It's 'less secure' but very unlikely that there will be any problems.", "spv.options.enable.title": "Enable SPV", "spv.purchase.warn": "Purchase Tickets is not available right now, because we are at the end of a ticket interval. After one block it will be available again.", - "spv.purchase.warn.legacy": "Purchase Tickets is not available right now, because we are at the end of a ticket interval. After one block it will be available again.", "spv.title": "Simple Payment Verification (SPV)", "spv.titleSub": "Select how Decrediton should connect to the Decred network. You can change this in the application settings later. For more in-depth information about SPV and how it works, you can go {link}", "spv.titleSub.here": "here", "spvSync.Failed": "Error syncing SPV wallet: {originalError}", - "stake.addPool.addBtn": "Continue", - "stake.addPool.cancelBtn": "Cancel", - "stake.addPool.info": "Create an account or login to your existing account at {stakePoolLink} Once logged in, select the ‘Settings’ tab, copy and paste your API KEY into the field.", - "stake.addPool.modalContent": "Are you sure you want to add this new VSP?", - "stake.addPoolConfirmation": "VSP Confirmation", - "stake.apiKeyPlaceholder": "Typically starts with ‘eyJhb…’", - "stake.discoverStakeOoolsAPILink": "this link", - "stake.enableStakePoolListing.button": "Enable VSP Listing", - "stake.enableStakePoolListing.description": "VSP listing from external API endpoint is currently disabled. Please enable the access to this third party service or manually configure the VSP.", - "stake.isLegacy": "Use Legacy VSP", "stake.lastTicketLink": "{shortHash}... View →", "stake.lastVotedTicket": "Last Ticket Voted", "stake.lastVotedTicket.none": "None", @@ -1323,39 +1276,21 @@ "stake.liveTicketsFoot": "Own Mempool: {ownMempoolTickets} Immature: {immatureTickets }", "stake.mempoolTickets": "Voted Tickets:", "stake.missedTickets": "Revoked Tickets:", - "stake.noAvailableStakepools": "No VSP found. Check your internet connection or {link} to see if the VSP API is down.", - "stake.notRedeemed": "Script not redeemable?", "stake.poolSize": "Expired Tickets:", "stake.stackingOverview": "Staking Overview", "stake.totalRewards": "Total Rewards Earned", "stake.totalRewardsValue": "{value} {currency}", "stake.unspentTickets": "Unspent Tickets", - "stakePoolSelect.addNewPrompt": "Add VSP {host}", - "stakePoolSelect.addNewPromptEmpty": "Type to add new VSP", - "stakePoolsList.noVSPs": "You have no configured VSPs", - "stakePoolsList.poolFee": "VSP fees: {value}", - "stakePoolsList.poolFeePercentage": "{value} %", - "stakePoolsList.removeModal.description": "Are you sure you want to remove this configured VSP? Make sure your redeem script is backed up.", - "stakePoolsList.removeModal.title": "Remove VSP", - "stakePoolsList.script": "Script: {value}", - "stakePoolsList.ticketAddress": "Ticket address: {value}", "stakeSPV.expiredTickets": "Immature Tickets:", "stakeSPV.revokedTickets": "Live Tickets:", "stakeSPV.totalVotedTickets": "Total Voted", "stakeSPV.votedTickets": "Own Mempool Tickets:", - "stakepool.addPoolTitle": "Add a VSP", - "stakepool.apikey": "API Key", - "stakepool.label": "VSP", - "stakepools.list.form.cancel": "Cancel", - "stakepools.list.form.submit": "Add VSP", - "stakepools.removedStakePoolConfig": "Successfully removed StakePool config", "stakingTabWarning.desc": "Please take a look at the basics of tickets/staking:", "stakingTabWarning.okBtn": "I understand and accept the risks", "stakingTabWarning.title": "Before You continue...", "startup.dataDir.tip": "Select a path", "statistics.subtitle": "Statistics", "statusSmall.daysToVotePlural": "{days, plural, one {# day} other {# days}}", - "stopTicketBuyer.Success": "Ticket Buyer successfully stopped.", "stopTicketBuyerNew.Success": "Ticket Buyer successfully stopped.", "sync.vsp.failed": "{originalError}", "sync.vsp.success": "All tickets in error have been successfully attempted to be paid. Please make sure all tickets now show paid. Otherwise, try again or use a different VSP.", @@ -1381,18 +1316,11 @@ "tickets.autobuyerRunning.message": "If you proceed, it will be closed and no more tickets will be purchased.", "tickets.autobuyerRunning.title": "Auto Ticket Buyer Still Running", "tickets.description": "Current Price: {ticketPrice}", - "tickets.errors.importScriptFailed": "{originalError}", "tickets.errors.purchaseTicketsFailed": "{originalError}", - "tickets.errors.refreshStakePoolInfo": "Error refreshing stakepool data from {host}: {originalError}", - "tickets.errors.setStakePoolVoteChoicesFailed": "{originalError}", - "tickets.errors.startAutoBuyerFailed": "{originalError}", - "tickets.errors.updateStakePoolConfigFailed": "{originalError}", "tickets.fee.error.confirmModal.btnCancel": "Cancel", "tickets.fee.error.confirmModal.closeAnyway": "Close Anyway", "tickets.fee.error.message": "You have outstanding tickets that are not properly registered with a VSP. {completeRegistrationProcessLink}, otherwise these tickets will be missed if they are chosen to vote.", "tickets.fee.error.title": "VSP Tickets Fee Error", - "tickets.importScriptConfirmation": "Import Script Confirmation", - "tickets.importScriptHeader": "You successfully imported a script", "tickets.mixer.running.confirmModal.closeAnyway": "Close Anyway", "tickets.purchase.running": "Privacy Mixer or Autobuyer running, please shut them off before purchasing a ticket.", "tickets.purchaseConfirmation": "Ticket Purchase Confirmation", @@ -1409,8 +1337,6 @@ "tickets.sortby.newest": "Newest", "tickets.sortby.oldest": "Oldest", "tickets.sortby.tooltip": "Sort By", - "tickets.startAutoBuyerHeader": "Ticket buyer is now running.", - "tickets.stopAutoBuyerHeader": "Ticket buyer is now stopped.", "tickets.tab.mytickets": "Ticket History", "tickets.tab.purchase": "Purchase Tickets", "tickets.tab.statistics": "Statistics", @@ -1424,7 +1350,6 @@ "tickets.tickettypes.tooltip": "Ticket Status", "tickets.title": "Staking", "tickets.type.all": "All", - "tickets.updateStakePoolConfigHeader": "You have successfully updated your legacy stakepool settings.", "tickets.warning.description": "Current Price: {ticketPrice}", "tickets.warning.title": "Staking", "transaction.confirmationHeight": "{confirmations, plural, =0 {Mined, block awaiting approval} one {# confirmation} other {# confirmations}}", @@ -1452,29 +1377,36 @@ "transactions.tab.send": "Send", "transactions.title": "Transactions", "transactions.txtypes.tooltip": "Transaction Type", - "treasurySpending.description": "Spending treasury funds now requires stakeholders to vote on the expenditure. You can participate and set a voting policy for treasury spending by a particular Politeia Key. The keys can be verified in the {link}.", + "treasurySpending.description": "Spending treasury funds now requires stakeholders to vote on the expenditure. You can participate and set a voting policy for treasury spending by a particular Politeia Key or Tspend transaction. The keys can be verified in the {link}.", "treasurySpending.piKey": "Pi key:", "treasurySpending.policyOptions.abstain": "abstain", "treasurySpending.policyOptions.no": "no", "treasurySpending.policyOptions.yes": "yes", "treasurySpending.title": "Treasury Spending", + "treasurySpending.txhash": "Tx hash:", "treasurySpending.updatePreference": "Update Preference", "treasurySpending.updateVoteChoiceModal.title": "Confirm Your Vote", "treasurySpending.votedFor": "Voted for:", "treasurySpending.votingFor": "Voting for:", "trezor.backupDevice.success": "Trezor device backed up.", "trezor.changeHomeScreen.success": "Trezor home screen successfully changed", - "trezor.changeLabel.changeButton": "Change", - "trezor.changeLabel.description": "New Label", - "trezor.changeLabel.header": "Change Label", + "trezor.changeLabel.changeButton": "Change Label", + "trezor.changeLabel.changeLabelPlaceholder": "New Label", + "trezor.changeLabel.changeToDecredHomeScreen": "Use Decred Symbol on homescreen", + "trezor.changeLabel.description": "Trezor Device Label", + "trezor.changeLabel.header": "Label and Homescreen", "trezor.changeLabel.success": "Changed label on selected Trezor to {label}", - "trezor.configButtons.header": "Config Trezor", + "trezor.deviceSetup.backupDevice": "Backup Device", + "trezor.deviceSetup.header": "Device Setup and Recovery", + "trezor.deviceSetup.initDevice": "Initalize Device (Create New Wallet)", + "trezor.deviceSetup.recoverDevice": "Recover Device (from Trezor Backup)", + "trezor.deviceSetup.wipeDevice": "Wipe Device", "trezor.firmwareUpdate.header": "Firmware Update", "trezor.getWalletCreationMasterPubKey.failed": "Failed to obtain master extended pubkey from Trezor device: {originalError}", "trezor.initDevice.success": "Trezor device initialized with new seed", "trezor.noConnectedDevice": "No Trezor device connected. Check the device connection and Trezor bridge.", "trezor.noDevice.btnConnect": "Connect to Trezor", - "trezor.noDevice.message": "No Trezor device detected. Connect the device and check if Trezor bridge is installed and running.", + "trezor.noDevice.message": "No Trezor is detected. Connect the Device and check if Trezor bridge is installed and running on latest firmware.", "trezor.notBackedUp": "Trezor must be backed up in order to perform this operation.", "trezor.passphraseModal.description": "Type the secret passphrase for the wallet stored in trezor {label}", "trezor.passphraseModal.title": "Enter Trezor Passphrase", @@ -1482,19 +1414,19 @@ "trezor.passphraseOnDevice.enabled": "Passphrase on device has been enabled in Trezor {label}", "trezor.passphraseProtectionSuccess.disabled": "Passphrase protection has been disabled in Trezor {label}", "trezor.passphraseProtectionSuccess.enabled": "Passphrase protection has been enabled in Trezor {label}", - "trezor.pinModal.clear": "clear", - "trezor.pinModal.description": "Click button sequence that corresponds to your pin on trezor {label}", - "trezor.pinModal.title": "Enter Pin", + "trezor.pinModal.description": "Click button sequence that corresponds to your PIN layout displayed on your Trezor {label}. Not sure how PIN works? {link}", + "trezor.pinModal.learnMore": "Learn More", + "trezor.pinModal.title": "Enter PIN", "trezor.pinProtectionSuccess.disabled": "Pin protection has been disabled in Trezor {label}", "trezor.pinProtectionSuccess.enabled": "Pin protection has been enabled in Trezor {label}", "trezor.recoverDevice.success": "Trezor device recovered", - "trezor.recoveryButtons.header": "Device Recovery", + "trezor.security.header": "Security", "trezor.togglePassphraseConfirmModal.content": "Passphrase protection has been {enabled} for {label}. {ifEnabled}You must unplug and plug back in your Trezor in order for these changes to take effect on the device.", "trezor.togglePassphraseConfirmModal.disable": "disabled", "trezor.togglePassphraseConfirmModal.disabled": "disabled", "trezor.togglePassphraseConfirmModal.enable": "enabled", "trezor.togglePassphraseConfirmModal.enabled": "enabled", - "trezor.togglePassphraseConfirmModal.ifEnabled": "For your first sensitive operation, the device will ask for a passphrase. This pasphrase deterministically creates a new seed for your Trezor. If used with an already created wallet, subsequent actions will likely fail, as the device is now using a different account/wallet. As long as the device stays plugged in, further actions will reuse the first passed passphrase and not ask again. ", + "trezor.togglePassphraseConfirmModal.ifEnabled": "For your first sensitive operation, the device will ask for a passphrase. This passphrase deterministically creates a new seed for your Trezor. If used with an already created wallet, subsequent actions will likely fail, as the device is now using a different account/wallet. As long as the device stays plugged in, further actions will reuse the first passed passphrase and not ask again. ", "trezor.togglePassphraseConfirmModal.title": "{enable} Trezor Passphrase", "trezor.updateFirmware.success": "Firmware updated on Trezor device", "trezor.walletCreationPassPhraseModal.title": "Type Wallet Creation PassPhrase", @@ -1505,19 +1437,31 @@ "trezor.wipeDevice.success": "Trezor device wiped", "trezor.wordModal.description": "Type the word requested in the trezor device.", "trezor.wordModal.selectPlaceholder": "Start typing word...", + "trezor.wordModal.selectPlaceholderLoading": "loading...", "trezor.wordModal.title": "Type the requested word", + "trezorLoaderBarContainer.Connected": "{label} Trezor", + "trezorLoaderBarContainer.connected": "Connected", + "trezorLoaderBarContainer.deviceLabel": "New DCR", "trezorPage.backupDeviceBtn": "Backup Device", - "trezorPage.changeHomeScreen": "Change Home Screen", - "trezorPage.description": "Manage your Trezor device.", - "trezorPage.initDeviceBtn": "Init Device", + "trezorPage.initDeviceBtn": "Initialize Device", + "trezorPage.pathInputPlaceholder": "Select a path...", "trezorPage.recoverDeviceBtn": "Recover Device", - "trezorPage.title": "Trezor", - "trezorPage.togglePassPhraseProtectionBtn": "Toggle Passphrase Protection", - "trezorPage.togglePassphraseOnDeviceBtn": "Toggle Passphrase on Device", - "trezorPage.togglePinProtectionBtn": "Toggle Pin Protection", + "trezorPage.security.loading": "loading", + "trezorPage.security.off": "off", + "trezorPage.security.on": "on", + "trezorPage.security.passphraseOnDeviceProtection.enabled": "Disable Passphrase On Device Protection", + "trezorPage.security.passphraseOnDeviceProtection.not.enabled": "Enable Passphrase On Device Protection", + "trezorPage.security.passphraseProtection.enabled": "Disable Passphrase Protection", + "trezorPage.security.passphraseProtection.not.enabled": "Enable Passphrase Protection", + "trezorPage.security.pinProtection.enabled": "Disable PIN Protection", + "trezorPage.security.pinProtection.not.enabled": "Enable PIN Protection", + "trezorPage.security.togglePassPhraseProtection": "Toggle Passphrase Protection ({status})", + "trezorPage.security.togglePassphraseOnDevice": "Toggle Passphrase Protection On Device ({status})", + "trezorPage.security.togglePinProtection": "Toggle PIN Protection ({status})", "trezorPage.updateFirmwareBtn": "Update Firmware", "trezorPage.updateFirmwarePah": "Path to firmware file", "trezorPage.wipeDeviceBtn": "Wipe Device", + "tspend.title": "Tspends", "tutorial.finishBtn": "Finish", "tutorial.nextBtn": "Next", "tutorial.skipBtn": "Skip", @@ -1527,6 +1471,7 @@ "tutorial.standardPage.previousPage": "Previous", "tutorial.subtitle": "Tutorial", "tutorial.ticketLifecycle.title": "Ticket Lifecycle", + "tutorialpage.back": "Back", "tutorials.blocks.label1": "Introduction to Block Voting", "tutorials.blocks.label2": "Votes", "tutorials.blocks.label3": "Rejection", @@ -1623,6 +1568,7 @@ "txDetails.lastBlockValid": "Last Block Valid", "txDetails.missedOn": "Missed On", "txDetails.nonWalletInputs": "Non Wallet Inputs", + "txDetails.nonWalletInputs.Stakebase": "Stakebase", "txDetails.nonWalletOutputs": "Non Wallet Outputs", "txDetails.properties": "Properties", "txDetails.purchasedOn": "Purchased On", @@ -1632,15 +1578,18 @@ "txDetails.sentFrom": "Sent From", "txDetails.signMessageBtn": "Fetch VSP Ticket Status", "txDetails.signMessageModal": "Fetch VSP Ticket Status", + "txDetails.spendingTx": "Spending Tx", "txDetails.ticketCost": "Ticket Cost", "txDetails.ticketSpent": "Ticket Spent", "txDetails.timestamp": "{timestamp, date, medium} {timestamp, time, medium}", - "txDetails.toAddress": "To address", + "txDetails.toAddress": "{addressCount, plural, one {To address} other {To addresses} }", "txDetails.tooManyNonWalletOutputs": "Please use the txid link above to see all non-wallet outputs on dcrdata.", "txDetails.tooManyNonWalletOutputsAddresses": "Please use the txid link above to see all non-wallet addresses on dcrdata.", "txDetails.transactionFeeLabel": "Transaction fee", "txDetails.transactionLabel": "Transaction", + "txDetails.treasuryPolicy": "Treasury Policy", "txDetails.true": "true", + "txDetails.tspendPolicy": "TSpend Policy", "txDetails.type.coinbase": "Coinbase", "txDetails.type.expired": "Expired", "txDetails.type.immature": "Immature", @@ -1691,7 +1640,6 @@ "vsp.autobuyer.maxFeePercentage.placeholder": "Percent", "vsp.autobuyer.modal.balanceToMaintain": "Balance To Maintain", "vsp.autobuyer.modal.stakepool": "VSP", - "vsp.autobuyer.stakePoolLabel": "VSP", "vsp.autobuyer.subtitle": "Automatic Ticket Purchases", "vsp.feeTooltip": "Fee: {feePercentage} %", "vsp.mytickets.subtitle": "Live Tickets", @@ -1718,10 +1666,8 @@ "vsptickets.type.all": "All", "wallet.create.button": "Continue", "wallet.creating.button": "Creating", - "walletselection.closeEditWallets": "Close", - "walletselection.editWallets": "Edit Wallets", "walletselection.lastAccess": "Last accessed", - "walletselection.launchWallet": "Launch Wallet ", + "walletselection.ln": "Lightning", "walletselection.privacy": "Privacy", "walletselection.removeConfirmModal.content": "Warning this action is permanent! Please make sure you have backed up your wallet's seed before proceeding.", "walletselection.removeConfirmModal.title": "Remove {wallet}", diff --git a/app/i18n/translations/previous_original.json b/app/i18n/translations/previous_original.json index 5e03e2f139..60d6c0ac74 100644 --- a/app/i18n/translations/previous_original.json +++ b/app/i18n/translations/previous_original.json @@ -1,6 +1,6 @@ { "meta": { - "version": "v1.7.0" + "version": "v1.7.5-pre" }, "SendFromUnmixed.btnCancel": "Cancel", "SendFromUnmixed.btnConfirm": "Enable sending from unmixed accounts", @@ -213,13 +213,16 @@ "daemonSyncingTimeout.errors": "Daemon connection timeout exceeded.\n That Probably means you filled your parameters wrong. Please review it.", "decryptWalletForm.openBtn": "Open Wallet", "dex.btcWalletConnected": "BTC Wallet has been successfully connected!", - "dex.btcWalletLocation.description": "If you have a non-default bitcoin location, please check the box and indentify the location.", + "dex.btcWalletLocation.description": "If you have a non-default bitcoin location, please check the box and identify the location.", "dex.btcWalletLocation.label": "You have a non-default bitcoin directory", "dex.checkBTCConfig": "You must confirm your bitcoin.conf is properly set up for connecting to DEX. If you have not yet installed a bitcoin wallet, please go to bitcoin.org for further instructions.", "dex.checkBTCConfig.failed": "Failed to check an existing BTC Config file: {originalError}", "dex.checkBTCConfigButtonTryAgain": "Try again", "dex.checkBTCConfigInstalled": "If you have already installed bitcoin.conf, but have not created a bitcoin.conf file, we can create one for you with the button below.", "dex.checkInit.failed": "Could not check DEX whether it is initialized: {originalError}", + "dex.confirmDexSeed.description": "Please confirm your DEX account seed before proceeding.", + "dex.confirmDexSeed.title": "Confirm DEX Account Seed", + "dex.confirmDexSeedButton": "I have copied the DEX Account Seed", "dex.connectBTCWallet": "Please enter the name of your BTC Wallet then attempt to connect to the wallet.", "dex.connectBTCWallet.failed": "Connect to BTC wallet Failed: {originalError}", "dex.connectBTCWalletNote": "Note: we have found a bitcoin.conf at the default location which will be used to communicate with your BTC Wallet.", @@ -240,7 +243,10 @@ "dex.createWalletBTCPassphraseButton": "Connect BTC Wallet", "dex.createWalletDCRPassphraseButton": "Connect DCR Wallet", "dex.dcrWalletConnected": "DCR Wallet has been successfully connected!", - "dex.dexServer": "DEX Server", + "dex.doNotUseBTCSPV": "Use Bitcoind Wallet", + "dex.doNotUseBTCSPV.advancedSetup": "Advanced Setup", + "dex.doNotUseBTCSPV.or": "or", + "dex.doNotUseBTCSPV.simpleSetup": "Simple Setup", "dex.enable.failed": "Enabling DEX Failed: {originalError}", "dex.enableButton": "Enable DEX", "dex.enableInformation": "Welcome to Decred's Decentralized Exchange! By clicking the following button you are enabling DEX on this wallet. For security purposes, we suggest using a separate DEX wallet and then transfer funds out from there to your normal wallet.", @@ -249,16 +255,18 @@ "dex.error.description": "Dex not running", "dex.error.page": "Critical Error! DEX is not running. Please restart and check logs if problem persists.", "dex.error.title": "DEX Error", + "dex.export.seed.failed": "{originalError}", "dex.findBTCConfigButton": "Find bitcoin conf", "dex.getConfig.failed": "Getting DEX Config Failed: {originalError}", - "dex.getFeeButton": "Get Fee to Pay", - "dex.hasDexSeed.description": "A DEX seed allows you to recover your account at a paticular server.", + "dex.hasDexSeed.description": "A DEX seed allows you to recover your account at a particular server and your native DEX wallets.", "dex.hasDexSeed.label": "I already have a DEX seed to recover.", + "dex.hide.seed": "Click to Hide DEX Account Seed", "dex.init.failed": "Setting DEX Passphrase Failed: {originalError}", "dex.initPage.description": "You must create a new passphrase that will be used to log into the DEX for this wallet.", "dex.initPage.title": "Set DEX Password", "dex.initPassphrase": "Set DEX Passphrase", "dex.initPassphraseButton": "Set DEX Passphrase", + "dex.instructions.seed": "You should carefully write down your application\n seed and save a copy. Should you lose access to this machine or the\n critical application files, the seed can be used to restore your DEX accounts\n and native wallets. DEX accounts created in prior versions are not\n recoverable with this seed, so be sure to export any such accounts\n from the DEX Settings page.", "dex.launchDexWIndow.description": "Launch the window to access the DEX", "dex.launchDexWindow": "Launch DEX Window", "dex.launchDexWindow.title": "Launch Dex Window", @@ -276,29 +284,21 @@ "dex.newPassphrase": "Please set a new passphrase for the DEX. You may use the same passphrase as you use for your wallet, or choose a new one.", "dex.newPassphraseNote": "Note: If you lose the DEX passphrase, you will be forced to create a new DEX account and pay your registration fee again.", "dex.openorders.confirmModal.goback": "Go back", - "dex.openorders.message": "There are currently open orders still being managed at the DEX. Please wait until all orders are finished excuting before closing. If you close before the orders are executed, you will not finish the trade and may be penalized.", + "dex.openorders.message": "There are currently open orders still being managed on the DEX. Please wait until all orders are finished executing before closing. If you close before the orders are executed, you will not finish the trade and may be penalized.", "dex.openorders.title": "DEX Open Orders", - "dex.paDexFeeModalNote2": "All trades are in multiples of this lot size. This is the minimum possible trade amount in DCR.", - "dex.payDexFeeAppPassphrase": "DEX Passphrase", - "dex.payDexFeeButton": "Register", - "dex.payDexFeeModalDescription": "Enter your DEX passphrase to pay the registration fee of {fee} to register at the DEX of {address}.", - "dex.payDexFeeModalNote": "Note: The DCR lot size for this DEX is: ", - "dex.payDexFeeModalTitle": "Confirm Registration", - "dex.payRegistration.Address": "DEX Server registering to:", - "dex.payRegistration.Fee": "Please enter your DEX passphrase to pay the following fee:", - "dex.preRegisterButton": "Check Registration", - "dex.preRegisterModalDescription": "Since you have restored your DEX account from seed, we can now check to see if you have already paid your fee at the provided DEX server.", - "dex.preRegisterModalTitle": "Confirm Registration Check", "dex.register.failed": "Paying DEX Fee Failed: {originalError}", - "dex.registerPage.description": "Register your wallet with the DEX Server", - "dex.registerPage.title": "DEX Server Payment", "dex.resetWalletRequired": "Wallet reset required", "dex.resetWalletRequiredContent": "The wallet must be restarted to be able to communicate with the DEX client. Return to the DEX page once re-loaded and you may continue the process.", - "dex.sendToDexAccount.title": "Send to Dex Account", + "dex.seed": "DEX Account Seed", + "dex.seed.Hidden": "Click to reveal DEX Account Seed", "dex.startup.failed": "DEX Client Failed to Start: {originalError}", + "dex.subtitle.btcWallet": "BTC wallet", + "dex.subtitle.dcrWallet": "DCR wallet", "dex.updateBTCConfig": "You must update your bitcoin.conf to properly communicate with the DEX.", "dex.updateBTCConfigButton": "Create BTC Config", + "dex.useBTCSPV": "Use DEX Native BTC", "dex.user.failed": "Failed to retrieve user information: {originalError}", + "dex.usingBtcSpv": "You have chosen to use the integrated BTC Wallet.", "dialogs.cancelButton": "Cancel", "dialogs.confirmFileOverwrite": "Overwrite contents of file {filename}?", "dialogs.yesButton": "Yes", @@ -378,7 +378,7 @@ "fatal.removeConfirmModal.content": "Warning this action is permanent! Please make sure you want to remove your blockchain data before proceeding. Decrediton will automatically shutdown after deleting the folder. Please manually restart it afterwards.", "fatal.removeConfirmModal.title": "Remove daemon data", "fatal.retry.connection.button": "Return to Daemon Connection", - "fatal.suggestion.corrupted": "This error means your blockchain data has somehow become corrupted. Typically, this is caused by a sector on the HDD/SDD that went bad and its built-in SMART didn't repair it, or the more likely case, there was a memory issue which corrupted the data. To resolve, you must delete your blockchain data and re-download. Press the button below to complete the process. When you restart Decrediton, it will automatically begin your blockchain download. Please come to our support channel on Matrix, Telegram, or Discord to get advice about running disk utilities.", + "fatal.suggestion.corrupted": "This error means your blockchain data has somehow become corrupted. Typically, this is caused by a sector on the HDD/SDD that went bad and its built-in SMART didn't repair it, or the more likely case, there was a memory issue which corrupted the data. To resolve, you must delete your blockchain data and re-download. Press the button below to complete the process. When you restart Decrediton, it will automatically begin your blockchain download. Please come to our support channel on slack/matrix/discord to get advice about running disk utilities. ", "fatal.suggestion.diffConnection": "This error typically means you have the testnet flag in your dcrd.conf file. You should check your dcrd.conf file and remove the testnet=1.", "fatal.suggestion.fallthrough": "Please note the error above and go to the support channel on matrix or some other preferred\n chat channel for help resolving the issue. {link}", "fatal.suggestion.resources": "This error typically means you have another instance of daemon running. You should check your taskmanager or profiler to shutdown any still running daemon and then try again.", @@ -417,7 +417,6 @@ "getStarted.releaseNotes.OlderVersion": "Older Version", "getStarted.releaseNotesTitle": "Decrediton v{version} Released", "getStarted.restore": "Restore Existing Wallet", - "getStarted.settings.save": "Save", "getStarted.updateAvailable": "Update Available", "getStarted.updateAvailableTooltip": "New version {version} available", "getStarted.walletRescan.progress": "Rescan Progress ({rescanCurrentBlock} / {rescanEndBlock})", @@ -439,10 +438,14 @@ "getstarted.setAccountsPass.title": "Migrate to per-account passphrases", "getstarted.setAcct.changAcct": "Unmixed Account: {value}", "getstarted.setAcct.mixedAcct": "Mixed Account: {value}", + "getstarted.settings.tab.connectivity": "Connectivity", + "getstarted.settings.tab.general": "General", + "getstarted.settings.tab.privacyandsecurity": "Privacy and Security", "governance.description": "Governance aspects of Decred.", "governance.ntf.updateVoteChoiceSuccess": "Your vote has been cast!\nThanks for participating in Decred's governance", "governance.tab.consensusChanges": "Consensus Changes", "governance.tab.proposals": "Proposals", + "governance.tab.treasurySpending": "Treasury Spending", "governance.title": "Governance", "governance.treasury_balance": "Available Treasury Balance: {treasuryBalance}", "heatmap.month": "{date, date, short-month}", @@ -491,6 +494,8 @@ "home.immatureRewardBalanceLabel": "Immature Rewards", "home.immatureStakingRewardsBalanceLabel": "Immature Staking Rewards", "home.lockedByTicketsTotalBalanceLabel": "Locked by tickets", + "home.newNotYetVotedActiveProposalsCount": "{count, plural, one {1 active proposal} other {# new active proposals}}", + "home.newNotYetVotedAgendasCount": "{count, plural, one {1 new consensus agenda} other {# new consensus agendas}}", "home.noTickets.lifecycle": "Learn About the Ticket Lifecycle", "home.noTickets.staking": "What is Staking (Proof-of-Stake)?", "home.noTickets.title": "No tickets yet", @@ -612,6 +617,8 @@ "ln.createLNWalletPage.description": "Start, unlock and connect to the dcrlnd wallet.", "ln.createLNWalletPage.title": "Lightning Transactions", "ln.createWalletWarning.okBtn": "I understand and accept the risks", + "ln.creationWarning.desc": "Please understand that Lightning Network is still a work in progress and should be used with caution. In particular:", + "ln.creationWarning.title": "Before You continue...", "ln.decodedPayRequestDetails.cltvExpiry": "CLTV Expiry", "ln.decodedPayRequestDetails.emptyFallbackAddr": "(empty fallback address)", "ln.decodedPayRequestDetails.fallbackAddr": "Fallback Address", @@ -943,8 +950,9 @@ "politeia.details.openLinkModal": "Open Link in External Browser", "politeia.details.openLinkModalDesc": "Click Confirm to open the link: {link} in an external browser.", "privacy.allowSendingFromUnmixedAccount": "Allow sending from unmixed accounts", + "privacy.autobuyerRunning": "Autobuyer is running", "privacy.change.account": "Unmixed Account", - "privacy.coinMixer": "Coin Mixer", + "privacy.coinMixer": "StakeShuffle", "privacy.config.subtitle": "Privacy Configuration", "privacy.create.default.description": "Do you wish to create default mixing accounts {mixed} and {change}? {boldMessage}", "privacy.create.default.undone.message": "This action can not be undone", @@ -975,6 +983,7 @@ "privacy.sendToUnmixedAccount.title": "Send to Unmixed Account", "privacy.start.mixer": "Start Mixer", "privacy.start.mixer.confirmation": "Start Mixer", + "privacy.stop.autobuyer": "Stop Auto Buyer", "privacy.stop.mixer": "Stop Mixer", "privacy.tab.privacy": "Privacy", "privacy.tab.security.center": "Security Center", @@ -1064,7 +1073,6 @@ "purchaseTickets.poolAddress": "VSP Address", "purchaseTickets.poolFee": "VSP Fee", "purchaseTickets.purchaseBtn": "Purchase", - "purchaseTickets.revokeBtn": "Revoke", "purchaseTickets.stakePoolLabel": "VSP", "purchaseTickets.ticketAddress": "Ticket Address", "purchaseTickets.ticketAmount": "Amount", @@ -1140,15 +1148,6 @@ "send.confirmAmountAddresses": "Destination addresses", "send.confirmAmountLabelFor": "Total Spent", "send.destinationAddrPlaceholder": "Address", - "send.dex.amount": "Amount", - "send.dex.amountPlaceholder": "Amount", - "send.dex.cancelSendAllTitle": "Cancel sending all funds", - "send.dex.destinationAddrPlaceholder": "Address", - "send.dex.from": "From", - "send.dex.sendAllTitle": "Send all funds from selected account", - "send.dex.sendAllTitle.disabled": "Send all funds from selected account - Disabled", - "send.dex.sendToSelfBtn": "Send to Self", - "send.dex.to": "To", "send.errors.abandonTxFailed": "{originalError}", "send.errors.abandonTxSuccess": "Transaction successfully abandoned!", "send.errors.constructTxFailed": "{originalError}", @@ -1188,6 +1187,7 @@ "sendtab.sendOthersTitle": "Send funds to another wallet", "sendtab.sendSelfTitle": "Send funds to another account", "sendtab.sendTo": "Send to", + "set.getvspticketstatus.failed": "Fetch vsp ticket status failed: {originalError}", "set.vote.failed": "Set wallet vote choices failed: {originalError}", "set.vote.success": "You have successfully updated your wallet vote choices on any legacy stakepools you may have had set up.", "set.vspdvote.failed": "Set vspd vote choices failed: {originalError}", @@ -1196,10 +1196,13 @@ "setNewPassphraseModal.confirmationRequired": "Confirmation Required", "setNewPassphraseModal.newPassphrase": "New Passphrase", "setNewPassphraseModal.newPassphrasePlaceholder": "Write your New Passphrase", + "setTreasuryPolicy.updateVoteChoiceFailed": "Set treasury policy failed: {originalError}", + "setTreasuryPolicy.updateVoteChoiceSuccess": "Your treasury policy has been successfully updated! Thanks for participating in Decred's governance.", "settings.DiscoverAddressBtn": "Discover Address Usage", "settings.GapLimit.placeholder": "Gap Limit", "settings.SPV": "SPV", "settings.SPVConnect": "SPV Connect", + "settings.addressUsage": "Address Usage", "settings.advancedDaemon.false": "Disabled", "settings.advancedDaemon.label": "Adv. Daemon Startup", "settings.advancedDaemon.true": "Enabled", @@ -1215,18 +1218,17 @@ "settings.displayedUnits": "Displayed Units", "settings.errors.changePassphraseFailed": "Update passphrase failed. Incorrect private passphrase, please try again.", "settings.errors.setPassphraseAcctFailed": "Update passphrase failed. Incorrect passphrase, please try again.", - "settings.getstartpage.group-title.connectivity": "Connectivity", - "settings.getstartpage.group-title.general": "General", + "settings.getstartpage.group-title.misc": "Misc", + "settings.getstartpage.group-title.network": "Network", "settings.getstartpage.group-title.privacy-and-security": "Privacy and Security", - "settings.group-title.connectivity": "Connectivity", - "settings.group-title.general": "General", - "settings.group-title.privacy-and-security": "Privacy and Security", + "settings.getstartpage.group-title.privatePassphrase": "Private Passphrase", + "settings.getstartpage.group-title.proxy": "Proxy", + "settings.getstartpage.group-title.timezone": "Timezone", + "settings.getstartpage.group-title.ui": "UI", "settings.locale": "Locale", - "settings.misc.title": "Misc", "settings.network": "Network", "settings.network.mainnet": "Mainnet", "settings.network.testnet": "Testnet", - "settings.network.title": "Network", "settings.privacy.dcrdata.description": "Access chain information from dcrdata.decred.org", "settings.privacy.dcrdata.label": "Decred Block Explorer", "settings.privacy.networkStatus.description": "General network information (block height, etc) from decred.org", @@ -1237,33 +1239,33 @@ "settings.privacy.stakepoolListing.label": "VSP Listing", "settings.privacy.updateCheck.description": "Get latest released version from github.org", "settings.privacy.updateCheck.label": "Update Check", + "settings.privatePassphrase.buttonLabel": "Update Private Passphrase", "settings.proxy.location": "Proxy Location", - "settings.proxy.title": "Proxy", "settings.proxy.type": "Proxy Type", "settings.proxy.type.none": "No Proxy", "settings.resetNetworkContent": "The setting you have chosen to change requires Decrediton to be restarted. Please confirm this action before proceeding.", "settings.resetNetworkTitle": "Reset required", "settings.save": "Save", + "settings.saved": "Settings saved successfully.", "settings.spv.false": "Disabled", "settings.spv.true": "Enabled", "settings.subtitle": "Settings", + "settings.tab.connectivity": "Connectivity", + "settings.tab.general": "General", "settings.tab.logs": "Logs", - "settings.tab.settings": "Settings", + "settings.tab.privacyandsecurity": "Privacy and Security", "settings.tab.sources": "Sources", - "settings.tab.tutorials": "Tutorials", "settings.timezone.local.description": "Use your local timezone", - "settings.timezone.title": "Timezone", "settings.timezone.utx.description": "Use Universal Coordinated Time", "settings.title": "Settings", "settings.trezorConfig": "Trezor Config", - "settings.ui.title": "UI", "settings.uiAnimations.disabled": "Disabled", "settings.uiAnimations.enabled": "Enabled", "settings.uiAnimations.label": "UI Animations", + "settings.uiAnimations.whatsthis": "What’s this?", "settings.uitheme.type": "Tonality", "settings.uitheme.type.dark": "Dark", "settings.uitheme.type.light": "Light", - "settings.updatePrivatePassphrase": "Update Private Passphrase", "setupWallet.processAccounts.failed": "{originalError}", "setupwallet.progressLabel": "Setup Wallet", "shutdown.header.title": "Shutting down Decrediton", @@ -1274,7 +1276,6 @@ "sidebar.latestBlock": "Block", "sidebar.link.accounts": "Accounts", "sidebar.link.dex": "DEX", - "sidebar.link.disabledDexTooltip": "DEX not available while using SPV. Please go to settings and disable SPV to access the DEX.", "sidebar.link.governance": "Governance", "sidebar.link.home": "Overview", "sidebar.link.ln": "Lightning Transactions", @@ -1348,6 +1349,9 @@ "stakepools.list.form.cancel": "Cancel", "stakepools.list.form.submit": "Add VSP", "stakepools.removedStakePoolConfig": "Successfully removed StakePool config", + "stakingTabWarning.desc": "Please take a look at the basics of tickets/staking:", + "stakingTabWarning.okBtn": "I understand and accept the risks", + "stakingTabWarning.title": "Before You continue...", "startup.dataDir.tip": "Select a path", "statistics.subtitle": "Statistics", "statusSmall.daysToVotePlural": "{days, plural, one {# day} other {# days}}", @@ -1369,6 +1373,8 @@ "ticket.status.multiple.unknown": "unknown", "ticket.status.multiple.unmined": "unmined", "ticket.status.multiple.voted": "voted", + "ticket.type.liveTicketLabel": "Ticket, {typeMsg}", + "ticket.type.ticketLabel": "Ticket, {typeMsg}", "tickets.autobuyer.running": "Privacy Mixer or Purchase Ticket Attempt running, please shut them off before starting autobuyer.", "tickets.autobuyerRunning.confirmModal.btnCancel": "Cancel", "tickets.autobuyerRunning.confirmModal.closeAnyway": "Close Anyway", @@ -1378,8 +1384,6 @@ "tickets.errors.importScriptFailed": "{originalError}", "tickets.errors.purchaseTicketsFailed": "{originalError}", "tickets.errors.refreshStakePoolInfo": "Error refreshing stakepool data from {host}: {originalError}", - "tickets.errors.revokeTicketFailed": "{originalError}", - "tickets.errors.revokeTicketsFailed": "{originalError}", "tickets.errors.setStakePoolVoteChoicesFailed": "{originalError}", "tickets.errors.startAutoBuyerFailed": "{originalError}", "tickets.errors.updateStakePoolConfigFailed": "{originalError}", @@ -1402,12 +1406,6 @@ "tickets.qr.loading": "Loading...", "tickets.qr.notickets": "No active tickets in the current view.", "tickets.qr.tooltip": "Tickets QR", - "tickets.revoke.running": "Privacy Mixer or Autobuyer running, please shut them off before revoking tickets.", - "tickets.revokeConfirmations": "Revoke Tickets Confirmation", - "tickets.revokeTicketConfirmations": "Revoke Ticket Confirmation", - "tickets.revokeTicketDescription": "Before continuing, please confirm that this ticket is missed or expired on dcrdata. Any ticket that is still awaiting vote, may not be revoked and you may be left with an errored transaction that must be abandoned.", - "tickets.revokeTicketHeader": "You successfully revoked a ticket", - "tickets.revokeTicketsHeader": "You successfully revoked tickets", "tickets.sortby.newest": "Newest", "tickets.sortby.oldest": "Oldest", "tickets.sortby.tooltip": "Sort By", @@ -1427,6 +1425,8 @@ "tickets.title": "Staking", "tickets.type.all": "All", "tickets.updateStakePoolConfigHeader": "You have successfully updated your legacy stakepool settings.", + "tickets.warning.description": "Current Price: {ticketPrice}", + "tickets.warning.title": "Staking", "transaction.confirmationHeight": "{confirmations, plural, =0 {Mined, block awaiting approval} one {# confirmation} other {# confirmations}}", "transaction.sortby.newest": "Newest", "transaction.sortby.oldest": "Oldest", @@ -1452,6 +1452,16 @@ "transactions.tab.send": "Send", "transactions.title": "Transactions", "transactions.txtypes.tooltip": "Transaction Type", + "treasurySpending.description": "Spending treasury funds now requires stakeholders to vote on the expenditure. You can participate and set a voting policy for treasury spending by a particular Politeia Key. The keys can be verified in the {link}.", + "treasurySpending.piKey": "Pi key:", + "treasurySpending.policyOptions.abstain": "abstain", + "treasurySpending.policyOptions.no": "no", + "treasurySpending.policyOptions.yes": "yes", + "treasurySpending.title": "Treasury Spending", + "treasurySpending.updatePreference": "Update Preference", + "treasurySpending.updateVoteChoiceModal.title": "Confirm Your Vote", + "treasurySpending.votedFor": "Voted for:", + "treasurySpending.votingFor": "Voting for:", "trezor.backupDevice.success": "Trezor device backed up.", "trezor.changeHomeScreen.success": "Trezor home screen successfully changed", "trezor.changeLabel.changeButton": "Change", @@ -1517,42 +1527,135 @@ "tutorial.standardPage.previousPage": "Previous", "tutorial.subtitle": "Tutorial", "tutorial.ticketLifecycle.title": "Ticket Lifecycle", - "tutorials.staking": "What is Staking (Proof-of-Stake)?", - "tutorials.subtitle": "Tutorials", - "tutorials.ticketLifecycle": "Learn About the Ticket Lifecycle", + "tutorials.blocks.label1": "Introduction to Block Voting", + "tutorials.blocks.label2": "Votes", + "tutorials.blocks.label3": "Rejection", + "tutorials.blocks.label4": "Incentives", + "tutorials.blocks.label5": "Hard forks", + "tutorials.blocks.title1": "Introduction to Block Voting", + "tutorials.blocks.title2": "Votes", + "tutorials.blocks.title3": "Rejection", + "tutorials.blocks.title4": "Incentives", + "tutorials.blocks.title5": "Hard forks", + "tutorials.consensusCode.label1": "Consensus Code", + "tutorials.consensusCode.title1": "Focus on Consensus Code", + "tutorials.consensusVoting.label1": "Overview", + "tutorials.consensusVoting.label2": "Rules", + "tutorials.consensusVoting.label3": "Infrastructure", + "tutorials.consensusVoting.label4": "Upgrade", + "tutorials.consensusVoting.label5": "Timeframe", + "tutorials.consensusVoting.label6": "Ticket Lifecycle", + "tutorials.consensusVoting.label7": "Approval", + "tutorials.consensusVoting.title1": "Overview", + "tutorials.consensusVoting.title2": "Rules", + "tutorials.consensusVoting.title3": "Infrastructure", + "tutorials.consensusVoting.title4": "Upgrade", + "tutorials.consensusVoting.title5": "Timeframe", + "tutorials.consensusVoting.title6": "Ticket Lifecycle", + "tutorials.consensusVoting.title7": "Approval", + "tutorials.decredIntro.label1": "Why was Decred created?", + "tutorials.decredIntro.label2": "Governance systems", + "tutorials.decredIntro.title1": "Why was Decred created?", + "tutorials.decredIntro.title2": "Governance systems empower its community", + "tutorials.identity.label1": "Back-up your ID", + "tutorials.identity.label2": "Identity and Proposals", + "tutorials.identity.label3": "Identity and CMS", + "tutorials.identity.label4": "Submit invoices in time", + "tutorials.identity.title1": "Back-up your ID", + "tutorials.identity.title2": "Identity and Proposals", + "tutorials.identity.title3": "Identity and CMS", + "tutorials.identity.title4": "Submit invoices in time", + "tutorials.lifecycle.label1": "Proof-of-Stake, Block Rewards", + "tutorials.lifecycle.label2": "Ticket's different states", + "tutorials.lifecycle.label3": "Immature tickets", + "tutorials.lifecycle.label4": "Live Tickets", + "tutorials.lifecycle.label5": "Voted Tickets", + "tutorials.lifecycle.label6": "“When Something Went Wrong”", + "tutorials.lifecycle.title1": "Proof-of-Stake, Block Rewards", + "tutorials.lifecycle.title2": "Ticket goes through different states in their lifecycle", + "tutorials.lifecycle.title3": "Immature tickets", + "tutorials.lifecycle.title4": "Live Tickets", + "tutorials.lifecycle.title5": "Voted Tickets", + "tutorials.lifecycle.title6": "“When Something Went Wrong”", + "tutorials.ln.label1": "Backup", + "tutorials.ln.label2": "Staying Online", + "tutorials.ln.label3": "Watchtower Service", + "tutorials.ln.label4": "Channels and Confirmations", + "tutorials.ln.label5": "Unlocked During Operations", + "tutorials.ln.label6": "Lightning is a Layer 2 Network", + "tutorials.ln.title1": "Backup data is needed in addition to wallet seed.", + "tutorials.ln.title2": "It's preferred to keep your wallet online most of the time.", + "tutorials.ln.title3": "Episodic wallets should use a watchtower service for safety.", + "tutorials.ln.title4": "Sending and receiving amounts are limited to what is available in your published channels.", + "tutorials.ln.title5": "Minimize risk by using a separate wallet for Lightning.", + "tutorials.ln.title6": "Lightning Network is a layer 2 network on top of the Decred blockchain, designed to facilitate micropayments more efficiently.", + "tutorials.powPos.label1": "POW", + "tutorials.powPos.label2": "POS", + "tutorials.powPos.label3": "Hybrid PoW/PoS", + "tutorials.powPos.title1": "1 CPU, 1 Vote – Proof-of-Work", + "tutorials.powPos.title2": "1 Coin, 1 Vote – Proof-Of Stake", + "tutorials.powPos.title3": "Hybrid PoW/PoS - best of both worlds", + "tutorials.staking.label1": "New block creation", + "tutorials.staking.label2": "Consensus Changes", + "tutorials.staking.label3": "Treasury and Project Management", + "tutorials.staking.title1": "New block creation", + "tutorials.staking.title2": "Consensus Changes", + "tutorials.staking.title3": "Treasury and Project Management", + "tutorials.tickets.label1": "Time-locking coins", + "tutorials.tickets.label2": "Tickets have multiple functions", + "tutorials.tickets.label3": "Rewards", + "tutorials.tickets.title1": "Tickets are created by time-locking coins", + "tutorials.tickets.title2": "Tickets have multiple functions", + "tutorials.tickets.title3": "Rewards", "txDetails.abandontTransaction": "Abandon Transaction", + "txDetails.agendaAlert": "This doesn't align with what the wallet currently has set ({setVoteChoice})", + "txDetails.agendaChoices": "Agenda Choices", "txDetails.backBtn": "Back", + "txDetails.bits": "Vote Bits", "txDetails.blockHeightLabel": "Height", "txDetails.blockLabel": "Block", + "txDetails.false": "false", + "txDetails.feeTxHashLabel": "Fee tx hash", + "txDetails.feeTxStatusLabel": "Fee tx status", "txDetails.indicatorConfirmed": "Confirmed", "txDetails.indicatorPending": "Pending", "txDetails.io.title": "I/O Details", + "txDetails.lastBlockValid": "Last Block Valid", + "txDetails.missedOn": "Missed On", "txDetails.nonWalletInputs": "Non Wallet Inputs", "txDetails.nonWalletOutputs": "Non Wallet Outputs", "txDetails.properties": "Properties", "txDetails.purchasedOn": "Purchased On", "txDetails.rawTransactionLabel": "Raw Transaction", "txDetails.rebroadcastTransactions": "Rebroadcast Transaction", - "txDetails.revokeTicket": "Revoke Ticket", "txDetails.reward": "Reward", "txDetails.sentFrom": "Sent From", + "txDetails.signMessageBtn": "Fetch VSP Ticket Status", + "txDetails.signMessageModal": "Fetch VSP Ticket Status", "txDetails.ticketCost": "Ticket Cost", + "txDetails.ticketSpent": "Ticket Spent", "txDetails.timestamp": "{timestamp, date, medium} {timestamp, time, medium}", "txDetails.toAddress": "To address", "txDetails.tooManyNonWalletOutputs": "Please use the txid link above to see all non-wallet outputs on dcrdata.", "txDetails.tooManyNonWalletOutputsAddresses": "Please use the txid link above to see all non-wallet addresses on dcrdata.", "txDetails.transactionFeeLabel": "Transaction fee", "txDetails.transactionLabel": "Transaction", + "txDetails.true": "true", "txDetails.type.coinbase": "Coinbase", + "txDetails.type.expired": "Expired", "txDetails.type.immature": "Immature", "txDetails.type.live": "Live", "txDetails.type.missed": "Missed", - "txDetails.type.revoke": "Revoke", + "txDetails.type.revocation": "Revocation", + "txDetails.type.revoked": "Revoked", "txDetails.type.ticket": "Ticket", "txDetails.type.unmined": "Unmined", "txDetails.type.vote": "Vote", + "txDetails.type.voted": "Voted", "txDetails.unConfirmed": "Unconfirmed", + "txDetails.version": "Vote Version", "txDetails.votedOn": "Voted On", + "txDetails.vspHost": "VSP host", "txDetails.walletInputs": "Wallet Inputs", "txDetails.walletOutputs": "Wallet Outputs", "txFilter.type.all": "All", @@ -1562,7 +1665,7 @@ "txFilter.type.ticketfee": "Ticket fee", "txHistory.Pending": "Pending", "txHistory.in.tx": "From {acc}", - "txHistory.out.tx": "To {acc}", + "txHistory.out.tx": "to {acc}", "txRow.live.feeStatus.tooltip": "Fee Status", "txhistory.filterByAddrOrHashPlaceholder": "Filter by Address or Hash", "txhistory.filterByHashPlaceholder": "Filter by Hash", @@ -1572,10 +1675,13 @@ "txhistory.icon.sent": "Sent", "txhistory.icon.ticketfee": "Ticket fee", "txhistory.icon.transaction": "Transaction", + "txhistory.pending": "Pending", "votingPreferences.dashboard": "Go to Voting Dashboard", "votingPreferences.description": "Consensus changes refer to the on-chain governance aspect of Decred. This means deciding whether to adopt changes to the consensus rules of the network. Participation in voting requires (PoS) tickets. You can learn more about Consensus Rule Voting at {link}", "votingPreferences.noAgenda": "There are currently no agendas for voting.", "votingPreferences.noFoundAgenda": "No agendas matched your search.", + "votingPreferences.outdatedUsedVsps.alert": "Please contact {host} to ask them to upgrade.", + "votingPreferences.outdatedUsedVsps.alert.header": "You have unspent tickets at {vspCount, plural, one {a VSP} other {VSPs}} that has not upgraded to the\n minimum version. While your confirmed/paid for tickets will be\n voted, your vote preferences will not be used.", "votingPreferences.title": "Consensus Changes", "vsp.addNewPromptEmpty": "Type to add new VSP", "vsp.autobuyer.accountFrom": "From", @@ -1589,6 +1695,7 @@ "vsp.autobuyer.subtitle": "Automatic Ticket Purchases", "vsp.feeTooltip": "Fee: {feePercentage} %", "vsp.mytickets.subtitle": "Live Tickets", + "vsp.outdated": "Out of date", "vsp.runautobuyer.failed": "{originalError}", "vsp.select.error": "Timeout with vsp: {vsp}", "vsp.ticket.confirmed": "Confirmed",