diff --git a/res/zec_qt_wallet_de.ts b/res/zec_qt_wallet_de.ts index 6aeed06..6e2f0df 100644 --- a/res/zec_qt_wallet_de.ts +++ b/res/zec_qt_wallet_de.ts @@ -147,8 +147,8 @@ - - + + Memo Nachricht hinzufügen @@ -288,7 +288,7 @@ - + Export Private Key Privaten Key exportieren @@ -327,7 +327,7 @@ - + Loading... Lade... @@ -520,7 +520,7 @@ - + Export transactions Exportiere Transaktionen @@ -535,22 +535,22 @@ Ctrl+M - + Tor configuration is available only when running an embedded hushd. Die Tor konfiguration ist nur möglich, wenn der integrierte hushd client läuft. - + You're using an external hushd. Please restart hushd with -rescan Sie benutzen einen externen hushd clienten. Bitte starten Sie hushd mit folgendem Parameter neu: -rescan - + You're using an external hushd. Please restart hushd with -reindex Sie benutzen einen externen hushd clienten. Bitte starten Sie hushd mit folgendem Parameter neu: -reindex - + Enable Tor Tor aktivieren @@ -559,7 +559,7 @@ Die Verbindung über Tor wurde aktiviert. Um Tor zu benutzen starten Sie bitte Silentdragon neu. - + Disable Tor Tor deaktivieren @@ -580,17 +580,17 @@ um Silentdragon zu unterstützen - + You are on testnet, your post won't actually appear on z-board.net Sie befinden sich im Testnetz - + You need a sapling address with available balance to post Sie benötigen eine sichere Adresse, mit verfügbarem Guthaben - + Computing Tx: Erstelle Transaktion: @@ -600,7 +600,7 @@ Die Keys wurden erfolgreich importiert. Es dauert einige Minuten um die Blockchain zu scannen. Bis dahin ist die Funktion von Silentdragon eingeschränkt - + Private key import rescan finished Scan beendet @@ -633,226 +633,226 @@ Die Keys werden in das verbundene hushd Node importiert - + Connection over Tor has been enabled. To use this feature, you need to restart SilentDragon. Die Verbindung über Tor wurde aktiviert. Um Tor zu benutzen starten Sie bitte Silentdragon neu. - + Connection over Tor has been disabled. To fully disconnect from Tor, you need to restart SilentDragon. Die Verbindung über Tor wurde deaktiviert. Um die Verbingung zu Tor endgültig zu beenden, starten Sie bitte Silentdragon neu. - + SilentDragon needs to restart to rescan/reindex. SilentDragon will now close, please restart SilentDragon to continue Silentdragon muss für den Rescan/Reindex neu gestartet werden. Silentdragon wird nun schließen, bitte starten Sie Silentdragon neu um fortzufahren - + Restart SilentDragon SilentDragon Neustart - + Some feedback about SilentDragon or Hush... Rückmeldung zu Silentdragon oder Hush - + Send Duke some private and shielded feedback about Sende Duke ein anonymes Feedback über - + or SilentDragon oder Silentdragon - + Enter Address to validate Geben Sie die Adresse ein, die überprüft werden soll - + Transparent or Shielded Address: Sichtbare oder verborgene Adresse: - + Paste HUSH URI Füge HUSH URI ein - + Error paying Hush URI Fehler bei der Bezahl HUSH URI - + URI should be of the form 'hush:<addr>?amt=x&memo=y Die URI sollte im folgendem Format sein: 'hush:<Adresse>?Betrag=x&Nachricht=y - + Please paste your private keys here, one per line Bitte füge deinen Privat key, für eine sichere oder transparente Adresse ein. Ein Key pro Zeile - + The keys will be imported into your connected Hush node Die Keys werden in das verbundene hushd Node importiert - + The keys were imported! It may take several minutes to rescan the blockchain. Until then, functionality may be limited Die Keys wurden erfolgreich importiert. Es dauert einige Minuten um die Blockchain zu scannen. Bis dahin ist die Funktion von Silentdragon eingeschränkt - + Error Fehler - + Error exporting transactions, file was not saved Fehler beim exportieren der Transaktion. Die Datei wurde nicht gespeichert. - + No wallet.dat Fehlende Wallet.dat - + Couldn't find the wallet.dat on this computer Ich kann die wallet.dat auf Ihrem Computer nicht finden - + You need to back it up from the machine hushd is running on Die Sicherung geht nur auf dem System, wo hushd aktiv läuft - + Backup wallet.dat Sicherung der wallet.dat - + Couldn't backup Konnte keine Sicherung erstellen - + Couldn't backup the wallet.dat file. Ich konnte die wallet.dat nicht sichern - + You need to back it up manually. Sie müssen die Sicherung manuell durchführen - + These are all the private keys for all the addresses in your wallet Dies sind alle private Keys, für jede Adresse ihres Wallets - + Private key for Private Key für - + Save File Datei speichern - + Unable to open file Kann Datei nicht öffnen - - + + Copy address Adresse kopieren - - - + + + Copied to clipboard In die Zwischenablage kopiert - + Get private key Private Key anzeigen - + Shield balance to Sapling Guthaben auf sichere Adresse (Sapling) verschieben - - + + View on block explorer Im Block explorer anzeigen - + Address Asset Viewer Alle Adressen anschauen - + Convert Address Adresse konvertieren - + Migrate to Sapling Zu Sapling übertragen - + Copy txid Kopiere Transaktions ID - + View Payment Request Zahlungsaufforderung ansehen - + View Memo Nachricht ansehen - + Reply to Antworten an - + Created new t-Addr Neue transparente Adresse erstellen - + Copy Address Adresse kopieren - + Address has been previously used Diese Adresse wurde schon einmal benutzt - + Address is unused Adresse wird nicht genutzt @@ -1239,28 +1239,28 @@ If all else fails, please run hushd manually. Es gab einen Fehler bei dem versuch Hushd zu verbinden. Der Fehler war - + The transaction with id Transaktion mit der ID - + failed. The error was gescheitert. Der Fehler war - + failed gescheitert - + Tx @@ -1354,7 +1354,7 @@ Please set the host/port and user/password in the Edit->Settings menu. - + Transaction Error @@ -1445,7 +1445,7 @@ Please set the host/port and user/password in the Edit->Settings menu.Lösche Beschriftung - + Tx submitted (right click to copy) txid: Transaktion übermittelt (Rechtsklick zum kopieren der ID) Transaktions ID: @@ -1701,26 +1701,51 @@ You either have unconfirmed funds or the balance is too low for an automatic mig + Explorer + + + + + Tx Explorer URL + + + + + Address Explorer URL + + + + + Testnet Tx Explorer URL + + + + + Testnet Address Explorer URL + + + + Troubleshooting Problemlösung - + Reindex Reindex - + Rescan the blockchain for any missing wallet transactions and to correct your wallet balance. This may take several hours. You need to restart SilentDragon for this to take effect Ich überprüfe nun die Blockchain auf fehlende Transaktionen, und werde Änderungen zu Ihrem Wallet hinzufügen. Dies kann einige Stunden dauern. Sie müssen Silentdragon neu starten bevor dies ausgeführt werden kann. - + Rescan Rescan - + Rebuild the entire blockchain from the genesis block, by rescanning all the block files. This may take several hours to days, depending on your hardware. You need to restart SilentDragon for this to take effect Stelle die Blockchain vom Genesis Block wieder her. Dies kann je nach verwendeter Hardware, mehrere Stunden bis Tage dauern. Sie müssen Silentdragon neustarten um fortzuführen. diff --git a/res/zec_qt_wallet_es.ts b/res/zec_qt_wallet_es.ts index a3d5236..926edca 100644 --- a/res/zec_qt_wallet_es.ts +++ b/res/zec_qt_wallet_es.ts @@ -147,8 +147,8 @@ - - + + Memo Memo @@ -278,7 +278,7 @@ - + Export Private Key Exportar Clave Privada @@ -313,7 +313,7 @@ - + Loading... Cargando... @@ -512,7 +512,7 @@ - + Export transactions exportación de transacciones @@ -527,37 +527,37 @@ Ctrl+M - + Tor configuration is available only when running an embedded hushd. La configuración de Tor solo está disponible cuando se ejecuta un silencio integrado. - + You're using an external hushd. Please restart hushd with -rescan Estás utilizando hushd externo. Reinicie hushd con -rescan - + You're using an external hushd. Please restart hushd with -reindex Estás utilizando hushd externo. Reinicie hushd con -rescan - + Enable Tor Habilitar Tor - + Connection over Tor has been enabled. To use this feature, you need to restart SilentDragon. Se ha habilitado la conexión a través de Tor. Para usar esta función, debe reiniciar SilentDragon. - + Disable Tor Inhabilitar Tor - + Connection over Tor has been disabled. To fully disconnect from Tor, you need to restart SilentDragon. Se ha deshabilitado la conexión a través de Tor. Para desconectarse por completo de Tor, debe reiniciar SilentDragon. @@ -574,17 +574,17 @@ para apoyar SilentDragon - + You are on testnet, your post won't actually appear on z-board.net Estas en testnet, tu publicación no aparecerá en z-board.net - + You need a sapling address with available balance to post Necesitas una dirección Sapling con saldo disponible para publicar - + Computing Tx: Calculando Tx: @@ -594,17 +594,17 @@ Las claves fueron importadas. Puede que se demore varios minutos en volver a escanear el blockchain. Hasta entonces, la funcionalidad puede ser limitada. - + Private key import rescan finished Importación de clave privada re-escaneada finalizada - + SilentDragon needs to restart to rescan/reindex. SilentDragon will now close, please restart SilentDragon to continue SilentDragon necesita reiniciarse para volver a escanear / reindexar. SilentDragon ahora se cerrará, reinicie SilentDragon para continuar - + Restart SilentDragon reanudar SilentDragon @@ -617,206 +617,206 @@ Las claves serán importadas en su nodo hushd conectado - + Some feedback about SilentDragon or Hush... Algunos comentarios sobre SilentDragon o Hush ... - + Send Duke some private and shielded feedback about Envíe a Duke comentarios privados y protegidos sobre - + or SilentDragon o SilentDragon - + Enter Address to validate Ingrese la dirección para validar - + Transparent or Shielded Address: Dirección transparente o blindada: - + Paste HUSH URI Pegar HUSH URI - + Error paying Hush URI Error al pagar HUSH URI - + URI should be of the form 'hush:<addr>?amt=x&memo=y URI debe tener la forma 'hush:<addr>?amt=x&memo=y - + Please paste your private keys here, one per line Pegue sus claves privadas aquí, una por línea - + The keys will be imported into your connected Hush node Las claves se importarán a su nodo Hush conectado - + The keys were imported! It may take several minutes to rescan the blockchain. Until then, functionality may be limited Las claves se importarán a su nodo Hush conectado - + Error Error - + Error exporting transactions, file was not saved Error al exportar transacciones, el archivo no se guardó - + No wallet.dat Sin wallet.dat - + Couldn't find the wallet.dat on this computer No se pudo encontrar wallet.dat en esta computadora - + You need to back it up from the machine hushd is running on Necesitas hacer una copia de seguridad de la computadora en la que se está ejecutando hushd - + Backup wallet.dat Respaldar wallet.dat - + Couldn't backup No se pudo hacer una copia de seguridad - + Couldn't backup the wallet.dat file. No se pudo hacer copia de seguridad de wallet.dat - + You need to back it up manually. Necesitas hacer una copia de seguridad manualmente. - + These are all the private keys for all the addresses in your wallet Estas son todas las claves privadas para todas las direcciones en tu billetera - + Private key for Clave privada para - + Save File Guardar Archivo - + Unable to open file No es posible abrir el archivo - - + + Copy address Copiar dirección - - - + + + Copied to clipboard Copiado al portapapeles - + Get private key Obtener clave privada - + Shield balance to Sapling Proteger saldo a Sapling - - + + View on block explorer Ver en el explorador de bloques - + Address Asset Viewer Dirección Asset Espectador - + Convert Address Convertir dirección - + Migrate to Sapling Migrar a Sapling - + Copy txid Copiar txid - + View Payment Request Ver solicitud de pago - + View Memo Ver Memo - + Reply to Responder a - + Created new t-Addr Nuevo dirección t-Addr creada - + Copy Address Dirección de copia - + Address has been previously used La dirección ha sido utilizada previamente - + Address is unused Dirección no utilizada @@ -1059,28 +1059,28 @@ doesn't look like a z-address Hubo un error al conectar con hushd. El error fue - + The transaction with id La transacción con id - + failed. The error was falló. El error fue - + Tx Tx - + failed @@ -1259,7 +1259,7 @@ Por favor, especificar el host/puerta y usario/contraseña en el menú Editar-&g - + Transaction Error @@ -1321,7 +1321,7 @@ Si todo falla, por favor ejecutar hushd manualmente. Hubo un error al enviar la transacción. El error fue: - + Tx submitted (right click to copy) txid: Tx presentado (clic derecho para copiar) txid: @@ -1652,26 +1652,51 @@ El saldo es insuficiente para una migración automática. + Explorer + + + + + Tx Explorer URL + + + + + Address Explorer URL + + + + + Testnet Tx Explorer URL + + + + + Testnet Address Explorer URL + + + + Troubleshooting Solución de problemas - + Reindex Reindex - + Rescan the blockchain for any missing wallet transactions and to correct your wallet balance. This may take several hours. You need to restart SilentDragon for this to take effect Vuelva a escanear la cadena de bloques para detectar transacciones de billetera faltantes y para corregir el saldo de su billetera. Esto puede llevar varias horas. Debe reiniciar SilentDragon para que esto surta efecto - + Rescan Reescanear - + Rebuild the entire blockchain from the genesis block, by rescanning all the block files. This may take several hours to days, depending on your hardware. You need to restart SilentDragon for this to take effect Reconstruya toda la cadena de bloques a partir del bloque de génesis, volviendo a escanear todos los archivos de bloque. Esto puede llevar varias horas o días, dependiendo de su hardware. Debe reiniciar SilentDragon para que esto surta efecto diff --git a/res/zec_qt_wallet_fr.ts b/res/zec_qt_wallet_fr.ts index 9d8e005..6d1ba04 100644 --- a/res/zec_qt_wallet_fr.ts +++ b/res/zec_qt_wallet_fr.ts @@ -147,8 +147,8 @@ - - + + Memo Mémo @@ -274,7 +274,7 @@ - + Export Private Key Exporter la clef privée @@ -317,7 +317,7 @@ - + Loading... Chargement... @@ -516,7 +516,7 @@ - + Export transactions Exporter les transactions @@ -540,37 +540,37 @@ Demander un paiement en HUSH - + Tor configuration is available only when running an embedded hushd. La configuration de Tor est disponible uniquement lors de l'exécution du processus hushd intégré. - + You're using an external hushd. Please restart hushd with -rescan Vous utilisez un hushd externe. Veuillez redémarrer hushd avec -rescan - + You're using an external hushd. Please restart hushd with -reindex Vous utilisez un hushd externe. Veuillez redémarrer hushd avec -reindex - + Enable Tor Activer Tor - + Connection over Tor has been enabled. To use this feature, you need to restart SilentDragon. La connection via Tor est activée. Afin d'utiliser cette fonctionnalité, veuillez redémarer SilentDragon. - + Disable Tor Désactiver Tor - + Connection over Tor has been disabled. To fully disconnect from Tor, you need to restart SilentDragon. La connection via Tor a été désactivée. Afin de complètement se déconnecter de Tor, vous devez redémarrer SilentDragon. @@ -587,17 +587,17 @@ pour supporter SilentDragon - + You are on testnet, your post won't actually appear on z-board.net Vous êtes connecté au réseau de test. Votre message n'apparaîtra donc pas sur z-board.net - + You need a sapling address with available balance to post Vous avez besoin d'une adresse de type Sapling avec un solde suffisant pour pouvoir poster - + Computing Tx: Calcul de la transaction en cours: @@ -607,17 +607,17 @@ Les clefs ont été importées. Cela peut prendre quelque minutes pour rescanner la blockchain. Durant cette période, les fonctionnalités peuvent être limitées - + Private key import rescan finished Rescan de l'import de la clef privée achevé - + SilentDragon needs to restart to rescan/reindex. SilentDragon will now close, please restart SilentDragon to continue SilentDragon doit redémarrer pour rescan/reindex. SilentDragon va maintenant fermer, veuillez redémarrer SilentDragon pour continuer - + Restart SilentDragon Redémarrer SilentDragon @@ -626,12 +626,12 @@ Erreur lors du payement du URI HUSH - + URI should be of the form 'hush:<addr>?amt=x&memo=y Le format URI doit être comme ceci: 'hush:<addr>?amt=x&memo=y - + Paste HUSH URI Coller le URI HUSH @@ -652,196 +652,196 @@ Les clef seront importées dans votre noeud hushd connecté - + Some feedback about SilentDragon or Hush... Quelques commentaires sur SilentDragon ou Hush ... - + Send Duke some private and shielded feedback about Envoyez à Duke des commentaires privés et protégés sur - + or SilentDragon ou SilentDragon - + Enter Address to validate Entrez l'adresse pour valider - + Transparent or Shielded Address: Adresse transparente ou privée: - + Error paying Hush URI Erreur lors du paiement de l'URI - + Please paste your private keys here, one per line Veuillez coller vos clés privées ici, une par ligne - + The keys will be imported into your connected Hush node Les clés seront importées dans votre nœud Hush connecté. - + The keys were imported! It may take several minutes to rescan the blockchain. Until then, functionality may be limited - + Error Erreur - + Error exporting transactions, file was not saved Erreur lors de l'exportation des transactions. Le fichier n'a pas été sauvegardé. - + No wallet.dat Pas de fichier "wallet.dat" - + Couldn't find the wallet.dat on this computer Impossible de trouver le fichier "wallet.dat" sur cet ordinateur - + You need to back it up from the machine hushd is running on Vous devez effectuer la sauvegarde depuis la machine sur laquelle hushd est en cours d'exécution - + Backup wallet.dat Sauvegarder wallet.dat - + Couldn't backup La sauvegarde n'a pas pu être effectuée - + Couldn't backup the wallet.dat file. Impossible de sauvegarder le fichier "wallet.dat". - + You need to back it up manually. Vous devez le sauvegarder manuellement. - + These are all the private keys for all the addresses in your wallet Ce sont toutes les clés privées pour toutes les adresses de votre portefeuille - + Private key for Clef privée pour - + Save File Sauvegarder le fichier - + Unable to open file Impossible d'ouvrir le fichier - - + + Copy address Copier l'adresse - - - + + + Copied to clipboard Copié dans le presse-papier - + Get private key Obtenir la clef privée - + Shield balance to Sapling Rendre privé le solde vers Sapling - - + + View on block explorer Voir dans l'explorateur de block - + Address Asset Viewer Addresse Asset Viewer - + Convert Address Adresse convertie - + Migrate to Sapling Migrer vers Sapling - + Copy txid Copier l'ID de transaction - + View Payment Request Afficher la demande de paiement - + View Memo Voir le mémo - + Reply to Répondre à - + Created new t-Addr Créée une nouvelle t-Adresse - + Copy Address Copier l'adresse - + Address has been previously used L'adresse a été utilisée précédemment. - + Address is unused L'adresse est inutilisée. @@ -1220,28 +1220,28 @@ If all else fails, please run hushd manually. Une erreur est survenue lors de la connection à hushd. L'erreur est - + The transaction with id La transaction avec ID - + failed. The error was a échoué. L'erreur était - + failed a échoué - + Tx @@ -1335,7 +1335,7 @@ Veuillez configurer l'hôte/port et utilisateur/mot de passe dans le menu E - + Transaction Error @@ -1426,7 +1426,7 @@ Veuillez configurer l'hôte/port et utilisateur/mot de passe dans le menu E Effacer l'étiquette - + Tx submitted (right click to copy) txid: Tx soumise. (clic droit pour copier) txid: @@ -1682,26 +1682,51 @@ Vous avez soit des fonds non confirmés soit le solde est trop petit pour une mi + Explorer + + + + + Tx Explorer URL + + + + + Address Explorer URL + + + + + Testnet Tx Explorer URL + + + + + Testnet Address Explorer URL + + + + Troubleshooting Anomalies - + Reindex Reindex - + Rescan the blockchain for any missing wallet transactions and to correct your wallet balance. This may take several hours. You need to restart SilentDragon for this to take effect Rescanner la blockchain pour détecter toute transaction de portefeuille manquante et corriger le solde de votre portefeuille. Cela peut prendre plusieurs heures. Vous devez redémarrer SilentDragon pour que cela prenne effet - + Rescan Rescan - + Rebuild the entire blockchain from the genesis block, by rescanning all the block files. This may take several hours to days, depending on your hardware. You need to restart SilentDragon for this to take effect Reconstruisez l'intégralité de la blockchain à partir du bloc genesis en analysant à nouveau tous les fichiers de bloc Cela peut prendre plusieurs heures à plusieurs jours, selon votre matériel. Vous devez redémarrer SilentDragon pour que cela prenne effet diff --git a/res/zec_qt_wallet_it.ts b/res/zec_qt_wallet_it.ts index f3b26b0..4a485fa 100644 --- a/res/zec_qt_wallet_it.ts +++ b/res/zec_qt_wallet_it.ts @@ -151,8 +151,8 @@ - - + + Memo Memo @@ -287,7 +287,7 @@ - + Export Private Key Esporta la chiave privata @@ -322,7 +322,7 @@ - + Loading... Caricamento... @@ -519,7 +519,7 @@ - + Export transactions Transazioni di esportazione @@ -546,17 +546,17 @@ per supportare SilentDragon - + You are on testnet, your post won't actually appear on z-board.net Sei nella testnet, i tuoi post non appariranno realmente su z-board.net - + You need a sapling address with available balance to post Hai bisogno di un indirizzo Sapling con saldo per postare - + Computing Tx: Computazione Transazione: @@ -566,52 +566,52 @@ Le chiavi sono state importate. Potrebbero essere necessari alcuni minuti per eseguire nuovamente la scansione della blockchain. Fino ad allora, le funzionalità potrebbero essere limitate - + Private key import rescan finished L'importazione delle chiavi private è stata completata - + Tor configuration is available only when running an embedded hushd. La configurazione Tor è disponibile solo quando si esegue un hushd incorporato. - + You're using an external hushd. Please restart hushd with -rescan Stai usando un hushd esterno. Si prega di riavviare hushd con -rescan - + You're using an external hushd. Please restart hushd with -reindex Stai usando un hushd esterno. Si prega di riavviare hushd con -reindex - + Enable Tor Abilita Tor - + Connection over Tor has been enabled. To use this feature, you need to restart SilentDragon. La connessione tramite Tor è stata abilitata. Per utilizzare questa funzione, è necessario riavviare SilentDragon. - + Disable Tor Disabilita Tor - + Connection over Tor has been disabled. To fully disconnect from Tor, you need to restart SilentDragon. La connessione tramite Tor è stata disabilitata. Per disconnettersi completamente da Tor, è necessario riavviare SilentDragon. - + SilentDragon needs to restart to rescan/reindex. SilentDragon will now close, please restart SilentDragon to continue SilentDragon deve essere riavviato per ripetere la scansione / reindicizzazione. SilentDragon ora si chiuderà, riavviare SilentDragon per continuare - + Restart SilentDragon Riavvia SilentDragon @@ -625,206 +625,206 @@ Le chiavi saranno importate nel tuo nodo hushd - + Some feedback about SilentDragon or Hush... Alcuni feedback su SilentDragon o Hush ... - + Send Duke some private and shielded feedback about Invia a Duke un feedback privato e schermato - + or SilentDragon o SilentDragon - + Enter Address to validate Inserisci un indirizzo per convalidare - + Transparent or Shielded Address: Indirizzo trasparente o schermato: - + Paste HUSH URI Incolla URI HUSH - + Error paying Hush URI Errore nel pagamento dell'URI Hush - + URI should be of the form 'hush:<addr>?amt=x&memo=y L'URI dovrebbe essere nella forma 'hush:<addr>?amt=x&memo=y - + Please paste your private keys here, one per line Incolla qui le tue chiavi private, una per riga - + The keys will be imported into your connected Hush node Le chiavi verranno importate nel nodo Hush collegato - + The keys were imported! It may take several minutes to rescan the blockchain. Until then, functionality may be limited Le chiavi sono state importate! Potrebbero essere necessari alcuni minuti per ripetere la scansione della blockchain. Fino ad allora, la funzionalità potrebbe essere limitata - + Error Errore - + Error exporting transactions, file was not saved Errore durante l'esportazione delle transazioni, il file non è stato salvato - + No wallet.dat Nessun wallet.dat - + Couldn't find the wallet.dat on this computer Impossibile trovare il wallet.dat su questo computer - + You need to back it up from the machine hushd is running on È necessario eseguire il backup dalla macchina su cui hushd è in esecuzione - + Backup wallet.dat Backup wallet.dat - + Couldn't backup Impossibile eseguire il backup - + Couldn't backup the wallet.dat file. Impossibile eseguire il backup del file wallet.dat. - + You need to back it up manually. Devi eseguire il backup manualmente. - + These are all the private keys for all the addresses in your wallet Queste sono le chiavi private per tutti gli indirizzi nel tuo portafoglio - + Private key for Chiave privata per - + Save File Salva File - + Unable to open file Impossibile aprire il file - - + + Copy address Copia indirizzo - - - + + + Copied to clipboard Copiato negli appunti - + Get private key Ottieni una chiave privata - + Shield balance to Sapling Trasferisci il saldo su un indirizzo shielded Sapling - - + + View on block explorer Guarda sul block-explorer - + Address Asset Viewer Addresses Asset Viewer - + Convert Address Converti indirizzo - + Migrate to Sapling Migra a Sapling - + Copy txid Copia txid - + View Payment Request Visualizza richiesta di pagamento - + View Memo Visualizza memo - + Reply to Rispondi a - + Created new t-Addr Crea nuovo t-Addr - + Copy Address Copia indirizzo - + Address has been previously used L'indirizzo è stato precedentemente utilizzato - + Address is unused L'indirizzo non è utilizzato @@ -1195,28 +1195,28 @@ If all else fails, please run hushd manually. Si è verificato un errore durante la connessione a hushd. L'errore era - + The transaction with id La transazione con id - + failed. The error was fallito. l'errore era - + failed fallito - + Tx @@ -1313,7 +1313,7 @@ Impostare host/porta e utente/password nel menu Modifica-> Impostazioni. - + Transaction Error @@ -1404,7 +1404,7 @@ Impostare host/porta e utente/password nel menu Modifica-> Impostazioni.elimina l'etichetta - + Tx submitted (right click to copy) txid: Tx inviato (clic destro per copiare) txid: @@ -1660,26 +1660,51 @@ Avete fondi non confermati o il saldo è troppo basso per una migrazione automat + Explorer + + + + + Tx Explorer URL + + + + + Address Explorer URL + + + + + Testnet Tx Explorer URL + + + + + Testnet Address Explorer URL + + + + Troubleshooting Risoluzione dei problemi - + Reindex Reindex - + Rescan the blockchain for any missing wallet transactions and to correct your wallet balance. This may take several hours. You need to restart SilentDragon for this to take effect Riesegui la scansione della blockchain per eventuali transazioni di portafoglio mancanti e per correggere il saldo del tuo portafoglio. Questa operazione potrebbe richiedere diverse ore. È necessario riavviare SilentDragon affinché questo abbia effetto - + Rescan Rescan - + Rebuild the entire blockchain from the genesis block, by rescanning all the block files. This may take several hours to days, depending on your hardware. You need to restart SilentDragon for this to take effect Ricostruisci l'intera blockchain dal blocco genesi, eseguendo nuovamente la scansione di tutti i file di blocco. Questo potrebbe richiedere diverse ore o giorni, a seconda dell'hardware. È necessario riavviare SilentDragon affinché questo abbia effetto diff --git a/res/zec_qt_wallet_pt.ts b/res/zec_qt_wallet_pt.ts index 430fa04..1843b7c 100644 --- a/res/zec_qt_wallet_pt.ts +++ b/res/zec_qt_wallet_pt.ts @@ -147,8 +147,8 @@ - - + + Memo Anexar recado @@ -278,7 +278,7 @@ - + Export Private Key Exportar Chave Privada @@ -313,7 +313,7 @@ - + Loading... Carregando... @@ -512,7 +512,7 @@ - + Export transactions Transações de exportação @@ -527,37 +527,37 @@ Ctrl+M - + Tor configuration is available only when running an embedded hushd. A configuração do Tor está disponível apenas ao executar um hushd incorporado. - + You're using an external hushd. Please restart hushd with -rescan Você está usando um hushd externo. Por favor, reinicie o hushd com -rescan - + You're using an external hushd. Please restart hushd with -reindex Você está usando um hushd externo. Por favor, reinicie o hushd com -reindex - + Enable Tor Ativar Tor - + Connection over Tor has been enabled. To use this feature, you need to restart SilentDragon. A conexão através do Tor foi ativada. Para usar esse recurso, você precisa reiniciar o SilentDragon. - + Disable Tor Desativar Tor - + Connection over Tor has been disabled. To fully disconnect from Tor, you need to restart SilentDragon. A conexão através do Tor foi desativada. Para se desconectar totalmente do Tor, é necessário reiniciar o SilentDragon. @@ -574,17 +574,17 @@ para apoiar SilentDragon - + You are on testnet, your post won't actually appear on z-board.net Você está na testnet, seu post não aparecerá no z-board.net - + You need a sapling address with available balance to post Você precisa de um endereço sapling com saldo disponível para postar - + Computing Tx: Gerando Tx: @@ -594,17 +594,17 @@ Chaves importadas. Pode demorar alguns minutos para re-escanear a blockchain. Até lá, funcionalidades poderão estar limitadas - + Private key import rescan finished Re-escan de chave privada completo - + SilentDragon needs to restart to rescan/reindex. SilentDragon will now close, please restart SilentDragon to continue O SilentDragon precisa reiniciar para redigitalizar / reindexar. O SilentDragon agora será fechado. Reinicie o SilentDragon para continuar - + Restart SilentDragon Reinicie o SilentDragon @@ -617,206 +617,206 @@ As chaves serão importadas em seu nó hushd conectado - + Some feedback about SilentDragon or Hush... Alguns comentários sobre SilentDragon ou Hush ... - + Send Duke some private and shielded feedback about Envie para Duke algum feedback privado e protegido sobre - + or SilentDragon ou SilentDragon - + Enter Address to validate Digite o endereço para validar - + Transparent or Shielded Address: Endereço transparente ou blindado: - + Paste HUSH URI Colar HUSH URI - + Error paying Hush URI Erro ao pagar o URI do Hush - + URI should be of the form 'hush:<addr>?amt=x&memo=y O URI deve ter o formato - + Please paste your private keys here, one per line Cole suas chaves privadas aqui, uma por linha - + The keys will be imported into your connected Hush node As chaves serão importadas para o nó Hush conectado - + The keys were imported! It may take several minutes to rescan the blockchain. Until then, functionality may be limited As chaves foram importadas! Pode levar alguns minutos para verificar novamente o blockchain. Até lá, a funcionalidade pode ser limitada - + Error Erro - + Error exporting transactions, file was not saved Erro ao exportar transações, o arquivo não foi salvo - + No wallet.dat Nenhum wallet.data - + Couldn't find the wallet.dat on this computer Não foi localizado o wallet.dat nesse computador - + You need to back it up from the machine hushd is running on Você precisar salvar a partir da máquina que hushd está rodando - + Backup wallet.dat Salvar wallet.dat - + Couldn't backup Não foi possível salvar - + Couldn't backup the wallet.dat file. Não foi possível salvar o arquivo wallet.dat. - + You need to back it up manually. Você precisar salvá-lo manualmente. - + These are all the private keys for all the addresses in your wallet YOUR_TRANSLATION_HERE - + Private key for Chave privada para - + Save File Salvar Arquivo - + Unable to open file Não foi possível abrir o arquivo - - + + Copy address Copiar endereço - - - + + + Copied to clipboard Copiado - + Get private key Obter chave privada - + Shield balance to Sapling Blindar saldo para Sapling - - + + View on block explorer Ver no explorador de blocos - + Address Asset Viewer Endereço Asset Viewer - + Convert Address Converter Endereço - + Migrate to Sapling Migrar para Sapling - + Copy txid Copiar txid - + View Payment Request Exibir solicitação de pagamento - + View Memo Ver Recado - + Reply to Responder a - + Created new t-Addr Criar novo t-Addr - + Copy Address Copiar endereço - + Address has been previously used O endereço foi usado anteriormente - + Address is unused Endereço não utilizado @@ -1182,28 +1182,28 @@ Se tudo mais falhar, execute o hushd manualmente. Ocorreu um erro conectando ao hushd. O erro foi - + The transaction with id A transação com id - + failed. The error was falhou. O erro foi - + failed falhou - + Tx @@ -1299,7 +1299,7 @@ Por favor, coloque o host/porta e usuário/senha no menu Editar>Preferências - + Transaction Error @@ -1390,7 +1390,7 @@ Por favor, coloque o host/porta e usuário/senha no menu Editar>Preferências Deletar etiqueta - + Tx submitted (right click to copy) txid: Tx enviada (botão-direito para copiar) txid: @@ -1646,26 +1646,51 @@ Você possui fundos não confirmados ou o saldo é muito baixo para uma migraç + Explorer + + + + + Tx Explorer URL + + + + + Address Explorer URL + + + + + Testnet Tx Explorer URL + + + + + Testnet Address Explorer URL + + + + Troubleshooting - + Reindex Reindex - + Rescan the blockchain for any missing wallet transactions and to correct your wallet balance. This may take several hours. You need to restart SilentDragon for this to take effect Analise novamente o blockchain em busca de transações ausentes na carteira e corrija seu saldo. Isso pode levar várias horas. Você precisa reiniciar o SilentDragon para que isso entre em vigor - + Rescan Rescan - + Rebuild the entire blockchain from the genesis block, by rescanning all the block files. This may take several hours to days, depending on your hardware. You need to restart SilentDragon for this to take effect Reconstrua toda a blockchain a partir do bloco genesis, redigitalizando todos os arquivos do bloco. Isso pode levar várias horas a dias, dependendo do seu hardware. Você precisa reiniciar o SilentDragon para que isso entre em vigor diff --git a/res/zec_qt_wallet_ru.ts b/res/zec_qt_wallet_ru.ts index adc46a1..d7757bd 100644 --- a/res/zec_qt_wallet_ru.ts +++ b/res/zec_qt_wallet_ru.ts @@ -163,8 +163,8 @@ - - + + Memo Метка @@ -274,7 +274,7 @@ - + Export Private Key Экспорт приватного ключа @@ -313,7 +313,7 @@ - + Loading... Загрузка... @@ -518,7 +518,7 @@ - + Export transactions Экспорт транзакций @@ -551,47 +551,47 @@ Сообщить об ошибке... - + Enable Tor Включить Tor - + Connection over Tor has been enabled. To use this feature, you need to restart SilentDragon. Соединение через Tor было включено. Чтобы использовать эту функцию, вам нужно перезапустить SilentDragon. - + Disable Tor Отключить Tor - + Connection over Tor has been disabled. To fully disconnect from Tor, you need to restart SilentDragon. Соединение через Tor было отключено. Чтобы полностью отключиться от Tor, вам нужно перезапустить SilentDragon. - + Some feedback about SilentDragon or Hush... - + Send Duke some private and shielded feedback about - + You are on testnet, your post won't actually appear on z-board.net - + You need a sapling address with available balance to post - + Computing Tx: Вычисление Tx: @@ -601,17 +601,17 @@ Ключи были импортированы. Повторное сканирование блокчейна может занять несколько минут. До тех пор функциональность может быть ограничена - + Private key import rescan finished Повторное сканирование приватного ключа завершено - + SilentDragon needs to restart to rescan/reindex. SilentDragon will now close, please restart SilentDragon to continue SilentDragon необходимо перезапустить для повторного сканирования/переиндексации. Перезапустите SilentDragon, чтобы продолжить - + Restart SilentDragon Перезапуск SilentDragon @@ -628,146 +628,146 @@ Ключи будут импортированы в ваш подключенный узел hushd - + Paste HUSH URI - + Error paying Hush URI - + URI should be of the form 'hush:<addr>?amt=x&memo=y - + Please paste your private keys here, one per line - + The keys will be imported into your connected Hush node - + The keys were imported! It may take several minutes to rescan the blockchain. Until then, functionality may be limited - + Error Ошибка - + Error exporting transactions, file was not saved Ошибка экспорта транзакций, файл не был сохранен - + No wallet.dat Нет wallet.dat - + Couldn't find the wallet.dat on this computer Не удалось найти wallet.dat на этом компьютере - + You need to back it up from the machine hushd is running on Вы должны сделать резервную копию с машины, на которой работает hushd - + Backup wallet.dat Сохранить wallet.dat - + Couldn't backup Не удалось сохранить - + Couldn't backup the wallet.dat file. Не удалось сохранить файл wallet.dat - + You need to back it up manually. Вам нужно сделать резервную копию вручную. - + These are all the private keys for all the addresses in your wallet Это все приватные ключи для всех адресов в вашем кошельке - + Private key for Приватный ключ для - + Save File Сохранить файл - + Unable to open file Невозможно открыть файл - - + + Copy address Скопировать адрес - - - + + + Copied to clipboard Скопировано в буфер обмена - + Get private key Получить приватный ключ - + Shield balance to Sapling Shield balance to Sapling - - + + View on block explorer Посмотреть в проводнике блоков - + Address Asset Viewer - + Convert Address - + Migrate to Sapling Migrate to Sapling - + Copy txid Скопировать txid @@ -784,17 +784,17 @@ Обновить - + Tor configuration is available only when running an embedded hushd. Конфигурация Tor доступна только при работе со встроенным hushd. - + You're using an external hushd. Please restart hushd with -rescan Вы используете внешний hushd. Пожалуйста, перезапустите hushd с -rescan - + You're using an external hushd. Please restart hushd with -reindex Вы используете внешний hushd. Пожалуйста, перезапустите hushd с -reindex @@ -871,17 +871,17 @@ Отправить для OleksandrBlack благодарность за - + or SilentDragon или SilentDragon - + Enter Address to validate Введите адрес для проверки - + Transparent or Shielded Address: Прозрачный или экранированный адрес: @@ -902,37 +902,37 @@ Это может занять несколько минут. Загрузка... - + View Payment Request Посмотреть запрос на оплату - + View Memo Посмотреть метку - + Reply to Ответить на - + Created new t-Addr Создать новый t-Addr (R) - + Copy Address Копировать адрес - + Address has been previously used Адрес был ранее использован - + Address is unused Адрес не используется @@ -1338,28 +1338,28 @@ Please set the host/port and user/password in the Edit->Settings menu.не подтверждено - + The transaction with id Транзакция с id - + failed. The error was не удалось. Ошибка - + failed ошибка - + Tx @@ -1434,7 +1434,7 @@ Please set the host/port and user/password in the Edit->Settings menu. - + Transaction Error @@ -1521,7 +1521,7 @@ Please set the host/port and user/password in the Edit->Settings menu.Удалить метку - + Tx submitted (right click to copy) txid: Tx представлен (кликните правой кнопкой мыши, чтобы скопировать) txid: @@ -2009,26 +2009,51 @@ You either have unconfirmed funds or the balance is too low for an automatic mig + Explorer + + + + + Tx Explorer URL + + + + + Address Explorer URL + + + + + Testnet Tx Explorer URL + + + + + Testnet Address Explorer URL + + + + Troubleshooting Исправление проблем - + Reindex Reindex - + Rescan the blockchain for any missing wallet transactions and to correct your wallet balance. This may take several hours. You need to restart SilentDragon for this to take effect Повторно сканирует блокчейн для любых пропущенных транзакций кошелька и исправляет баланс вашего кошелька. Это может занять несколько часов. Вам нужно перезапустить SilentDragon, чтобы это вступило в силу - + Rescan Rescan - + Rebuild the entire blockchain from the genesis block, by rescanning all the block files. This may take several hours to days, depending on your hardware. You need to restart SilentDragon for this to take effect Перестраивает весь блокчейн из блока генезиса путем повторного сканирования всех файлов блоков. Это может занять несколько часов или дней, в зависимости от вашего оборудования. Вам нужно перезапустить SilentDragon, чтобы это вступило в силу diff --git a/res/zec_qt_wallet_tr.qm b/res/zec_qt_wallet_tr.qm index 42decd9..c084c02 100644 Binary files a/res/zec_qt_wallet_tr.qm and b/res/zec_qt_wallet_tr.qm differ diff --git a/res/zec_qt_wallet_tr.ts b/res/zec_qt_wallet_tr.ts index fef447d..a517b47 100644 --- a/res/zec_qt_wallet_tr.ts +++ b/res/zec_qt_wallet_tr.ts @@ -147,8 +147,8 @@ - - + + Memo Memo @@ -216,7 +216,7 @@ - + Export transactions İşlemleri dışa aktar @@ -289,7 +289,7 @@ - + Export Private Key Özel Anahtarı Dışarı Aktar @@ -324,7 +324,7 @@ - + Loading... Yükleniyor... @@ -540,17 +540,17 @@ ve SilentDragon'i destekle - + You are on testnet, your post won't actually appear on z-board.net Testnet'tesiniz, gönderiniz aslında z-board.net'te görünmeyecek - + You need a sapling address with available balance to post Göndermek için uygun bakiye ile bir sapling adres'i gerekir - + Computing Tx: İşlem Hesaplama: @@ -560,7 +560,7 @@ Anahtarlar içeri aktarıldı. Blockchain'i yeniden taramak birkaç dakika sürebilir. O zamana kadar, işlevsellik sınırlı olabilir - + Private key import rescan finished Özel anahtar içe aktarma yeniden taraması tamamlandı @@ -574,251 +574,251 @@ YOUR_TRANSLATION_HERE - + Tor configuration is available only when running an embedded hushd. Tor konfigürasyonu yalnızca gömülü bir hushd çalışırken kullanılabilir. - + You're using an external hushd. Please restart hushd with -rescan Harici bir hushd kullanıyorsun. Lütfen hushd'yi -rescan ile yeniden başlat - + You're using an external hushd. Please restart hushd with -reindex Harici bir hushd kullanıyorsun. Lütfen hushd'yi -reindex ile yeniden başlat - + Enable Tor Tor'u etkinleştir - + Connection over Tor has been enabled. To use this feature, you need to restart SilentDragon. Tor üzerinden bağlantı etkin. Bu özelliği kullanmak için, SilentDragon'u yeniden başlatmanız gerekir. - + Disable Tor Tor'u devre dışı bırak - + Connection over Tor has been disabled. To fully disconnect from Tor, you need to restart SilentDragon. Tor üzerinden bağlantı devre dışı bırakıldı. Tor ile bağlantıyı tamamen kesmek için SilentDragon'u yeniden başlatmanız gerekir. - + SilentDragon needs to restart to rescan/reindex. SilentDragon will now close, please restart SilentDragon to continue SilentDragon yeniden tarama/yeniden indeksleme için yeniden başlatılması gerekiyor. SilentDragon şimdi kapanacak, lütfen devam etmek için SilentDragon'u yeniden başlatın - + Restart SilentDragon SilentDragon'u yeniden başlat - + Some feedback about SilentDragon or Hush... SilentDragon veya Hush hakkında bazı görüşler... - + Send Duke some private and shielded feedback about Duke'ye özel ve korumalı geri bildirim gönder - + or SilentDragon veya SilentDragon - + Enter Address to validate Doğrulamak için adres girin - + Transparent or Shielded Address: Transparan veya Korumalı Adres: - + Paste HUSH URI HUSH URI'sini yapıştır - + Error paying Hush URI Hush URI ödeme hatası - + URI should be of the form 'hush:<addr>?amt=x&memo=y URI bu şekilde olmalıdır: 'hush:<addr>?amt=x&memo=y - + Please paste your private keys here, one per line Lütfen özel anahtarlarınızı buraya, her satıra bir tane olacak şekilde yapıştırın - + The keys will be imported into your connected Hush node Anahtarlar bağlı Hush düğümünüze aktarılacak - + The keys were imported! It may take several minutes to rescan the blockchain. Until then, functionality may be limited Anahtarlar içeri aktarıldı. Blockchain'i yeniden taramak birkaç dakika sürebilir. O zamana kadar, işlevsellik sınırlı olabilir - + Error Hata - + Error exporting transactions, file was not saved İşlemler dışa aktarılırken hata oluştu, dosya kaydedilmedi - + No wallet.dat wallet.dat yok - + Couldn't find the wallet.dat on this computer wallet.dat dosyası bu bilgisayarda bulunamadı - + You need to back it up from the machine hushd is running on hushd'ın çalıştığı makineden yedeklemeniz gerekiyor - + Backup wallet.dat wallet.dat dosyasını yedekle - + Couldn't backup Yedeklenemedi - + Couldn't backup the wallet.dat file. wallet.dat dosyası yedeklenemedi. - + You need to back it up manually. Manuel olarak yedeklemeniz gerekir. - + These are all the private keys for all the addresses in your wallet Bunlar, cüzdanınızdaki tüm adreslerin özel anahtarlarıdır - + Private key for için özel anahtar - + Save File Dosyayı Kaydet - + Unable to open file Dosya açılamıyor - - + + Copy address Adresi kopyala - - - + + + Copied to clipboard Panoya kopyalandı - + Get private key Özel anahtarı al - + Shield balance to Sapling sapling'e kalkan dengesi - - + + View on block explorer Blok gezgini üzerinde göster - + Address Asset Viewer Adres Varlığı Görüntüleyicisi - + Convert Address Adresi Dönüştür - + Migrate to Sapling Sapling'e geç - + Copy txid txid'i kopyala - + View Payment Request Ödeme Talebini Görüntüle - + View Memo Memo'yu Görüntüle - + Reply to - + Created new t-Addr Yeni t-Addr oluşturuldu - + Copy Address Adresi Kopyala - + Address has been previously used Adres daha önce kullanılmış - + Address is unused Adres kullanılmamış @@ -1187,28 +1187,28 @@ Hepsi başarısız olursa, lütfen hushd'i manuel olarak çalıştırın.hushd ile bağlantı kurulurken bir hata oluştu. Hata - + The transaction with id id ile işlem - + failed. The error was başarısız oldu. Hata - + failed başarısız oldu - + Tx @@ -1304,7 +1304,7 @@ Lütfen Düzenle->Ayarlar menüsünde sunucu/bağlantı noktası ve kullanıc - + Transaction Error @@ -1395,7 +1395,7 @@ Lütfen Düzenle->Ayarlar menüsünde sunucu/bağlantı noktası ve kullanıc Etiketi sil - + Tx submitted (right click to copy) txid: İşlem gönderildi (kopyalamak için sağ tıklayın) id: @@ -1647,26 +1647,51 @@ Onaylanmamış fonunuz var veya otomatik geçiş için bakiye çok düşük. + Explorer + Gezgin + + + + Tx Explorer URL + İşlem Gezgini URL'İ + + + + Address Explorer URL + Adres Gezgini URL'İ + + + + Testnet Tx Explorer URL + Testnet İşlem Gezgini URL'İ + + + + Testnet Address Explorer URL + Testnet Adres Gezgini URL'İ + + + Troubleshooting Sorun giderme - + Reindex Yeniden indeksle - + Rescan the blockchain for any missing wallet transactions and to correct your wallet balance. This may take several hours. You need to restart SilentDragon for this to take effect Eksik cüzdan işlemleri ve cüzdan bakiyenizi düzeltmek için blok zincirini yeniden tarayın. Bu birkaç saat sürebilir. Bunun gerçekleşmesi için SilentDragon'u yeniden başlatmanız gerekir - + Rescan Yeniden tara - + Rebuild the entire blockchain from the genesis block, by rescanning all the block files. This may take several hours to days, depending on your hardware. You need to restart SilentDragon for this to take effect Tüm blok dosyalarını yeniden tarayarak blok zincirini genesis bloğundan yeniden oluşturun. Bu, donanımınıza bağlı olarak birkaç saat ila günler sürebilir. Bunun gerçekleşmesi için SilentDragon’u yeniden başlatmanız gerekir diff --git a/res/zec_qt_wallet_uk.ts b/res/zec_qt_wallet_uk.ts index 417e9d9..750746a 100644 --- a/res/zec_qt_wallet_uk.ts +++ b/res/zec_qt_wallet_uk.ts @@ -163,8 +163,8 @@ - - + + Memo Мітка @@ -274,7 +274,7 @@ - + Export Private Key Експорт приватного ключа @@ -313,7 +313,7 @@ - + Loading... Завантаження ... @@ -518,7 +518,7 @@ - + Export transactions Експорт транзакцій @@ -551,47 +551,47 @@ Повідомити про помилку... - + Enable Tor Включити Tor - + Connection over Tor has been enabled. To use this feature, you need to restart SilentDragon. З'єднання через Tor було включено. Щоб скористатися цією функцією, вам потрібно перезапустити SilentDragon. - + Disable Tor Відключити Tor - + Connection over Tor has been disabled. To fully disconnect from Tor, you need to restart SilentDragon. З'єднання через Tor було відключено. Щоб повністю відключитися від Tor, вам потрібно перезапустити SilentDragon. - + Some feedback about SilentDragon or Hush... - + Send Duke some private and shielded feedback about - + You are on testnet, your post won't actually appear on z-board.net - + You need a sapling address with available balance to post - + Computing Tx: Обчислення Tx: @@ -601,17 +601,17 @@ Ключі були імпортовані. Повторне сканування блокчейна може зайняти кілька хвилин. До тих пір функціональність може бути обмежена - + Private key import rescan finished Повторне сканування приватного ключа завершено - + SilentDragon needs to restart to rescan/reindex. SilentDragon will now close, please restart SilentDragon to continue SilentDragon необхідно перезапустити для повторного сканування / переіндексації. Перезапустіть SilentDragon, щоб продовжити - + Restart SilentDragon Перезапуск SilentDragon @@ -628,146 +628,146 @@ Ключі будуть імпортовані в ваш підключений вузол hushd - + Paste HUSH URI - + Error paying Hush URI - + URI should be of the form 'hush:<addr>?amt=x&memo=y - + Please paste your private keys here, one per line - + The keys will be imported into your connected Hush node - + The keys were imported! It may take several minutes to rescan the blockchain. Until then, functionality may be limited - + Error Помилка - + Error exporting transactions, file was not saved Помилка експорту транзакцій, файл не був збережений - + No wallet.dat Немає wallet.dat - + Couldn't find the wallet.dat on this computer Не вдалося знайти wallet.dat на цьому комп'ютері - + You need to back it up from the machine hushd is running on Ви повинні зробити резервну копію з машини, на якій працює hushd - + Backup wallet.dat Зберегти wallet.dat - + Couldn't backup Неможливо зберегти - + Couldn't backup the wallet.dat file. Неможливо зберегти файл wallet.dat. - + You need to back it up manually. Вам потрібно зробити резервну копію вручну. - + These are all the private keys for all the addresses in your wallet Це все приватні ключі для всіх адрес у вашому гаманці - + Private key for Приватний ключ для - + Save File Зберегти файл - + Unable to open file Неможливо відкрити файл - - + + Copy address Копіювати адресу - - - + + + Copied to clipboard Скопійовано в буфер обміну - + Get private key Отримати приватний ключ - + Shield balance to Sapling Shield balance to Sapling - - + + View on block explorer Подивитися в провіднику блоків - + Address Asset Viewer - + Convert Address - + Migrate to Sapling Migrate to Sapling - + Copy txid Скопіювати txid @@ -784,17 +784,17 @@ Оновити - + Tor configuration is available only when running an embedded hushd. Конфігурація Tor доступна тільки при роботі з вбудованим hushd. - + You're using an external hushd. Please restart hushd with -rescan Ви використовуєте зовнішній hushd. Будь ласка, перезапустіть hushd з -rescan - + You're using an external hushd. Please restart hushd with -reindex Ви використовуєте зовнішній hushd. Будь ласка, перезапустіть hushd з -reindex @@ -871,17 +871,17 @@ Надіслати для OleksandrBlack подяку за - + or SilentDragon або SilentDragon - + Enter Address to validate Введіть адресу для перевірки - + Transparent or Shielded Address: Прозора або екранована адреса: @@ -902,37 +902,37 @@ Це може зайняти кілька хвилин. Завантаження ... - + View Payment Request Подивитися запит на оплату - + View Memo Подивитися мітку - + Reply to Відповісти на - + Created new t-Addr Створити новий t-Addr (R) - + Copy Address Копіювати адресу - + Address has been previously used Адреса була раніше використана - + Address is unused Адреса не використовується @@ -1338,28 +1338,28 @@ Please set the host/port and user/password in the Edit->Settings menu.не підтверджено - + The transaction with id Транзакція з id - + failed. The error was не вдалося. Помилка - + failed помилка - + Tx @@ -1434,7 +1434,7 @@ Please set the host/port and user/password in the Edit->Settings menu. - + Transaction Error @@ -1521,7 +1521,7 @@ Please set the host/port and user/password in the Edit->Settings menu.Видалити мітку - + Tx submitted (right click to copy) txid: Tx представлений (клікніть правою кнопкою миші, щоб скопіювати) txid: @@ -2017,26 +2017,51 @@ You either have unconfirmed funds or the balance is too low for an automatic mig + Explorer + + + + + Tx Explorer URL + + + + + Address Explorer URL + + + + + Testnet Tx Explorer URL + + + + + Testnet Address Explorer URL + + + + Troubleshooting Виправлення проблем - + Reindex Reindex - + Rescan the blockchain for any missing wallet transactions and to correct your wallet balance. This may take several hours. You need to restart SilentDragon for this to take effect Повторно сканує блокчейн для будь-яких пропущених транзакцій гаманця і виправляє баланс вашого гаманця. Це може зайняти кілька годин. Вам потрібно перезапустити SilentDragon, щоб це набуло чинності - + Rescan Rescan - + Rebuild the entire blockchain from the genesis block, by rescanning all the block files. This may take several hours to days, depending on your hardware. You need to restart SilentDragon for this to take effect Перебудовує весь блокчейн з блоку генезису шляхом повторного сканування всіх файлів блоків. Це може зайняти кілька годин або днів, в залежності від вашого обладнання. Вам потрібно перезапустити SilentDragon, щоб це набуло чинності diff --git a/res/zec_qt_wallet_zh.ts b/res/zec_qt_wallet_zh.ts index c601faa..2e2a751 100644 --- a/res/zec_qt_wallet_zh.ts +++ b/res/zec_qt_wallet_zh.ts @@ -151,8 +151,8 @@ - - + + Memo 备注 @@ -243,7 +243,7 @@ - + Export Private Key 导出私钥 @@ -278,7 +278,7 @@ - + Loading... 加载中... @@ -512,7 +512,7 @@ - + Export transactions 导出交易 @@ -551,42 +551,42 @@ hushd尚未准备好。 请等待UI加载 - + Tor configuration is available only when running an embedded hushd. Tor配置仅在运行嵌入的hushd时可用。 - + You're using an external hushd. Please restart hushd with -rescan 你正在使用外部hushd。 请使用-rescan参数重新启动hushd - + You're using an external hushd. Please restart hushd with -reindex 你正在使用外部hushd。 请使用-reindex重新启动hushd - + Enable Tor 启用Tor - + Connection over Tor has been enabled. To use this feature, you need to restart SilentDragon. 已启用Tor上的连接。 要使用此功能,您需要重新启动SilentDragon。 - + Disable Tor 禁用Tor - + Connection over Tor has been disabled. To fully disconnect from Tor, you need to restart SilentDragon. Tor上的连接已被禁用。 要完全断开与Tor的连接,您需要重新启动SilentDragon。 - + SilentDragon needs to restart to rescan/reindex. SilentDragon will now close, please restart SilentDragon to continue SlientDragon需要重新启动才能重新扫描/重新索引。 SlientDragon现在关闭,请重启SlientDragon以继续 @@ -607,23 +607,23 @@ 支持SlientDragon - + You are on testnet, your post won't actually appear on z-board.net 你在testnet上,你的帖子实际上不会出现在z-board.net上 - + You need a sapling address with available balance to post 您需要一个具有可用余额的sapling地址才能发布 - + Computing Tx: 计算交易: - + Private key import rescan finished 私钥导入重新扫描完成 @@ -636,7 +636,7 @@ 支付hush URI时出错 - + URI should be of the form 'hush:<addr>?amt=x&memo=y URI的格式应为 'hush:<addr>?amt=x&memo=y' @@ -653,206 +653,206 @@ 钥匙是导入的。 重新扫描区块链可能需要几分钟时间。 在此之前,功能可能会受到限制 - + Restart SilentDragon - + Some feedback about SilentDragon or Hush... - + Send Duke some private and shielded feedback about - + or SilentDragon - + Enter Address to validate - + Transparent or Shielded Address: - + Paste HUSH URI - + Error paying Hush URI - + Please paste your private keys here, one per line - + The keys will be imported into your connected Hush node - + The keys were imported! It may take several minutes to rescan the blockchain. Until then, functionality may be limited - + Error 错误 - + Error exporting transactions, file was not saved 导出交易时出错,文件未保存 - + No wallet.dat 没有 wallet.dat - + Couldn't find the wallet.dat on this computer 在这台电脑上找不到wallet.dat - + You need to back it up from the machine hushd is running on 你需要从运行hushd的机器备份它 - + Backup wallet.dat 备份 wallet.dat - + Couldn't backup 无法备份 - + Couldn't backup the wallet.dat file. 无法备份wallet.dat文件。 - + You need to back it up manually. 您需要手动备份它。 - + These are all the private keys for all the addresses in your wallet 这些都是钱包中所有地址的私钥 - + Private key for 私钥 - + Save File 保存文件 - + Unable to open file 无法打开文件 - - + + Copy address 复制成功 - - - + + + Copied to clipboard 复制到剪贴板 - + Get private key 获取私钥 - + Shield balance to Sapling 屏蔽余额到Sapling地址 - - + + View on block explorer 从区块浏览器中查看 - + Address Asset Viewer - + Convert Address - + Migrate to Sapling 迁移到Sapling地址 - + Copy txid 复制交易ID - + View Payment Request 查看付款申请 - + View Memo 查看备注 - + Reply to 回复给 - + Created new t-Addr 创建了新的t-Addr - + Copy Address - + Address has been previously used 该地址以前使用过 - + Address is unused 地址未使用 @@ -1356,7 +1356,7 @@ Please set the host/port and user/password in the Edit->Settings menu. - + Transaction Error @@ -1367,28 +1367,28 @@ Please set the host/port and user/password in the Edit->Settings menu.发送交易时出错。 错误是: - + Tx 交易 - + failed 失败 - + The transaction with id 交易 - + failed. The error was @@ -1516,7 +1516,7 @@ Would you like to visit the releases page? 等待hushd退出 - + Tx submitted (right click to copy) txid: 交易提交(右键单击复制)交易ID: @@ -1914,12 +1914,37 @@ You either have unconfirmed funds or the balance is too low for an automatic mig - + + Explorer + + + + + Tx Explorer URL + + + + + Address Explorer URL + + + + + Testnet Tx Explorer URL + + + + + Testnet Address Explorer URL + + + + Rescan the blockchain for any missing wallet transactions and to correct your wallet balance. This may take several hours. You need to restart SilentDragon for this to take effect - + Rebuild the entire blockchain from the genesis block, by rescanning all the block files. This may take several hours to days, depending on your hardware. You need to restart SilentDragon for this to take effect @@ -1932,12 +1957,12 @@ You either have unconfirmed funds or the balance is too low for an automatic mig 获取 ZEC/USD 价格 - + Troubleshooting 故障排除 - + Reindex 重建索引 @@ -1946,7 +1971,7 @@ You either have unconfirmed funds or the balance is too low for an automatic mig 重新扫描区块链以查找任何丢失的钱包交易并更正您的钱包余额。 这可能需要几个小时。 您需要重新启动SlientDragon才能使其生效 - + Rescan 重新扫描 diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index a115a90..e2ebd70 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -34,8 +34,8 @@ MainWindow::MainWindow(QWidget *parent) : // Status Bar setupStatusBar(); - - // Settings editor + + // Settings editor setupSettingsModal(); // Set up exit action @@ -102,7 +102,7 @@ MainWindow::MainWindow(QWidget *parent) : QString version = QString("Version ") % QString(APP_VERSION) % " (" % QString(__DATE__) % ")"; about.versionLabel->setText(version); - + aboutDialog.exec(); }); @@ -130,7 +130,7 @@ MainWindow::MainWindow(QWidget *parent) : createWebsocket(wormholecode); } } - + void MainWindow::createWebsocket(QString wormholecode) { // Create the websocket server, for listening to direct connections int wsport = 8777; @@ -207,12 +207,12 @@ void MainWindow::turnstileProgress() { // Get the plan progress if (rpc->getTurnstile()->isMigrationPresent()) { auto curProgress = rpc->getTurnstile()->getPlanProgress(); - + progress.progressTxt->setText(QString::number(curProgress.step) % QString(" / ") % QString::number(curProgress.totalSteps)); progress.progressBar->setValue(100 * curProgress.step / curProgress.totalSteps); - + auto nextTxBlock = curProgress.nextBlock - Settings::getInstance()->getBlockNumber(); - + progress.fromAddr->setText(curProgress.from); progress.toAddr->setText(curProgress.to); @@ -224,12 +224,12 @@ void MainWindow::turnstileProgress() { } progress.nextTx->setText(txt); } else { - progress.nextTx->setText(QString("Next transaction in ") + progress.nextTx->setText(QString("Next transaction in ") % QString::number(nextTxBlock < 0 ? 0 : nextTxBlock) - % " blocks via " % curProgress.via % "\n" + % " blocks via " % curProgress.via % "\n" % (nextTxBlock <= 0 ? "(waiting for confirmations)" : "")); } - + } else { progress.progressTxt->setText(""); progress.progressBar->setValue(0); @@ -237,11 +237,11 @@ void MainWindow::turnstileProgress() { } }; - QTimer progressTimer(this); + QTimer progressTimer(this); QObject::connect(&progressTimer, &QTimer::timeout, fnUpdateProgressUI); progressTimer.start(Settings::updateSpeed); fnUpdateProgressUI(); - + auto curProgress = rpc->getTurnstile()->getPlanProgress(); // Abort button @@ -264,11 +264,11 @@ void MainWindow::turnstileProgress() { } }); - d.exec(); + d.exec(); if (migrationFinished || curProgress.step == curProgress.totalSteps) { // Finished, so delete the file rpc->getTurnstile()->removeFile(); - } + } } void MainWindow::turnstileDoMigration(QString fromAddr) { @@ -324,12 +324,12 @@ void MainWindow::turnstileDoMigration(QString fromAddr) { } else { bal = rpc->getAllBalances()->value(addr); } - + auto balTxt = Settings::getZECUSDDisplayFormat(bal); - + if (bal < Turnstile::minMigrationAmount) { turnstile.fromBalance->setStyleSheet("color: red;"); - turnstile.fromBalance->setText(balTxt % " [You need at least " + turnstile.fromBalance->setText(balTxt % " [You need at least " % Settings::getZECDisplayFormat(Turnstile::minMigrationAmount) % " for automatic migration]"); turnstile.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); @@ -343,14 +343,14 @@ void MainWindow::turnstileDoMigration(QString fromAddr) { if (!fromAddr.isEmpty()) turnstile.migrateZaddList->setCurrentText(fromAddr); - fnUpdateSproutBalance(turnstile.migrateZaddList->currentText()); + fnUpdateSproutBalance(turnstile.migrateZaddList->currentText()); // Combo box selection event QObject::connect(turnstile.migrateZaddList, &QComboBox::currentTextChanged, fnUpdateSproutBalance); - + // Privacy level combobox // Num tx over num blocks - QList> privOptions; + QList> privOptions; privOptions.push_back(std::make_tuple(3, 576)); privOptions.push_back(std::make_tuple(5, 1152)); privOptions.push_back(std::make_tuple(10, 2304)); @@ -367,30 +367,30 @@ void MainWindow::turnstileDoMigration(QString fromAddr) { QString::number(std::get<0>(i)) % " txns)" ); } - + turnstile.buttonBox->button(QDialogButtonBox::Ok)->setText("Start"); if (d.exec() == QDialog::Accepted) { auto privLevel = privOptions[turnstile.privLevel->currentIndex()]; rpc->getTurnstile()->planMigration( - turnstile.migrateZaddList->currentText(), + turnstile.migrateZaddList->currentText(), turnstile.migrateTo->currentText(), std::get<0>(privLevel), std::get<1>(privLevel)); - QMessageBox::information(this, "Backup your wallet.dat", - "The migration will now start. You can check progress in the File -> Sapling Turnstile menu.\n\nYOU MUST BACKUP YOUR wallet.dat NOW!\n\nNew Addresses have been added to your wallet which will be used for the migration.", + QMessageBox::information(this, "Backup your wallet.dat", + "The migration will now start. You can check progress in the File -> Sapling Turnstile menu.\n\nYOU MUST BACKUP YOUR wallet.dat NOW!\n\nNew Addresses have been added to your wallet which will be used for the migration.", QMessageBox::Ok); } } -void MainWindow::setupTurnstileDialog() { +void MainWindow::setupTurnstileDialog() { // Turnstile migration QObject::connect(ui->actionTurnstile_Migration, &QAction::triggered, [=] () { // If there is current migration that is present, show the progress button if (rpc->getTurnstile()->isMigrationPresent()) turnstileProgress(); - else - turnstileDoMigration(); + else + turnstileDoMigration(); }); } @@ -420,11 +420,12 @@ void MainWindow::setupStatusBar() { }); menu.addAction("View tx on block explorer", [=]() { QString url; + auto explorer = Settings::getInstance()->getExplorer(); if (Settings::getInstance()->isTestnet()) { - url = "https://explorer.testnet.z.cash/tx/" + txid; + url = explorer.testnetTxExplorerUrl + txid; } else { - url = "https://explorer.myhush.org/tx/" + txid; + url = explorer.txExplorerUrl + txid; } QDesktopServices::openUrl(QUrl(url)); }); @@ -444,7 +445,7 @@ void MainWindow::setupStatusBar() { ui->statusBar->addPermanentWidget(statusIcon); } -void MainWindow::setupSettingsModal() { +void MainWindow::setupSettingsModal() { // Set up File -> Settings action QObject::connect(ui->actionSettings, &QAction::triggered, [=]() { QDialog settingsDialog(this); @@ -517,13 +518,21 @@ void MainWindow::setupSettingsModal() { settings.rpcpassword->setEnabled(true); } - // Load current values into the dialog + // Load current values into the dialog + // Load current values into the dialog auto conf = Settings::getInstance()->getSettings(); settings.hostname->setText(conf.host); settings.port->setText(conf.port); settings.rpcuser->setText(conf.rpcuser); settings.rpcpassword->setText(conf.rpcpassword); + // Load current explorer values into the dialog + auto explorer = Settings::getInstance()->getExplorer(); + settings.txExplorerUrl->setText(explorer.txExplorerUrl); + settings.addressExplorerUrl->setText(explorer.addressExplorerUrl); + settings.testnetTxExplorerUrl->setText(explorer.testnetTxExplorerUrl); + settings.testnetAddressExplorerUrl->setText(explorer.testnetAddressExplorerUrl); + // Connection tab by default settings.tabWidget->setCurrentIndex(0); @@ -558,8 +567,8 @@ void MainWindow::setupSettingsModal() { Settings::addToZcashConf(zcashConfLocation, "proxy=127.0.0.1:9050"); rpc->getConnection()->config->proxy = "proxy=127.0.0.1:9050"; - QMessageBox::information(this, tr("Enable Tor"), - tr("Connection over Tor has been enabled. To use this feature, you need to restart SilentDragon."), + QMessageBox::information(this, tr("Enable Tor"), + tr("Connection over Tor has been enabled. To use this feature, you need to restart SilentDragon."), QMessageBox::Ok); } @@ -580,11 +589,18 @@ void MainWindow::setupSettingsModal() { settings.port->text(), settings.rpcuser->text(), settings.rpcpassword->text()); - + auto cl = new ConnectionLoader(this, rpc); cl->loadConnection(); } + // Save explorer + Settings::getInstance()->saveExplorer( + settings.txExplorerUrl->text(), + settings.addressExplorerUrl->text(), + settings.testnetTxExplorerUrl->text(), + settings.testnetAddressExplorerUrl->text()); + // Check to see if rescan or reindex have been enabled bool showRestartInfo = false; if (settings.chkRescan->isChecked()) { @@ -599,7 +615,7 @@ void MainWindow::setupSettingsModal() { if (showRestartInfo) { auto desc = tr("SilentDragon needs to restart to rescan/reindex. SilentDragon will now close, please restart SilentDragon to continue"); - + QMessageBox::information(this, tr("Restart SilentDragon"), desc, QMessageBox::Ok); QTimer::singleShot(1, [=]() { this->close(); }); } @@ -655,7 +671,7 @@ void MainWindow::validateAddress() { // First thing is ask the user for an address bool ok; - auto address = QInputDialog::getText(this, tr("Enter Address to validate"), + auto address = QInputDialog::getText(this, tr("Enter Address to validate"), tr("Transparent or Shielded Address:") + QString(" ").repeated(140), // Pad the label so the dialog box is wide enough QLineEdit::Normal, "", &ok); if (!ok) @@ -770,7 +786,7 @@ void MainWindow::postToZBoard() { if (d.exec() == QDialog::Accepted) { // Create a transaction. Tx tx; - + // Send from your first sapling address that has a balance. tx.fromAddr = zb.fromAddr->currentText(); if (tx.fromAddr.isEmpty()) { @@ -790,16 +806,16 @@ void MainWindow::postToZBoard() { rpc->executeTransaction(tx, [=] (QString opid) { ui->statusBar->showMessage(tr("Computing Tx: ") % opid); }, - [=] (QString /*opid*/, QString txid) { + [=] (QString /*opid*/, QString txid) { ui->statusBar->showMessage(Settings::txidStatusMessage + " " + txid); }, [=] (QString opid, QString errStr) { ui->statusBar->showMessage(QObject::tr(" Tx ") % opid % QObject::tr(" failed"), 15 * 1000); if (!opid.isEmpty()) - errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; + errStr = QObject::tr("The transaction with id ") % opid % QObject::tr(" failed. The error was") + ":\n\n" + errStr; - QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); + QMessageBox::critical(this, QObject::tr("Transaction Error"), errStr, QMessageBox::Ok); }); } } @@ -823,14 +839,14 @@ void MainWindow::doImport(QList* keys) { if (key.startsWith("SK") || key.startsWith("secret")) { // Z key - rpc->importZPrivKey(key, rescan, [=] (auto) { this->doImport(keys); }); + rpc->importZPrivKey(key, rescan, [=] (auto) { this->doImport(keys); }); } else { rpc->importTPrivKey(key, rescan, [=] (auto) { this->doImport(keys); }); } } -// Callback invoked when the RPC has finished loading all the balances, and the UI +// Callback invoked when the RPC has finished loading all the balances, and the UI // is now ready to send transactions. void MainWindow::balancesReady() { // First-time check @@ -889,7 +905,7 @@ void MainWindow::payZcashURI(QString uri, QString myAddr) { qDebug() << "Received URI " << uri; PaymentURI paymentInfo = Settings::parseURI(uri); if (!paymentInfo.error.isEmpty()) { - QMessageBox::critical(this, tr("Error paying Hush URI"), + QMessageBox::critical(this, tr("Error paying Hush URI"), tr("URI should be of the form 'hush:?amt=x&memo=y") + "\n" + paymentInfo.error); return; } @@ -926,7 +942,7 @@ void MainWindow::importPrivKey() { pui.buttonBox->button(QDialogButtonBox::Save)->setVisible(false); pui.helpLbl->setText(QString() % tr("Please paste your private keys here, one per line") % ".\n" % - tr("The keys will be imported into your connected Hush node")); + tr("The keys will be imported into your connected Hush node")); if (d.exec() == QDialog::Accepted && !pui.privKeyTxt->toPlainText().trimmed().isEmpty()) { auto rawkeys = pui.privKeyTxt->toPlainText().trimmed().split("\n"); @@ -942,8 +958,8 @@ void MainWindow::importPrivKey() { return key.trimmed().split(" ")[0]; }); - // Special case. - // Sometimes, when importing from a paperwallet or such, the key is split by newlines, and might have + // Special case. + // Sometimes, when importing from a paperwallet or such, the key is split by newlines, and might have // been pasted like that. So check to see if the whole thing is one big private key if (Settings::getInstance()->isValidSaplingPrivateKey(keys->join(""))) { auto multiline = keys; @@ -955,31 +971,31 @@ void MainWindow::importPrivKey() { // Start the import. The function takes ownership of keys QTimer::singleShot(1, [=]() {doImport(keys);}); - // Show the dialog that keys will be imported. + // Show the dialog that keys will be imported. QMessageBox::information(this, "Imported", tr("The keys were imported! It may take several minutes to rescan the blockchain. Until then, functionality may be limited"), QMessageBox::Ok); } } -/** +/** * Export transaction history into a CSV file */ void MainWindow::exportTransactions() { // First, get the export file name QString exportName = "hush-transactions-" + QDateTime::currentDateTime().toString("yyyyMMdd") + ".csv"; - QUrl csvName = QFileDialog::getSaveFileUrl(this, + QUrl csvName = QFileDialog::getSaveFileUrl(this, tr("Export transactions"), exportName, "CSV file (*.csv)"); if (csvName.isEmpty()) return; if (!rpc->getTransactionsModel()->exportToCsv(csvName.toLocalFile())) { - QMessageBox::critical(this, tr("Error"), + QMessageBox::critical(this, tr("Error"), tr("Error exporting transactions, file was not saved"), QMessageBox::Ok); } -} +} /** * Backup the wallet.dat file. This is kind of a hack, since it has to read from the filesystem rather than an RPC call @@ -996,20 +1012,20 @@ void MainWindow::backupWalletDat() { zcashdir.cd("testnet3"); backupDefaultName = "testnet-" + backupDefaultName; } - + QFile wallet(zcashdir.filePath("wallet.dat")); if (!wallet.exists()) { QMessageBox::critical(this, tr("No wallet.dat"), tr("Couldn't find the wallet.dat on this computer") + "\n" + tr("You need to back it up from the machine hushd is running on"), QMessageBox::Ok); return; } - + QUrl backupName = QFileDialog::getSaveFileUrl(this, tr("Backup wallet.dat"), backupDefaultName, "Data file (*.dat)"); if (backupName.isEmpty()) return; if (!wallet.copy(backupName.toLocalFile())) { - QMessageBox::critical(this, tr("Couldn't backup"), tr("Couldn't backup the wallet.dat file.") + + QMessageBox::critical(this, tr("Couldn't backup"), tr("Couldn't backup the wallet.dat file.") + tr("You need to back it up manually."), QMessageBox::Ok); } } @@ -1024,7 +1040,7 @@ void MainWindow::exportKeys(QString addr) { QDialog d(this); Ui_PrivKey pui; pui.setupUi(&d); - + // Make the window big by default auto ps = this->geometry(); QMargins margin = QMargins() + 50; @@ -1053,7 +1069,7 @@ void MainWindow::exportKeys(QString addr) { if (!file.open(QIODevice::WriteOnly)) { QMessageBox::information(this, tr("Unable to open file"), file.errorString()); return; - } + } QTextStream out(&file); out << pui.privKeyTxt->toPlainText(); }); @@ -1077,7 +1093,7 @@ void MainWindow::exportKeys(QString addr) { if (allKeys) { rpc->getAllPrivKeys(fnUpdateUIWithKeys); } - else { + else { auto fnAddKey = [=](json key) { QList> singleAddrKey; singleAddrKey.push_back(QPair(addr, QString::fromStdString(key.get()))); @@ -1089,9 +1105,9 @@ void MainWindow::exportKeys(QString addr) { } else { rpc->getTPrivKey(addr, fnAddKey); - } + } } - + d.exec(); *isDialogAlive = false; } @@ -1130,7 +1146,7 @@ void MainWindow::setupBalancesTab() { QObject::connect(ui->balancesTable, &QTableView::doubleClicked, [=](auto index) { index = index.sibling(index.row(), 0); auto addr = AddressBook::addressFromAddressLabel(ui->balancesTable->model()->data(index).toString()); - + fnDoSendFrom(addr); }); @@ -1148,7 +1164,7 @@ void MainWindow::setupBalancesTab() { menu.addAction(tr("Copy address"), [=] () { QClipboard *clipboard = QGuiApplication::clipboard(); - clipboard->setText(addr); + clipboard->setText(addr); ui->statusBar->showMessage(tr("Copied to clipboard"), 3 * 1000); }); @@ -1170,11 +1186,12 @@ void MainWindow::setupBalancesTab() { menu.addAction(tr("View on block explorer"), [=] () { QString url; + auto explorer = Settings::getInstance()->getExplorer(); if (Settings::getInstance()->isTestnet()) { //TODO - url = "https://explorer.testnet.myhush.org/address/" + addr; + url = explorer.testnetAddressExplorerUrl + addr; } else { - url = "https://explorer.myhush.org/address/" + addr; + url = explorer.addressExplorerUrl + addr; } QDesktopServices::openUrl(QUrl(url)); }); @@ -1199,11 +1216,11 @@ void MainWindow::setupBalancesTab() { }); } - menu.exec(ui->balancesTable->viewport()->mapToGlobal(pos)); + menu.exec(ui->balancesTable->viewport()->mapToGlobal(pos)); }); } -void MainWindow::setupZcashdTab() { +void MainWindow::setupZcashdTab() { ui->hushlogo->setBasePixmap(QPixmap(":/img/res/zcashdlogo.gif")); } @@ -1236,7 +1253,7 @@ void MainWindow::setupTransactionsTab() { QString memo = txModel->getMemo(index.row()); QString addr = txModel->getAddr(index.row()); - menu.addAction(tr("Copy txid"), [=] () { + menu.addAction(tr("Copy txid"), [=] () { QGuiApplication::clipboard()->setText(txid); ui->statusBar->showMessage(tr("Copied to clipboard"), 3 * 1000); }); @@ -1250,10 +1267,11 @@ void MainWindow::setupTransactionsTab() { menu.addAction(tr("View on block explorer"), [=] () { QString url; + auto explorer = Settings::getInstance()->getExplorer(); if (Settings::getInstance()->isTestnet()) { - url = "https://explorer.testnet.myhush.org/tx/" + txid; + url = explorer.testnetTxExplorerUrl + txid; } else { - url = "https://explorer.myhush.org/tx/" + txid; + url = explorer.txExplorerUrl + txid; } QDesktopServices::openUrl(QUrl(url)); }); @@ -1267,7 +1285,7 @@ void MainWindow::setupTransactionsTab() { // View Memo if (!memo.isEmpty()) { - menu.addAction(tr("View Memo"), [=] () { + menu.addAction(tr("View Memo"), [=] () { QMessageBox mb(QMessageBox::Information, tr("Memo"), memo, QMessageBox::Ok, this); mb.setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard); mb.exec(); @@ -1278,8 +1296,8 @@ void MainWindow::setupTransactionsTab() { if (!memo.isEmpty()) { int lastPost = memo.trimmed().lastIndexOf(QRegExp("[\r\n]+")); QString lastWord = memo.right(memo.length() - lastPost - 1); - - if (Settings::getInstance()->isSaplingAddress(lastWord) || + + if (Settings::getInstance()->isSaplingAddress(lastWord) || Settings::getInstance()->isSproutAddress(lastWord)) { menu.addAction(tr("Reply to ") + lastWord.left(25) + "...", [=]() { // First, cancel any pending stuff in the send tab by pretending to click @@ -1302,7 +1320,7 @@ void MainWindow::setupTransactionsTab() { } } - menu.exec(ui->transactionsTable->viewport()->mapToGlobal(pos)); + menu.exec(ui->transactionsTable->viewport()->mapToGlobal(pos)); }); } @@ -1314,11 +1332,11 @@ void MainWindow::addNewZaddr(bool sapling) { // Just double make sure the z-address is still checked if ( sapling && ui->rdioZSAddr->isChecked() ) { - ui->listReceiveAddresses->insertItem(0, addr); + ui->listReceiveAddresses->insertItem(0, addr); ui->listReceiveAddresses->setCurrentIndex(0); ui->statusBar->showMessage(QString::fromStdString("Created new zAddr") % - (sapling ? "(Sapling)" : "(Sprout)"), + (sapling ? "(Sapling)" : "(Sprout)"), 10 * 1000); } }); @@ -1328,8 +1346,8 @@ void MainWindow::addNewZaddr(bool sapling) { // Adds sapling or sprout z-addresses to the combo box. Technically, returns a // lambda, which can be connected to the appropriate signal std::function MainWindow::addZAddrsToComboList(bool sapling) { - return [=] (bool checked) { - if (checked && this->rpc->getAllZAddresses() != nullptr) { + return [=] (bool checked) { + if (checked && this->rpc->getAllZAddresses() != nullptr) { auto addrs = this->rpc->getAllZAddresses(); ui->listReceiveAddresses->clear(); @@ -1341,13 +1359,13 @@ std::function MainWindow::addZAddrsToComboList(bool sapling) { ui->listReceiveAddresses->addItem(addr, bal); } } - }); + }); // If z-addrs are empty, then create a new one. if (addrs->isEmpty()) { addNewZaddr(sapling); } - } + } }; } @@ -1370,11 +1388,11 @@ void MainWindow::setupReceiveTab() { }; // Connect t-addr radio button - QObject::connect(ui->rdioTAddr, &QRadioButton::toggled, [=] (bool checked) { + QObject::connect(ui->rdioTAddr, &QRadioButton::toggled, [=] (bool checked) { qDebug() << "taddr radio toggled"; - if (checked && this->rpc->getUTXOs() != nullptr) { + if (checked && this->rpc->getUTXOs() != nullptr) { updateTAddrCombo(checked); - } + } // Toggle the "View all addresses" button as well ui->btnViewAllAddresses->setVisible(checked); @@ -1407,7 +1425,7 @@ void MainWindow::setupReceiveTab() { QString addr = viewaddrs.tblAddresses->model()->data(index).toString(); QMenu menu(this); - menu.addAction(tr("Export Private Key"), [=] () { + menu.addAction(tr("Export Private Key"), [=] () { if (addr.isEmpty()) return; @@ -1442,7 +1460,7 @@ void MainWindow::setupReceiveTab() { // Switched to receive tab, select the z-addr radio button ui->rdioZSAddr->setChecked(true); ui->btnViewAllAddresses->setVisible(false); - + // And then select the first one ui->listReceiveAddresses->setCurrentIndex(0); } @@ -1453,7 +1471,7 @@ void MainWindow::setupReceiveTab() { ui->rcvLabel->setValidator(v); // Select item in address list - QObject::connect(ui->listReceiveAddresses, + QObject::connect(ui->listReceiveAddresses, QOverload::of(&QComboBox::currentIndexChanged), [=] (int index) { QString addr = ui->listReceiveAddresses->itemText(index); if (addr.isEmpty()) { @@ -1473,18 +1491,18 @@ void MainWindow::setupReceiveTab() { else { ui->rcvUpdateLabel->setText("Update Label"); } - + ui->rcvLabel->setText(label); ui->rcvBal->setText(Settings::getZECUSDDisplayFormat(rpc->getAllBalances()->value(addr))); - ui->txtReceive->setPlainText(addr); + ui->txtReceive->setPlainText(addr); ui->qrcodeDisplay->setQrcodeString(addr); if (rpc->getUsedAddresses()->value(addr, false)) { ui->rcvBal->setToolTip(tr("Address has been previously used")); } else { ui->rcvBal->setToolTip(tr("Address is unused")); } - - }); + + }); // Receive tab add/update label QObject::connect(ui->rcvUpdateLabel, &QPushButton::clicked, [=]() { diff --git a/src/settings.cpp b/src/settings.cpp index 56fdd39..c40dc7f 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -3,8 +3,8 @@ Settings* Settings::instance = nullptr; -Settings* Settings::init() { - if (instance == nullptr) +Settings* Settings::init() { + if (instance == nullptr) instance = new Settings(); return instance; @@ -30,15 +30,34 @@ void Settings::setAllowFetchPrices(bool allow) { QSettings().setValue("options/allowfetchprices", allow); } +Explorer Settings::getExplorer() { + // Load from the QT Settings. + QSettings s; + + auto txExplorerUrl = s.value("explorer/txExplorerUrl").toString(); + auto addressExplorerUrl = s.value("explorer/addressExplorerUrl").toString(); + auto testnetTxExplorerUrl = s.value("explorer/testnetTxExplorerUrl").toString(); + auto testnetAddressExplorerUrl = s.value("explorer/testnetAddressExplorerUrl").toString(); + + return Explorer{txExplorerUrl, addressExplorerUrl, testnetTxExplorerUrl, testnetAddressExplorerUrl}; +} + +void Settings::saveExplorer(const QString& txExplorerUrl, const QString& addressExplorerUrl, const QString& testnetTxExplorerUrl, const QString& testnetAddressExplorerUrl) { + QSettings s; + s.setValue("explorer/txExplorerUrl", txExplorerUrl); + s.setValue("explorer/addressExplorerUrl", addressExplorerUrl); + s.setValue("explorer/testnetTxExplorerUrl", testnetTxExplorerUrl); + s.setValue("explorer/testnetAddressExplorerUrl", testnetAddressExplorerUrl); +} Config Settings::getSettings() { - // Load from the QT Settings. + // Load from the QT Settings. QSettings s; - + auto host = s.value("connection/host").toString(); auto port = s.value("connection/port").toString(); auto username = s.value("connection/rpcuser").toString(); - auto password = s.value("connection/rpcpassword").toString(); + auto password = s.value("connection/rpcpassword").toString(); return Config{host, port, username, password}; } @@ -90,21 +109,21 @@ bool Settings::isSaplingAddress(QString addr) { bool Settings::isSproutAddress(QString addr) { if (!isValidAddress(addr)) return false; - + return isZAddress(addr) && !isSaplingAddress(addr); } bool Settings::isZAddress(QString addr) { if (!isValidAddress(addr)) return false; - + return addr.startsWith("z"); } bool Settings::isTAddress(QString addr) { if (!isValidAddress(addr)) return false; - + return addr.startsWith("t"); } @@ -136,8 +155,8 @@ bool Settings::isSaplingActive() { return (isTestnet() && getBlockNumber() > 0) || (!isTestnet() && getBlockNumber() > 0); } -double Settings::getZECPrice() { - return zecPrice; +double Settings::getZECPrice() { + return zecPrice; } bool Settings::getAutoShield() { @@ -150,7 +169,7 @@ void Settings::setAutoShield(bool allow) { } bool Settings::getAllowCustomFees() { - // Load from the QT Settings. + // Load from the QT Settings. return QSettings().value("options/customfees", false).toBool(); } @@ -159,7 +178,7 @@ void Settings::setAllowCustomFees(bool allow) { } bool Settings::getSaveZtxs() { - // Load from the QT Settings. + // Load from the QT Settings. return QSettings().value("options/savesenttx", true).toBool(); } @@ -235,7 +254,7 @@ bool Settings::addToZcashConf(QString confLocation, QString line) { QFile file(confLocation); if (!file.open(QIODevice::ReadWrite | QIODevice::Append)) return false; - + QTextStream out(&file); out << line << "\n"; @@ -250,9 +269,9 @@ bool Settings::removeFromZcashConf(QString confLocation, QString option) { // To remove an option, we'll create a new file, and copy over everything but the option. QFile file(confLocation); - if (!file.open(QIODevice::ReadOnly)) + if (!file.open(QIODevice::ReadOnly)) return false; - + QList lines; QTextStream in(&file); while (!in.atEnd()) { @@ -262,9 +281,9 @@ bool Settings::removeFromZcashConf(QString confLocation, QString option) { if (name != option) { lines.append(line); } - } + } file.close(); - + QFile newfile(confLocation); if (!newfile.open(QIODevice::ReadWrite | QIODevice::Truncate)) return false; @@ -316,7 +335,7 @@ bool Settings::isValidAddress(QString addr) { // Get a pretty string representation of this Payment URI QString Settings::paymentURIPretty(PaymentURI uri) { - return QString() + "Payment Request\n" + "Pay: " + uri.addr + "\nAmount: " + getZECDisplayFormat(uri.amt.toDouble()) + return QString() + "Payment Request\n" + "Pay: " + uri.addr + "\nAmount: " + getZECDisplayFormat(uri.amt.toDouble()) + "\nMemo:" + QUrl::fromPercentEncoding(uri.memo.toUtf8()); } @@ -330,7 +349,7 @@ PaymentURI Settings::parseURI(QString uri) { } uri = uri.right(uri.length() - QString("hush:").length()); - + QRegExp re("([a-zA-Z0-9]+)"); int pos; if ( (pos = re.indexIn(uri)) == -1 ) { diff --git a/src/settings.h b/src/settings.h index 07a8c29..eaabb24 100644 --- a/src/settings.h +++ b/src/settings.h @@ -10,6 +10,13 @@ struct Config { QString rpcpassword; }; +struct Explorer { + QString txExplorerUrl; + QString addressExplorerUrl; + QString testnetTxExplorerUrl; + QString testnetAddressExplorerUrl; +}; + struct ToFields; struct Tx; @@ -28,15 +35,18 @@ public: static Settings* init(); static Settings* getInstance(); + Explorer getExplorer(); + void saveExplorer(const QString& txExplorerUrl, const QString& addressExplorerUrl, const QString& testnetTxExplorerUrl, const QString& testnetAddressExplorerUrl); + Config getSettings(); void saveSettings(const QString& host, const QString& port, const QString& username, const QString& password); bool isTestnet(); void setTestnet(bool isTestnet); - + bool isSaplingAddress(QString addr); bool isSproutAddress(QString addr); - + bool isValidSaplingPrivateKey(QString pk); bool isSyncing(); @@ -44,7 +54,7 @@ public: int getZcashdVersion(); void setZcashdVersion(int version); - + void setUseEmbedded(bool r) { _useEmbedded = r; } bool useEmbedded() { return _useEmbedded; } @@ -53,7 +63,7 @@ public: int getBlockNumber(); void setBlockNumber(int number); - + bool getSaveZtxs(); void setSaveZtxs(bool save); @@ -68,7 +78,7 @@ public: bool getCheckForUpdates(); void setCheckForUpdates(bool allow); - + bool isSaplingActive(); void setUsingZcashConf(QString confLocation); @@ -79,10 +89,10 @@ public: void setPeers(int peers); int getPeers(); - + // Static stuff static const QString txidStatusMessage; - + static void saveRestore(QDialog* d); static void saveRestoreTableHeader(QTableView* table, QDialog* d, QString tablename) ; @@ -105,7 +115,7 @@ public: static QString getZboardAddr(); static int getMaxMobileAppTxns() { return 30; } - + static bool isValidAddress(QString addr); static bool addToZcashConf(QString confLocation, QString line); @@ -133,7 +143,7 @@ private: bool _useEmbedded = false; bool _headless = false; int _peerConnections = 0; - + double zecPrice = 0.0; }; diff --git a/src/settings.ui b/src/settings.ui index 54d0256..7a45c43 100644 --- a/src/settings.ui +++ b/src/settings.ui @@ -26,7 +26,7 @@ - 1 + 2 @@ -283,6 +283,128 @@ + + + Explorer + + + + + 9 + 9 + 491 + 13 + + + + Tx Explorer URL + + + + + + 9 + 105 + 491 + 3 + + + + Qt::Horizontal + + + + + + 9 + 28 + 491 + 20 + + + + https://explorer.myhush.org/tx/ + + + + + + 9 + 54 + 491 + 13 + + + + Address Explorer URL + + + + + + 9 + 73 + 491 + 20 + + + + https://explorer.myhush.org/address/ + + + + + + 9 + 112 + 491 + 13 + + + + Testnet Tx Explorer URL + + + + + + 9 + 131 + 491 + 20 + + + + https://explorer.testnet.z.cash/tx/ + + + + + + 9 + 160 + 501 + 16 + + + + Testnet Address Explorer URL + + + + + + 9 + 180 + 491 + 20 + + + + https://explorer.testnet.myhush.org/address/ + + + Troubleshooting