diff --git a/app/i18n/translations/original.json b/app/i18n/translations/original.json index 5e03e2f139..60d6c0ac74 100644 --- a/app/i18n/translations/original.json +++ b/app/i18n/translations/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", diff --git a/app/i18n/translations/previous_original.json b/app/i18n/translations/previous_original.json index 94461fb679..5e03e2f139 100644 --- a/app/i18n/translations/previous_original.json +++ b/app/i18n/translations/previous_original.json @@ -1,6 +1,6 @@ { "meta": { - "version": "v1.6.3" + "version": "v1.7.0" }, "SendFromUnmixed.btnCancel": "Cancel", "SendFromUnmixed.btnConfirm": "Enable sending from unmixed accounts", @@ -17,11 +17,11 @@ "aboutModal.whatsNew": "What's New?", "account.Hidden": "Hidden", "account.mixer.running.btnCancel": "Cancel", - "account.mixer.running.btnConfirm": "Close Decrediton", - "account.mixer.running.message": "Account mixer is currently running. Ongoing mixes will be\n cancelled and no more Decred will be mixed if Decrediton is\n closed now.", + "account.mixer.running.message": "Account mixer is currently running. Ongoing mixes will be\n cancelled and no more Decred will be mixed if you proceed.", "account.mixer.running.title": "Account mixer is running", "account.pubKey": "Extended Public Key", "accountExtendedKey.failed": "Error getting account extended key: {originalError}", + "accountMixer.insufficientUnmixedAccountBalance": "Insufficient unmixed account balance", "accounts.addNewButton": "Add New", "accounts.balances": "Balances", "accounts.cancelRenameBtn": "Cancel", @@ -36,7 +36,7 @@ "accounts.hide.pubkey": "Hide Pubkey", "accounts.hide.tip": "Hide", "accounts.immatureRewards": "Immature Rewards", - "accounts.immatureStake": "Immature Stake Gen", + "accounts.immatureStakingRewards": "Immature Staking Rewards", "accounts.keys": "Keys", "accounts.keys.counts": "{external} external, {internal} internal, {imported} imported", "accounts.lockedByTickets": "Locked By Tickets", @@ -57,10 +57,13 @@ "accounts.subtitle": "Accounts", "accounts.title": "Accounts", "accounts.total": "Total", + "accounts.unconfirmed": "Unconfirmed", "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", @@ -74,16 +77,19 @@ "advanced.remote.rpcuser": "RPC User", "advancedStartup.cancel": "Cancel", "advancedStartup.skip": "Skip", - "agenda.card.finishedIndicator": "Finished", - "agenda.card.finishedTooltip": "This agenda has finished voting and {passed}. You may still toggle your vote choices, but they will no longer be tallied.", - "agenda.card.idLabel": "Agenda ID", - "agenda.card.inProgressIndicator": "In Progress", + "agenda.card.finishedTooltip": "This agenda has finished voting and {passed}.", "agenda.card.inProgressTooltip": "Voting is still in progress.", - "agenda.overview.idLabel": "Agenda ID", + "agenda.card.preference": "Preference: {selectedChoice}", + "agenda.overview.idLabel": "Agenda ID: {name}", "agenda.overviewDescription": "Once the majority of the PoW miners have upgraded (95% of the 1000 most recent blocks are at the latest version) and the majority of the PoS miners have upgraded (75% of the votes in a 2016 block interval), the voting process begins.", "agenda.updatePreference": "Update Preference", - "agenda.votedFor": "Voted for", - "agenda.votingFor": "Voting for", + "agenda.votedFor": "Voted for:", + "agenda.votingFor": "Voting for:", + "agendas.details.title": "Governance", + "agendas.sortby.newest": "Newest", + "agendas.sortby.oldest": "Oldest", + "agendas.sortby.tooltip": "Sort By", + "agendas.updateVoteChoiceModal.title": "Confirm Your Vote", "appMenu.about": "About", "appMenu.aboutDecrediton": "About Decrediton", "appMenu.advanced": "Advanced", @@ -94,6 +100,7 @@ "appMenu.cut": "Cut", "appMenu.decrediton": "Decrediton", "appMenu.developerTools": "Toggle Developer Tools", + "appMenu.developerToolsConfWindow": "Toggle Developer Tools for Confirmation Window", "appMenu.documentation": "Documentation", "appMenu.edit": "Edit", "appMenu.file": "&File", @@ -101,6 +108,7 @@ "appMenu.hideDecrediton": "Hide Decrediton", "appMenu.hideOthers": "Hide Others", "appMenu.learnMore": "Learn More", + "appMenu.loadCustomTranslation": "Load Custom Translation", "appMenu.minimize": "Minimize", "appMenu.paste": "Paste", "appMenu.quit": "Quit", @@ -116,23 +124,30 @@ "appMenu.undo": "Undo", "appMenu.view": "&View", "appMenu.window": "Window", - "autobuyer.accountFrom": "From", - "autobuyer.balanceToMaintain": "Balance to Maintain", - "autobuyer.balanceToMaintainError": "Your balance to mantain is invalid", + "appPassphrase.newPassphrase": "DEX Passphrase", + "appPassphrase.newPassphrasePlaceholder": "Write your DEX Passphrase", + "autoBuyerSettings.cancel": "Cancel", + "autoBuyerSettings.header": "Automatic ticket purchases", + "autoBuyerSettings.save": "Save", "autobuyer.disabled": "Turn on auto buyer", + "autobuyer.disabledText": "Auto buyer is disabled", "autobuyer.enabled": "Turn off auto buyer", - "autobuyer.modal.balanceToMaintain": "Balance To Maintain", - "autobuyer.modal.stakepool": "VSP", - "autobuyer.stakePoolLabel": "VSP", "autobuyer.startErr": "Fill all fields.", - "automatictickets.subtitle": "Automatic Ticket Purchases", "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", "changePassModal.newPassphrase": "New Private Passphrase", + "changePassModal.newPassphrasePlaceholder": "Write your New Private Passphrase", + "channelFilter.type.all": "All", + "channelFilter.type.closed": "Closed", + "channelFilter.type.open": "Open", + "channelFilter.type.pending": "Pending", "charts.dayMonthDisplay": "{value, date, day-short-month}", "charts.fullDayDisplay": "{value, date}", "charts.keys.available": "Available", @@ -153,10 +168,14 @@ "charts.voteTime.noVotesDay": "No tickets voted in this range", "clipboard.copied": "Copied", "confirmModal.btnCancel": "Cancel", + "confirmSeed.desc": "Each field contains only one correct word.\n Please, confirm your seed by selecting the correct word in each row.", "confirmSeed.errors.hexNot32Bytes": "Error: seed is not 32 bytes, such comes from a non-supported software and may have unintended consequences.", + "confirmSeed.errors.invalidHexSeed": "Invalid hex seed. Hex seeds need to be between 32 and 128 characters long.", "confirmSeed.label": "Confirm Seed Key", + "confirmSeed.title": "Seed phrase verification", "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}", "createWallet.continueBtn": "Continue", "createWallet.copy": "Copy seed words to clipboard", "createWallet.createWalletBtn": "Create Wallet", @@ -166,28 +185,132 @@ "createWallet.passhraseInput.label": "Private passphrase", "createWallet.passphraseInput.errors.noMatch": "*Passphrases do not match", "createWallet.passphraseInput.errors.noPassPhrase": "*Please enter your private passphrase", + "createWallet.passphraseInput.match": "Repeated correctly", "createWallet.passphraseInput.verifyLabel": "Repeat Private Passphrase", - "createWallet.passphrasePlaceholder": "Private Passphrase", + "createWallet.passphrasePlaceholder": "Write your Private Passphrase", "createWallet.restore.title": "Restore existing wallet", - "createWallet.restore.trezor.disabled": "Disabled", - "createWallet.restore.trezor.enabled": "Enabled", "createWallet.seedCopiedToClipboard": "Seed copied to clipboard!", "createWallet.title": "Create a new wallet", - "createWallet.verifyPassphrasePlaceholder": "Confirm Private Passphrase", + "createWallet.verifyPassphrasePlaceholder": "Confirm your Private Passphrase", + "createwallet.advancedOptions.label": "Advanced Options", + "createwallet.disableCoinTypeUpgrades.label": "Disable coin type upgrades", + "createwallet.disablecointypeupgrades.description": "Never upgrade from legacy to SLIP0044 coin type keys", "createwallet.dupeWalletName.error": "Please choose an unused wallet name", "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.walletOnly.label": "Watch only", + "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", "createwallet.walletname.label": "Wallet Name", "createwallet.walletname.placehlder": "Choose a Name", + "createwallet.walletname.tooltip": "The name is used to identify your wallet. Restoring a wallet does not require the name to match the previous wallet name.", "createwallet.walletpubkey.placeholder": "Master Pub Key", + "createwallet.watchOnly.label": "Watch only", + "createwallet.watchonly.description": "A watch-only wallet has limited functionality. It can only be used to view the balance and monitor transaction history. You won't be able to spend any DCR associated with this wallet.", "daemon.connect.error": "Error connecting to daemon", - "daemonSyncingTimeout.errors": "Daemon connection timeout exceded.\n That Probably means you filled your parameters wrong. Please review it.", + "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.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.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", + "dex.createDexAccount.description": "A new account is required to be created to improve security for the wallet overall.", + "dex.createDexAccount.or": "or", + "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.createWalletDCRPassphraseButton": "Connect DCR Wallet", + "dex.dcrWalletConnected": "DCR Wallet has been successfully connected!", + "dex.dexServer": "DEX Server", + "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.page": "Critical Error! DEX is not running. Please restart and check logs if problem persists.", + "dex.error.title": "DEX Error", + "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.label": "I already have a DEX seed to recover.", + "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.launchDexWIndow.description": "Launch the window to access the DEX", + "dex.launchDexWindow": "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.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 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.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.startup.failed": "DEX Client Failed to Start: {originalError}", + "dex.updateBTCConfig": "You must update your bitcoin.conf to properly communicate with the DEX.", + "dex.updateBTCConfigButton": "Create BTC Config", + "dex.user.failed": "Failed to retrieve user information: {originalError}", + "dialogs.cancelButton": "Cancel", + "dialogs.confirmFileOverwrite": "Overwrite contents of file {filename}?", + "dialogs.yesButton": "Yes", + "discoverAddress.failed": "{originalError}", + "discoverAddress.success": "You have successfully discovered address usage. Rescan now commencing.", + "discoverUsage.cancel": "Cancel", + "discoverUsage.gapLimitLbl": "Gap Limit", + "discoverUsage.save": "Discover Address Usage", + "discoverUsage.startErr": "Fill all fields.", "docs.unavailable": "Document '{name}' is unavailable in the current language. Please request it in the community channels.", "error.empty.fields": "Fill all fields.", + "error.empty.fields.app.pass": "Fill all fields.", "error.not.same.pass": "Passwords does not match.", "errors.general": "Something went wrong, please go back ", "errors.goHome": "Back to Home", @@ -219,8 +342,10 @@ "export.dailyBalances.fields.total": "Total available balance.", "export.dailyBalances.fields.voted": "Total amount, in DCR, of tickets voted", "export.dailyBalances.name": "Daily Balances", - "export.destination": "Destination", + "export.destination.label": "Destination", + "export.destination.placeholder": "Choose destination...", "export.infoFieldsHeader": "Exported Fields", + "export.modalTitle": "Export Transactions", "export.select": "Export Type", "export.subtitle": "Export Transactions", "export.tickets.descr": "Export ticket and vote information.", @@ -253,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 slack/matrix/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 Matrix, Telegram, or 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.", @@ -265,9 +390,11 @@ "getStarted.backBtn": "Cancel", "getStarted.btnLogs": "Logs", "getStarted.btnSettings": "Settings", - "getStarted.chainLoading.headerTime": "Time from last fetched header:", + "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.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.", "getStarted.decrypt.info": "This wallet is encrypted, please enter the public passphrase to decrypt it.", "getStarted.decrypt.label": "Decrypt Wallet", @@ -295,14 +422,21 @@ "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.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.title": "Process Unmanaged Tickets", "getstarted.setAccount.acctIdxRow": "Account {acctIdx}", "getstarted.setAccount.change": "Set Unmixed Account", "getstarted.setAccount.continue": "Continue", "getstarted.setAccount.description": "Looks like you have accounts with coinjoin outputs. Past\n account names cannot be restored during Recovery, so it is not\n possible to know which account was the mixed account. You can\n set a mixed and unmixed account now or this can be done later on\n the privacy page.\n \n With this action the chosen accounts will be renamed.", - "getstarted.setAccount.isValidMessage": "You need to set a mixed and unimxed account, and they can not\n be the same", + "getstarted.setAccount.isValidMessage": "You need to set a mixed and unmixed account, and they can not\n be the same", "getstarted.setAccount.mix": "Set Mixed Account", "getstarted.setAccount.sumCoinjoin": "Coinjoin Sum outputs: {coinjoinSum}", "getstarted.setAccount.title": "Set Mixed Account", + "getstarted.setAccountsPass.description": "Decrediton now uses per-account locking, which requires a one time migration.\n Enter your current passphrase to perform this upgrade.\n Visit {link} to know more.", + "getstarted.setAccountsPass.docs": "Decred docs", + "getstarted.setAccountsPass.title": "Migrate to per-account passphrases", "getstarted.setAcct.changAcct": "Unmixed Account: {value}", "getstarted.setAcct.mixedAcct": "Mixed Account: {value}", "governance.description": "Governance aspects of Decred.", @@ -333,13 +467,13 @@ "help.logs.dcrwallet": "dcrwallet", "help.logs.decrediton": "decrediton", "help.matrix": "Matrix Chat", - "help.matrix.subtitle": "element.io", + "help.matrix.subtitle": "chat.decred.org", "help.stakepools": " VSPs", "help.stakepools.subtitle": "decred.org/vsp", "help.subtitle.communications": "Communications", "help.subtitle.project": "Project Related", "help.telegram": "Telegram", - "help.telegram.subtitle": "t.me/decred", + "help.telegram.subtitle": "t.me/Decred", "history.amount.range": "Amount Range", "history.loadingMoreTransactions": "Loading more transactions...", "history.max.value": "Slider max", @@ -348,11 +482,15 @@ "history.subtitle": "Transaction History", "history.ticket.rewardLabel": "Ticket Reward", "history.ticket.rewardMesage": "{rewardLabel}: {reward}", - "home.activeTicketsCount": "{count, plural, one {{fmtCount} active ticket} other {{fmtCount} active tickets}}", + "home.activeTicketsCount": "{count, plural, one {{fmtCount} active and locked ticket} other {{fmtCount} active and locked tickets}}", "home.currentTotalBalanceLabel": "Current Total Balance", "home.currentTotalLockedBalanceLabel": "Locked", "home.currentTotalSpendableBalanceLabel": "Available", + "home.currentTotalUnconfirmedBalanceLabel": "Unconfirmed", "home.earned": "Earned {value} in staking rewards", + "home.immatureRewardBalanceLabel": "Immature Rewards", + "home.immatureStakingRewardsBalanceLabel": "Immature Staking Rewards", + "home.lockedByTicketsTotalBalanceLabel": "Locked by tickets", "home.noTickets.lifecycle": "Learn About the Ticket Lifecycle", "home.noTickets.staking": "What is Staking (Proof-of-Stake)?", "home.noTickets.title": "No tickets yet", @@ -380,25 +518,64 @@ "input.invalidInput": "This field is wrong", "input.requiredInput": "This field is required", "invalidRPCVersion.info": "The API of the currently running wallet ({walletRPCVersion}) is not compatible with Decrediton (required version {requiredWalletRPCVersion}).\n\n Please update the daemon (dcrd) and wallet (dcrwallet) to the latest version, then try again.", + "invoiceFilter.type.all": "All", + "invoiceFilter.type.canceled": "Canceled", + "invoiceFilter.type.expired": "Expired", + "invoiceFilter.type.open": "Not Paid Yet", + "invoiceFilter.type.settled": "Received", + "listutxo.header.utxo": "UTXO", + "listutxo.header.value": "Value", + "listutxos.listUnspentUTXOs": "List Unspent UTXOs", + "ln.LNChannelStatus.closed": "Closed", + "ln.LNChannelStatus.open": "Open", + "ln.LNChannelStatus.pending": "Pending", + "ln.LNInvoiceStatus.canceled": "Canceled", + "ln.LNInvoiceStatus.expired": "Expired", + "ln.LNInvoiceStatus.notPaidYet": "Not Paid Yet", + "ln.LNInvoiceStatus.received": "Received", + "ln.LNPaymentStatus.confirmed": "Confirmed", + "ln.LNPaymentStatus.failed": "Failed", + "ln.LNPaymentStatus.pending": "Pending", + "ln.advancedTab.backup": "Backup", + "ln.advancedTab.description.header": "On-chain balance and actions of the LN Wallet", + "ln.advancedTab.infos": "Infos", + "ln.advancedTab.network": "Network", + "ln.advancedTab.nodeInfos.ID": "Node ID", + "ln.advancedTab.nodeInfos.alias": "Node Alias", "ln.backup.backupBtn": "Backup Now", "ln.backup.verifyBtn": "Verify Backup", "ln.backupInfo.lastUpdated": "Last Updated: {lastUpdate, date} {lastUpdate, time, short}", "ln.backupInfo.location": "SCB backup file location: {path}", - "ln.channelsTab.balance": "Balance", - "ln.channelsTab.balance.channelsCapacity": "Total channels capacity", - "ln.channelsTab.balance.onChain": "Confirmed on-chain balance", - "ln.channelsTab.channelList": "Open Channels", - "ln.channelsTab.closeChannelBtn": "Close the channel", - "ln.channelsTab.closeChannelModalTitle": "Close Channel", + "ln.channelDetails.closeChannelButton": "Close Channel", + "ln.channelDetails.closeChannelModalTitle": "Close Channel", + "ln.channelDetails.props": "Properties", + "ln.channelModal.closeChannelButton": "Close Channel", + "ln.channelModal.closeChannelModalTitle": "Close Channel", + "ln.channelModal.props": "Properties", + "ln.channelModal.title": "Channel Created", + "ln.channeldetails.description.channels": "Open and pending channels of this LN Wallet", + "ln.channeldetails.title": "Lightning Network", + "ln.channels.description.channels": "Open and pending channels of this LN Wallet", + "ln.channelsTab.channelCard.capacity": "Capacity", + "ln.channelsTab.channelTypes.tooltip": "Channel Type", "ln.channelsTab.closedChannel.settledBalance": "Settled", "ln.channelsTab.closedChannel.timeLockedBalance": "Timelocked", - "ln.channelsTab.closedList": "Closed Channels", - "ln.channelsTab.openChannel": "Open Channel", + "ln.channelsTab.counterpartyNode": "Counterparty Node", + "ln.channelsTab.counterpartyNodePlaceholder": "NodePubKey@ip:port", + "ln.channelsTab.createAChannel": "Create a Channel", + "ln.channelsTab.emptyChannelList": "No channel found", + "ln.channelsTab.filterByChannelPointPlaceholder": "Filter by Channel Point", + "ln.channelsTab.invalidNodeAddressFormat": "More than one : in the node address", + "ln.channelsTab.invalidNodeFormat": "More than one @ in the node address", + "ln.channelsTab.invalidNodeId": "Invalid Node Id", + "ln.channelsTab.localAmt": "Amount to Commit", + "ln.channelsTab.localAmtPlaceholder": "Amount of DCR to commit to channel", + "ln.channelsTab.manageChannels": "Manage Channels", + "ln.channelsTab.nodeSuccessMsg": "Valid PubKey", "ln.channelsTab.openChannel.localBalance": "Local", "ln.channelsTab.openChannel.remoteBalance": "Remote", - "ln.channelsTab.pendingChannel.localBalance": "Local", - "ln.channelsTab.pendingChannel.remoteBalance": "Remote", - "ln.channelsTab.pendingList": "Pending Channels", + "ln.channelsTab.pushAmount": "Push Amount (optional)", + "ln.channelsTab.pushAmountPlaceholder": "Amount of DCR to push to channel", "ln.closeChannelModa.descrForce": "Attempt forced close of the channel?", "ln.closeChannelModal.capacity": "Capacity", "ln.closeChannelModal.channelPoint": "Channel Point", @@ -416,45 +593,66 @@ "ln.closedChannelDetails.closeType": "Close Type", "ln.closedChannelDetails.closingTx": "Closing Tx", "ln.closedChannelDetails.remotePubKey": "Remote PubKey", - "ln.confirmBackupOverwrite.content": "Really overwrite the backup file {file}? The existing backup data will be LOST.", - "ln.confirmBackupOverwrite.title": "Confirm Backup Overwrite", - "ln.connectPage.account": "Wallet account to use", + "ln.connectPage.automaticChannelCreation": "Automatic Channel Creation", + "ln.connectPage.autopilot.enabled": "Disable automatic channel creation", + "ln.connectPage.autopilot.not.enabled": "Enable automatic channel creation", "ln.connectPage.backupFile": "Restore SCB backup", - "ln.connectPage.createAccount": "Create new", + "ln.connectPage.backupFilePlaceholder": "Select a path...", + "ln.connectPage.createAccount": "Create New Wallet account", "ln.connectPage.description": "Start, unlock and connect to the dcrlnd wallet.", - "ln.connectPage.enableAutopilot": "Enable Automatic Channel Creation", + "ln.connectPage.disabled.unlockWalletModal": "Privacy Mixer, Autobuyer or Purchase Ticket Attempt running, please shut them off before unlock LN Wallet.", "ln.connectPage.enableAutopilotDescr": "This enables the 'autopilot' feature, which tries to automatically open channels using up to 60% of the account's spendable funds.", "ln.connectPage.launchBtn": "Start and Unlock LN Wallet", + "ln.connectPage.running": "Unlock LN Wallet", "ln.connectPage.title": "Start Lightning Wallet", "ln.connectPage.unlockWalletModal": "Unlock LN Wallet", - "ln.connectPage.useAccount": "Use existing", - "ln.connectPage.useExistingAccountWarning": "Attention: note that a running LN wallet maintains unencrypted keys\n in memory while it's running and also takes control of all funds of the\n given account. It's recommended to have an account dedicated to LN\n operations and only transfer the funds you intend to use in LN to it.", - "ln.createLNWalletPage.description": "Create a new Lightning Network wallet backed by the Decrediton wallet.", - "ln.createLNWalletPage.title": "Create Lightning Wallet", + "ln.connectPage.useAccount": "Use Existing Wallet Account", + "ln.connectPage.useExistingAccountWarning": "note that a running LN wallet maintains unencrypted keys\nin memory while it's running and also takes control of all funds of the\ngiven account. It's recommended to have an account dedicated to LN\noperations and only transfer the funds you intend to use in LN to it.", + "ln.connectPage.useExistingAccountWarningAttention": "Attention: ", + "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.description.channels": "Open and pending channels of this LN Wallet", - "ln.description.invoices": "Invoices (payment requests) created by this LN wallet.", - "ln.description.network": "General information about the current state of Decred's LN.", - "ln.description.payments": "Payments sent from this LN wallet.", - "ln.description.wallet": "On-chain balance and actions of the LN Wallet", - "ln.description.watchtowers": "Manage connection to watchtowers.", - "ln.invoicesTab.addInvoice.memo": "Description", - "ln.invoicesTab.addInvoice.value": "Value", - "ln.invoicesTab.addInvoiceHeader": "Add Invoice", - "ln.invoicesTab.balance.maxReceivable": "Max. Receivable", - "ln.invoicesTab.balanceHeader": "Balance", + "ln.decodedPayRequestDetails.cltvExpiry": "CLTV Expiry", + "ln.decodedPayRequestDetails.emptyFallbackAddr": "(empty fallback address)", + "ln.decodedPayRequestDetails.fallbackAddr": "Fallback Address", + "ln.decodedPayRequestDetails.paymentAddr": "Payment Address", + "ln.description.receive": "Generate a Lightning Invoice to receive DCR funds over the Lightning Network.", + "ln.description.send": "Paste the Payment Request Code to Send funds over Lightning Network.", + "ln.header.balances": "You can Send total {maxOutboundAmount} and Receive total {maxInboundAmount}", + "ln.invoice.sortby.newest": "Newest", + "ln.invoice.sortby.oldest": "Oldest", + "ln.invoiceModal.date": "Date", + "ln.invoiceModal.expirationTime": "Expiration Time", + "ln.invoiceModal.requestedAmount": "Requested Amount", + "ln.invoiceModal.settleDateLabel": "Settle Date", + "ln.invoiceModal.status": "Status", + "ln.invoiceModal.title": "Lightning Payment Request", + "ln.invoicesModal.cancelInvoice": "Cancel Invoice", + "ln.invoicesModal.creationDate": "{creationDate, date, medium} {creationDate, time, short}", + "ln.invoicesModal.desc": "Description", + "ln.invoicesModal.details": "Details", + "ln.invoicesModal.expired": "Expired ", + "ln.invoicesModal.expires": "Expires ", + "ln.invoicesModal.hash": "Hash", + "ln.invoicesModal.htlc": "HTLC", + "ln.invoicesModal.htlc.acceptHeight": "Accept Height", + "ln.invoicesModal.htlc.acceptTime": "{acceptTime, date, medium} {acceptTime, time, short}", + "ln.invoicesModal.htlc.acceptTimeLabel": "Accept Time", + "ln.invoicesModal.htlc.chanId": "Channel id", + "ln.invoicesModal.htlc.expiryHeight": "Expiry Height", + "ln.invoicesModal.htlc.resolveTime": "{resolveTime, date, medium} {resolveTime, time, short}", + "ln.invoicesModal.htlc.resolveTimeLabel": "Resolve Time", + "ln.invoicesModal.htlc.state": "State", + "ln.invoicesModal.requestCodeLabel": "Lightning Payment Request Code (Send this to Payer)", + "ln.invoicesModal.settleDate": "{settleDate, date, medium} {settleDate, time, short}", "ln.invoicesTab.invoice.creationDate": "{creationDate, date, medium} {creationDate, time, short}", - "ln.invoicesTab.invoice.settleDate": "{settleDate, date, medium} {settleDate, time, short}", - "ln.invoicesTab.invoicesHeader": "Latest Invoices", - "ln.networkTab.numChannels": "Channels", - "ln.networkTab.numNodes": "Nodes", + "ln.invoicesTab.invoice.value": "Invoice for {balance}", "ln.networkTab.queryNode.errNotFound": "Node not found", "ln.networkTab.queryNodeId": "Node ID", "ln.networkTab.queryRoutes.nodeID": "Node ID", "ln.networkTab.queryRoutes.value": "Value", "ln.networkTab.tabQueryNode": "Query Node", "ln.networkTab.tabQueryRoute": "Query Route", - "ln.networkTab.totalCapacity": "Total Capacity", "ln.nodeInfo.alias": "Alias", "ln.nodeInfo.channel.capacity": "Capacity", "ln.nodeInfo.channel.chanPoint": "Channel Point", @@ -477,8 +675,14 @@ "ln.nodeInfo.pubkey": "PubKey", "ln.nodeInfo.totalCapacity": "Total Capacity", "ln.nodeInfo.updateDate": "{lastUpdate, date, medium} {lastUpdate, time, medium}", + "ln.ntf.addInvoiceFailed": "Failed to create invoice: {originalError}", + "ln.ntf.addInvoiceSuccess": "Successfully added invoice!", "ln.ntf.addWatchtowerFailed": "Failed to add watchtower: {originalError}", "ln.ntf.addWatchtowerSuccess": "Successfully added watchtower!", + "ln.ntf.autopilotStatusModifyFailed": "Failed to modify autopilot status: {originalError}", + "ln.ntf.autopilotStatusModifySuccess": "Autopilot has been successfully modified!", + "ln.ntf.cancelInvoiceFailed": "Failed to cancel invoice: {originalError}", + "ln.ntf.cancelInvoiceSuccess": "Invoice successfully canceled!", "ln.ntf.closechannelChanclose": "Channel closed", "ln.ntf.closechannelClosepending": "Channel close procedures started", "ln.ntf.closechannelFailed": "Unable to close channel: {originalError}", @@ -489,7 +693,7 @@ "ln.ntf.fundWalletFailed": "Funding LN Wallet failed: {originalError}", "ln.ntf.fundWalletSucces": "Sent LN Wallet fund transaction", "ln.ntf.getNetworkInfoFailed": "Failed to get LN network info: {originalError}", - "ln.ntf.invoiceSettled": "Invoice '{memo}' settled!", + "ln.ntf.invoiceSettled": "Invoice ‘{memo}’ settled!", "ln.ntf.listWatchtowerFailed": "Failed to list watchtowers: {originalError}", "ln.ntf.openchannelChanOpen": "New channel successfully opened and confirmed", "ln.ntf.openchannelChanPending": "New channel in pending state", @@ -507,15 +711,15 @@ "ln.ntf.verifyBackupSuccess": "SCB backup file is valid for this wallet!", "ln.ntf.withdrawWalletFailed": "Withdrawing from LN Wallet failed: {originalError}", "ln.ntf.withdrawWalletSuccess": "Sent withdraw transaction for LN Wallet", - "ln.openChannel.localAmt": "Total Funding Amount", - "ln.openChannel.node": "Counterparty (node@ip:port)", - "ln.openChannel.openBtn": "Open", - "ln.openChannel.pushAmt": "Push Amount (optional)", + "ln.openChannel.connectTo": "Connect to a Counterparty Node to create a channel and start using Lightning Network.", + "ln.openChannel.createChannelBt": "Create Channel", + "ln.openChannel.emptyRecentNodes": "No nodes yet", + "ln.openChannel.recentNodes": "Recent Nodes", "ln.openChannelDetails.chanId": "Channel ID", "ln.openChannelDetails.channelPoint": "Channel Point", "ln.openChannelDetails.commitFee": "Commit Fee", "ln.openChannelDetails.csvDelay": "CSV Delay", - "ln.openChannelDetails.csvDelayValue": "{csvDelay} blocks", + "ln.openChannelDetails.csvDelayValue": "{csvDelay} Blocks", "ln.openChannelDetails.localChannelReserve": "Local Reserve", "ln.openChannelDetails.numUpdates": "Number of Updates", "ln.openChannelDetails.remoteChannelReserve": "Remote Reserve", @@ -523,24 +727,67 @@ "ln.openChannelDetails.totalReceived": "Total Received", "ln.openChannelDetails.totalSent": "Total Sent", "ln.openChannelDetails.unsettledBalance": "Unsettled Balance", - "ln.paymentsTab.balance.maxPayable": "Max. Payable", - "ln.paymentsTab.balanceHeader": "Balance", + "ln.overview.description": "Off-chain transactions using the Lightning Network.", + "ln.overviewTab.LNAccountOverview": "LN Account Overview", + "ln.overviewTab.accountOverview.capacity": "Capacity", + "ln.overviewTab.accountOverview.confirmedBalance": "Confirmed Balance", + "ln.overviewTab.accountOverview.openChannels": "Open Channels", + "ln.overviewTab.accountOverview.totalAccountBalance": "Total Account Balance", + "ln.overviewTab.accountOverview.unconfirmedBalance": "Unconfirmed Balance", + "ln.overviewTab.channelModal.closeChannelButton": "Close Channel", + "ln.overviewTab.channelModal.closeChannelModalTitle": "Close Channel", + "ln.overviewTab.channelModal.props": "Properties", + "ln.overviewTab.emptyInvoiceList": "No activities yet", + "ln.overviewTab.networkStats": "Network Stats", + "ln.overviewTab.networkStats.capacity": "Capacity", + "ln.overviewTab.networkStats.channels": "Channels", + "ln.overviewTab.networkStats.nodes": "Nodes", + "ln.overviewTab.recentActivity": "Recent Activity", + "ln.overviewTab.recentChannel.closed": "Channel Closed {balance}", + "ln.overviewTab.recentChannel.ts": "{ts, date, medium} {ts, time, short}", + "ln.overviewTab.recentChannel.value": "Channel Funding {balance}", + "ln.paymentModal.creationDate": "{creationDate, date, medium} {creationDate, time, short}", + "ln.paymentModal.date": "Date", + "ln.paymentModal.desc": "Description", + "ln.paymentModal.destination": "Destination", + "ln.paymentModal.details": "Details", + "ln.paymentModal.fee": "Fee", + "ln.paymentModal.hash": "Hash", + "ln.paymentModal.htlc": "HTLC", + "ln.paymentModal.htlc.hop.fee": "Fee", + "ln.paymentModal.htlc.hop.pubkey": "PubKey", + "ln.paymentModal.htlc.status": "Status", + "ln.paymentModal.htlc.totalAmt": "Total Amount", + "ln.paymentModal.htlc.totalFees": "Total Fees", + "ln.paymentModal.requestCodeLabel": "Lightning Payment Request Code", + "ln.paymentModal.routeHop": "Hop", + "ln.paymentModal.sentAmount": "Sent Amount", + "ln.paymentModal.status": "Status", + "ln.paymentModal.title": "Lightning Payment", + "ln.payments.sortby.newest": "Newest", + "ln.payments.sortby.oldest": "Oldest", + "ln.paymentsTab.amountLabel": "Amount", + "ln.paymentsTab.decodedPayreq.details": "Details", + "ln.paymentsTab.descLabel": "Description", "ln.paymentsTab.destLabel": "Destination", "ln.paymentsTab.emptyDescr": "(empty description)", + "ln.paymentsTab.emptyPaymentList": "No payment found", "ln.paymentsTab.expired": "Expired {relTime}", + "ln.paymentsTab.expiredErrorMsg": "Invoice expired", "ln.paymentsTab.expires": "Expires {relTime}", - "ln.paymentsTab.failed.creationDate": "{creationDate, date, medium} {creationDate, time, short}", - "ln.paymentsTab.hashLabel": "Payment Hash", - "ln.paymentsTab.latestPayments": "Latest Payments", - "ln.paymentsTab.outstanding": "Ongoing Payments", - "ln.paymentsTab.outstanding.creationDate": "{creationDate, date, medium} {creationDate, time, short}", - "ln.paymentsTab.payReq": "Payment Request", - "ln.paymentsTab.payment.creationDate": "{creationDate, date, medium} {creationDate, time, short}", + "ln.paymentsTab.expiryLabel": "Expiration Time", + "ln.paymentsTab.filterByHashPlaceholder": "Filter by Payment Hash", + "ln.paymentsTab.lightingPayments": "Lightning Payments", + "ln.paymentsTab.payReq": "Lightning Payment Request Code", + "ln.paymentsTab.payReqDecodeSuccessMsg": "Valid Lightning Request", + "ln.paymentsTab.payReqPlaceholder": "Request Code from an invoice", + "ln.paymentsTab.paymentHashLabel": "Payment Hash", + "ln.paymentsTab.paymentTypes.tooltip": "Payment Type", + "ln.paymentsTab.send": "Send", "ln.paymentsTab.sendBtn": "Send", - "ln.paymentsTab.sendPayment": "Send Payment", - "ln.paymentsTag.failed": "Failed Payments", + "ln.paymentsTab.sortby.tooltip": "Sort By", "ln.pendingChannelDetails.channelPoint": "Channel Point", - "ln.pendingChannelDetails.remotePubKey": "Remote Pubkey", + "ln.pendingChannelDetails.remotePubKey": "Remote PubKey", "ln.pendingChannelDetails.type": "Type", "ln.pendingChannelDetails.typeClose": "Close", "ln.pendingChannelDetails.typeForceclose": "Force Close", @@ -550,6 +797,18 @@ "ln.pendingForceCloseDetails.limboBalance": "Limbo Balance", "ln.pendingForceCloseDetails.recoveredBalance": "Recovered Balance", "ln.pendingOpenDetails.commitFee": "Commit Fee", + "ln.receiveTab.capacityError": "Cannot request more than total Receive capacity", + "ln.receiveTab.createInvoice": "Create Invoice", + "ln.receiveTab.descriptionLabel": "Description", + "ln.receiveTab.descriptionPlaceholder": "Message for Recepient", + "ln.receiveTab.emptyInvoiceList": "No invoices found", + "ln.receiveTab.filterByHashPlaceholder": "Filter by Payment Hash", + "ln.receiveTab.invoiceTypes.tooltip": "Invoice Type", + "ln.receiveTab.lightingInvoices": "Lightning Invoices", + "ln.receiveTab.receiveHeader": "Receive", + "ln.receiveTab.requestedAmountLabel": "Requested Amount", + "ln.receiveTab.requestedAmountPlaceholder": "0.00000000", + "ln.receiveTab.sortby.tooltip": "Sort By", "ln.routesInfo.amount": "Amount", "ln.routesInfo.hop": "Hop", "ln.routesInfo.hopFee": "Fee", @@ -559,27 +818,27 @@ "ln.routesInfo.routeAmount": "Total amount", "ln.routesInfo.routeFees": "Total fees", "ln.routesInfo.routesList": "Routes", + "ln.searchForNodesModal.emptySearchResult": "No matching nodes found", + "ln.searchForNodesModal.paste": "Paste NodePubKey@ip:port", + "ln.searchForNodesModal.recentNodes": "Recent Nodes", + "ln.searchForNodesModal.searchInputLabel": "Search the Network or Paste Public Key", + "ln.searchForNodesModal.searchInputPlaceholder": "Search the network by their name or Paste the Public Key", + "ln.searchForNodesModal.searchResults": "Search Results ({count})", + "ln.searchForNodesModal.title": "Search For Nodes", + "ln.sendTab.invoice.creationDate": "{creationDate, date, medium} {creationDate, time, short}", + "ln.sendTab.payment.value": "Sent Payment {balance}", "ln.startupStage.connect": "Connecting to dcrlnd", "ln.startupStage.scbRestore": "Restoring backup", "ln.startupStage.startDcrlnd": "Starting dcrlnd", "ln.startupStage.startupSync": "Syncing LN wallet to network", "ln.startupStage.unlock": "Unlocking LN wallet", + "ln.tab.advanced": "Advanced", "ln.tab.channels": "Channels", - "ln.tab.invoices": "Invoices", - "ln.tab.network": "Network", - "ln.tab.payments": "Payments", - "ln.tab.wallet": "Wallet", - "ln.tab.watchtowers": "Watchtowers", + "ln.tab.overview": "Overview", + "ln.tab.receive": "Receive", + "ln.tab.send": "Send", "ln.title": "Lightning Network", "ln.waitCloseDetails.limboBalance": "Limbo Balance", - "ln.walletTab.backup": "Backup", - "ln.walletTab.balance.confirmed": "Confirmed balance", - "ln.walletTab.balance.totalBalance": "Total balance", - "ln.walletTab.balance.unconfirmed": "Unconfirmed balance", - "ln.walletTab.balances": "Balances", - "ln.walletTab.infos": "Infos", - "ln.walletTab.nodeInfos.ID": "Node ID", - "ln.walletTab.nodeInfos.alias": "Node Alias", "ln.watchtowersTab.Pubkey": "Tower ID:", "ln.watchtowersTab.addBtn": "Add", "ln.watchtowersTab.addWatchtowerHeader": "Add Watchtower", @@ -615,13 +874,15 @@ "login.form.rpcpassword.placeholder": "RPC Password", "login.form.rpcport.placeholder.": "RPC Port", "login.form.rpcuser.placeholder": "RPC Username", + "logs.back": "Back", "logs.goBack": "Go back", "logs.subtitle": "System Logs", "mixer.ntf.createdAcct": "Accounts successfully created and mixer configured.", "mixer.ntf.startMixerFailed": "{originalError}", + "mixer.start.running": "Privacy Mixer or Autobuyer running, please shut them off before purchasing a ticket.", "mixerSetting.header": "Mixer Settings", "mixerSettings.gotIt": "Got it", - "modal.go.to.tickets.status": "Go to ticket status", + "modal.complete.registration.process": "Complete registration process", "myTicket.syncVSP": "Sync Failed VSP Tickets", "myTickets.loadingMoreTickets": "Loading more tickets...", "myTickets.loadingMoreTicketsProgressAsc": "Up to block {block} ({blockPerc, number, percent})", @@ -650,6 +911,8 @@ "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", @@ -662,15 +925,21 @@ "notifications.type.revocation": "Revoked", "notifications.type.send": "Sent", "notifications.type.ticket": "Ticket", - "notifications.type.transfer": "Transferred", + "notifications.type.ticketfee": "Transferred", "notifications.type.vote": "Voted", - "numTicketInput.unit": "Ticket", - "numTicketsInput.unit": "Tickets", + "numTicketsInput.ticket": "ticket", + "numTicketsInput.tickets": "tickets", "passphraseForm.continueBtn": "Continue", "passphraseModal.btnCancel": "Cancel", "passphraseModal.confirmationRequired": "Confirmation Required", "passphraseModal.continue": "Continue", + "passphraseModal.ifRequired": " (if required)", + "passphraseModal.placeholder": "Write your Private Passphrase {ifRequired}", "passphraseModal.privatePassphrase": "Private Passphrase", + "paymentFilter.type.all": "All", + "paymentFilter.type.confirmed": "Confirmed", + "paymentFilter.type.failed": "Failed", + "paymentFilter.type.pending": "Pending", "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", @@ -687,7 +956,6 @@ "privacy.custom.titleSub": "Select which external requests Decrediton is allowed to make. You can change this later on the app settings page.", "privacy.description": "Improve the anonymity of your Decred.\nFunds in {unmixedAccount} are sent to {mixedAccount} once mixed.", "privacy.description.brandnew.wallet": "Improve the anonymity of your Decred.\nFunds in the unmixed account are sent to the mixed account once mixed.", - "privacy.label": "Privacy", "privacy.label.mixed.balance": "Mixed Balance", "privacy.label.unmixed.balance": "Unmixed Balance", "privacy.logs": "Logs", @@ -715,13 +983,25 @@ "privacy.title": "Privacy Options", "privacy.titleSub": "Select how Decrediton should connect to external services. You can change this in the application settings later.", "privacypage.title": "Privacy and Security", - "proposal.details.description": "Your voting power: {votingPower}", + "process.mangedTickets.button": "Continue", + "process.mangedTickets.button.skip": "Skip", + "process.mangedTickets.title": "Passphrase", + "process.settingPassAccts.button": "Continue", + "process.settingPassAccts.title": "Passphrase", + "process.unmanagedTickets.button.skip": "Skip", + "process.unmangedTickets.button": "Continue", + "process.unmangedTickets.title": "Passphrase", + "processmanaged.failed": "{originalError}", + "proposal.details.description": "Your voting power: ", "proposal.details.title": "Governance", - "proposal.overview.created.label": "Created by", - "proposal.overview.deadline.label": "Voting Deadline", - "proposal.overview.fullTime": "{timestamp, date, medium} {timestamp, time, short}", - "proposal.overview.lastUpdated.label": "Last Updated", - "proposal.overview.version.label": "Version", + "proposal.event.fullTime": "{timestamp, date, medium} {timestamp, time, short}", + "proposal.event.updated": "updated", + "proposal.event.voteended": "vote ended", + "proposal.event.voteends": "vote ends", + "proposal.overview.blocksLeft": "blocks left", + "proposal.overview.proposedToRfp.label": "Proposed for {linkedProposal}", + "proposal.overview.title": "See on Politeia", + "proposal.overview.version.label": "version", "proposalDetails.loadingError": "Error loading Proposal: {error}", "proposalDetails.votingInfo.abandoned": "Proposal has been abandoned", "proposalDetails.votingInfo.eligibleCount": "You have {count, plural, one {one ticket} other {# tickets}} eligible for voting", @@ -732,22 +1012,15 @@ "proposalDetails.votingInfo.startStakingBtn": "Start Staking", "proposalDetails.votingInfo.updatingVoteChoice": "Updating vote choice", "proposalDetails.votingInfo.voted": "Voting has ended for this proposal", - "proposalDetails.votingInfo.votingPreferenceTitle": "My Voting Preference", - "proposalItem.lastUpdatedAt": "Last updated {reldate}", + "proposalDetails.votingInfo.votingPreferenceTitle": "My voting preference:", "proposals.community.createLink": "Create a Proposal", - "proposals.community.descr": "Voting on community proposals allows you to have a say on how the project treasury is spent.\n Participation in voting requires (PoS) tickets. Proposal creation, discussions and other features are available at {link}", + "proposals.community.descr": "Voting on community proposals allows you to have a say on how the project treasury is spent.\n Participation in voting requires (PoS) tickets. Proposal creation, discussions and other features are available at {label}", "proposals.community.goToProposal": "See proposal comments on Politeia", + "proposals.community.refreshProposals": "Refresh Proposals", "proposals.community.title": "Proposals", "proposals.detail.wallet.eligible.header": "Tickets eligible for voting: ", - "proposals.detail.wallet.eligible.header.preference": "Vote Preference", - "proposals.detail.wallet.eligible.headers.account": "Account", - "proposals.detail.wallet.eligible.headers.price": "Price", - "proposals.detail.wallet.eligible.headers.purchased": "Purchased", - "proposals.detail.wallet.eligible.headers.status": "Ticket Status", - "proposals.detail.wallet.eligible.headers.transaction": "Transaction", "proposals.enablePoliteia.button": "Enable Politeia Integration", "proposals.enablePoliteia.description": "Politeia integration is disabled by privacy settings. It must be enabled to access the proposal system.", - "proposals.quorumNotMet": "Quorum not met", "proposals.statusLinks.abandoned": "Abandoned", "proposals.statusLinks.allFinishedVote": "All", "proposals.statusLinks.approvedVote": "Approved", @@ -757,11 +1030,8 @@ "proposals.statusLinks.voted": "Finished Voting", "proposals.updateVoteChoiceModal.btnLabel": "Cast Vote", "proposals.updateVoteChoiceModal.title": "Confirm Your Vote", - "purchas.legacypurchaseTickets.purchaseBtn": "Purchase", - "purchase.isLegacy": "Use Legacy VSP", - "purchase.isLegacy.legacy": "Use Legacy VSP", + "proposals.votedCheckmark.label": "Voted", "purchase.isLegacy.legacy.add": "Use Legacy VSP", - "purchase.isLegacyDescription": "Use a VSP which has not updated to vspd. Not recommended, legacy VSP support will soon be removed.", "purchase.splitTx": "Split Tx:", "purchase.subtitle": "Purchase Tickets", "purchase.subtitle.legacy": "Purchase Tickets", @@ -777,7 +1047,6 @@ "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.", "purchaseTickets.accountFrom": "Account", - "purchaseTickets.accountFrom.legacy": "From", "purchaseTickets.advanced.expiry": "Expiry", "purchaseTickets.advanced.poolAddress": "VSP Address", "purchaseTickets.advanced.poolFees": "VSP Fees", @@ -786,7 +1055,6 @@ "purchaseTickets.currentStakepool": "Current VSP", "purchaseTickets.errors.expiryRequred": "Invalid expiry", "purchaseTickets.errors.insufficientBalance": "Not enough funds", - "purchaseTickets.errors.insufficientBalance.legacy": "Not enough funds", "purchaseTickets.errors.invalidTicketFee": "Invalid ticket fee", "purchaseTickets.errors.invalidTxFee": "Invalid tx fee", "purchaseTickets.expiry": "Expiry", @@ -797,11 +1065,9 @@ "purchaseTickets.poolFee": "VSP Fee", "purchaseTickets.purchaseBtn": "Purchase", "purchaseTickets.revokeBtn": "Revoke", - "purchaseTickets.revokeBtn.legacy": "Revoke", "purchaseTickets.stakePoolLabel": "VSP", "purchaseTickets.ticketAddress": "Ticket Address", "purchaseTickets.ticketAmount": "Amount", - "purchaseTickets.ticketAmount.legacy": "Amount", "purchaseTickets.ticketFee": "Ticket Fee", "purchaseTickets.ticketFeePlaceholder": "Ticket Fee", "purchaseTickets.ticketFeeTip": "Ticket Fee", @@ -809,27 +1075,27 @@ "purchaseTickets.txFeePlaceholder": "Tx Fee", "purchaseTickets.txFeeTip": "Tx Fee", "purchaseTickets.validMsg": "Total: {amount} Remaining: {remaining}", - "purchaseTickets.validMsg.legacy": "Total: {amount} Remaining: {remaining}", "purchaseTickets.vspFee": "VSP Fee", "purchaseTickets.vspFrom": "VSP", "receive.accountLabel": "This address is for", "receive.amountPlaceholder": "Amount", - "receive.copyHash": "Copy", "receive.errors.invalidAmount": "Please enter a valid amount", "receive.errors.negativeAmount": "Please enter a valid amount (> 0)", "receive.modalClose": "Close", "receive.modalLabel": "This is My Decred (DCR) Address", "receive.newAddressBtn": "Generate new address", - "receive.requestedAmountLabel": "Requested amount", + "receive.requestedAmountLabel": "Requested Amount", "receive.subtitle": "Receive DCR", "receive.tooltipCopied": "✓ Copied to Clipboard", "receive.tooltipGenerated": "+ New Address Generated", - "receive.viewQR": "View QR", + "receiveTab.QRCode": "QR code", + "receiveTab.copy": "Copy", "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", "security.signature": "Signature", @@ -874,6 +1140,15 @@ "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}", @@ -885,14 +1160,13 @@ "send.errors.validateAddressFailed": "{originalError}", "send.feeEstimation": "Estimated Fee", "send.from": "From", + "send.indicator.running": "Privacy Mixer, Autobuyer or Purchase Ticket Attempt running, please shut them off before sending a transaction.", "send.insuficient.funds": "Insufficient funds", "send.publishUnminedTransactions.success": "Republished unmined transactions to the decred network.", "send.sendAllTitle": "Send all funds from selected account", "send.sendAllTitle.disabled": "Send all funds from selected account - Disabled", "send.sendBtn": "Send", "send.sendConfirmations": "Transaction Confirmation", - "send.sendOthersTitle": "Send funds to another wallet", - "send.sendSelfTitle": "Send funds to another account", "send.sendToSelfBtn": "Send to Self", "send.sizeEstimation": "Estimated Size", "send.subtitle": "Send DCR", @@ -900,6 +1174,30 @@ "send.totalAmountEstimation": "Total amount sending", "send.unsignedRawTxTite": "Unsigned Raw Transaction:", "sendFromUnmixedModal.copyConfirmationPhrase": "I understand the risks", + "sendtab.addOutput": "Add output", + "sendtab.addressLabel": "Send to", + "sendtab.amountLabel": "Amount", + "sendtab.amountPlaceholder": "Amount", + "sendtab.cancelSendAllTitle": "Cancel sending all funds", + "sendtab.deleteOutput": "Delete output", + "sendtab.percentOfBalance": "{percent}% of Account Balance", + "sendtab.recipientsAddrPlaceholder": "Recipient’s DCR Address", + "sendtab.sendAllAmountLabel": "Amount", + "sendtab.sendAllTitle": "Send all funds from selected account", + "sendtab.sendAllTitle.disabled": "Send all funds from selected account - Disabled", + "sendtab.sendOthersTitle": "Send funds to another wallet", + "sendtab.sendSelfTitle": "Send funds to another account", + "sendtab.sendTo": "Send to", + "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}", + "setNewPassphraseModal.confirm": "Confirm", + "setNewPassphraseModal.confirmPassphrasePlaceholder": "Confirm your Passphrase", + "setNewPassphraseModal.confirmationRequired": "Confirmation Required", + "setNewPassphraseModal.newPassphrase": "New Passphrase", + "setNewPassphraseModal.newPassphrasePlaceholder": "Write your New Passphrase", + "settings.DiscoverAddressBtn": "Discover Address Usage", + "settings.GapLimit.placeholder": "Gap Limit", "settings.SPV": "SPV", "settings.SPVConnect": "SPV Connect", "settings.advancedDaemon.false": "Disabled", @@ -911,11 +1209,12 @@ "settings.closeWalletModalContent": "Are you sure you want to close {walletName} and return to the launcher?", "settings.closeWalletModalOk": "Close Wallet", "settings.closeWalletModalTitle": "Confirmation Required", - "settings.closeWalletModalWithAutobuyerModal": "Are you sure you want to close {walletName} and return to the launcher? The auto ticket buyer is still running. If you proceed, it will be closed and no more tickets will be purchased.", "settings.description": "Changing network settings requires a restart", + "settings.discoverUsage": "Discover Address Usage", + "settings.discoverUsageContent": "In some rare circumstances, addresses may not be discovered with the default gap limit of 20. It's recommended to only use this functionality after trying other options and discussing with Support staff. And be aware that raising the gap limit above 100 will lead to excessive loading times to complete this request.", "settings.displayedUnits": "Displayed Units", "settings.errors.changePassphraseFailed": "Update passphrase failed. Incorrect private passphrase, please try again.", - "settings.gapLimit.label": "Gap Limit", + "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.privacy-and-security": "Privacy and Security", @@ -958,10 +1257,15 @@ "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.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", "sidebar.accounts.name.default": "Primary Account", "sidebar.connectedTo": "Connected to", @@ -969,6 +1273,8 @@ "sidebar.lastBlockIsRecent": "seconds ago", "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", @@ -976,8 +1282,8 @@ "sidebar.link.staking": "Staking", "sidebar.link.transactions": "On-chain Transactions", "sidebar.link.trezor": "Trezor", - "sidebar.menuLinkTooltip": "{value}", - "sidebar.mixer.running": "One or more of the following decrediton's features running in the background: Privacy Mixer, Ticket Auto Buyer, Purchase Ticket Attempt", + "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", "sidebar.rescanBtn.tip": "Initiate a transaction rescan.\n\nRescanning may help resolve some balance errors.\n\nNote: This scans the entire blockchain for transactions,\nbut does not re-download it.", "sidebar.rescanCancelBtn.tip": "Cancel rescan", @@ -1008,8 +1314,9 @@ "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 Ticked Voted", + "stake.lastVotedTicket": "Last Ticket Voted", "stake.lastVotedTicket.none": "None", "stake.liveTickets": "Live", "stake.liveTicketsFoot": "Own Mempool: {ownMempoolTickets} Immature: {immatureTickets }", @@ -1019,7 +1326,6 @@ "stake.notRedeemed": "Script not redeemable?", "stake.poolSize": "Expired Tickets:", "stake.stackingOverview": "Staking Overview", - "stake.ticketCount": "{ticketsFmt} {tickets, plural, one {ticket} other {tickets}}", "stake.totalRewards": "Total Rewards Earned", "stake.totalRewardsValue": "{value} {currency}", "stake.unspentTickets": "Unspent Tickets", @@ -1046,6 +1352,9 @@ "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.", "syncVsp.account": "Account", "syncVsp.vsp": "VSP Select", "ticket.daysToVoteLabel": "Ticket Days To Vote", @@ -1060,41 +1369,48 @@ "ticket.status.multiple.unknown": "unknown", "ticket.status.multiple.unmined": "unmined", "ticket.status.multiple.voted": "voted", + "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.btnConfirm": "Confirm", + "tickets.autobuyerRunning.confirmModal.closeAnyway": "Close Anyway", "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.revokeTicketFailed": "{originalError}", "tickets.errors.revokeTicketsFailed": "{originalError}", "tickets.errors.setStakePoolVoteChoicesFailed": "{originalError}", "tickets.errors.startAutoBuyerFailed": "{originalError}", "tickets.errors.updateStakePoolConfigFailed": "{originalError}", "tickets.fee.error.confirmModal.btnCancel": "Cancel", - "tickets.fee.error.confirmModal.btnConfirm": "Confirm", - "tickets.fee.error.message": "You still have unpaid tickets fee. If you proceed and they are chosen to vote, they will\n be missed. Click on this button for re-sync fees", + "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.purchase.loading": "Loading", + "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", - "tickets.purchaseConfirmation.legacy": "Ticket Purchase Confirmation", "tickets.purchaseTicketsHeader": "You bought {numTickets, plural, one { # ticket } other { # tickets }}", + "tickets.purchaseTicketsHeaderLess": "You bought {numTickets, plural, one { # ticket } other { # tickets }}. This was less than your requested amount of {numAttempted}. While your balance was sufficient, you lacked enough spendable outputs. You may try and purchase more now.", "tickets.purchasing.confirmModal.btnCancel": "Cancel", - "tickets.purchasing.confirmModal.btnConfirm": "Close Decrediton", - "tickets.purchasing.message": "Decrediton is still finalizing ticket purchases. Tickets may not\n be registered with the VSP if Decrediton is closed now, which can\n result in missed votes.", + "tickets.purchasing.confirmModal.closeAnyway": "Close Anyway", + "tickets.purchasing.message": "Decrediton is still finalizing ticket purchases. Tickets may not\n be registered with the VSP if you proceed now, which can\n result in missed votes.", "tickets.purchasing.title": "Purchasing Tickets", + "tickets.qr.button": "Active Tickets QR Code", + "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.revokeConfirmations.legacy": "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", - "tickets.startAutoBuyerConfirmation": "Start Ticket Buyer Confirmation", - "tickets.startAutoBuyerConfirmation.attention": "Attention!", - "tickets.startAutoBuyerConfirmation.description": "Decrediton must remain running for tickets to be automatically purchased.", "tickets.startAutoBuyerHeader": "Ticket buyer is now running.", "tickets.stopAutoBuyerHeader": "Ticket buyer is now stopped.", "tickets.tab.mytickets": "Ticket History", @@ -1108,9 +1424,9 @@ "tickets.table.header.status": "Ticket Status", "tickets.table.header.votetime": "Vote Time", "tickets.tickettypes.tooltip": "Ticket Status", - "tickets.title": "Tickets", + "tickets.title": "Staking", "tickets.type.all": "All", - "tickets.updateStakePoolConfigHeader": "You have successfully updated your stakepool settings.", + "tickets.updateStakePoolConfigHeader": "You have successfully updated your legacy stakepool settings.", "transaction.confirmationHeight": "{confirmations, plural, =0 {Mined, block awaiting approval} one {# confirmation} other {# confirmations}}", "transaction.sortby.newest": "Newest", "transaction.sortby.oldest": "Oldest", @@ -1118,11 +1434,11 @@ "transaction.type.immature": "Immature", "transaction.type.live": "Live", "transaction.type.missed": "Missed", - "transaction.type.revocation": "Revoked", + "transaction.type.revocation": "Revocation", "transaction.type.revoked": "Revoked", "transaction.type.ticket": "Purchased", "transaction.type.unmined": "Unmined", - "transaction.type.vote": "Voted", + "transaction.type.vote": "Vote", "transaction.type.voted": "Voted", "transactions.description.export": "Export different types of statistics from your wallet.", "transactions.description.history": "Total Balance: {totalBalance}", @@ -1144,45 +1460,42 @@ "trezor.changeLabel.success": "Changed label on selected Trezor to {label}", "trezor.configButtons.header": "Config Trezor", "trezor.firmwareUpdate.header": "Firmware Update", - "trezor.getStartedConfig.btnConnect": "Connect to Trezor", - "trezor.getStartedConfig.noDeviceFound": "No Trezor device found. Check the connection and the Trezor bridge software.", "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.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.description": "Type the secret passphrase for the wallet stored in trezor {label}", "trezor.passphraseModal.title": "Enter Trezor Passphrase", + "trezor.passphraseOnDevice.disabled": "Passphrase on device has been disabled in Trezor {label}", + "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.passphraseOnDeviceSuccess.disabled": "Passphrase on device has been disabled in Trezor {label}", - "trezor.passphraseOnDeviceSuccess.enabled": "Passphrase on device 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.description": "Click button sequence that corresponds to your pin on trezor {label}", "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.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.title": "{enable} Trezor Passphrase", "trezor.updateFirmware.success": "Firmware updated on Trezor device", "trezor.walletCreationPassPhraseModal.title": "Type Wallet Creation PassPhrase", "trezor.walletCreationPassphrasesMismatched": "Passphrases are different", - "trezor.walletCreationpassphraseModal.description": "Type the secret passphrase of the wallet to restore from the Trezor device {label}", + "trezor.walletCreationpassphraseModal.description": "Type the secret passphrase of the wallet to restore from the trezor device {label}", "trezor.walltCreationPrivatePassphrase": "Wallet PassPhrase", "trezor.walltCreationPrivatePassphraseConfirm": "Confirm Wallet PassPhrase", "trezor.wipeDevice.success": "Trezor device wiped", - "trezor.wordModal.description": "Type the word requested in the Trezor device.", + "trezor.wordModal.description": "Type the word requested in the trezor device.", "trezor.wordModal.selectPlaceholder": "Start typing word...", "trezor.wordModal.title": "Type the requested word", - "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.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.title": "{enable} Trezor Passphrase", - "trezor.togglePassphraseConfirmModal.enable": "Enable", - "trezor.togglePassphraseConfirmModal.disable": "Disable", - "trezor.togglePassphraseConfirmModal.enabled": "enabled", - "trezor.togglePassphraseConfirmModal.disabled": "disabled", - "trezor.togglePassphraseConfirmModal.description": "Type in the Trezor password.", "trezorPage.backupDeviceBtn": "Backup Device", "trezorPage.changeHomeScreen": "Change Home Screen", "trezorPage.description": "Manage your Trezor device.", @@ -1220,16 +1533,23 @@ "txDetails.purchasedOn": "Purchased On", "txDetails.rawTransactionLabel": "Raw Transaction", "txDetails.rebroadcastTransactions": "Rebroadcast Transaction", + "txDetails.revokeTicket": "Revoke Ticket", "txDetails.reward": "Reward", "txDetails.sentFrom": "Sent From", "txDetails.ticketCost": "Ticket Cost", "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.type.coinbase": "Coinbase", + "txDetails.type.immature": "Immature", + "txDetails.type.live": "Live", + "txDetails.type.missed": "Missed", "txDetails.type.revoke": "Revoke", "txDetails.type.ticket": "Ticket", + "txDetails.type.unmined": "Unmined", "txDetails.type.vote": "Vote", "txDetails.unConfirmed": "Unconfirmed", "txDetails.votedOn": "Voted On", @@ -1239,35 +1559,43 @@ "txFilter.type.mixed": "Mixed", "txFilter.type.received": "Received", "txFilter.type.sent": "Sent", - "txFilter.type.transfered": "Transfered", + "txFilter.type.ticketfee": "Ticket fee", "txHistory.Pending": "Pending", "txHistory.in.tx": "From {acc}", "txHistory.out.tx": "To {acc}", "txRow.live.feeStatus.tooltip": "Fee Status", - "txhistory.filterByAddrPlaceholder": "Filter by Address", + "txhistory.filterByAddrOrHashPlaceholder": "Filter by Address or Hash", + "txhistory.filterByHashPlaceholder": "Filter by Hash", "txhistory.icon.mixed": "Mix", "txhistory.icon.received": "Received", "txhistory.icon.self": "Self transfer", "txhistory.icon.sent": "Sent", + "txhistory.icon.ticketfee": "Ticket fee", "txhistory.icon.transaction": "Transaction", - "votingPreferences.dashboard": "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.", + "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.title": "Consensus Changes", "vsp.addNewPromptEmpty": "Type to add new VSP", "vsp.autobuyer.accountFrom": "From", "vsp.autobuyer.balanceToMaintain": "Balance to Maintain", - "vsp.autobuyer.balanceToMaintainError": "Your balance to mantain is invalid", + "vsp.autobuyer.balanceToMaintain.placeholder": "Amount", + "vsp.autobuyer.maxFeePercentage.label": "Maximum Fee", + "vsp.autobuyer.maxFeePercentage.placeholder": "Percent", "vsp.autobuyer.modal.balanceToMaintain": "Balance To Maintain", "vsp.autobuyer.modal.stakepool": "VSP", "vsp.autobuyer.stakePoolLabel": "VSP", - "vsp.autobuyer.startErr": "Fill all fields.", "vsp.autobuyer.subtitle": "Automatic Ticket Purchases", "vsp.feeTooltip": "Fee: {feePercentage} %", "vsp.mytickets.subtitle": "Live Tickets", + "vsp.runautobuyer.failed": "{originalError}", + "vsp.select.error": "Timeout with vsp: {vsp}", + "vsp.ticket.confirmed": "Confirmed", "vsp.ticket.error": "Error", "vsp.ticket.paid": "Paid", "vsp.ticket.started": "Processing", + "vsp.ticket.vsp.fee.confirmed": "Confirmed Fee", "vsp.ticket.vsp.fee.errored": "Fee Error", "vsp.ticket.vsp.fee.paid": "Paid Fee", "vsp.ticket.vsp.fee.started": "Unpaid Fee", @@ -1294,7 +1622,5 @@ "walletselection.setupIncomplete": "Setup incomplete", "walletselection.trezor": "Trezor", "walletselection.watchOnly": "Watch Only", - "watchOnly.disabled": "Normal", - "watchOnly.enabled": "Watch Only", "watchOnly.warn": "This functionality is disabled for watch-only Wallets" }