From 64b88fbded337c59257723f239011a02c4c2e759 Mon Sep 17 00:00:00 2001 From: Davide Grilli Date: Sun, 23 Nov 2025 22:09:21 +0100 Subject: [PATCH] Rename Bitcoin to Palladium in UI and codebase Update all references to "Bitcoin" and "Electrum" in the UI and codebase to "Palladium" and "Pallectrum" respectively. This includes network names, wallet types, error messages, and other user-facing text. Also updates the BIP21 URI scheme from 'bitcoin' to 'palladium'. --- electrum/gui/qml/components/About.qml | 28 +------------------ .../gui/qml/components/BalanceDetails.qml | 2 +- .../components/ChannelOpenProgressDialog.qml | 2 +- .../gui/qml/components/ExceptionDialog.qml | 2 +- .../gui/qml/components/OpenChannelDialog.qml | 4 +-- electrum/gui/qml/components/Preferences.qml | 6 ++-- electrum/gui/qml/components/SweepDialog.qml | 2 +- electrum/gui/qml/components/main.qml | 2 +- .../gui/qml/components/wizard/WCHaveSeed.qml | 8 +++--- .../gui/qml/components/wizard/WCImport.qml | 2 +- .../wizard/WCScriptAndDerivation.qml | 6 ++-- .../qml/components/wizard/WCWalletType.qml | 2 +- .../gui/qml/components/wizard/WCWelcome.qml | 2 +- electrum/gui/qml/qeapp.py | 6 ++-- electrum/gui/qml/qenetwork.py | 2 +- electrum/gui/qml/qeqr.py | 2 +- electrum/gui/qt/__init__.py | 6 ++-- 17 files changed, 29 insertions(+), 55 deletions(-) diff --git a/electrum/gui/qml/components/About.qml b/electrum/gui/qml/components/About.qml index b5736d53e..29aedb929 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 Pallectrum") Flickable { anchors.fill: parent @@ -67,32 +67,6 @@ Pane { Label { text: qsTr('MIT License') } - Label { - text: qsTr('Homepage') - Layout.alignment: Qt.AlignRight - } - Label { - text: qsTr('https://electrum.org') - textFormat: Text.RichText - onLinkActivated: Qt.openUrlExternally(link) - } - Label { - text: qsTr('Developers') - Layout.alignment: Qt.AlignRight - } - Label { - text: 'Thomas Voegtlin\nSomberNight\nSander van Grieken' - } - Item { - width: 1 - 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 49b92a462..4edebbba4 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 a Palladium 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 6179dd4c0..6c395f3cd 100644 --- a/electrum/gui/qml/components/ChannelOpenProgressDialog.qml +++ b/electrum/gui/qml/components/ChannelOpenProgressDialog.qml @@ -120,7 +120,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 Pallectrum 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..e80feec34 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 Pallectrum.') } Label { Layout.fillWidth: true diff --git a/electrum/gui/qml/components/OpenChannelDialog.qml b/electrum/gui/qml/components/OpenChannelDialog.qml index 97d709b52..cafd01ce9 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 Pallectrum.'), ' ', 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 a Pallectrum seed') ].join('') } diff --git a/electrum/gui/qml/components/Preferences.qml b/electrum/gui/qml/components/Preferences.qml index d60a440a8..19454d06d 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 Pallectrum to activate the new GUI settings') }) dialog.open() } @@ -89,7 +89,7 @@ Pane { } Label { Layout.fillWidth: true - text: qsTr('Add thousands separators to bitcoin amounts') + text: qsTr('Add thousands separators to palladium amounts') wrapMode: Text.Wrap } } @@ -358,7 +358,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('Pallectrum 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 849a70356..43ddc3e39 100644 --- a/electrum/gui/qml/components/SweepDialog.qml +++ b/electrum/gui/qml/components/SweepDialog.qml @@ -69,7 +69,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 Pallectrum, 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 cfdbf4eeb..5e73cc292 100644 --- a/electrum/gui/qml/components/main.qml +++ b/electrum/gui/qml/components/main.qml @@ -615,7 +615,7 @@ ApplicationWindow stack.pop() } else { var dialog = app.messageDialog.createObject(app, { - title: qsTr('Close Electrum?'), + title: qsTr('Close Pallectrum?'), 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 9974a60ed..181cd2417 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('Pallectrum seeds are the default seed type.'), + qsTr('If you are restoring from a seed previously created by Pallectrum, 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 Pallectrum, 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 Pallectrum, 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 fbf402a8b..7b69a9845 100644 --- a/electrum/gui/qml/components/wizard/WCImport.qml +++ b/electrum/gui/qml/components/wizard/WCImport.qml @@ -29,7 +29,7 @@ WizardComponent { height: parent.height InfoTextArea { Layout.preferredWidth: parent.width - 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 Palladium addresses (this will create a watching-only wallet), or a list of private keys.') } RowLayout { diff --git a/electrum/gui/qml/components/wizard/WCScriptAndDerivation.qml b/electrum/gui/qml/components/wizard/WCScriptAndDerivation.qml index c7d7f2781..f8906259b 100644 --- a/electrum/gui/qml/components/wizard/WCScriptAndDerivation.qml +++ b/electrum/gui/qml/components/wizard/WCScriptAndDerivation.qml @@ -71,15 +71,15 @@ WizardComponent { var scripttype = scripttypegroup.checkedButton.scripttype if (isMultisig) { if (scripttype == 'p2sh') - derivationpathtext.text = "m/" + p[scripttype] + "'/0" + derivationpathtext.text = "m/" + p[scripttype] + "'/746'" else derivationpathtext.text = "m/" + p[scripttype] + "'/" - + (Network.isTestNet ? 1 : 0) + "'/0'/" + + (Network.isTestNet ? 1 : 746) + "'/0'/" + (scripttype == 'p2wsh' ? 2 : 1) + "'" } else { derivationpathtext.text = "m/" + p[scripttypegroup.checkedButton.scripttype] + "'/" - + (Network.isTestNet ? 1 : 0) + "'/0'" + + (Network.isTestNet ? 1 : 746) + "'/0'" } } diff --git a/electrum/gui/qml/components/wizard/WCWalletType.qml b/electrum/gui/qml/components/wizard/WCWalletType.qml index f5caa1f1e..fa086b82e 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 Palladium addresses or private keys') } } } diff --git a/electrum/gui/qml/components/wizard/WCWelcome.qml b/electrum/gui/qml/components/wizard/WCWelcome.qml index d1757b6da..b259a2d23 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 Pallectrum will automatically select servers.") wrapMode: Text.WordWrap horizontalAlignment: Text.AlignHLeft font.pixelSize: constants.fontSizeMedium diff --git a/electrum/gui/qml/qeapp.py b/electrum/gui/qml/qeapp.py index a4df18b13..0d2e12f76 100644 --- a/electrum/gui/qml/qeapp.py +++ b/electrum/gui/qml/qeapp.py @@ -17,7 +17,7 @@ import electrum from electrum import version, constants from electrum.i18n import _ from electrum.logging import Logger, get_logger -from electrum.bip21 import BITCOIN_BIP21_URI_SCHEME, LIGHTNING_URI_SCHEME +from electrum.bip21 import PALLADIUM_BIP21_URI_SCHEME, LIGHTNING_URI_SCHEME from electrum.base_crash_reporter import BaseCrashReporter, EarlyExceptionsQueue from electrum.network import Network from electrum.plugin import run_hook @@ -175,7 +175,7 @@ class QEAppController(BaseCrashReporter, QObject): global notification if not notification: from plyer import notification - notification.notify('Electrum', message, app_icon=icon, app_name='Electrum') + notification.notify('Pallectrum', message, app_icon=icon, app_name='Pallectrum') except ImportError: self.logger.warning('Notification: needs plyer; `python3 -m pip install plyer`') except Exception as e: @@ -234,7 +234,7 @@ class QEAppController(BaseCrashReporter, QObject): data = str(intent.getDataString()) self.logger.debug(f'received intent: {repr(data)}') scheme = str(intent.getScheme()).lower() - if scheme == BITCOIN_BIP21_URI_SCHEME or scheme == LIGHTNING_URI_SCHEME: + if scheme == PALLADIUM_BIP21_URI_SCHEME or scheme == LIGHTNING_URI_SCHEME: self.uriReceived.emit(data) def startup_finished(self): diff --git a/electrum/gui/qml/qenetwork.py b/electrum/gui/qml/qenetwork.py index b25712d13..099e21a80 100644 --- a/electrum/gui/qml/qenetwork.py +++ b/electrum/gui/qml/qenetwork.py @@ -257,7 +257,7 @@ class QENetwork(QObject, QtEventListener): @pyqtProperty(str, notify=dataChanged) def networkName(self): - return constants.net.__name__.replace('Bitcoin', '') + return constants.net.__name__.replace('Bitcoin', 'Palladium') @pyqtProperty('QVariantMap', notify=proxyChanged) def proxy(self): diff --git a/electrum/gui/qml/qeqr.py b/electrum/gui/qml/qeqr.py index f7c20af59..12b7a81a5 100644 --- a/electrum/gui/qml/qeqr.py +++ b/electrum/gui/qml/qeqr.py @@ -144,7 +144,7 @@ class QEQRImageProvider(QQuickImageProvider): # (unknown schemes might be found when a colon is in a serialized TX, which # leads to mangling of the tx, so we check for supported schemes.) uri = urllib.parse.urlparse(qstr) - if uri.scheme and uri.scheme in ['bitcoin', 'lightning']: + if uri.scheme and uri.scheme in ['palladium', 'lightning']: # urlencode request parameters query = urllib.parse.parse_qs(uri.query) query = urllib.parse.urlencode(query, doseq=True, quote_via=urllib.parse.quote) diff --git a/electrum/gui/qt/__init__.py b/electrum/gui/qt/__init__.py index 4a37fb100..713756c00 100644 --- a/electrum/gui/qt/__init__.py +++ b/electrum/gui/qt/__init__.py @@ -153,7 +153,7 @@ class ElectrumGui(BaseElectrumGui, Logger): QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_ShareOpenGLContexts) if hasattr(QGuiApplication, 'setDesktopFileName'): QGuiApplication.setDesktopFileName('electrum') - QGuiApplication.setApplicationName("Electrum") + QGuiApplication.setApplicationName("Pallectrum") self.gui_thread = threading.current_thread() self.windows = [] # type: List[ElectrumWindow] self.open_file_efilter = OpenFileEventFilter(self.windows) @@ -183,7 +183,7 @@ class ElectrumGui(BaseElectrumGui, Logger): def _init_tray(self): self.tray = QSystemTrayIcon(self.tray_icon(), None) - self.tray.setToolTip('Electrum') + self.tray.setToolTip('Pallectrum') self.tray.activated.connect(self.tray_activated) self.build_tray_menu() self.tray.show() @@ -238,7 +238,7 @@ class ElectrumGui(BaseElectrumGui, Logger): submenu.addAction(_("Close"), window.close) m.addAction(_("Dark/Light"), self.toggle_tray_icon) m.addSeparator() - m.addAction(_("Exit Electrum"), self.app.quit) + m.addAction(_("Exit Pallectrum"), self.app.quit) def tray_icon(self): if self.dark_icon: