diff --git a/electrum/gui/qml/components/About.qml b/electrum/gui/qml/components/About.qml index 47bf890b4..8ffcfa788 100644 --- a/electrum/gui/qml/components/About.qml +++ b/electrum/gui/qml/components/About.qml @@ -6,7 +6,7 @@ import QtQuick.Controls.Material Pane { objectName: 'About' - property string title: qsTr("About Electrum") + property string title: qsTr("About Electrum Purple") Flickable { anchors.fill: parent @@ -72,7 +72,7 @@ Pane { Layout.alignment: Qt.AlignRight } Label { - text: 'https://electrum.org' + text: 'https://bitcoinpurpleblockchain.com/' textFormat: Text.RichText onLinkActivated: Qt.openUrlExternally(link) } @@ -88,11 +88,6 @@ Pane { height: constants.paddingXLarge Layout.columnSpan: 2 } - Label { - text: qsTr('Distributed by Electrum Technologies GmbH') - Layout.columnSpan: 2 - Layout.alignment: Qt.AlignHCenter - } } } diff --git a/electrum/gui/qml/components/BalanceDetails.qml b/electrum/gui/qml/components/BalanceDetails.qml index 43b177ef9..bffccabfb 100644 --- a/electrum/gui/qml/components/BalanceDetails.qml +++ b/electrum/gui/qml/components/BalanceDetails.qml @@ -41,7 +41,7 @@ Pane { visible: Daemon.currentWallet.synchronizing || !Network.isConnected text: Daemon.currentWallet.synchronizing ? qsTr('Your wallet is not synchronized. The displayed balance may be inaccurate.') - : qsTr('Your wallet is not connected to an Electrum server. The displayed balance may be outdated.') + : qsTr('Your wallet is not connected to an Electrum Purple server. The displayed balance may be outdated.') iconStyle: InfoTextArea.IconStyle.Warn } diff --git a/electrum/gui/qml/components/ChannelOpenProgressDialog.qml b/electrum/gui/qml/components/ChannelOpenProgressDialog.qml index d251f7ee1..e1ceb9f67 100644 --- a/electrum/gui/qml/components/ChannelOpenProgressDialog.qml +++ b/electrum/gui/qml/components/ChannelOpenProgressDialog.qml @@ -122,7 +122,7 @@ ElDialog { text_qr: dialog.channelBackup, text_help: qsTr('The channel you created is not recoverable from seed.') + ' ' + qsTr('To prevent fund losses, please save this backup on another device.') - + ' ' + qsTr('It may be imported in another Electrum wallet with the same seed.') + + ' ' + qsTr('It may be imported in another Electrum Purple wallet with the same seed.') }) sharedialog.open() } diff --git a/electrum/gui/qml/components/ExceptionDialog.qml b/electrum/gui/qml/components/ExceptionDialog.qml index e9aabd5be..21f15c860 100644 --- a/electrum/gui/qml/components/ExceptionDialog.qml +++ b/electrum/gui/qml/components/ExceptionDialog.qml @@ -42,7 +42,7 @@ ElDialog Label { Layout.fillWidth: true - text: qsTr('Something went wrong while executing Electrum.') + text: qsTr('Something went wrong while executing Electrum Purple.') } Label { Layout.fillWidth: true diff --git a/electrum/gui/qml/components/OpenChannelDialog.qml b/electrum/gui/qml/components/OpenChannelDialog.qml index a9b6f3d31..c0bedaee6 100644 --- a/electrum/gui/qml/components/OpenChannelDialog.qml +++ b/electrum/gui/qml/components/OpenChannelDialog.qml @@ -45,7 +45,7 @@ ElDialog { visible: !Daemon.currentWallet.lightningHasDeterministicNodeId iconStyle: InfoTextArea.IconStyle.Warn text: Daemon.currentWallet.seedType == 'segwit' - ? [ qsTr('Your channels cannot be recovered from seed, because they were created with an old version of Electrum.'), ' ', + ? [ qsTr('Your channels cannot be recovered from seed, because they were created with an old version of Electrum Purple.'), ' ', qsTr('This means that you must save a backup of your wallet every time you create a new channel.'), '\n\n', qsTr('If you want this wallet to have recoverable channels, you must close your existing channels and restore this wallet from seed.') @@ -53,7 +53,7 @@ ElDialog { : [ qsTr('Your channels cannot be recovered from seed.'), ' ', qsTr('This means that you must save a backup of your wallet every time you create a new channel.'), '\n\n', - qsTr('If you want to have recoverable channels, you must create a new wallet with an Electrum seed') + qsTr('If you want to have recoverable channels, you must create a new wallet with an Electrum Purple seed') ].join('') backgroundColor: constants.darkerDialogBackground } diff --git a/electrum/gui/qml/components/Preferences.qml b/electrum/gui/qml/components/Preferences.qml index 9216f5e1d..dd08cc0f8 100644 --- a/electrum/gui/qml/components/Preferences.qml +++ b/electrum/gui/qml/components/Preferences.qml @@ -55,7 +55,7 @@ Pane { if (Config.language != currentValue) { Config.language = currentValue var dialog = app.messageDialog.createObject(app, { - text: qsTr('Please restart Electrum to activate the new GUI settings') + text: qsTr('Please restart Electrum Purple to activate the new GUI settings') }) dialog.open() } @@ -407,7 +407,7 @@ Pane { if (!checked) { var dialog = app.messageDialog.createObject(app, { title: qsTr('Are you sure?'), - text: qsTr('Electrum will have to download the Lightning Network graph, which is not recommended on mobile.'), + text: qsTr('Electrum Purple will have to download the Lightning Network graph, which is not recommended on mobile.'), yesno: true }) dialog.accepted.connect(function() { diff --git a/electrum/gui/qml/components/SweepDialog.qml b/electrum/gui/qml/components/SweepDialog.qml index a23ff6723..fd22136d9 100644 --- a/electrum/gui/qml/components/SweepDialog.qml +++ b/electrum/gui/qml/components/SweepDialog.qml @@ -71,7 +71,7 @@ ElDialog { HelpButton { heading: qsTr('Sweep private keys') helptext: qsTr('This will create a transaction sending all funds associated with the private keys to the current wallet') + - '

' + qsTr('WIF keys are typed in Electrum, based on script type.') + '

' + + '

' + qsTr('WIF keys are typed in Electrum Purple, based on script type.') + '

' + qsTr('A few examples') + ':
' + 'p2pkh:KxZcY47uGp9a... \t-> 1DckmggQM...
' + 'p2wpkh-p2sh:KxZcY47uGp9a... \t-> 3NhNeZQXF...
' + diff --git a/electrum/gui/qml/components/main.qml b/electrum/gui/qml/components/main.qml index 6070cfbe0..5721f63f6 100644 --- a/electrum/gui/qml/components/main.qml +++ b/electrum/gui/qml/components/main.qml @@ -616,7 +616,7 @@ ApplicationWindow stack.pop() } else { var dialog = app.messageDialog.createObject(app, { - title: qsTr('Close Electrum?'), + title: qsTr('Close Electrum Purple?'), yesno: true }) dialog.accepted.connect(function() { diff --git a/electrum/gui/qml/components/wizard/WCHaveSeed.qml b/electrum/gui/qml/components/wizard/WCHaveSeed.qml index 95ce6cd6f..2ca6fbd72 100644 --- a/electrum/gui/qml/components/wizard/WCHaveSeed.qml +++ b/electrum/gui/qml/components/wizard/WCHaveSeed.qml @@ -50,15 +50,15 @@ WizardComponent { var t = { 'electrum': [ // not shown as electrum is the default seed type anyways and the name is self-explanatory - qsTr('Electrum seeds are the default seed type.'), - qsTr('If you are restoring from a seed previously created by Electrum, choose this option') + qsTr('Electrum Purple seeds are the default seed type.'), + qsTr('If you are restoring from a seed previously created by Electrum Purple, choose this option') ].join(' '), 'bip39': [ - qsTr('BIP39 seeds can be imported in Electrum, so that users can access funds locked in other wallets.'), + qsTr('BIP39 seeds can be imported in Electrum Purple, so that users can access funds locked in other wallets.'), qsTr('BIP39 seeds do not include a version number, which compromises compatibility with future software.'), ].join(' '), 'slip39': [ - qsTr('SLIP39 seeds can be imported in Electrum, so that users can access funds locked in other wallets.'), + qsTr('SLIP39 seeds can be imported in Electrum Purple, so that users can access funds locked in other wallets.'), ].join(' ') } infotext.text = t[seed_variant_cb.currentValue] diff --git a/electrum/gui/qml/components/wizard/WCImport.qml b/electrum/gui/qml/components/wizard/WCImport.qml index 231a7f9ff..c38e4d926 100644 --- a/electrum/gui/qml/components/wizard/WCImport.qml +++ b/electrum/gui/qml/components/wizard/WCImport.qml @@ -31,7 +31,7 @@ WizardComponent { InfoTextArea { Layout.preferredWidth: parent.width backgroundColor: constants.darkerDialogBackground - text: qsTr('Enter a list of Bitcoin addresses (this will create a watching-only wallet), or a list of private keys.') + text: qsTr('Enter a list of Bitcoin Purple addresses (this will create a watching-only wallet), or a list of private keys.') } RowLayout { diff --git a/electrum/gui/qml/components/wizard/WCWalletType.qml b/electrum/gui/qml/components/wizard/WCWalletType.qml index f5caa1f1e..77910f52a 100644 --- a/electrum/gui/qml/components/wizard/WCWalletType.qml +++ b/electrum/gui/qml/components/wizard/WCWalletType.qml @@ -55,7 +55,7 @@ WizardComponent { Layout.fillWidth: true ButtonGroup.group: wallettypegroup property string wallettype: 'imported' - text: qsTr('Import Bitcoin addresses or private keys') + text: qsTr('Import Bitcoin Purple addresses or private keys') } } } diff --git a/electrum/gui/qml/components/wizard/WCWelcome.qml b/electrum/gui/qml/components/wizard/WCWelcome.qml index d1757b6da..050997f0c 100644 --- a/electrum/gui/qml/components/wizard/WCWelcome.qml +++ b/electrum/gui/qml/components/wizard/WCWelcome.qml @@ -47,7 +47,7 @@ WizardComponent { Label { Layout.alignment: Qt.AlignHCenter Layout.preferredWidth: parent.width - text: qsTr("If you are unsure what this is, leave them unchecked and Electrum will automatically select servers.") + text: qsTr("If you are unsure what this is, leave them unchecked and Electrum Purple will automatically select servers.") wrapMode: Text.WordWrap horizontalAlignment: Text.AlignHLeft font.pixelSize: constants.fontSizeMedium diff --git a/electrum/gui/qt/confirm_tx_dialog.py b/electrum/gui/qt/confirm_tx_dialog.py index f58e03d31..5b85f5d10 100644 --- a/electrum/gui/qt/confirm_tx_dialog.py +++ b/electrum/gui/qt/confirm_tx_dialog.py @@ -1207,7 +1207,7 @@ class ConfirmTxDialog(TxEditor): grid.addWidget(HelpLabel(_("Amount to be sent") + ": ", msg), 0, 0) grid.addWidget(self.amount_label, 0, 1) - msg = _('Bitcoin transactions are in general not free. A transaction fee is paid by the sender of the funds.') + '\n\n'\ + msg = _('Bitcoin Purple transactions are in general not free. A transaction fee is paid by the sender of the funds.') + '\n\n'\ + _('The amount of fee can be decided freely by the sender. However, transactions with low fees take more time to be processed.') + '\n\n'\ + _('A suggested fee is automatically added to this field. You may override it. The suggested fee increases with the size of the transaction.') diff --git a/electrum/gui/qt/exception_window.py b/electrum/gui/qt/exception_window.py index 848b97cc0..336dd061c 100644 --- a/electrum/gui/qt/exception_window.py +++ b/electrum/gui/qt/exception_window.py @@ -52,7 +52,7 @@ class Exception_Window(BaseCrashReporter, QWidget, MessageBoxMixin, Logger): self.config = config QWidget.__init__(self) - self.setWindowTitle('Electrum - ' + _('An Error Occurred')) + self.setWindowTitle('Electrum Purple - ' + _('An Error Occurred')) self.setMinimumSize(600, 300) Logger.__init__(self) diff --git a/electrum/gui/qt/history_list.py b/electrum/gui/qt/history_list.py index c1d44fff8..b58885fe3 100644 --- a/electrum/gui/qt/history_list.py +++ b/electrum/gui/qt/history_list.py @@ -636,11 +636,11 @@ class HistoryList(MyTreeView, AcceptFileDragDrop): grid.addWidget(QLabel(self.format_date(start_date)), 1, 1) grid.addWidget(QLabel(self.format_date(end_date)), 1, 2) # - grid.addWidget(QLabel(_("BTC balance")), 2, 0) + grid.addWidget(QLabel(_("BTCP balance")), 2, 0) grid.addWidget(QLabel(format_amount(start['BTC_balance'])), 2, 1) grid.addWidget(QLabel(format_amount(end['BTC_balance'])), 2, 2) # - grid.addWidget(QLabel(_("BTC Fiat price")), 3, 0) + grid.addWidget(QLabel(_("BTCP Fiat price")), 3, 0) grid.addWidget(QLabel(format_fiat(start.get('BTC_fiat_price'))), 3, 1) grid.addWidget(QLabel(format_fiat(end.get('BTC_fiat_price'))), 3, 2) # @@ -657,11 +657,11 @@ class HistoryList(MyTreeView, AcceptFileDragDrop): grid.addWidget(QLabel(format_fiat(end.get('unrealized_gains', ''))), 6, 2) # grid2 = QGridLayout() - grid2.addWidget(QLabel(_("BTC incoming")), 0, 0) + grid2.addWidget(QLabel(_("BTCP incoming")), 0, 0) grid2.addWidget(QLabel(format_amount(flow['BTC_incoming'])), 0, 1) grid2.addWidget(QLabel(_("Fiat incoming")), 1, 0) grid2.addWidget(QLabel(format_fiat(flow.get('fiat_incoming'))), 1, 1) - grid2.addWidget(QLabel(_("BTC outgoing")), 2, 0) + grid2.addWidget(QLabel(_("BTCP outgoing")), 2, 0) grid2.addWidget(QLabel(format_amount(flow['BTC_outgoing'])), 2, 1) grid2.addWidget(QLabel(_("Fiat outgoing")), 3, 0) grid2.addWidget(QLabel(format_fiat(flow.get('fiat_outgoing'))), 3, 1) @@ -682,8 +682,8 @@ class HistoryList(MyTreeView, AcceptFileDragDrop): _logger.error(f"could not import electrum.plot. This feature needs matplotlib to be installed. exc={e!r}") self.main_window.show_message("\n\n".join([ _("This feature requires the 'matplotlib' Python library which is not " - "included in Electrum by default."), - _("If you run Electrum from source you can install matplotlib to use this feature."), + "included in Electrum Purple by default."), + _("If you run Electrum Purple from source you can install matplotlib to use this feature."), _("It is not possible to install matplotlib inside the binary executables " "(e.g. AppImage or Windows installation).") ])) diff --git a/electrum/gui/qt/invoice_list.py b/electrum/gui/qt/invoice_list.py index dd8bfb35d..2a5a5411f 100644 --- a/electrum/gui/qt/invoice_list.py +++ b/electrum/gui/qt/invoice_list.py @@ -179,7 +179,7 @@ class InvoiceList(MyTreeView): copy_menu = self.add_copy_menu(menu, idx) address = invoice.get_address() if address: - copy_menu.addAction(_("Address"), lambda: self.main_window.do_copy(invoice.get_address(), title='Bitcoin Address')) + copy_menu.addAction(_("Address"), lambda: self.main_window.do_copy(invoice.get_address(), title='Bitcoin Purple Address')) status = wallet.get_invoice_status(invoice) if status == PR_UNPAID: if bool(invoice.get_amount_sat()): diff --git a/electrum/gui/qt/main_window.py b/electrum/gui/qt/main_window.py index c405cd65f..b42ccc9fa 100644 --- a/electrum/gui/qt/main_window.py +++ b/electrum/gui/qt/main_window.py @@ -708,7 +708,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener): try: new_path = self.wallet.save_backup(backup_dir) except BaseException as reason: - self.show_critical(_("Electrum was unable to copy your wallet file to the specified location.") + "\n" + str(reason), title=_("Unable to create backup")) + self.show_critical(_("Electrum Purple was unable to copy your wallet file to the specified location.") + "\n" + str(reason), title=_("Unable to create backup")) return msg = _("A copy of your wallet file was created in")+" '%s'" % str(new_path) self.show_message(msg, title=_("Wallet backup created")) @@ -827,11 +827,11 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener): about_action.setMenuRole(QAction.MenuRole.AboutRole) # make sure OS recognizes it as "About" self.help_menu.addAction(about_action) self.help_menu.addAction(_("&Changelog"), lambda: webopen(constants.RELEASE_NOTES_URL)) - self.help_menu.addAction(_("&Official website"), lambda: webopen("https://electrum.org")) + self.help_menu.addAction(_("&Official website"), lambda: webopen("https://bitcoinpurpleblockchain.com/")) self.help_menu.addSeparator() self.help_menu.addAction(_("&Documentation"), lambda: webopen("http://docs.electrum.org/")).setShortcut(QKeySequence.StandardKey.HelpContents) if not constants.net.TESTNET: - self.help_menu.addAction(_("&Bitcoin Paper"), self.show_bitcoin_paper) + self.help_menu.addAction(_("&Bitcoin Purple Whitepaper"), lambda: webopen("https://github.com/BitcoinPurpleBlockchain/purple-whitepaper/blob/main/whitepaper.pdf")) self.help_menu.addAction(_("&Report Bug"), self.show_report_bug) self.help_menu.addSeparator() if self.network: @@ -850,44 +850,24 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener): self.show_error(_('No donation address for this server')) def show_about(self): - QMessageBox.about(self, "Electrum", + QMessageBox.about(self, "Electrum Purple", (_("Version")+" %s" % ELECTRUM_VERSION + "\n\n" + - _("Electrum's focus is speed, with low resource usage and simplifying Bitcoin.") + " " + + _("Electrum Purple's focus is speed, with low resource usage and simplifying Bitcoin Purple.") + " " + _("You do not need to perform regular backups, because your wallet can be " "recovered from a secret phrase that you can memorize or write on paper.") + " " + _("Startup times are instant because it operates in conjunction with high-performance " - "servers that handle the most complicated parts of the Bitcoin system.") + "\n\n" + + "servers that handle the most complicated parts of the Bitcoin Purple system.") + "\n\n" + _("Uses icons from the Icons8 icon pack (icons8.com)."))) - def show_bitcoin_paper(self): - filename = os.path.join(self.config.path, 'bitcoin.pdf') - if not os.path.exists(filename): - def fetch_bitcoin_paper(): - s = self._fetch_tx_from_network("54e48e5f5c656b26c3bca14a8c95aa583d07ebe84dde3b7dd4a78f4e4186e713") - if not s: - raise concurrent.futures.CancelledError - s = s.split("0100000000000000")[1:-1] - out = ''.join(x[6:136] + x[138:268] + x[270:400] if len(x) > 136 else x[6:] for x in s)[16:-20] - with open(filename, 'wb') as f: - f.write(bytes.fromhex(out)) - WaitingDialog( - self, - _("Fetching Bitcoin Paper..."), - fetch_bitcoin_paper, - on_success=lambda _: webopen('file:///' + filename), - on_error=self.on_error, - ) - return - webopen('file:///' + filename) def show_report_bug(self): msg = ' '.join([ _("Please report any bugs as issues on github:
"), f'''{constants.GIT_REPO_ISSUES_URL}

''', - _("Before reporting a bug, upgrade to the most recent version of Electrum (latest release or git HEAD), and include the version number in your report."), + _("Before reporting a bug, upgrade to the most recent version of Electrum Purple (latest release or git HEAD), and include the version number in your report."), _("Try to explain not only what the bug is, but how it occurs.") ]) - self.show_message(msg, title="Electrum - " + _("Reporting Bugs"), rich_text=True) + self.show_message(msg, title="Electrum Purple - " + _("Reporting Bugs"), rich_text=True) def notify_transactions(self): if self.tx_notification_queue.qsize() == 0: @@ -912,7 +892,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener): def notify(self, message): if self.tray: - self.tray.showMessage("Electrum", message, read_QIcon("electrum_dark_icon"), 20000) + self.tray.showMessage("Electrum Purple", message, read_QIcon("electrum_dark_icon"), 20000) def timer_actions(self): # refresh invoices and requests because they show ETA @@ -1276,7 +1256,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener): if not self.config.SWAPSERVER_URL and not self.config.SWAPSERVER_NPUB: if not self.question('\n'.join([ - _('Electrum uses Nostr in order to find liquidity providers.'), + _('Electrum Purple uses Nostr in order to find liquidity providers.'), _('Do you want to enable Nostr?'), ])): return None @@ -1975,7 +1955,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener): line2 = QLineEdit() line2.setFixedWidth(32 * char_width_in_lineedit()) address_label = QLabel(_("Address")) - address_label.setToolTip(_("Bitcoin- or Lightning address")) + address_label.setToolTip(_("Bitcoin Purple- or Lightning address")) grid.addWidget(address_label, 1, 0) grid.addWidget(line1, 1, 1) grid.addWidget(QLabel(_("Name")), 2, 0) @@ -1989,7 +1969,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener): assert not self.wallet.has_lightning() if self.wallet.can_have_deterministic_lightning(): msg = _( - "Lightning is not enabled because this wallet was created with an old version of Electrum. " + "Lightning is not enabled because this wallet was created with an old version of Electrum Purple. " "Create lightning keys?") else: msg = _( @@ -2096,7 +2076,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener): "private key, and verifying with the corresponding public key. The " "address you have entered does not have a unique public key, so these " "operations cannot be performed.") + '\n\n' + \ - _('The operation is undefined. Not just in Electrum, but in general.') + _('The operation is undefined. Not just in Electrum Purple, but in general.') @protected def do_sign(self, address, message, signature, password): @@ -2258,7 +2238,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener): try: return tx_from_any(data) except BaseException as e: - self.show_critical(_("Electrum was unable to parse your transaction") + ":\n" + repr(e)) + self.show_critical(_("Electrum Purple was unable to parse your transaction") + ":\n" + repr(e)) return def import_channel_backup(self, encrypted: str): @@ -2321,7 +2301,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener): with open(fileName, "rb") as f: file_content = f.read() # type: bytes except (ValueError, IOError, os.error) as reason: - self.show_critical(_("Electrum was unable to open your transaction file") + "\n" + str(reason), + self.show_critical(_("Electrum Purple was unable to open your transaction file") + "\n" + str(reason), title=_("Unable to read file or no transaction found")) if file_content is None: return None @@ -2480,7 +2460,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener): self.do_export_privkeys(filename, private_keys, csv_button.isChecked()) except (IOError, os.error) as reason: txt = "\n".join([ - _("Electrum was unable to produce a private key-export."), + _("Electrum Purple was unable to produce a private key-export."), str(reason) ]) self.show_critical(txt, title=_("Unable to create csv")) @@ -2669,7 +2649,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener): self.fx.trigger_update() run_hook('close_settings_dialog') if d.need_restart: - self.show_warning(_('Please restart Electrum to activate the new GUI settings'), title=_('Success')) + self.show_warning(_('Please restart Electrum Purple to activate the new GUI settings'), title=_('Success')) else: # Some values might need to be updated if settings have changed. # For example 'Can send' in the lightning tab will change if the fees config is changed. @@ -2685,7 +2665,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener): for warning in list(warnings)[:3]: warning = ''.join([ - _("Are you sure you want to close Electrum?"), + _("Are you sure you want to close Electrum Purple?"), '\n\n', _("An ongoing operation requires you to stay online."), '\n', @@ -2930,7 +2910,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener): self.showing_cert_mismatch_error = True self.show_critical(title=_("Certificate mismatch"), msg=_("The SSL certificate provided by the main server did not match the fingerprint passed in with the --serverfingerprint option.") + "\n\n" + - _("Electrum will now exit.")) + _("Electrum Purple will now exit.")) self.showing_cert_mismatch_error = False self.close() diff --git a/electrum/gui/qt/network_dialog.py b/electrum/gui/qt/network_dialog.py index 8d72deb1f..c01d08b53 100644 --- a/electrum/gui/qt/network_dialog.py +++ b/electrum/gui/qt/network_dialog.py @@ -243,7 +243,7 @@ class ProxyWidget(QWidget): grid.addWidget(self.proxy_cb, 0, 0, 1, 4) proxy_helpbutton = HelpButton( - _('Proxy settings apply to all connections: with Electrum servers, but also with third-party services.')) + _('Proxy settings apply to all connections: with Electrum Purple servers, but also with third-party services.')) grid.addWidget(proxy_helpbutton, 0, 4, alignment=Qt.AlignmentFlag.AlignRight) grid.addWidget(self.proxy_mode, 1, 0, 1, 1) grid.addWidget(self.proxy_host, 1, 1, 1, 3) diff --git a/electrum/gui/qt/password_dialog.py b/electrum/gui/qt/password_dialog.py index 44e11434f..88c01efbc 100644 --- a/electrum/gui/qt/password_dialog.py +++ b/electrum/gui/qt/password_dialog.py @@ -243,7 +243,7 @@ class ChangePasswordDialogForSW(ChangePasswordDialogBase): msg += ' ' + _('Use this dialog to add a password to your wallet.') else: if not is_encrypted: - msg = _('Your bitcoins are password protected. However, your wallet file is not encrypted.') + msg = _('Your Bitcoin Purple coins are password protected. However, your wallet file is not encrypted.') else: msg = _('Your wallet is password protected and encrypted.') msg += ' ' + _('Use this dialog to change your password.') diff --git a/electrum/gui/qt/plugins_dialog.py b/electrum/gui/qt/plugins_dialog.py index 6e65df4c9..24c9e7c1d 100644 --- a/electrum/gui/qt/plugins_dialog.py +++ b/electrum/gui/qt/plugins_dialog.py @@ -100,7 +100,7 @@ class PluginDialog(WindowModalDialog): if not self.plugins.is_available(self.name): msg = "\n".join([ _('This plugin requires installation of additional dependencies.'), - _('For Electrum to recognize external packages, you need to run it from source.') + _('For Electrum Purple to recognize external packages, you need to run it from source.') ]) self.window.show_message(msg) return @@ -161,7 +161,7 @@ class PluginsDialog(WindowModalDialog, MessageBoxMixin): _logger = get_logger(__name__) def __init__(self, config: 'SimpleConfig', plugins: 'Plugins', *, gui_object: Optional['ElectrumGui'] = None): - WindowModalDialog.__init__(self, None, _('Electrum Plugins')) + WindowModalDialog.__init__(self, None, _('Electrum Purple Plugins')) self.gui_object = gui_object self.config = config self.plugins = plugins diff --git a/electrum/gui/qt/qrwindow.py b/electrum/gui/qt/qrwindow.py index 497368b59..8ab0f41f8 100644 --- a/electrum/gui/qt/qrwindow.py +++ b/electrum/gui/qt/qrwindow.py @@ -36,7 +36,7 @@ class QR_Window(QWidget): def __init__(self, win): QWidget.__init__(self) self.main_window = win - self.setWindowTitle('Electrum - '+_('Payment Request')) + self.setWindowTitle('Electrum Purple - '+_('Payment Request')) self.setMinimumSize(800, 800) self.setFocusPolicy(Qt.FocusPolicy.NoFocus) main_box = QHBoxLayout() diff --git a/electrum/gui/qt/receive_tab.py b/electrum/gui/qt/receive_tab.py index fe60c5698..9b5310130 100644 --- a/electrum/gui/qt/receive_tab.py +++ b/electrum/gui/qt/receive_tab.py @@ -193,8 +193,8 @@ class ReceiveTab(QWidget, MessageBoxMixin, Logger): _('This information is seen by the recipient if you send them a signed payment request.'), '\n\n', _('For on-chain requests, the address gets reserved until expiration. After that, it might get reused.'), ' ', - _('The bitcoin address never expires and will always be part of this electrum wallet.'), ' ', - _('You can reuse a bitcoin address any number of times but it is not good for your privacy.'), + _('The Bitcoin Purple address never expires and will always be part of this Electrum Purple wallet.'), ' ', + _('You can reuse a Bitcoin Purple address any number of times but it is not good for your privacy.'), '\n\n', _('For Lightning requests, payments will not be accepted after the expiration.'), ]) @@ -284,7 +284,7 @@ class ReceiveTab(QWidget, MessageBoxMixin, Logger): def get_tab_data(self): if self.URI: - out = self.URI, self.URI, self.URI_help, _('Bitcoin URI') + out = self.URI, self.URI, self.URI_help, _('Bitcoin Purple URI') elif self.addr: out = self.addr, self.addr, self.address_help, _('Address') else: diff --git a/electrum/gui/qt/request_list.py b/electrum/gui/qt/request_list.py index 9e66fcc42..eff30ae2a 100644 --- a/electrum/gui/qt/request_list.py +++ b/electrum/gui/qt/request_list.py @@ -200,9 +200,9 @@ class RequestList(MyTreeView): menu = QMenu(self) copy_menu = self.add_copy_menu(menu, idx) if req.get_address(): - copy_menu.addAction(_("Address"), lambda: self.main_window.do_copy(req.get_address(), title='Bitcoin Address')) + copy_menu.addAction(_("Address"), lambda: self.main_window.do_copy(req.get_address(), title='Bitcoin Purple Address')) if URI := self.wallet.get_request_URI(req): - copy_menu.addAction(_("Bitcoin URI"), lambda: self.main_window.do_copy(URI, title='Bitcoin URI')) + copy_menu.addAction(_("Bitcoin Purple URI"), lambda: self.main_window.do_copy(URI, title='Bitcoin Purple URI')) if req.is_lightning(): copy_menu.addAction(_("Lightning Request"), lambda: self.main_window.do_copy(self.wallet.get_bolt11_invoice(req), title='Lightning Request')) #if 'view_url' in req: diff --git a/electrum/gui/qt/seed_dialog.py b/electrum/gui/qt/seed_dialog.py index 0b0da25ae..bca69643b 100644 --- a/electrum/gui/qt/seed_dialog.py +++ b/electrum/gui/qt/seed_dialog.py @@ -52,7 +52,7 @@ MSG_PASSPHRASE_WARN_ISSUE4566 = _("Warning") + ": "\ + _("You have multiple consecutive whitespaces or leading/trailing " "whitespaces in your passphrase.") + " " \ + _("This is discouraged.") + " " \ - + _("Due to a bug, old versions of Electrum will NOT be creating the " + + _("Due to a bug, old versions of Electrum Purple will NOT be creating the " "same wallet as newer versions or other software.") @@ -233,15 +233,15 @@ class SeedWidget(QWidget): if self.seed_type == 'bip39': message = ' '.join([ '' + _('Warning') + ': ', - _('BIP39 seeds can be imported in Electrum, so that users can access funds locked in other wallets.'), + _('BIP39 seeds can be imported in Electrum Purple, so that users can access funds locked in other wallets.'), _('However, we do not generate BIP39 seeds, because they do not meet our safety standard.'), _('BIP39 seeds do not include a version number, which compromises compatibility with future software.'), - _('We do not guarantee that BIP39 imports will always be supported in Electrum.'), + _('We do not guarantee that BIP39 imports will always be supported in Electrum Purple.'), ]) elif self.seed_type == 'slip39': message = ' '.join([ '' + _('Warning') + ': ', - _('SLIP39 seeds can be imported in Electrum, so that users can access funds locked in other wallets.'), + _('SLIP39 seeds can be imported in Electrum Purple, so that users can access funds locked in other wallets.'), _('However, we do not generate SLIP39 seeds.'), ]) else: @@ -420,7 +420,7 @@ class KeysWidget(QWidget): class SeedDialog(WindowModalDialog): def __init__(self, parent, seed, passphrase, *, config: 'SimpleConfig'): - WindowModalDialog.__init__(self, parent, ('Electrum - ' + _('Seed'))) + WindowModalDialog.__init__(self, parent, ('Electrum Purple - ' + _('Seed'))) self.setMinimumWidth(400) vbox = QVBoxLayout(self) title = _("Your wallet generation seed is:") diff --git a/electrum/gui/qt/send_tab.py b/electrum/gui/qt/send_tab.py index cdb97cceb..2c14a6909 100644 --- a/electrum/gui/qt/send_tab.py +++ b/electrum/gui/qt/send_tab.py @@ -73,7 +73,7 @@ class SendTab(QWidget, MessageBoxMixin, Logger): msg = (_("Recipient of the funds.") + "\n\n" + _("This field can contain:") + "\n" - + _("- a Bitcoin address or BIP21 URI") + "\n" + + _("- a Bitcoin Purple address or BIP21 URI") + "\n" + _("- a Lightning invoice") + "\n" + _("- a label from your list of contacts") + "\n" + _("- an openalias") + "\n" @@ -620,7 +620,7 @@ class SendTab(QWidget, MessageBoxMixin, Logger): for o in outputs: if o.scriptpubkey is None: - self.show_error(_('Bitcoin Address is None')) + self.show_error(_('Bitcoin Purple Address is None')) return True if o.value is None: self.show_error(_('Invalid Amount')) diff --git a/electrum/gui/qt/settings_dialog.py b/electrum/gui/qt/settings_dialog.py index 87b49323e..254f0119c 100644 --- a/electrum/gui/qt/settings_dialog.py +++ b/electrum/gui/qt/settings_dialog.py @@ -122,7 +122,7 @@ class SettingsDialog(QDialog, QtEventListener): if not use_trampoline: if not window.question('\n'.join([ _("Are you sure you want to disable trampoline?"), - _("Without this option, Electrum will need to sync with the Lightning network on every start."), + _("Without this option, Electrum Purple will need to sync with the Lightning network on every start."), _("This may impact the reliability of your payments."), ]), parent=self): trampoline_cb.setCheckState(Qt.CheckState.Checked) diff --git a/electrum/gui/qt/transaction_dialog.py b/electrum/gui/qt/transaction_dialog.py index 4f8345df4..054fca0d5 100644 --- a/electrum/gui/qt/transaction_dialog.py +++ b/electrum/gui/qt/transaction_dialog.py @@ -449,7 +449,7 @@ def show_transaction( d.broadcast_button.setVisible(False) except SerializationError as e: _logger.exception('unable to deserialize the transaction') - parent.show_critical(_("Electrum was unable to deserialize the transaction:") + "\n" + str(e)) + parent.show_critical(_("Electrum Purple was unable to deserialize the transaction:") + "\n" + str(e)) except UserCancelled: return else: diff --git a/electrum/gui/qt/update_checker.py b/electrum/gui/qt/update_checker.py index f3c918c5b..21eb872dd 100644 --- a/electrum/gui/qt/update_checker.py +++ b/electrum/gui/qt/update_checker.py @@ -30,7 +30,7 @@ class UpdateCheck(QDialog, Logger): def __init__(self, *, latest_version=None): QDialog.__init__(self) - self.setWindowTitle('Electrum - ' + _('Update Check')) + self.setWindowTitle('Electrum Purple - ' + _('Update Check')) self.content = QVBoxLayout() self.content.setContentsMargins(*[10]*4) @@ -88,10 +88,10 @@ class UpdateCheck(QDialog, Logger): self.detail_label.setText(_("You can download the new version from {}.").format(url)) else: self.heading_label.setText('

' + _("Already up to date") + '

') - self.detail_label.setText(_("You are already on the latest version of Electrum.")) + self.detail_label.setText(_("You are already on the latest version of Electrum Purple.")) else: self.heading_label.setText('

' + _("Checking for updates...") + '

') - self.detail_label.setText(_("Please wait while Electrum checks for available updates.")) + self.detail_label.setText(_("Please wait while Electrum Purple checks for available updates.")) class UpdateCheckThread(QThread, Logger): diff --git a/electrum/gui/qt/wallet_info_dialog.py b/electrum/gui/qt/wallet_info_dialog.py index 4c3912dec..979d4a9fa 100644 --- a/electrum/gui/qt/wallet_info_dialog.py +++ b/electrum/gui/qt/wallet_info_dialog.py @@ -82,13 +82,13 @@ class WalletInfoDialog(WindowModalDialog): label.setIcon(read_QIcon('cloud_no')) grid.addWidget(label, cur_row, 1) if wallet.get_seed_type() == 'segwit': - msg = _("Your channels cannot be recovered from seed, because they were created with an old version of Electrum. " + msg = _("Your channels cannot be recovered from seed, because they were created with an old version of Electrum Purple. " "This means that you must save a backup of your wallet every time you create a new channel.\n\n" "If you want this wallet to have recoverable channels, you must close your existing channels and restore this wallet from seed") else: msg = _("Your channels cannot be recovered from seed. " "This means that you must save a backup of your wallet every time you create a new channel.\n\n" - "If you want to have recoverable channels, you must create a new wallet with an Electrum seed") + "If you want to have recoverable channels, you must create a new wallet with an Electrum Purple seed") grid.addWidget(HelpButton(msg), cur_row, 3) cur_row += 1 grid.addWidget(WWLabel(_('Lightning Node ID:')), cur_row, 0) diff --git a/electrum/gui/qt/wizard/server_connect.py b/electrum/gui/qt/wizard/server_connect.py index 19b403d13..ffff7eb9b 100644 --- a/electrum/gui/qt/wizard/server_connect.py +++ b/electrum/gui/qt/wizard/server_connect.py @@ -36,7 +36,7 @@ class QEServerConnectWizard(ServerConnectWizard, QEAbstractWizard): class WCWelcome(WizardComponent): def __init__(self, parent, wizard): WizardComponent.__init__(self, parent, wizard, title='Network Configuration') - self.wizard_title = _('Electrum Bitcoin Wallet') + self.wizard_title = _('Electrum Purple Wallet') self.first_help_label = QLabel() self.first_help_label.setText(_("Optional settings to customize your network connection") + ":") @@ -45,7 +45,7 @@ class WCWelcome(WizardComponent): self.config_proxy_w = QCheckBox(_('Use Proxy')) self.config_proxy_w.setChecked(False) self.config_proxy_w.stateChanged.connect(self.on_updated) - self.config_server_w = QCheckBox(_('Select Electrum Server')) + self.config_server_w = QCheckBox(_('Select Electrum Purple Server')) self.config_server_w.setChecked(False) self.config_server_w.stateChanged.connect(self.on_updated) options_w = QWidget() diff --git a/electrum/gui/qt/wizard/terms_of_use.py b/electrum/gui/qt/wizard/terms_of_use.py index 324b67662..aa075aacc 100644 --- a/electrum/gui/qt/wizard/terms_of_use.py +++ b/electrum/gui/qt/wizard/terms_of_use.py @@ -33,7 +33,7 @@ class QETermsOfUseWizard(TermsOfUseWizard, QEAbstractWizard): class WCTermsOfUseScreen(WizardComponent): def __init__(self, parent, wizard): WizardComponent.__init__(self, parent, wizard, title='') - self.wizard_title = _('Electrum Terms of Use') + self.wizard_title = _('Electrum Purple Terms of Use') self.img_label = QLabel() pixmap = QPixmap(icon_path('electrum_darkblue_1.png')) self.img_label.setPixmap(pixmap) diff --git a/electrum/gui/qt/wizard/wallet.py b/electrum/gui/qt/wizard/wallet.py index 8397b7ba3..234ed1009 100644 --- a/electrum/gui/qt/wizard/wallet.py +++ b/electrum/gui/qt/wizard/wallet.py @@ -37,7 +37,7 @@ if TYPE_CHECKING: from electrum.plugin import Plugins, DeviceInfo from electrum.gui.qt import QElectrumApplication -WIF_HELP_TEXT = (_('WIF keys are typed in Electrum, based on script type.') + '\n\n' + +WIF_HELP_TEXT = (_('WIF keys are typed in Electrum Purple, based on script type.') + '\n\n' + _('A few examples') + ':\n' + 'p2pkh:KxZcY47uGp9a... \t-> 1DckmggQM...\n' + 'p2wpkh-p2sh:KxZcY47uGp9a... \t-> 3NhNeZQXF...\n' + @@ -243,7 +243,7 @@ class WalletWizardComponent(WizardComponent, ABC): class WCWalletName(WalletWizardComponent, Logger): def __init__(self, parent, wizard): - WalletWizardComponent.__init__(self, parent, wizard, title=_('Electrum wallet')) + WalletWizardComponent.__init__(self, parent, wizard, title=_('Electrum Purple wallet')) Logger.__init__(self) path = wizard._path @@ -393,7 +393,7 @@ class WCWalletType(WalletWizardComponent): ChoiceItem(key='standard', label=_('Standard wallet')), ChoiceItem(key='2fa', label=_('Wallet with two-factor authentication')), ChoiceItem(key='multisig', label=_('Multi-signature wallet')), - ChoiceItem(key='imported', label=_('Import Bitcoin addresses or private keys')), + ChoiceItem(key='imported', label=_('Import Bitcoin Purple addresses or private keys')), ] choices = [c for c in wallet_kinds if c.key in wallet_types] @@ -962,9 +962,9 @@ class WCMultisig(WalletWizardComponent): class WCImport(WalletWizardComponent): def __init__(self, parent, wizard): - WalletWizardComponent.__init__(self, parent, wizard, title=_('Import Bitcoin Addresses or Private Keys')) + WalletWizardComponent.__init__(self, parent, wizard, title=_('Import Bitcoin Purple Addresses or Private Keys')) message = _( - 'Enter a list of Bitcoin addresses (this will create a watching-only wallet), or a list of private keys.') + 'Enter a list of Bitcoin Purple addresses (this will create a watching-only wallet), or a list of private keys.') header_layout = QHBoxLayout() label = WWLabel(message) label.setMinimumWidth(400)