pip Interface eric7

Mon, 10 Feb 2025 14:09:14 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 10 Feb 2025 14:09:14 +0100
branch
eric7
changeset 11128
04a9579c9c54
parent 11127
1bbaf3add61a
child 11129
bf4ee956dea6

pip Interface
- Added a field to search for packages in the dependencies list.

docs/changelog.md file | annotate | diff | comparison | revisions
src/eric7/APIs/Python3/eric7.api file | annotate | diff | comparison | revisions
src/eric7/Documentation/Help/source.qch file | annotate | diff | comparison | revisions
src/eric7/Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.PipInterface.PipPackagesWidget.html file | annotate | diff | comparison | revisions
src/eric7/PipInterface/PipPackagesWidget.py file | annotate | diff | comparison | revisions
src/eric7/PipInterface/PipPackagesWidget.ui file | annotate | diff | comparison | revisions
src/eric7/PipInterface/Ui_PipPackagesWidget.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/PipPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/PipPage.ui file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/Ui_PipPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/__init__.py file | annotate | diff | comparison | revisions
src/eric7/Themes/dark_1.ethj file | annotate | diff | comparison | revisions
src/eric7/Themes/dark_2.ethj file | annotate | diff | comparison | revisions
src/eric7/Themes/dark_blue.ethj file | annotate | diff | comparison | revisions
src/eric7/Themes/dark_blue_with_stylesheet.ethj file | annotate | diff | comparison | revisions
src/eric7/Themes/dark_gray.ethj file | annotate | diff | comparison | revisions
src/eric7/Themes/dark_gray_with_stylesheet.ethj file | annotate | diff | comparison | revisions
src/eric7/Themes/dark_green.ethj file | annotate | diff | comparison | revisions
src/eric7/Themes/dark_green_with_stylesheet.ethj file | annotate | diff | comparison | revisions
src/eric7/Themes/light.ethj file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_cs.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_de.qm file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_de.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_empty.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_en.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_es.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_fr.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_it.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_pt.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_ru.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_tr.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_zh_CN.ts file | annotate | diff | comparison | revisions
--- a/docs/changelog.md	Sun Feb 09 16:12:35 2025 +0100
+++ b/docs/changelog.md	Mon Feb 10 14:09:14 2025 +0100
@@ -2,6 +2,8 @@
 
 ### Version 25.3
 - bug fixes
+- pip Interface
+    - Added a field to search for packages in the dependencies list.
 
 ### Version 25.2
 - bug fixes
--- a/src/eric7/APIs/Python3/eric7.api	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/APIs/Python3/eric7.api	Mon Feb 10 14:09:14 2025 +0100
@@ -3922,6 +3922,7 @@
 eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_localCheckBox_clicked?4()
 eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_localDepCheckBox_clicked?4()
 eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_notRequiredCheckBox_clicked?4()
+eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_packageSearchEdit_textChanged?4(package)
 eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_packagesList_itemActivated?4(item, column)
 eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_packagesList_itemSelectionChanged?4()
 eric7.PipInterface.PipPackagesWidget.PipPackagesWidget.on_refreshButton_clicked?4()
Binary file src/eric7/Documentation/Help/source.qch has changed
--- a/src/eric7/Documentation/Help/source.qhp	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/Documentation/Help/source.qhp	Mon Feb 10 14:09:14 2025 +0100
@@ -13088,7 +13088,10 @@
       <keyword name="PipPackagesWidget.__reinstallPackages" id="PipPackagesWidget.__reinstallPackages" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__reinstallPackages" />
       <keyword name="PipPackagesWidget.__removeCachedFiles" id="PipPackagesWidget.__removeCachedFiles" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__removeCachedFiles" />
       <keyword name="PipPackagesWidget.__repairPip" id="PipPackagesWidget.__repairPip" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__repairPip" />
+      <keyword name="PipPackagesWidget.__resetPackageSearchHighlight" id="PipPackagesWidget.__resetPackageSearchHighlight" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__resetPackageSearchHighlight" />
+      <keyword name="PipPackagesWidget.__resetPackageSearchHighlights" id="PipPackagesWidget.__resetPackageSearchHighlights" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__resetPackageSearchHighlights" />
       <keyword name="PipPackagesWidget.__selectedUpdateableItems" id="PipPackagesWidget.__selectedUpdateableItems" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__selectedUpdateableItems" />
+      <keyword name="PipPackagesWidget.__setPackageSearchHighlights" id="PipPackagesWidget.__setPackageSearchHighlights" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__setPackageSearchHighlights" />
       <keyword name="PipPackagesWidget.__showCacheInfo" id="PipPackagesWidget.__showCacheInfo" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__showCacheInfo" />
       <keyword name="PipPackagesWidget.__showCacheList" id="PipPackagesWidget.__showCacheList" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__showCacheList" />
       <keyword name="PipPackagesWidget.__showLicensesDialog" id="PipPackagesWidget.__showLicensesDialog" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.__showLicensesDialog" />
@@ -13117,6 +13120,7 @@
       <keyword name="PipPackagesWidget.on_localCheckBox_clicked" id="PipPackagesWidget.on_localCheckBox_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_localCheckBox_clicked" />
       <keyword name="PipPackagesWidget.on_localDepCheckBox_clicked" id="PipPackagesWidget.on_localDepCheckBox_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_localDepCheckBox_clicked" />
       <keyword name="PipPackagesWidget.on_notRequiredCheckBox_clicked" id="PipPackagesWidget.on_notRequiredCheckBox_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_notRequiredCheckBox_clicked" />
+      <keyword name="PipPackagesWidget.on_packageSearchEdit_textChanged" id="PipPackagesWidget.on_packageSearchEdit_textChanged" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_packageSearchEdit_textChanged" />
       <keyword name="PipPackagesWidget.on_packagesList_itemActivated" id="PipPackagesWidget.on_packagesList_itemActivated" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_packagesList_itemActivated" />
       <keyword name="PipPackagesWidget.on_packagesList_itemSelectionChanged" id="PipPackagesWidget.on_packagesList_itemSelectionChanged" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_packagesList_itemSelectionChanged" />
       <keyword name="PipPackagesWidget.on_refreshButton_clicked" id="PipPackagesWidget.on_refreshButton_clicked" ref="eric7.PipInterface.PipPackagesWidget.html#PipPackagesWidget.on_refreshButton_clicked" />
--- a/src/eric7/Documentation/Source/eric7.PipInterface.PipPackagesWidget.html	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/Documentation/Source/eric7.PipInterface.PipPackagesWidget.html	Mon Feb 10 14:09:14 2025 +0100
@@ -228,10 +228,22 @@
 <td>Private slot to repair the pip installation of the selected environment.</td>
 </tr>
 <tr>
+<td><a href="#PipPackagesWidget.__resetPackageSearchHighlight">__resetPackageSearchHighlight</a></td>
+<td>Private method to reset the package search marker of an individual item.</td>
+</tr>
+<tr>
+<td><a href="#PipPackagesWidget.__resetPackageSearchHighlights">__resetPackageSearchHighlights</a></td>
+<td>Private method to reset the package search markers.</td>
+</tr>
+<tr>
 <td><a href="#PipPackagesWidget.__selectedUpdateableItems">__selectedUpdateableItems</a></td>
 <td>Private method to get a list of selected items that can be updated.</td>
 </tr>
 <tr>
+<td><a href="#PipPackagesWidget.__setPackageSearchHighlights">__setPackageSearchHighlights</a></td>
+<td>Private method to highlight the given package items.</td>
+</tr>
+<tr>
 <td><a href="#PipPackagesWidget.__showCacheInfo">__showCacheInfo</a></td>
 <td>Private slot to show information about the cache.</td>
 </tr>
@@ -344,6 +356,10 @@
 <td>Private slot handling the switching of the 'not required' mode.</td>
 </tr>
 <tr>
+<td><a href="#PipPackagesWidget.on_packageSearchEdit_textChanged">on_packageSearchEdit_textChanged</a></td>
+<td>Private slot to search packages in the dependencies tree.</td>
+</tr>
+<tr>
 <td><a href="#PipPackagesWidget.on_packagesList_itemActivated">on_packagesList_itemActivated</a></td>
 <td>Private slot reacting on a package item being activated.</td>
 </tr>
@@ -740,6 +756,34 @@
         environment.
 </p>
 
+<a NAME="PipPackagesWidget.__resetPackageSearchHighlight" ID="PipPackagesWidget.__resetPackageSearchHighlight"></a>
+<h4>PipPackagesWidget.__resetPackageSearchHighlight</h4>
+<b>__resetPackageSearchHighlight</b>(<i>packageItem</i>)
+<p>
+        Private method to reset the package search marker of an individual item.
+</p>
+
+<dl>
+
+<dt><i>packageItem</i> (QTreeWidgetItem)</dt>
+<dd>
+reference to the package item
+</dd>
+</dl>
+<a NAME="PipPackagesWidget.__resetPackageSearchHighlights" ID="PipPackagesWidget.__resetPackageSearchHighlights"></a>
+<h4>PipPackagesWidget.__resetPackageSearchHighlights</h4>
+<b>__resetPackageSearchHighlights</b>(<i>parent=None</i>)
+<p>
+        Private method to reset the package search markers.
+</p>
+
+<dl>
+
+<dt><i>parent</i> (QTreeWidgetItem (optional))</dt>
+<dd>
+reference to the parent item (defaults to None)
+</dd>
+</dl>
 <a NAME="PipPackagesWidget.__selectedUpdateableItems" ID="PipPackagesWidget.__selectedUpdateableItems"></a>
 <h4>PipPackagesWidget.__selectedUpdateableItems</h4>
 <b>__selectedUpdateableItems</b>(<i></i>)
@@ -759,6 +803,20 @@
 list of QTreeWidgetItem
 </dd>
 </dl>
+<a NAME="PipPackagesWidget.__setPackageSearchHighlights" ID="PipPackagesWidget.__setPackageSearchHighlights"></a>
+<h4>PipPackagesWidget.__setPackageSearchHighlights</h4>
+<b>__setPackageSearchHighlights</b>(<i>packageItems</i>)
+<p>
+        Private method to highlight the given package items.
+</p>
+
+<dl>
+
+<dt><i>packageItems</i> (list of QTreeWidgetItem)</dt>
+<dd>
+list of package dependency items to be highlighted
+</dd>
+</dl>
 <a NAME="PipPackagesWidget.__showCacheInfo" ID="PipPackagesWidget.__showCacheInfo"></a>
 <h4>PipPackagesWidget.__showCacheInfo</h4>
 <b>__showCacheInfo</b>(<i></i>)
@@ -1102,6 +1160,20 @@
         Private slot handling the switching of the 'not required' mode.
 </p>
 
+<a NAME="PipPackagesWidget.on_packageSearchEdit_textChanged" ID="PipPackagesWidget.on_packageSearchEdit_textChanged"></a>
+<h4>PipPackagesWidget.on_packageSearchEdit_textChanged</h4>
+<b>on_packageSearchEdit_textChanged</b>(<i>package</i>)
+<p>
+        Private slot to search packages in the dependencies tree.
+</p>
+
+<dl>
+
+<dt><i>package</i> (str)</dt>
+<dd>
+package text to search for
+</dd>
+</dl>
 <a NAME="PipPackagesWidget.on_packagesList_itemActivated" ID="PipPackagesWidget.on_packagesList_itemActivated"></a>
 <h4>PipPackagesWidget.on_packagesList_itemActivated</h4>
 <b>on_packagesList_itemActivated</b>(<i>item, column</i>)
--- a/src/eric7/PipInterface/PipPackagesWidget.py	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/PipInterface/PipPackagesWidget.py	Mon Feb 10 14:09:14 2025 +0100
@@ -13,7 +13,7 @@
 
 from packaging.specifiers import InvalidSpecifier, SpecifierSet
 from PyQt6.QtCore import Qt, QUrl, QUrlQuery, pyqtSlot
-from PyQt6.QtGui import QDesktopServices, QIcon
+from PyQt6.QtGui import QBrush, QDesktopServices, QIcon
 from PyQt6.QtWidgets import (
     QDialog,
     QHeaderView,
@@ -415,6 +415,8 @@
                 if self.__packageDetailsDialog is not None:
                     self.__packageDetailsDialog.close()
 
+            self.packageSearchEdit.clear()
+
             if self.viewToggleButton.isChecked():
                 self.__refreshDependencyTree()
             else:
@@ -1530,6 +1532,11 @@
 
         self.__updateDepActionButtons()
 
+        self.packageSearchEdit.setEnabled(
+            bool(self.dependenciesList.topLevelItemCount())
+        )
+        self.on_packageSearchEdit_textChanged(self.packageSearchEdit.text())
+
     def __addDependency(self, dependency, parent):
         """
         Private method to add a dependency branch to a given parent.
@@ -1736,6 +1743,69 @@
             )
             self.on_refreshDependenciesButton_clicked()
 
+    @pyqtSlot(str)
+    def on_packageSearchEdit_textChanged(self, package):
+        """
+        Private slot to search packages in the dependencies tree.
+
+        @param package package text to search for
+        @type str
+        """
+        self.__resetPackageSearchHighlights()
+
+        foundItems = (
+            self.dependenciesList.findItems(
+                package,
+                Qt.MatchFlag.MatchContains
+                | Qt.MatchFlag.MatchRecursive
+                | Qt.MatchFlag.MatchWrap,
+            )
+            if package
+            else []
+        )
+        self.__setPackageSearchHighlights(foundItems)
+
+    def __resetPackageSearchHighlights(self, parent=None):
+        """
+        Private method to reset the package search markers.
+
+        @param parent reference to the parent item (defaults to None)
+        @type QTreeWidgetItem (optional)
+        """
+        if parent is None:
+            for index in range(self.dependenciesList.topLevelItemCount()):
+                itm = self.dependenciesList.topLevelItem(index)
+                self.__resetPackageSearchHighlight(itm)
+        else:
+            for index in range(parent.childCount()):
+                itm = parent.child(index)
+                self.__resetPackageSearchHighlight(itm)
+
+    def __resetPackageSearchHighlight(self, packageItem):
+        """
+        Private method to reset the package search marker of an individual item.
+
+        @param packageItem reference to the package item
+        @type QTreeWidgetItem
+        """
+        for column in range(self.dependenciesList.columnCount()):
+            packageItem.setBackground(column, QBrush())
+        if packageItem.childCount():
+            self.__resetPackageSearchHighlights(parent=packageItem)
+
+    def __setPackageSearchHighlights(self, packageItems):
+        """
+        Private method to highlight the given package items.
+
+        @param packageItems list of package dependency items to be highlighted
+        @type list of QTreeWidgetItem
+        """
+        for packageItem in packageItems:
+            for column in range(self.dependenciesList.columnCount()):
+                packageItem.setBackground(
+                    column, QBrush(Preferences.getPip("DependencyHighlightColor"))
+                )
+
     ##################################################################
     ## Interface to show the licenses dialog below
     ##################################################################
@@ -1791,3 +1861,5 @@
                 self.__updateVulnerabilityData(clearFirst=True)
             else:
                 self.__clearVulnerabilityInfo()
+
+        self.on_packageSearchEdit_textChanged(self.packageSearchEdit.text())
--- a/src/eric7/PipInterface/PipPackagesWidget.ui	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/PipInterface/PipPackagesWidget.ui	Mon Feb 10 14:09:14 2025 +0100
@@ -278,7 +278,7 @@
             </widget>
             <widget class="QTabWidget" name="infoWidget">
              <property name="currentIndex">
-              <number>0</number>
+              <number>1</number>
              </property>
              <widget class="QWidget" name="packageTab">
               <attribute name="title">
@@ -493,6 +493,25 @@
            </property>
           </spacer>
          </item>
+         <item>
+          <widget class="QLineEdit" name="packageSearchEdit">
+           <property name="minimumSize">
+            <size>
+             <width>150</width>
+             <height>0</height>
+            </size>
+           </property>
+           <property name="toolTip">
+            <string>Enter search term for packages</string>
+           </property>
+           <property name="placeholderText">
+            <string>Package Search</string>
+           </property>
+           <property name="clearButtonEnabled">
+            <bool>true</bool>
+           </property>
+          </widget>
+         </item>
         </layout>
        </item>
        <item>
@@ -716,6 +735,7 @@
   <tabstop>showDepPackageDetailsButton</tabstop>
   <tabstop>dependencyRepairButton</tabstop>
   <tabstop>dependencyRepairAllButton</tabstop>
+  <tabstop>packageSearchEdit</tabstop>
   <tabstop>requiresButton</tabstop>
   <tabstop>requiredByButton</tabstop>
   <tabstop>localDepCheckBox</tabstop>
--- a/src/eric7/PipInterface/Ui_PipPackagesWidget.py	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/PipInterface/Ui_PipPackagesWidget.py	Mon Feb 10 14:09:14 2025 +0100
@@ -1,6 +1,6 @@
 # Form implementation generated from reading ui file 'src/eric7/PipInterface/PipPackagesWidget.ui'
 #
-# Created by: PyQt6 UI code generator 6.8.0
+# Created by: PyQt6 UI code generator 6.8.1
 #
 # WARNING: Any manual changes made to this file will be lost when pyuic6 is
 # run again.  Do not edit this file unless you know what you are doing.
@@ -205,6 +205,11 @@
         self.horizontalLayout_6.addWidget(self.dependencyRepairAllButton)
         spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
         self.horizontalLayout_6.addItem(spacerItem3)
+        self.packageSearchEdit = QtWidgets.QLineEdit(parent=self.dependenciesPage)
+        self.packageSearchEdit.setMinimumSize(QtCore.QSize(150, 0))
+        self.packageSearchEdit.setClearButtonEnabled(True)
+        self.packageSearchEdit.setObjectName("packageSearchEdit")
+        self.horizontalLayout_6.addWidget(self.packageSearchEdit)
         self.verticalLayout_7.addLayout(self.horizontalLayout_6)
         self.groupBox = QtWidgets.QGroupBox(parent=self.dependenciesPage)
         self.groupBox.setObjectName("groupBox")
@@ -281,7 +286,7 @@
         self.verticalLayout.addLayout(self.horizontalLayout_3)
 
         self.retranslateUi(PipPackagesWidget)
-        self.viewsStackWidget.setCurrentIndex(0)
+        self.viewsStackWidget.setCurrentIndex(1)
         self.infoWidget.setCurrentIndex(0)
         QtCore.QMetaObject.connectSlotsByName(PipPackagesWidget)
         PipPackagesWidget.setTabOrder(self.viewToggleButton, self.environmentsComboBox)
@@ -349,6 +354,8 @@
         self.showDepPackageDetailsButton.setToolTip(_translate("PipPackagesWidget", "Press to show details for the selected entry"))
         self.dependencyRepairButton.setToolTip(_translate("PipPackagesWidget", "Press to repair the selected dependency"))
         self.dependencyRepairAllButton.setToolTip(_translate("PipPackagesWidget", "Press to repair all dependencies"))
+        self.packageSearchEdit.setToolTip(_translate("PipPackagesWidget", "Enter search term for packages"))
+        self.packageSearchEdit.setPlaceholderText(_translate("PipPackagesWidget", "Package Search"))
         self.groupBox.setTitle(_translate("PipPackagesWidget", "View Type"))
         self.requiresButton.setToolTip(_translate("PipPackagesWidget", "Select to show which package requires other packages"))
         self.requiresButton.setText(_translate("PipPackagesWidget", "Requires"))
--- a/src/eric7/Preferences/ConfigurationPages/PipPage.py	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/Preferences/ConfigurationPages/PipPage.py	Mon Feb 10 14:09:14 2025 +0100
@@ -59,6 +59,12 @@
         )
         self.noCondaCheckBox.setChecked(Preferences.getPip("ExcludeCondaEnvironments"))
 
+        self.initColour(
+            "DependencyHighlightColor",
+            self.searchMarkerColourButton,
+            Preferences.getPip,
+        )
+
     def save(self):
         """
         Public slot to save the pip configuration.
@@ -86,6 +92,8 @@
         )
         Preferences.setPip("ExcludeCondaEnvironments", self.noCondaCheckBox.isChecked())
 
+        self.saveColours(Preferences.setPip)
+
 
 def create(_dlg):
     """
--- a/src/eric7/Preferences/ConfigurationPages/PipPage.ui	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/Preferences/ConfigurationPages/PipPage.ui	Mon Feb 10 14:09:14 2025 +0100
@@ -21,13 +21,13 @@
    <item>
     <widget class="Line" name="line9_3">
      <property name="frameShape">
-      <enum>QFrame::HLine</enum>
+      <enum>QFrame::Shape::HLine</enum>
      </property>
      <property name="frameShadow">
-      <enum>QFrame::Sunken</enum>
+      <enum>QFrame::Shadow::Sunken</enum>
      </property>
      <property name="orientation">
-      <enum>Qt::Horizontal</enum>
+      <enum>Qt::Orientation::Horizontal</enum>
      </property>
     </widget>
    </item>
@@ -115,7 +115,7 @@
          <string>Enter the Safety DB cache validity time in hours (2 hours up to 7 days)</string>
         </property>
         <property name="alignment">
-         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         <set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set>
         </property>
         <property name="suffix">
          <string> hours</string>
@@ -131,7 +131,7 @@
       <item row="2" column="2">
        <spacer name="horizontalSpacer">
         <property name="orientation">
-         <enum>Qt::Horizontal</enum>
+         <enum>Qt::Orientation::Horizontal</enum>
         </property>
         <property name="sizeHint" stdset="0">
          <size>
@@ -174,9 +174,54 @@
     </widget>
    </item>
    <item>
+    <widget class="QGroupBox" name="groupBox_3">
+     <property name="title">
+      <string>Dependencies List</string>
+     </property>
+     <layout class="QHBoxLayout" name="horizontalLayout">
+      <item>
+       <widget class="QLabel" name="label_3">
+        <property name="text">
+         <string>Search Marker Background:</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QPushButton" name="searchMarkerColourButton">
+        <property name="minimumSize">
+         <size>
+          <width>100</width>
+          <height>0</height>
+         </size>
+        </property>
+        <property name="toolTip">
+         <string>Select the color for the search highlight of the dependencies list.</string>
+        </property>
+        <property name="text">
+         <string/>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <spacer name="horizontalSpacer_2">
+        <property name="orientation">
+         <enum>Qt::Orientation::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>218</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
     <spacer name="verticalSpacer">
      <property name="orientation">
-      <enum>Qt::Vertical</enum>
+      <enum>Qt::Orientation::Vertical</enum>
      </property>
      <property name="sizeHint" stdset="0">
       <size>
@@ -193,7 +238,9 @@
   <tabstop>vulnerabilityGroup</tabstop>
   <tabstop>safetyDbMirrorEdit</tabstop>
   <tabstop>validitySpinBox</tabstop>
+  <tabstop>noGlobalsCheckBox</tabstop>
   <tabstop>noCondaCheckBox</tabstop>
+  <tabstop>searchMarkerColourButton</tabstop>
  </tabstops>
  <resources/>
  <connections/>
--- a/src/eric7/Preferences/ConfigurationPages/Ui_PipPage.py	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/Preferences/ConfigurationPages/Ui_PipPage.py	Mon Feb 10 14:09:14 2025 +0100
@@ -1,6 +1,6 @@
 # Form implementation generated from reading ui file 'src/eric7/Preferences/ConfigurationPages/PipPage.ui'
 #
-# Created by: PyQt6 UI code generator 6.7.0
+# Created by: PyQt6 UI code generator 6.8.1
 #
 # WARNING: Any manual changes made to this file will be lost when pyuic6 is
 # run again.  Do not edit this file unless you know what you are doing.
@@ -79,15 +79,32 @@
         self.noCondaCheckBox.setObjectName("noCondaCheckBox")
         self.verticalLayout_2.addWidget(self.noCondaCheckBox)
         self.verticalLayout_3.addWidget(self.groupBox)
-        spacerItem1 = QtWidgets.QSpacerItem(20, 234, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
-        self.verticalLayout_3.addItem(spacerItem1)
+        self.groupBox_3 = QtWidgets.QGroupBox(parent=PipPage)
+        self.groupBox_3.setObjectName("groupBox_3")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.groupBox_3)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_3 = QtWidgets.QLabel(parent=self.groupBox_3)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout.addWidget(self.label_3)
+        self.searchMarkerColourButton = QtWidgets.QPushButton(parent=self.groupBox_3)
+        self.searchMarkerColourButton.setMinimumSize(QtCore.QSize(100, 0))
+        self.searchMarkerColourButton.setText("")
+        self.searchMarkerColourButton.setObjectName("searchMarkerColourButton")
+        self.horizontalLayout.addWidget(self.searchMarkerColourButton)
+        spacerItem1 = QtWidgets.QSpacerItem(218, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.verticalLayout_3.addWidget(self.groupBox_3)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 234, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem2)
 
         self.retranslateUi(PipPage)
         QtCore.QMetaObject.connectSlotsByName(PipPage)
         PipPage.setTabOrder(self.indexEdit, self.vulnerabilityGroup)
         PipPage.setTabOrder(self.vulnerabilityGroup, self.safetyDbMirrorEdit)
         PipPage.setTabOrder(self.safetyDbMirrorEdit, self.validitySpinBox)
-        PipPage.setTabOrder(self.validitySpinBox, self.noCondaCheckBox)
+        PipPage.setTabOrder(self.validitySpinBox, self.noGlobalsCheckBox)
+        PipPage.setTabOrder(self.noGlobalsCheckBox, self.noCondaCheckBox)
+        PipPage.setTabOrder(self.noCondaCheckBox, self.searchMarkerColourButton)
 
     def retranslateUi(self, PipPage):
         _translate = QtCore.QCoreApplication.translate
@@ -106,3 +123,6 @@
         self.noGlobalsCheckBox.setText(_translate("PipPage", "Don\'t show global environments"))
         self.noCondaCheckBox.setToolTip(_translate("PipPage", "Select to exclude conda managed environments"))
         self.noCondaCheckBox.setText(_translate("PipPage", "Don\'t show \'Conda\' environments"))
+        self.groupBox_3.setTitle(_translate("PipPage", "Dependencies List"))
+        self.label_3.setText(_translate("PipPage", "Search Marker Background:"))
+        self.searchMarkerColourButton.setToolTip(_translate("PipPage", "Select the color for the search highlight of the dependencies list."))
--- a/src/eric7/Preferences/__init__.py	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/Preferences/__init__.py	Mon Feb 10 14:09:14 2025 +0100
@@ -1620,6 +1620,7 @@
         ),
         "VulnerabilityDbCacheValidity": 60 * 60 * 6,  # 6 hours
         "VulnerabilityCheckEnabled": True,
+        "DependencyHighlightColor": QColor(Qt.GlobalColor.yellow),
     }
 
     # defaults for MicroPython
@@ -4039,6 +4040,12 @@
         )
     elif key in ("VulnerabilityDbCacheValidity",):
         return int(Prefs.settings.value("Pip/" + key, Prefs.pipDefaults[key]))
+    elif key in ("DependencyHighlightColor",):
+        col = Prefs.settings.value("Pip/" + key)
+        if col is not None:
+            return QColor(col)
+        else:
+            return Prefs.pipDefaults[key]
     else:
         return Prefs.settings.value("Pip/" + key, Prefs.pipDefaults[key])
 
@@ -4052,7 +4059,10 @@
     @param value the value to be set
     @type Any
     """
-    Prefs.settings.setValue("Pip/" + key, value)
+    if key in ("DependencyHighlightColor",):
+        Prefs.settings.setValue("Pip/" + key, value.name())
+    else:
+        Prefs.settings.setValue("Pip/" + key, value)
 
 
 def getMicroPython(key):
--- a/src/eric7/Themes/dark_1.ethj	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/Themes/dark_1.ethj	Mon Feb 10 14:09:14 2025 +0100
@@ -91,6 +91,7 @@
     "IRC/OwnNickColour": "#000000",
     "IRC/ServerMessageColour": "#91640a",
     "IRC/TimestampColour": "#709070",
+    "Pip/DependencyHighlightColor": "#808000",
     "Project/Colour/Highlighted": "#e1a4ff",
     "Project/Colour/VcsAdded": "#005e98",
     "Project/Colour/VcsConflict": "#880000",
@@ -2483,4 +2484,4 @@
     "contents": "",
     "name": ""
   }
-}
\ No newline at end of file
+}
--- a/src/eric7/Themes/dark_2.ethj	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/Themes/dark_2.ethj	Mon Feb 10 14:09:14 2025 +0100
@@ -91,6 +91,7 @@
     "IRC/OwnNickColour": "#000000",
     "IRC/ServerMessageColour": "#91640a",
     "IRC/TimestampColour": "#709070",
+    "Pip/DependencyHighlightColor": "#808000",
     "Project/Colour/Highlighted": "#e1a4ff",
     "Project/Colour/VcsAdded": "#005e98",
     "Project/Colour/VcsConflict": "#880000",
@@ -2483,4 +2484,4 @@
     "contents": "",
     "name": ""
   }
-}
\ No newline at end of file
+}
--- a/src/eric7/Themes/dark_blue.ethj	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/Themes/dark_blue.ethj	Mon Feb 10 14:09:14 2025 +0100
@@ -85,6 +85,7 @@
     "IRC/OwnNickColour": "#ffffff",
     "IRC/ServerMessageColour": "#e6b74b",
     "IRC/TimestampColour": "#85ab85",
+    "Pip/DependencyHighlightColor": "#808000",
     "Project/Colour/Highlighted": "#e1a4ff",
     "Project/Colour/VcsAdded": "#005e98",
     "Project/Colour/VcsConflict": "#880000",
--- a/src/eric7/Themes/dark_blue_with_stylesheet.ethj	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/Themes/dark_blue_with_stylesheet.ethj	Mon Feb 10 14:09:14 2025 +0100
@@ -85,6 +85,7 @@
     "IRC/OwnNickColour": "#ffffff",
     "IRC/ServerMessageColour": "#e6b74b",
     "IRC/TimestampColour": "#85ab85",
+    "Pip/DependencyHighlightColor": "#808000",
     "Project/Colour/Highlighted": "#e1a4ff",
     "Project/Colour/VcsAdded": "#005e98",
     "Project/Colour/VcsConflict": "#880000",
--- a/src/eric7/Themes/dark_gray.ethj	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/Themes/dark_gray.ethj	Mon Feb 10 14:09:14 2025 +0100
@@ -85,6 +85,7 @@
     "IRC/OwnNickColour": "#ffffff",
     "IRC/ServerMessageColour": "#e6b74b",
     "IRC/TimestampColour": "#85ab85",
+    "Pip/DependencyHighlightColor": "#808000",
     "Project/Colour/Highlighted": "#e1a4ff",
     "Project/Colour/VcsAdded": "#005e98",
     "Project/Colour/VcsConflict": "#880000",
--- a/src/eric7/Themes/dark_gray_with_stylesheet.ethj	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/Themes/dark_gray_with_stylesheet.ethj	Mon Feb 10 14:09:14 2025 +0100
@@ -85,6 +85,7 @@
     "IRC/OwnNickColour": "#ffffff",
     "IRC/ServerMessageColour": "#e6b74b",
     "IRC/TimestampColour": "#85ab85",
+    "Pip/DependencyHighlightColor": "#808000",
     "Project/Colour/Highlighted": "#e1a4ff",
     "Project/Colour/VcsAdded": "#005e98",
     "Project/Colour/VcsConflict": "#880000",
--- a/src/eric7/Themes/dark_green.ethj	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/Themes/dark_green.ethj	Mon Feb 10 14:09:14 2025 +0100
@@ -85,6 +85,7 @@
     "IRC/OwnNickColour": "#ffffff",
     "IRC/ServerMessageColour": "#e6b74b",
     "IRC/TimestampColour": "#85ab85",
+    "Pip/DependencyHighlightColor": "#808000",
     "Project/Colour/Highlighted": "#e1a4ff",
     "Project/Colour/VcsAdded": "#005e98",
     "Project/Colour/VcsConflict": "#880000",
--- a/src/eric7/Themes/dark_green_with_stylesheet.ethj	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/Themes/dark_green_with_stylesheet.ethj	Mon Feb 10 14:09:14 2025 +0100
@@ -85,6 +85,7 @@
     "IRC/OwnNickColour": "#ffffff",
     "IRC/ServerMessageColour": "#e6b74b",
     "IRC/TimestampColour": "#85ab85",
+    "Pip/DependencyHighlightColor": "#808000",
     "Project/Colour/Highlighted": "#e1a4ff",
     "Project/Colour/VcsAdded": "#005e98",
     "Project/Colour/VcsConflict": "#880000",
--- a/src/eric7/Themes/light.ethj	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/Themes/light.ethj	Mon Feb 10 14:09:14 2025 +0100
@@ -91,6 +91,7 @@
     "IRC/OwnNickColour": "#000000",
     "IRC/ServerMessageColour": "#91640a",
     "IRC/TimestampColour": "#709070",
+    "Pip/DependencyHighlightColor": "#ffff00",
     "Project/Colour/Highlighted": "#7000a0",
     "Project/Colour/VcsAdded": "#009dff",
     "Project/Colour/VcsConflict": "#ff0000",
@@ -2483,4 +2484,4 @@
     "contents": "",
     "name": ""
   }
-}
\ No newline at end of file
+}
--- a/src/eric7/i18n/eric7_cs.ts	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/i18n/eric7_cs.ts	Mon Feb 10 14:09:14 2025 +0100
@@ -12568,7 +12568,7 @@
       <translation>Zrušit komentář</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="10163" />
+      <location filename="../QScintilla/Editor.py" line="10164" />
       <location filename="../QScintilla/Editor.py" line="1015" />
       <source>Generate Docstring</source>
       <translation type="unfinished" />
@@ -12851,7 +12851,7 @@
       <translation type="unfinished">Pravopis</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9251" />
+      <location filename="../QScintilla/Editor.py" line="9252" />
       <location filename="../QScintilla/Editor.py" line="1420" />
       <source>Check spelling...</source>
       <translation>Zatrhnout kontrolu...</translation>
@@ -12912,7 +12912,7 @@
       <translation>Editovat breakpoint...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6593" />
+      <location filename="../QScintilla/Editor.py" line="6594" />
       <location filename="../QScintilla/Editor.py" line="1505" />
       <source>Enable breakpoint</source>
       <translation>Aktivovat breakpoint</translation>
@@ -13156,382 +13156,382 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5742" />
+      <location filename="../QScintilla/Editor.py" line="5743" />
       <source>Autocompletion</source>
       <translation>Autodoplňování</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5743" />
+      <location filename="../QScintilla/Editor.py" line="5744" />
       <source>Autocompletion is not available because there is no autocompletion source set.</source>
       <translation>Autodoplňování není dostupné protože zdrojová část autodoplňování nebyla nalezena.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5877" />
-      <source>Auto-Completion Provider</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="5878" />
+      <source>Auto-Completion Provider</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="5879" />
       <source>The completion list provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6174" />
-      <source>Call-Tips Provider</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="6175" />
+      <source>Call-Tips Provider</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="6176" />
       <source>The call-tips provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6597" />
+      <location filename="../QScintilla/Editor.py" line="6598" />
       <source>Disable breakpoint</source>
       <translation>Deaktivovat breakpoint</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7021" />
-      <source>Code Coverage</source>
-      <translation>Pokrytí kódu</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7022" />
+      <source>Code Coverage</source>
+      <translation>Pokrytí kódu</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7023" />
       <source>Please select a coverage file</source>
       <translation>Prosím, vyberte soubor s pokrytím kódu</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7084" />
-      <source>Load Coverage Data</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7085" />
+      <source>Load Coverage Data</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7086" />
       <source>&lt;p&gt;The coverage data could not be loaded from file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7114" />
-      <location filename="../QScintilla/Editor.py" line="7106" />
-      <source>Show Code Coverage Annotations</source>
-      <translation>Zobrazit poznámky pokrytí kódu</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7107" />
-      <source>All lines have been covered.</source>
-      <translation>Všechny řádky byly pokryty.</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7115" />
+      <location filename="../QScintilla/Editor.py" line="7107" />
+      <source>Show Code Coverage Annotations</source>
+      <translation>Zobrazit poznámky pokrytí kódu</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7108" />
+      <source>All lines have been covered.</source>
+      <translation>Všechny řádky byly pokryty.</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7116" />
       <source>There is no coverage file available.</source>
       <translation>Soubor s pokrytím není dostupný.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7223" />
-      <source>Profile Data</source>
-      <translation>Profilovat data</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7224" />
+      <source>Profile Data</source>
+      <translation>Profilovat data</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7225" />
       <source>Please select a profile file</source>
       <translation>Prosím, vyberte soubor s profilem</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7386" />
-      <location filename="../QScintilla/Editor.py" line="7380" />
-      <source>Syntax Error</source>
-      <translation>Chyba syntaxe</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7387" />
+      <location filename="../QScintilla/Editor.py" line="7381" />
+      <source>Syntax Error</source>
+      <translation>Chyba syntaxe</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7388" />
       <source>No syntax error message available.</source>
       <translation>Hlášení syntaktické chyby není dostupné.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
-      <location filename="../QScintilla/Editor.py" line="7628" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
+      <location filename="../QScintilla/Editor.py" line="7629" />
       <source>Warning</source>
       <translation type="unfinished">Varování</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
       <source>No warning messages available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7713" />
+      <location filename="../QScintilla/Editor.py" line="7714" />
       <source>Info: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7729" />
-      <location filename="../QScintilla/Editor.py" line="7715" />
+      <location filename="../QScintilla/Editor.py" line="7730" />
+      <location filename="../QScintilla/Editor.py" line="7716" />
       <source>Error: {0}</source>
       <translation type="unfinished">Chyby: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7717" />
+      <location filename="../QScintilla/Editor.py" line="7718" />
       <source>Style: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7722" />
+      <location filename="../QScintilla/Editor.py" line="7723" />
       <source>Warning: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Macro Name</source>
       <translation>Název makra</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Select a macro name:</source>
       <translation>Vyberte název makra:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7878" />
+      <location filename="../QScintilla/Editor.py" line="7879" />
       <source>Load macro file</source>
       <translation>Načíst soubor makra</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7924" />
-      <location filename="../QScintilla/Editor.py" line="7880" />
+      <location filename="../QScintilla/Editor.py" line="7925" />
+      <location filename="../QScintilla/Editor.py" line="7881" />
       <source>Macro files (*.macro)</source>
       <translation>Macro soubory (*.macro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7902" />
-      <location filename="../QScintilla/Editor.py" line="7892" />
-      <source>Error loading macro</source>
-      <translation>Chyba při načítání makra</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7893" />
-      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Soubor s makrem &lt;b&gt;{0}&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7903" />
+      <location filename="../QScintilla/Editor.py" line="7893" />
+      <source>Error loading macro</source>
+      <translation>Chyba při načítání makra</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7894" />
+      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Soubor s makrem &lt;b&gt;{0}&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7904" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Soubor s makrem &lt;b&gt;{0}&lt;/b&gt; je poškozen.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7922" />
+      <location filename="../QScintilla/Editor.py" line="7923" />
       <source>Save macro file</source>
       <translation>Uložit soubor s makrem</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7940" />
-      <source>Save macro</source>
-      <translation>Uložit makro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7941" />
+      <source>Save macro</source>
+      <translation>Uložit makro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7942" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7956" />
-      <source>Error saving macro</source>
-      <translation>Chyba při ukládání makra</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7957" />
+      <source>Error saving macro</source>
+      <translation>Chyba při ukládání makra</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7958" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
       <translation>&lt;p&gt;So souboru s makrem &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7970" />
-      <source>Start Macro Recording</source>
-      <translation>Spustit záznam makra</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7971" />
+      <source>Start Macro Recording</source>
+      <translation>Spustit záznam makra</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7972" />
       <source>Macro recording is already active. Start new?</source>
       <translation>Nahrávání makra již probíhá. Spustit nové?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7997" />
-      <source>Macro Recording</source>
-      <translation>Záznam makra</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7998" />
+      <source>Macro Recording</source>
+      <translation>Záznam makra</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7999" />
       <source>Enter name of the macro:</source>
       <translation>Vložte název makra:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8215" />
+      <location filename="../QScintilla/Editor.py" line="8216" />
       <source>{0} (ro)</source>
       <translation>{0} (ro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8412" />
+      <location filename="../QScintilla/Editor.py" line="8413" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric. Reread it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8418" />
+      <location filename="../QScintilla/Editor.py" line="8419" />
       <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8425" />
+      <location filename="../QScintilla/Editor.py" line="8426" />
       <source>File changed</source>
       <translation>Soubor změněn</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8569" />
-      <source>Reload File</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8570" />
+      <source>Reload File</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8571" />
       <source>&lt;p&gt;The editor contains unsaved modifications.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reloading it.&lt;/p&gt;&lt;p&gt;Shall the editor really be reloaded?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8670" />
-      <source>Drop Error</source>
-      <translation>Zahodit chybu</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8671" />
+      <source>Drop Error</source>
+      <translation>Zahodit chybu</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8672" />
       <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
       <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; není soubor.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8692" />
+      <location filename="../QScintilla/Editor.py" line="8693" />
       <source>Resources</source>
       <translation>Zdroje</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8694" />
-      <source>Add file...</source>
-      <translation>Přidat soubor...</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8695" />
-      <source>Add files...</source>
-      <translation>Přidat soubory...</translation>
+      <source>Add file...</source>
+      <translation>Přidat soubor...</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="8696" />
+      <source>Add files...</source>
+      <translation>Přidat soubory...</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8697" />
       <source>Add aliased file...</source>
       <translation>Přidat zástupce souboru...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8698" />
+      <location filename="../QScintilla/Editor.py" line="8699" />
       <source>Add localized resource...</source>
       <translation>Přidat lokalizované resource...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8701" />
+      <location filename="../QScintilla/Editor.py" line="8702" />
       <source>Add resource frame</source>
       <translation>Přidat resource frame</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8721" />
+      <location filename="../QScintilla/Editor.py" line="8722" />
       <source>Add file resource</source>
       <translation>Přidat soubor resource</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8735" />
+      <location filename="../QScintilla/Editor.py" line="8736" />
       <source>Add file resources</source>
       <translation>Přidat soubory resource</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8759" />
-      <location filename="../QScintilla/Editor.py" line="8753" />
-      <source>Add aliased file resource</source>
-      <translation>Přidat zástupce souboru resource</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8760" />
+      <location filename="../QScintilla/Editor.py" line="8754" />
+      <source>Add aliased file resource</source>
+      <translation>Přidat zástupce souboru resource</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8761" />
       <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
       <translation>Zástupce pro soubor &lt;b&gt;{0}&lt;/b&gt;:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8842" />
-      <source>Package Diagram</source>
-      <translation>Diagram balíčku</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8843" />
+      <source>Package Diagram</source>
+      <translation>Diagram balíčku</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8844" />
       <source>Include class attributes?</source>
       <translation>Včetně atributů třídy?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8863" />
-      <source>Imports Diagram</source>
-      <translation>Importovat diagram</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8864" />
+      <source>Imports Diagram</source>
+      <translation>Importovat diagram</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8865" />
       <source>Include imports from external modules?</source>
       <translation>Zahrnout importy z externích modulů?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8883" />
-      <source>Application Diagram</source>
-      <translation>Diagram aplikace</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8884" />
+      <source>Application Diagram</source>
+      <translation>Diagram aplikace</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8885" />
       <source>Include module names?</source>
       <translation>Včetně jmen modulů?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9255" />
+      <location filename="../QScintilla/Editor.py" line="9256" />
       <source>Add to dictionary</source>
       <translation>Přidat do slovníku</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9257" />
+      <location filename="../QScintilla/Editor.py" line="9258" />
       <source>Ignore All</source>
       <translation>Ignorovat vše</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9704" />
-      <source>Sort Lines</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9705" />
+      <source>Sort Lines</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9706" />
       <source>The selection contains illegal data for a numerical sort.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9798" />
-      <source>Register Mouse Click Handler</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9799" />
+      <source>Register Mouse Click Handler</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9800" />
       <source>A mouse click handler for "{0}" was already registered by "{1}". Aborting request by "{2}"...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9892" />
+      <location filename="../QScintilla/Editor.py" line="9893" />
       <source>{0:4d}    {1}</source>
       <comment>line number, source code</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9898" />
+      <location filename="../QScintilla/Editor.py" line="9899" />
       <source>{0:4d}    {1}
     =&gt;  {2}</source>
       <comment>line number, source code, file name</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9976" />
-      <source>EditorConfig Properties</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9977" />
+      <source>EditorConfig Properties</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9978" />
       <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -52799,18 +52799,18 @@
   <context>
     <name>MicroPythonDevice</name>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="375" />
+      <location filename="../MicroPython/Devices/__init__.py" line="399" />
       <source>Generic MicroPython Board</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="422" />
+      <location filename="../MicroPython/Devices/__init__.py" line="446" />
       <source>RP2040/RP2350 based</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="582" />
-      <location filename="../MicroPython/Devices/__init__.py" line="571" />
+      <location filename="../MicroPython/Devices/__init__.py" line="606" />
+      <location filename="../MicroPython/Devices/__init__.py" line="595" />
       <source>Unknown Device</source>
       <translation type="unfinished" />
     </message>
@@ -59750,40 +59750,40 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1195" />
+      <location filename="../PipInterface/Pip.py" line="1197" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1221" />
-      <location filename="../PipInterface/Pip.py" line="1212" />
+      <location filename="../PipInterface/Pip.py" line="1223" />
+      <location filename="../PipInterface/Pip.py" line="1214" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1213" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1245" />
-      <location filename="../PipInterface/Pip.py" line="1238" />
+      <location filename="../PipInterface/Pip.py" line="1247" />
+      <location filename="../PipInterface/Pip.py" line="1240" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1239" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1270" />
-      <location filename="../PipInterface/Pip.py" line="1262" />
+      <location filename="../PipInterface/Pip.py" line="1272" />
+      <location filename="../PipInterface/Pip.py" line="1264" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1263" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -60544,6 +60544,16 @@
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Enter search term for packages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Package Search</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
       <source>View Type</source>
       <translation type="unfinished" />
     </message>
@@ -60693,18 +60703,18 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="735" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="729" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="737" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="731" />
       <source>Cleanup Environment</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="730" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="732" />
       <source>The environment cleanup was successful.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="736" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="738" />
       <source>Some leftover package directories could not been removed. Delete them manually.</source>
       <translation type="unfinished" />
     </message>
@@ -60885,13 +60895,13 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1580" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1555" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1585" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1560" />
       <source>unknown</source>
       <translation type="unfinished">neznámý</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1577" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1582" />
       <source>any</source>
       <translation type="unfinished" />
     </message>
@@ -61011,6 +61021,21 @@
       <source>Don't show 'Conda' environments</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Dependencies List</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Search Marker Background:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Select the color for the search highlight of the dependencies list.</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>PipVulnerabilityChecker</name>
@@ -62352,18 +62377,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1909" />
+      <location filename="../Preferences/__init__.py" line="1910" />
       <source>Export Preferences</source>
       <translation>Předvolby exportu</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1938" />
-      <location filename="../Preferences/__init__.py" line="1911" />
+      <location filename="../Preferences/__init__.py" line="1939" />
+      <location filename="../Preferences/__init__.py" line="1912" />
       <source>Properties File (*.ini);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1936" />
+      <location filename="../Preferences/__init__.py" line="1937" />
       <source>Import Preferences</source>
       <translation>Předvolby importu</translation>
     </message>
@@ -89961,133 +89986,133 @@
   <context>
     <name>UF2FlashDialog</name>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="735" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="754" />
       <source>&lt;h3&gt;CircuitPython Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Switch your device to 'bootloader' mode by double-pressing the reset button.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;(If this does not happen, then try shorter or longer pauses between presses.)&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="761" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="780" />
       <source>&lt;h3&gt;Pi Pico (RP2040/RP2350) Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Enter 'bootloader' mode (board &lt;b&gt;without&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;Plug in your board while holding the BOOTSEL button.&lt;/li&gt;&lt;/ul&gt;Enter 'bootloader' mode (board &lt;b&gt;with&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;hold down RESET&lt;/li&gt;&lt;li&gt;hold down BOOTSEL&lt;/li&gt;&lt;li&gt;release RESET&lt;/li&gt;&lt;li&gt;release BOOTSEL&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="883" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="902" />
       <source>MicroPython/CircuitPython Files (*.uf2);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="950" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="942" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="926" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="969" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="961" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="945" />
       <source>Manual Select</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1073" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1041" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1018" />
+      <source>Reset Instructions:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1020" />
+      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1044" />
+      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1054" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1022" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="999" />
-      <source>Reset Instructions:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1001" />
-      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1025" />
-      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1035" />
       <source>&lt;h4&gt;Potentially UF2 capable devices found&lt;/h4&gt;&lt;p&gt;Found these potentially UF2 capable devices:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1056" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1075" />
       <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1068" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1087" />
       <source>Flash Instructions:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1070" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1089" />
       <source>&lt;h4&gt;Flash method 'manual' selected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to flash a device by entering the data manually.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Change the device to 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it) and select its path.&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1095" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1114" />
       <source>Boot Volume not found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1097" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1116" />
       <source>&lt;h4&gt;No Boot Volume detected.&lt;/h4&gt;&lt;p&gt;Please ensure that the boot volume of the device to be flashed is available. </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1103" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1122" />
       <source>This volume should be named &lt;b&gt;{0}&lt;/b&gt;. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1108" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1127" />
       <source>This volume should have one of these names.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1115" />
-      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1134" />
+      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1153" />
       <source>Multiple Boot Volumes found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1136" />
-      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1155" />
+      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1174" />
       <source>Flashing Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1157" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1176" />
       <source>&lt;p&gt;Flashing the selected firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1164" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1183" />
       <source>Flashing {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1166" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1185" />
       <source>&lt;p&gt;Flashing the {0} firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/UF2FlashDialog.ui" line="0" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1278" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1270" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1297" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1289" />
       <source>Flash UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1271" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1290" />
       <source>No UF2 device 'boot' volumes found.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1279" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1298" />
       <source>Select the Boot Volume of the device:</source>
       <translation type="unfinished" />
     </message>
Binary file src/eric7/i18n/eric7_de.qm has changed
--- a/src/eric7/i18n/eric7_de.ts	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/i18n/eric7_de.ts	Mon Feb 10 14:09:14 2025 +0100
@@ -12552,7 +12552,7 @@
       <translation>Kommentar entfernen</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="10163" />
+      <location filename="../QScintilla/Editor.py" line="10164" />
       <location filename="../QScintilla/Editor.py" line="1015" />
       <source>Generate Docstring</source>
       <translation>Docstring erzeugen</translation>
@@ -12835,7 +12835,7 @@
       <translation>Rechtschreibung</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9251" />
+      <location filename="../QScintilla/Editor.py" line="9252" />
       <location filename="../QScintilla/Editor.py" line="1420" />
       <source>Check spelling...</source>
       <translation>Rechtschreibprüfung...</translation>
@@ -12896,7 +12896,7 @@
       <translation>Haltepunkt bearbeiten...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6593" />
+      <location filename="../QScintilla/Editor.py" line="6594" />
       <location filename="../QScintilla/Editor.py" line="1505" />
       <source>Enable breakpoint</source>
       <translation>Haltepunkt aktivieren</translation>
@@ -13140,370 +13140,370 @@
       <translation>Gib den vollständigen Dateipfad auf dem Gerät ein:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5742" />
+      <location filename="../QScintilla/Editor.py" line="5743" />
       <source>Autocompletion</source>
       <translation>Automatische Vervollständigung</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5743" />
+      <location filename="../QScintilla/Editor.py" line="5744" />
       <source>Autocompletion is not available because there is no autocompletion source set.</source>
       <translation>Die automatische Vervollständigung ist nicht verfügbar, da keine Quelle gesetzt ist.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5877" />
-      <source>Auto-Completion Provider</source>
-      <translation>Provider für automatische Vervollständigungen</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="5878" />
+      <source>Auto-Completion Provider</source>
+      <translation>Provider für automatische Vervollständigungen</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="5879" />
       <source>The completion list provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation>Der Provider für automatische Vervollständigungen namens '{0}' ist bereits registriert. Die Wiederholung wird ignoriert.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6174" />
-      <source>Call-Tips Provider</source>
-      <translation>Calltipps-Provider</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="6175" />
+      <source>Call-Tips Provider</source>
+      <translation>Calltipps-Provider</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="6176" />
       <source>The call-tips provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation>Der Calltipps-Provider namens '{0}' ist bereits registriert. Die Wiederholung wird ignoriert.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6597" />
+      <location filename="../QScintilla/Editor.py" line="6598" />
       <source>Disable breakpoint</source>
       <translation>Haltepunkt deaktivieren</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7021" />
-      <source>Code Coverage</source>
-      <translation>Quelltext Abdeckung</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7022" />
+      <source>Code Coverage</source>
+      <translation>Quelltext Abdeckung</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7023" />
       <source>Please select a coverage file</source>
       <translation>Bitte wählen Sie eine Datei mit Abdeckungsdaten</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7084" />
-      <source>Load Coverage Data</source>
-      <translation>Coverage Daten laden</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7085" />
+      <source>Load Coverage Data</source>
+      <translation>Coverage Daten laden</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7086" />
       <source>&lt;p&gt;The coverage data could not be loaded from file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Coverage Daten konnten nicht aus der Datei &lt;b&gt;{0}&lt;/b&gt; geladen werden.&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7114" />
-      <location filename="../QScintilla/Editor.py" line="7106" />
-      <source>Show Code Coverage Annotations</source>
-      <translation>Zeilen ohne Abdeckung Markieren</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7107" />
-      <source>All lines have been covered.</source>
-      <translation>Alle Zeilen sind abgedeckt.</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7115" />
+      <location filename="../QScintilla/Editor.py" line="7107" />
+      <source>Show Code Coverage Annotations</source>
+      <translation>Zeilen ohne Abdeckung Markieren</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7108" />
+      <source>All lines have been covered.</source>
+      <translation>Alle Zeilen sind abgedeckt.</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7116" />
       <source>There is no coverage file available.</source>
       <translation>Es gibt keine Datei mit Abdeckungsinformationen.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7223" />
-      <source>Profile Data</source>
-      <translation>Profildaten</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7224" />
+      <source>Profile Data</source>
+      <translation>Profildaten</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7225" />
       <source>Please select a profile file</source>
       <translation>Bitte wählen Sie eine Datei mit Profildaten</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7386" />
-      <location filename="../QScintilla/Editor.py" line="7380" />
-      <source>Syntax Error</source>
-      <translation>Syntaxfehler</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7387" />
+      <location filename="../QScintilla/Editor.py" line="7381" />
+      <source>Syntax Error</source>
+      <translation>Syntaxfehler</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7388" />
       <source>No syntax error message available.</source>
       <translation>Keine Syntaxfehlermeldung verfügbar.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
-      <location filename="../QScintilla/Editor.py" line="7628" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
+      <location filename="../QScintilla/Editor.py" line="7629" />
       <source>Warning</source>
       <translation>Warnung</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
       <source>No warning messages available.</source>
       <translation>Keine Warnmeldungen verfügbar.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7713" />
+      <location filename="../QScintilla/Editor.py" line="7714" />
       <source>Info: {0}</source>
       <translation>Info: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7729" />
-      <location filename="../QScintilla/Editor.py" line="7715" />
+      <location filename="../QScintilla/Editor.py" line="7730" />
+      <location filename="../QScintilla/Editor.py" line="7716" />
       <source>Error: {0}</source>
       <translation>Fehler: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7717" />
+      <location filename="../QScintilla/Editor.py" line="7718" />
       <source>Style: {0}</source>
       <translation>Stil: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7722" />
+      <location filename="../QScintilla/Editor.py" line="7723" />
       <source>Warning: {0}</source>
       <translation>Warnung: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Macro Name</source>
       <translation>Makro Name</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Select a macro name:</source>
       <translation>Wähle einen Makro Namen:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7878" />
+      <location filename="../QScintilla/Editor.py" line="7879" />
       <source>Load macro file</source>
       <translation>Lade Makrodatei</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7924" />
-      <location filename="../QScintilla/Editor.py" line="7880" />
+      <location filename="../QScintilla/Editor.py" line="7925" />
+      <location filename="../QScintilla/Editor.py" line="7881" />
       <source>Macro files (*.macro)</source>
       <translation>Makrodateien (*.macro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7902" />
-      <location filename="../QScintilla/Editor.py" line="7892" />
-      <source>Error loading macro</source>
-      <translation>Fehler beim Makro Laden</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7893" />
-      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Die Makrodatei &lt;b&gt;{0}&lt;/b&gt; kann nicht gelesen werden.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7903" />
+      <location filename="../QScintilla/Editor.py" line="7893" />
+      <source>Error loading macro</source>
+      <translation>Fehler beim Makro Laden</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7894" />
+      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Die Makrodatei &lt;b&gt;{0}&lt;/b&gt; kann nicht gelesen werden.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7904" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Makrodatei &lt;b&gt;{0}&lt;/b&gt; ist zerstört.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7922" />
+      <location filename="../QScintilla/Editor.py" line="7923" />
       <source>Save macro file</source>
       <translation>Makrodatei schreiben</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7940" />
-      <source>Save macro</source>
-      <translation>Makro speichern</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7941" />
+      <source>Save macro</source>
+      <translation>Makro speichern</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7942" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Makrodatei &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Überschreiben?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7956" />
-      <source>Error saving macro</source>
-      <translation>Fehler beim Makro speichern</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7957" />
+      <source>Error saving macro</source>
+      <translation>Fehler beim Makro speichern</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7958" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Makrodatei &lt;b&gt;{0}&lt;/b&gt; kann nicht geschrieben werden.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7970" />
-      <source>Start Macro Recording</source>
-      <translation>Makroaufzeichnung starten</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7971" />
+      <source>Start Macro Recording</source>
+      <translation>Makroaufzeichnung starten</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7972" />
       <source>Macro recording is already active. Start new?</source>
       <translation>Eine Makroaufzeichnung ist bereits aktiv. Neu starten?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7997" />
-      <source>Macro Recording</source>
-      <translation>Makroaufzeichnung</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7998" />
+      <source>Macro Recording</source>
+      <translation>Makroaufzeichnung</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7999" />
       <source>Enter name of the macro:</source>
       <translation>Gib einen Namen für das Makro ein:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8215" />
+      <location filename="../QScintilla/Editor.py" line="8216" />
       <source>{0} (ro)</source>
       <translation>{0} (ro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8412" />
+      <location filename="../QScintilla/Editor.py" line="8413" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric. Reread it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; wurde geändert, während sie in eric geöffnet war. Neu einlesen?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8418" />
+      <location filename="../QScintilla/Editor.py" line="8419" />
       <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
       <translation>&lt;br&gt;&lt;b&gt;Warnung:&lt;/b&gt; Vorgenommenen Änderungen gehen beim neu einlesen verloren.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8425" />
+      <location filename="../QScintilla/Editor.py" line="8426" />
       <source>File changed</source>
       <translation>Datei geändert</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8569" />
-      <source>Reload File</source>
-      <translation>Datei neu laden</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8570" />
+      <source>Reload File</source>
+      <translation>Datei neu laden</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8571" />
       <source>&lt;p&gt;The editor contains unsaved modifications.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reloading it.&lt;/p&gt;&lt;p&gt;Shall the editor really be reloaded?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Der Editor enthält ungesicherte Änderungen.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Warnung:&lt;/b&gt; Alle Änderung gehen beim Laden verloren.&lt;/p&gt;&lt;p&gt;Soll der Editor wirklich neu geladen werden?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8670" />
-      <source>Drop Error</source>
-      <translation>Drop Fehler</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8671" />
+      <source>Drop Error</source>
+      <translation>Drop Fehler</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8672" />
       <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
       <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; ist keine Datei.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8692" />
+      <location filename="../QScintilla/Editor.py" line="8693" />
       <source>Resources</source>
       <translation>Ressourcen</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8694" />
-      <source>Add file...</source>
-      <translation>Datei hinzufügen...</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8695" />
-      <source>Add files...</source>
-      <translation>Dateien hinzufügen...</translation>
+      <source>Add file...</source>
+      <translation>Datei hinzufügen...</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="8696" />
+      <source>Add files...</source>
+      <translation>Dateien hinzufügen...</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8697" />
       <source>Add aliased file...</source>
       <translation>Aliased-Datei hinzufügen...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8698" />
+      <location filename="../QScintilla/Editor.py" line="8699" />
       <source>Add localized resource...</source>
       <translation>Lokalisierte Ressource hinzufügen...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8701" />
+      <location filename="../QScintilla/Editor.py" line="8702" />
       <source>Add resource frame</source>
       <translation>Ressourcenrahmen hinzufügen</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8721" />
+      <location filename="../QScintilla/Editor.py" line="8722" />
       <source>Add file resource</source>
       <translation>Dateiressource hinzufügen</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8735" />
+      <location filename="../QScintilla/Editor.py" line="8736" />
       <source>Add file resources</source>
       <translation>Dateiressourcen hinzufügen</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8759" />
-      <location filename="../QScintilla/Editor.py" line="8753" />
-      <source>Add aliased file resource</source>
-      <translation>Aliased-Dateiressourcen hinzufügen</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8760" />
+      <location filename="../QScintilla/Editor.py" line="8754" />
+      <source>Add aliased file resource</source>
+      <translation>Aliased-Dateiressourcen hinzufügen</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8761" />
       <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
       <translation>Alias für Datei &lt;b&gt;{0}&lt;/b&gt;:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8842" />
-      <source>Package Diagram</source>
-      <translation>Package-Diagramm</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8843" />
+      <source>Package Diagram</source>
+      <translation>Package-Diagramm</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8844" />
       <source>Include class attributes?</source>
       <translation>Klassenattribute anzeigen?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8863" />
-      <source>Imports Diagram</source>
-      <translation>Imports Diagramm</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8864" />
+      <source>Imports Diagram</source>
+      <translation>Imports Diagramm</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8865" />
       <source>Include imports from external modules?</source>
       <translation>Imports externer Module anzeigen?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8883" />
-      <source>Application Diagram</source>
-      <translation>Applikations-Diagramm</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8884" />
+      <source>Application Diagram</source>
+      <translation>Applikations-Diagramm</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8885" />
       <source>Include module names?</source>
       <translation>Modulnamen anzeigen?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9255" />
+      <location filename="../QScintilla/Editor.py" line="9256" />
       <source>Add to dictionary</source>
       <translation>Zum Wörterbuch hinzufügen</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9257" />
+      <location filename="../QScintilla/Editor.py" line="9258" />
       <source>Ignore All</source>
       <translation>Alle ignorieren</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9704" />
-      <source>Sort Lines</source>
-      <translation>Zeilen sortieren</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9705" />
+      <source>Sort Lines</source>
+      <translation>Zeilen sortieren</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9706" />
       <source>The selection contains illegal data for a numerical sort.</source>
       <translation>Die Auswahl enthält für eine numerische Sortierung ungültige Daten.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9798" />
-      <source>Register Mouse Click Handler</source>
-      <translation>Maus Klick Handler registrieren</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9799" />
+      <source>Register Mouse Click Handler</source>
+      <translation>Maus Klick Handler registrieren</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9800" />
       <source>A mouse click handler for "{0}" was already registered by "{1}". Aborting request by "{2}"...</source>
       <translation>Ein Maus Klick Handler für "{0}" wurde bereits durch "{1}" registriert. Die Anfrage durch "{2}" wird abgebrochen...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9892" />
+      <location filename="../QScintilla/Editor.py" line="9893" />
       <source>{0:4d}    {1}</source>
       <comment>line number, source code</comment>
       <translation>{0:4d}    {1}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9898" />
+      <location filename="../QScintilla/Editor.py" line="9899" />
       <source>{0:4d}    {1}
     =&gt;  {2}</source>
       <comment>line number, source code, file name</comment>
@@ -13511,12 +13511,12 @@
     =&gt;  {2}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9976" />
+      <location filename="../QScintilla/Editor.py" line="9977" />
       <source>EditorConfig Properties</source>
       <translation>EditorConfig Eigenschaften</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9977" />
+      <location filename="../QScintilla/Editor.py" line="9978" />
       <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die EditorConfig Eigenschaften für die Datei &lt;b&gt;{0}&lt;/b&gt; konnten nicht geladen werden.&lt;/p&gt;</translation>
     </message>
@@ -52813,18 +52813,18 @@
   <context>
     <name>MicroPythonDevice</name>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="375" />
+      <location filename="../MicroPython/Devices/__init__.py" line="399" />
       <source>Generic MicroPython Board</source>
       <translation>Generisches MicroPython Board</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="422" />
+      <location filename="../MicroPython/Devices/__init__.py" line="446" />
       <source>RP2040/RP2350 based</source>
       <translation>RP2040/RP2350 basiert</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="582" />
-      <location filename="../MicroPython/Devices/__init__.py" line="571" />
+      <location filename="../MicroPython/Devices/__init__.py" line="606" />
+      <location filename="../MicroPython/Devices/__init__.py" line="595" />
       <source>Unknown Device</source>
       <translation>Unbekanntes Gerät</translation>
     </message>
@@ -59750,40 +59750,40 @@
       <translation>Pakete gem. 'pyproject.toml' deinstallieren</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1195" />
+      <location filename="../PipInterface/Pip.py" line="1197" />
       <source>Cache Info</source>
       <translation>Zwischenspeicherinformationen</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1221" />
-      <location filename="../PipInterface/Pip.py" line="1212" />
+      <location filename="../PipInterface/Pip.py" line="1223" />
+      <location filename="../PipInterface/Pip.py" line="1214" />
       <source>List Cached Files</source>
       <translation>Liste zwischengespeicherte Dateien</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1213" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>Enter a file pattern (empty for all):</source>
       <translation>Gib ein Dateinamenmuster ein (leer für alle):</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1245" />
-      <location filename="../PipInterface/Pip.py" line="1238" />
+      <location filename="../PipInterface/Pip.py" line="1247" />
+      <location filename="../PipInterface/Pip.py" line="1240" />
       <source>Remove Cached Files</source>
       <translation>Zwischengespeicherte Dateien Löschen</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1239" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Enter a file pattern:</source>
       <translation>Gib ein Dateinamenmuster ein:</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1270" />
-      <location filename="../PipInterface/Pip.py" line="1262" />
+      <location filename="../PipInterface/Pip.py" line="1272" />
+      <location filename="../PipInterface/Pip.py" line="1264" />
       <source>Purge Cache</source>
       <translation>Zwischenspeicher Leeren</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1263" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation>Soll der pip Zwischenspeicher wirklich geleert werden? Alle Dateien müssen neu heruntergeladen werden.</translation>
     </message>
@@ -60544,6 +60544,16 @@
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Enter search term for packages</source>
+      <translation>Gib den Paketsuchtext ein</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Package Search</source>
+      <translation>Paketsuche</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
       <source>View Type</source>
       <translation>Ansichtstyp</translation>
     </message>
@@ -60693,18 +60703,18 @@
       <translation>Ermittle veraltete Pakete...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="735" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="729" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="737" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="731" />
       <source>Cleanup Environment</source>
       <translation>Environment bereinigen</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="730" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="732" />
       <source>The environment cleanup was successful.</source>
       <translation>Die Bereinigung des Environments war erfolgreich.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="736" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="738" />
       <source>Some leftover package directories could not been removed. Delete them manually.</source>
       <translation>Einige übrig gebliebene Paketverzeichnisse konnten nicht entfernt werden. Lösche diese manuell.</translation>
     </message>
@@ -60885,13 +60895,13 @@
       <translation>Advisory:</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1580" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1555" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1585" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1560" />
       <source>unknown</source>
       <translation>unbekannt</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1577" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1582" />
       <source>any</source>
       <translation>beliebig</translation>
     </message>
@@ -60991,6 +61001,21 @@
       <source>Don't show 'Conda' environments</source>
       <translation>'Conda' Umgebungen nicht anzeigen</translation>
     </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Dependencies List</source>
+      <translation>Liste der Abhängigkeiten</translation>
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Search Marker Background:</source>
+      <translation>Suchmarkenhintergrund:</translation>
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Select the color for the search highlight of the dependencies list.</source>
+      <translation>Wähle die Farbe für die Suchmarke der Abhängigkeitsliste.</translation>
+    </message>
   </context>
   <context>
     <name>PipVulnerabilityChecker</name>
@@ -62336,18 +62361,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1909" />
+      <location filename="../Preferences/__init__.py" line="1910" />
       <source>Export Preferences</source>
       <translation>Einstellungen exportieren</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1938" />
-      <location filename="../Preferences/__init__.py" line="1911" />
+      <location filename="../Preferences/__init__.py" line="1939" />
+      <location filename="../Preferences/__init__.py" line="1912" />
       <source>Properties File (*.ini);;All Files (*)</source>
       <translation>Properties-Dateien (*.ini);;Alle Dateien (*)</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1936" />
+      <location filename="../Preferences/__init__.py" line="1937" />
       <source>Import Preferences</source>
       <translation>Einstellungen importieren</translation>
     </message>
@@ -90065,133 +90090,133 @@
   <context>
     <name>UF2FlashDialog</name>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="735" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="754" />
       <source>&lt;h3&gt;CircuitPython Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Switch your device to 'bootloader' mode by double-pressing the reset button.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;(If this does not happen, then try shorter or longer pauses between presses.)&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation>&lt;h3&gt;CircuitPython Gerät&lt;/h3&gt;&lt;p&gt;Um das Gerät zum Flashen vorzubereiten, folgen sie den folgenden Schritten:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Aktiviere den 'Bootloader' Modus durch zweimaliges Drücken des Reset Knopfes.&lt;/li&gt;&lt;li&gt;Warten sie, bis das Gerät den 'Bootloader' Modus eingenommen hat.&lt;/li&gt;&lt;li&gt;(Falls dies nicht erfolgt, versuchen sie es mit einer kürzeren oder längeren Pause zwischen den Drücken.)&lt;/li&gt;&lt;li&gt;Stellen sie sicher, dass der Boot Datenträger verfügbar ist (evtl. ist er zu mounten).&lt;/li&gt;&lt;li&gt;Wählen sie die zu flashende Firmwaredatei und klicken sie den Flash Knopf.&lt;/li&gt;&lt;/ol&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="761" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="780" />
       <source>&lt;h3&gt;Pi Pico (RP2040/RP2350) Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Enter 'bootloader' mode (board &lt;b&gt;without&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;Plug in your board while holding the BOOTSEL button.&lt;/li&gt;&lt;/ul&gt;Enter 'bootloader' mode (board &lt;b&gt;with&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;hold down RESET&lt;/li&gt;&lt;li&gt;hold down BOOTSEL&lt;/li&gt;&lt;li&gt;release RESET&lt;/li&gt;&lt;li&gt;release BOOTSEL&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation>&lt;h3&gt;Pi Pico (RP2040/RP2350) Gerät&lt;/h3&gt;&lt;p&gt;Um das Gerät zum Flashen vorzubereiten, folgen sie den folgenden Schritten:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;'Bootloader' Modus aktivieren (Gerät &lt;b&gt;ohne&lt;/b&gt; RESET Knopf):&lt;ul&gt;&lt;li&gt;Verbinden sie das Gerät während der BOOTSEL Knopf gedrückt gehalten wird.&lt;/li&gt;&lt;/ul&gt;'Bootloader' Modus aktivieren (Gerät &lt;b&gt;mit&lt;/b&gt; RESET Knopf):&lt;ul&gt;&lt;li&gt;RESET drücken und halten&lt;/li&gt;&lt;li&gt;BOOTSEL drücken und halten&lt;/li&gt;&lt;li&gt;RESET loslassen&lt;/li&gt;&lt;li&gt;BOOTSEL loslassen&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Warten sie, bis das Gerät den 'Bootloader' Modus eingenommen hat.&lt;/li&gt;&lt;li&gt;Stellen sie sicher, dass der Boot Datenträger verfügbar ist (evtl. ist er zu mounten).&lt;/li&gt;&lt;li&gt;Wählen sie die zu flashende Firmwaredatei und klicken sie den Flash Knopf.&lt;/li&gt;&lt;/ol&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="883" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="902" />
       <source>MicroPython/CircuitPython Files (*.uf2);;All Files (*)</source>
       <translation>MicroPython/CircuitPython Dateien (*.uf2);;Alle Dateien (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="950" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="942" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="926" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="969" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="961" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="945" />
       <source>Manual Select</source>
       <translation>Manuelle Auswahl</translation>
     </message>
     <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1073" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1041" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1018" />
+      <source>Reset Instructions:</source>
+      <translation>Reset Instruktionen:</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1020" />
+      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation>&lt;h4&gt;Kein bekanntes Gerät erkannt.&lt;/h4&gt;&lt;p&gt;Folgen sie den entsprechenden Anweisungen, um &lt;b&gt;ein&lt;/b&gt; Gerät in den 'Bootloader' Modus zu versetzen. Drücken sie &lt;b&gt;Aktualisieren&lt;/b&gt;, wenn sie bereit sind.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1044" />
+      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
+      <translation>&lt;h4&gt;{0} Firmware flashen&lt;/h4&gt;&lt;p&gt;Folgen sie den Anweisungen, um &lt;b&gt;ein&lt;/b&gt; Gerät in den 'Bootloader' Modus zu versetzen. Drücken sie &lt;b&gt;Aktualisieren&lt;/b&gt;, wenn sie bereit sind.&lt;/p&gt;&lt;hr/&gt;{1}</translation>
+    </message>
+    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1054" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1022" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="999" />
-      <source>Reset Instructions:</source>
-      <translation>Reset Instruktionen:</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1001" />
-      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation>&lt;h4&gt;Kein bekanntes Gerät erkannt.&lt;/h4&gt;&lt;p&gt;Folgen sie den entsprechenden Anweisungen, um &lt;b&gt;ein&lt;/b&gt; Gerät in den 'Bootloader' Modus zu versetzen. Drücken sie &lt;b&gt;Aktualisieren&lt;/b&gt;, wenn sie bereit sind.&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1025" />
-      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
-      <translation>&lt;h4&gt;{0} Firmware flashen&lt;/h4&gt;&lt;p&gt;Folgen sie den Anweisungen, um &lt;b&gt;ein&lt;/b&gt; Gerät in den 'Bootloader' Modus zu versetzen. Drücken sie &lt;b&gt;Aktualisieren&lt;/b&gt;, wenn sie bereit sind.&lt;/p&gt;&lt;hr/&gt;{1}</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1035" />
       <source>&lt;h4&gt;Potentially UF2 capable devices found&lt;/h4&gt;&lt;p&gt;Found these potentially UF2 capable devices:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation>&lt;h4&gt;Potentiell UF2 fähige Geräte gefunden&lt;/h4&gt;&lt;p&gt;Es wurde folgende potentiell UF2 fähige Geräte gefunden:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Folgen sie den Anweisungen, um &lt;b&gt;ein&lt;/b&gt; Gerät in den 'Bootloader' Modus zu versetzen. Drücken sie &lt;b&gt;Aktualisieren&lt;/b&gt;, wenn sie bereit sind.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1056" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1075" />
       <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation>&lt;h4&gt;Keine bekannten Geräte erkannt.&lt;/h4&gt;&lt;p&gt;Folgen sie den Anweisungen, um &lt;b&gt;ein&lt;/b&gt; Gerät in den 'Bootloader' Modus zu versetzen. Drücken sie &lt;b&gt;Aktualisieren&lt;/b&gt;, wenn sie bereit sind.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1068" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1087" />
       <source>Flash Instructions:</source>
       <translation>Flash Instruktionen:</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1070" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1089" />
       <source>&lt;h4&gt;Flash method 'manual' selected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to flash a device by entering the data manually.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Change the device to 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it) and select its path.&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation>&lt;h4&gt;Flash Method 'manuell' ausgewählt.&lt;/h4&gt;Folgen sie den Anweisungen, um ein Gerät mit manueller Eingabe der Parameter zu flashen.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Bringen sie das Gerät in den 'Bootloader' Modus.&lt;/li&gt;&lt;li&gt;Warten sie, bis das Gerät den 'Bootloader' Modus eingenommen hat.&lt;/li&gt;&lt;li&gt;Stellen sie sicher, dass der Boot Datenträger verfügbar ist (evtl. ist er zu mounten).&lt;/li&gt;&lt;li&gt;Wählen sie die zu flashende Firmwaredatei und klicken sie den Flash Knopf.&lt;/li&gt;&lt;/ol&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1095" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1114" />
       <source>Boot Volume not found:</source>
       <translation>Boot Datenträger nicht gefunden:</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1097" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1116" />
       <source>&lt;h4&gt;No Boot Volume detected.&lt;/h4&gt;&lt;p&gt;Please ensure that the boot volume of the device to be flashed is available. </source>
       <translation>&lt;h4&gt;Es wurde kein Boot Datenträger gefunden.&lt;/h4&gt;&lt;p&gt;Bitte stellen sie sicher, dass der Boot Datenträger für das zu flashende Gerät verfügbar ist. </translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1103" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1122" />
       <source>This volume should be named &lt;b&gt;{0}&lt;/b&gt;. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation>Dieser Datenträger sollte die Bezeichnung &lt;b&gt;{0}&lt;/b&gt; haben. Drücken sie &lt;b&gt;Aktualisieren&lt;/b&gt;, wenn sie bereit sind.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1108" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1127" />
       <source>This volume should have one of these names.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation>Dieser Datenträger sollte eine dieser Bezeichnungen haben.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Drücken sie &lt;b&gt;Aktualisieren&lt;/b&gt;, wenn sie bereit sind.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1115" />
-      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation>&lt;h4&gt;Reset Instruktionen&lt;/h4&gt;&lt;p&gt;Folgen sie den Anweisungen, um das Gerät in den 'Bootloader' Modus zu versetzen. Drücken sie &lt;b&gt;Aktualisieren&lt;/b&gt;, wenn sie bereit sind.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1134" />
+      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation>&lt;h4&gt;Reset Instruktionen&lt;/h4&gt;&lt;p&gt;Folgen sie den Anweisungen, um das Gerät in den 'Bootloader' Modus zu versetzen. Drücken sie &lt;b&gt;Aktualisieren&lt;/b&gt;, wenn sie bereit sind.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1153" />
       <source>Multiple Boot Volumes found:</source>
       <translation>Mehrere Boot Datenträger erkannt:</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1136" />
-      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation>&lt;h4&gt;Mehrere Boot Datenträger wurden erkannt&lt;/h4&gt;&lt;p&gt;Diese Datenträgerpfade wurden erkannt.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Bitte stellen sie sicher, dass nur ein Gerät zum Flashen bereit ist. Drücken sie &lt;b&gt;Aktualisieren&lt;/b&gt;, wenn sie bereit sind.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1155" />
+      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation>&lt;h4&gt;Mehrere Boot Datenträger wurden erkannt&lt;/h4&gt;&lt;p&gt;Diese Datenträgerpfade wurden erkannt.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Bitte stellen sie sicher, dass nur ein Gerät zum Flashen bereit ist. Drücken sie &lt;b&gt;Aktualisieren&lt;/b&gt;, wenn sie bereit sind.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1174" />
       <source>Flashing Firmware</source>
       <translation>Flashe Firmware</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1157" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1176" />
       <source>&lt;p&gt;Flashing the selected firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Flashe die ausgewählte Firmware auf das Gerät. Bitte warten Sie bis sich das Gerät automatisch resettet.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1164" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1183" />
       <source>Flashing {0}</source>
       <translation>Flashe {0}</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1166" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1185" />
       <source>&lt;p&gt;Flashing the {0} firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Flashe die {0} Firmware auf das Gerät. Bitte warten sie, bis sich das Gerät automatisch resettet.&lt;/p&gt;</translation>
     </message>
     <message>
       <location filename="../MicroPython/UF2FlashDialog.ui" line="0" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1278" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1270" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1297" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1289" />
       <source>Flash UF2 Device</source>
       <translation>UF2 Gerät flashen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1271" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1290" />
       <source>No UF2 device 'boot' volumes found.</source>
       <translation>Keine 'boot' Verzeichnisse für UF2 Gerät gefunden.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1279" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1298" />
       <source>Select the Boot Volume of the device:</source>
       <translation>Wähle das Bootverzeichnis des Gerätes:</translation>
     </message>
--- a/src/eric7/i18n/eric7_empty.ts	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/i18n/eric7_empty.ts	Mon Feb 10 14:09:14 2025 +0100
@@ -12465,7 +12465,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="10163" />
+      <location filename="../QScintilla/Editor.py" line="10164" />
       <location filename="../QScintilla/Editor.py" line="1015" />
       <source>Generate Docstring</source>
       <translation type="unfinished" />
@@ -12748,7 +12748,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9251" />
+      <location filename="../QScintilla/Editor.py" line="9252" />
       <location filename="../QScintilla/Editor.py" line="1420" />
       <source>Check spelling...</source>
       <translation type="unfinished" />
@@ -12809,7 +12809,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6593" />
+      <location filename="../QScintilla/Editor.py" line="6594" />
       <location filename="../QScintilla/Editor.py" line="1505" />
       <source>Enable breakpoint</source>
       <translation type="unfinished" />
@@ -13053,382 +13053,382 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5742" />
+      <location filename="../QScintilla/Editor.py" line="5743" />
       <source>Autocompletion</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5743" />
+      <location filename="../QScintilla/Editor.py" line="5744" />
       <source>Autocompletion is not available because there is no autocompletion source set.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5877" />
-      <source>Auto-Completion Provider</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="5878" />
+      <source>Auto-Completion Provider</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="5879" />
       <source>The completion list provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6174" />
-      <source>Call-Tips Provider</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="6175" />
+      <source>Call-Tips Provider</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="6176" />
       <source>The call-tips provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6597" />
+      <location filename="../QScintilla/Editor.py" line="6598" />
       <source>Disable breakpoint</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7021" />
-      <source>Code Coverage</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7022" />
+      <source>Code Coverage</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7023" />
       <source>Please select a coverage file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7084" />
-      <source>Load Coverage Data</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7085" />
+      <source>Load Coverage Data</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7086" />
       <source>&lt;p&gt;The coverage data could not be loaded from file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7114" />
-      <location filename="../QScintilla/Editor.py" line="7106" />
-      <source>Show Code Coverage Annotations</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7107" />
-      <source>All lines have been covered.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7115" />
+      <location filename="../QScintilla/Editor.py" line="7107" />
+      <source>Show Code Coverage Annotations</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7108" />
+      <source>All lines have been covered.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7116" />
       <source>There is no coverage file available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7223" />
-      <source>Profile Data</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7224" />
+      <source>Profile Data</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7225" />
       <source>Please select a profile file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7386" />
-      <location filename="../QScintilla/Editor.py" line="7380" />
-      <source>Syntax Error</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7387" />
+      <location filename="../QScintilla/Editor.py" line="7381" />
+      <source>Syntax Error</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7388" />
       <source>No syntax error message available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
-      <location filename="../QScintilla/Editor.py" line="7628" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
+      <location filename="../QScintilla/Editor.py" line="7629" />
       <source>Warning</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
       <source>No warning messages available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7713" />
+      <location filename="../QScintilla/Editor.py" line="7714" />
       <source>Info: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7729" />
-      <location filename="../QScintilla/Editor.py" line="7715" />
+      <location filename="../QScintilla/Editor.py" line="7730" />
+      <location filename="../QScintilla/Editor.py" line="7716" />
       <source>Error: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7717" />
+      <location filename="../QScintilla/Editor.py" line="7718" />
       <source>Style: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7722" />
+      <location filename="../QScintilla/Editor.py" line="7723" />
       <source>Warning: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Macro Name</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Select a macro name:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7878" />
+      <location filename="../QScintilla/Editor.py" line="7879" />
       <source>Load macro file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7924" />
-      <location filename="../QScintilla/Editor.py" line="7880" />
+      <location filename="../QScintilla/Editor.py" line="7925" />
+      <location filename="../QScintilla/Editor.py" line="7881" />
       <source>Macro files (*.macro)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7902" />
-      <location filename="../QScintilla/Editor.py" line="7892" />
-      <source>Error loading macro</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7893" />
-      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7903" />
+      <location filename="../QScintilla/Editor.py" line="7893" />
+      <source>Error loading macro</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7894" />
+      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7904" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7922" />
+      <location filename="../QScintilla/Editor.py" line="7923" />
       <source>Save macro file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7940" />
-      <source>Save macro</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7941" />
+      <source>Save macro</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7942" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7956" />
-      <source>Error saving macro</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7957" />
+      <source>Error saving macro</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7958" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7970" />
-      <source>Start Macro Recording</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7971" />
+      <source>Start Macro Recording</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7972" />
       <source>Macro recording is already active. Start new?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7997" />
-      <source>Macro Recording</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7998" />
+      <source>Macro Recording</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7999" />
       <source>Enter name of the macro:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8215" />
+      <location filename="../QScintilla/Editor.py" line="8216" />
       <source>{0} (ro)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8412" />
+      <location filename="../QScintilla/Editor.py" line="8413" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric. Reread it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8418" />
+      <location filename="../QScintilla/Editor.py" line="8419" />
       <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8425" />
+      <location filename="../QScintilla/Editor.py" line="8426" />
       <source>File changed</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8569" />
-      <source>Reload File</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8570" />
+      <source>Reload File</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8571" />
       <source>&lt;p&gt;The editor contains unsaved modifications.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reloading it.&lt;/p&gt;&lt;p&gt;Shall the editor really be reloaded?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8670" />
-      <source>Drop Error</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8671" />
+      <source>Drop Error</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8672" />
       <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8692" />
+      <location filename="../QScintilla/Editor.py" line="8693" />
       <source>Resources</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8694" />
-      <source>Add file...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8695" />
-      <source>Add files...</source>
+      <source>Add file...</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="8696" />
+      <source>Add files...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8697" />
       <source>Add aliased file...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8698" />
+      <location filename="../QScintilla/Editor.py" line="8699" />
       <source>Add localized resource...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8701" />
+      <location filename="../QScintilla/Editor.py" line="8702" />
       <source>Add resource frame</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8721" />
+      <location filename="../QScintilla/Editor.py" line="8722" />
       <source>Add file resource</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8735" />
+      <location filename="../QScintilla/Editor.py" line="8736" />
       <source>Add file resources</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8759" />
-      <location filename="../QScintilla/Editor.py" line="8753" />
-      <source>Add aliased file resource</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8760" />
+      <location filename="../QScintilla/Editor.py" line="8754" />
+      <source>Add aliased file resource</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8761" />
       <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8842" />
-      <source>Package Diagram</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8843" />
+      <source>Package Diagram</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8844" />
       <source>Include class attributes?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8863" />
-      <source>Imports Diagram</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8864" />
+      <source>Imports Diagram</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8865" />
       <source>Include imports from external modules?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8883" />
-      <source>Application Diagram</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8884" />
+      <source>Application Diagram</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8885" />
       <source>Include module names?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9255" />
+      <location filename="../QScintilla/Editor.py" line="9256" />
       <source>Add to dictionary</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9257" />
+      <location filename="../QScintilla/Editor.py" line="9258" />
       <source>Ignore All</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9704" />
-      <source>Sort Lines</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9705" />
+      <source>Sort Lines</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9706" />
       <source>The selection contains illegal data for a numerical sort.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9798" />
-      <source>Register Mouse Click Handler</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9799" />
+      <source>Register Mouse Click Handler</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9800" />
       <source>A mouse click handler for "{0}" was already registered by "{1}". Aborting request by "{2}"...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9892" />
+      <location filename="../QScintilla/Editor.py" line="9893" />
       <source>{0:4d}    {1}</source>
       <comment>line number, source code</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9898" />
+      <location filename="../QScintilla/Editor.py" line="9899" />
       <source>{0:4d}    {1}
     =&gt;  {2}</source>
       <comment>line number, source code, file name</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9976" />
-      <source>EditorConfig Properties</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9977" />
+      <source>EditorConfig Properties</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9978" />
       <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -52563,18 +52563,18 @@
   <context>
     <name>MicroPythonDevice</name>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="375" />
+      <location filename="../MicroPython/Devices/__init__.py" line="399" />
       <source>Generic MicroPython Board</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="422" />
+      <location filename="../MicroPython/Devices/__init__.py" line="446" />
       <source>RP2040/RP2350 based</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="582" />
-      <location filename="../MicroPython/Devices/__init__.py" line="571" />
+      <location filename="../MicroPython/Devices/__init__.py" line="606" />
+      <location filename="../MicroPython/Devices/__init__.py" line="595" />
       <source>Unknown Device</source>
       <translation type="unfinished" />
     </message>
@@ -59476,40 +59476,40 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1195" />
+      <location filename="../PipInterface/Pip.py" line="1197" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1221" />
-      <location filename="../PipInterface/Pip.py" line="1212" />
+      <location filename="../PipInterface/Pip.py" line="1223" />
+      <location filename="../PipInterface/Pip.py" line="1214" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1213" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1245" />
-      <location filename="../PipInterface/Pip.py" line="1238" />
+      <location filename="../PipInterface/Pip.py" line="1247" />
+      <location filename="../PipInterface/Pip.py" line="1240" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1239" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1270" />
-      <location filename="../PipInterface/Pip.py" line="1262" />
+      <location filename="../PipInterface/Pip.py" line="1272" />
+      <location filename="../PipInterface/Pip.py" line="1264" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1263" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -60270,6 +60270,16 @@
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Enter search term for packages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Package Search</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
       <source>View Type</source>
       <translation type="unfinished" />
     </message>
@@ -60419,18 +60429,18 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="735" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="729" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="737" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="731" />
       <source>Cleanup Environment</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="730" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="732" />
       <source>The environment cleanup was successful.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="736" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="738" />
       <source>Some leftover package directories could not been removed. Delete them manually.</source>
       <translation type="unfinished" />
     </message>
@@ -60611,13 +60621,13 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1580" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1555" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1585" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1560" />
       <source>unknown</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1577" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1582" />
       <source>any</source>
       <translation type="unfinished" />
     </message>
@@ -60717,6 +60727,21 @@
       <source>Don't show 'Conda' environments</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Dependencies List</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Search Marker Background:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Select the color for the search highlight of the dependencies list.</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>PipVulnerabilityChecker</name>
@@ -62057,18 +62082,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1909" />
+      <location filename="../Preferences/__init__.py" line="1910" />
       <source>Export Preferences</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1938" />
-      <location filename="../Preferences/__init__.py" line="1911" />
+      <location filename="../Preferences/__init__.py" line="1939" />
+      <location filename="../Preferences/__init__.py" line="1912" />
       <source>Properties File (*.ini);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1936" />
+      <location filename="../Preferences/__init__.py" line="1937" />
       <source>Import Preferences</source>
       <translation type="unfinished" />
     </message>
@@ -89494,133 +89519,133 @@
   <context>
     <name>UF2FlashDialog</name>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="735" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="754" />
       <source>&lt;h3&gt;CircuitPython Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Switch your device to 'bootloader' mode by double-pressing the reset button.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;(If this does not happen, then try shorter or longer pauses between presses.)&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="761" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="780" />
       <source>&lt;h3&gt;Pi Pico (RP2040/RP2350) Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Enter 'bootloader' mode (board &lt;b&gt;without&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;Plug in your board while holding the BOOTSEL button.&lt;/li&gt;&lt;/ul&gt;Enter 'bootloader' mode (board &lt;b&gt;with&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;hold down RESET&lt;/li&gt;&lt;li&gt;hold down BOOTSEL&lt;/li&gt;&lt;li&gt;release RESET&lt;/li&gt;&lt;li&gt;release BOOTSEL&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="883" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="902" />
       <source>MicroPython/CircuitPython Files (*.uf2);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="950" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="942" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="926" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="969" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="961" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="945" />
       <source>Manual Select</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1073" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1041" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1018" />
+      <source>Reset Instructions:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1020" />
+      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1044" />
+      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1054" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1022" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="999" />
-      <source>Reset Instructions:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1001" />
-      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1025" />
-      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1035" />
       <source>&lt;h4&gt;Potentially UF2 capable devices found&lt;/h4&gt;&lt;p&gt;Found these potentially UF2 capable devices:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1056" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1075" />
       <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1068" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1087" />
       <source>Flash Instructions:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1070" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1089" />
       <source>&lt;h4&gt;Flash method 'manual' selected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to flash a device by entering the data manually.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Change the device to 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it) and select its path.&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1095" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1114" />
       <source>Boot Volume not found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1097" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1116" />
       <source>&lt;h4&gt;No Boot Volume detected.&lt;/h4&gt;&lt;p&gt;Please ensure that the boot volume of the device to be flashed is available. </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1103" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1122" />
       <source>This volume should be named &lt;b&gt;{0}&lt;/b&gt;. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1108" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1127" />
       <source>This volume should have one of these names.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1115" />
-      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1134" />
+      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1153" />
       <source>Multiple Boot Volumes found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1136" />
-      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1155" />
+      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1174" />
       <source>Flashing Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1157" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1176" />
       <source>&lt;p&gt;Flashing the selected firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1164" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1183" />
       <source>Flashing {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1166" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1185" />
       <source>&lt;p&gt;Flashing the {0} firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/UF2FlashDialog.ui" line="0" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1278" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1270" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1297" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1289" />
       <source>Flash UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1271" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1290" />
       <source>No UF2 device 'boot' volumes found.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1279" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1298" />
       <source>Select the Boot Volume of the device:</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_en.ts	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/i18n/eric7_en.ts	Mon Feb 10 14:09:14 2025 +0100
@@ -12481,7 +12481,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="10163" />
+      <location filename="../QScintilla/Editor.py" line="10164" />
       <location filename="../QScintilla/Editor.py" line="1015" />
       <source>Generate Docstring</source>
       <translation type="unfinished" />
@@ -12764,7 +12764,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9251" />
+      <location filename="../QScintilla/Editor.py" line="9252" />
       <location filename="../QScintilla/Editor.py" line="1420" />
       <source>Check spelling...</source>
       <translation type="unfinished" />
@@ -12825,7 +12825,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6593" />
+      <location filename="../QScintilla/Editor.py" line="6594" />
       <location filename="../QScintilla/Editor.py" line="1505" />
       <source>Enable breakpoint</source>
       <translation type="unfinished" />
@@ -13069,382 +13069,382 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5742" />
+      <location filename="../QScintilla/Editor.py" line="5743" />
       <source>Autocompletion</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5743" />
+      <location filename="../QScintilla/Editor.py" line="5744" />
       <source>Autocompletion is not available because there is no autocompletion source set.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5877" />
-      <source>Auto-Completion Provider</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="5878" />
+      <source>Auto-Completion Provider</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="5879" />
       <source>The completion list provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6174" />
-      <source>Call-Tips Provider</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="6175" />
+      <source>Call-Tips Provider</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="6176" />
       <source>The call-tips provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6597" />
+      <location filename="../QScintilla/Editor.py" line="6598" />
       <source>Disable breakpoint</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7021" />
-      <source>Code Coverage</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7022" />
+      <source>Code Coverage</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7023" />
       <source>Please select a coverage file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7084" />
-      <source>Load Coverage Data</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7085" />
+      <source>Load Coverage Data</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7086" />
       <source>&lt;p&gt;The coverage data could not be loaded from file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7114" />
-      <location filename="../QScintilla/Editor.py" line="7106" />
-      <source>Show Code Coverage Annotations</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7107" />
-      <source>All lines have been covered.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7115" />
+      <location filename="../QScintilla/Editor.py" line="7107" />
+      <source>Show Code Coverage Annotations</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7108" />
+      <source>All lines have been covered.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7116" />
       <source>There is no coverage file available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7223" />
-      <source>Profile Data</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7224" />
+      <source>Profile Data</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7225" />
       <source>Please select a profile file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7386" />
-      <location filename="../QScintilla/Editor.py" line="7380" />
-      <source>Syntax Error</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7387" />
+      <location filename="../QScintilla/Editor.py" line="7381" />
+      <source>Syntax Error</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7388" />
       <source>No syntax error message available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
-      <location filename="../QScintilla/Editor.py" line="7628" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
+      <location filename="../QScintilla/Editor.py" line="7629" />
       <source>Warning</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
       <source>No warning messages available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7713" />
+      <location filename="../QScintilla/Editor.py" line="7714" />
       <source>Info: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7729" />
-      <location filename="../QScintilla/Editor.py" line="7715" />
+      <location filename="../QScintilla/Editor.py" line="7730" />
+      <location filename="../QScintilla/Editor.py" line="7716" />
       <source>Error: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7717" />
+      <location filename="../QScintilla/Editor.py" line="7718" />
       <source>Style: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7722" />
+      <location filename="../QScintilla/Editor.py" line="7723" />
       <source>Warning: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Macro Name</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Select a macro name:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7878" />
+      <location filename="../QScintilla/Editor.py" line="7879" />
       <source>Load macro file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7924" />
-      <location filename="../QScintilla/Editor.py" line="7880" />
+      <location filename="../QScintilla/Editor.py" line="7925" />
+      <location filename="../QScintilla/Editor.py" line="7881" />
       <source>Macro files (*.macro)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7902" />
-      <location filename="../QScintilla/Editor.py" line="7892" />
-      <source>Error loading macro</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7893" />
-      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7903" />
+      <location filename="../QScintilla/Editor.py" line="7893" />
+      <source>Error loading macro</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7894" />
+      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7904" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7922" />
+      <location filename="../QScintilla/Editor.py" line="7923" />
       <source>Save macro file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7940" />
-      <source>Save macro</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7941" />
+      <source>Save macro</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7942" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7956" />
-      <source>Error saving macro</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7957" />
+      <source>Error saving macro</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7958" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7970" />
-      <source>Start Macro Recording</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7971" />
+      <source>Start Macro Recording</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7972" />
       <source>Macro recording is already active. Start new?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7997" />
-      <source>Macro Recording</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7998" />
+      <source>Macro Recording</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7999" />
       <source>Enter name of the macro:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8215" />
+      <location filename="../QScintilla/Editor.py" line="8216" />
       <source>{0} (ro)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8412" />
+      <location filename="../QScintilla/Editor.py" line="8413" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric. Reread it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8418" />
+      <location filename="../QScintilla/Editor.py" line="8419" />
       <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8425" />
+      <location filename="../QScintilla/Editor.py" line="8426" />
       <source>File changed</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8569" />
-      <source>Reload File</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8570" />
+      <source>Reload File</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8571" />
       <source>&lt;p&gt;The editor contains unsaved modifications.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reloading it.&lt;/p&gt;&lt;p&gt;Shall the editor really be reloaded?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8670" />
-      <source>Drop Error</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8671" />
+      <source>Drop Error</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8672" />
       <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8692" />
+      <location filename="../QScintilla/Editor.py" line="8693" />
       <source>Resources</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8694" />
-      <source>Add file...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8695" />
-      <source>Add files...</source>
+      <source>Add file...</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="8696" />
+      <source>Add files...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8697" />
       <source>Add aliased file...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8698" />
+      <location filename="../QScintilla/Editor.py" line="8699" />
       <source>Add localized resource...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8701" />
+      <location filename="../QScintilla/Editor.py" line="8702" />
       <source>Add resource frame</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8721" />
+      <location filename="../QScintilla/Editor.py" line="8722" />
       <source>Add file resource</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8735" />
+      <location filename="../QScintilla/Editor.py" line="8736" />
       <source>Add file resources</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8759" />
-      <location filename="../QScintilla/Editor.py" line="8753" />
-      <source>Add aliased file resource</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8760" />
+      <location filename="../QScintilla/Editor.py" line="8754" />
+      <source>Add aliased file resource</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8761" />
       <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8842" />
-      <source>Package Diagram</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8843" />
+      <source>Package Diagram</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8844" />
       <source>Include class attributes?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8863" />
-      <source>Imports Diagram</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8864" />
+      <source>Imports Diagram</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8865" />
       <source>Include imports from external modules?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8883" />
-      <source>Application Diagram</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8884" />
+      <source>Application Diagram</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8885" />
       <source>Include module names?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9255" />
+      <location filename="../QScintilla/Editor.py" line="9256" />
       <source>Add to dictionary</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9257" />
+      <location filename="../QScintilla/Editor.py" line="9258" />
       <source>Ignore All</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9704" />
-      <source>Sort Lines</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9705" />
+      <source>Sort Lines</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9706" />
       <source>The selection contains illegal data for a numerical sort.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9798" />
-      <source>Register Mouse Click Handler</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9799" />
+      <source>Register Mouse Click Handler</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9800" />
       <source>A mouse click handler for "{0}" was already registered by "{1}". Aborting request by "{2}"...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9892" />
+      <location filename="../QScintilla/Editor.py" line="9893" />
       <source>{0:4d}    {1}</source>
       <comment>line number, source code</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9898" />
+      <location filename="../QScintilla/Editor.py" line="9899" />
       <source>{0:4d}    {1}
     =&gt;  {2}</source>
       <comment>line number, source code, file name</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9976" />
-      <source>EditorConfig Properties</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9977" />
+      <source>EditorConfig Properties</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9978" />
       <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -52606,18 +52606,18 @@
   <context>
     <name>MicroPythonDevice</name>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="375" />
+      <location filename="../MicroPython/Devices/__init__.py" line="399" />
       <source>Generic MicroPython Board</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="422" />
+      <location filename="../MicroPython/Devices/__init__.py" line="446" />
       <source>RP2040/RP2350 based</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="582" />
-      <location filename="../MicroPython/Devices/__init__.py" line="571" />
+      <location filename="../MicroPython/Devices/__init__.py" line="606" />
+      <location filename="../MicroPython/Devices/__init__.py" line="595" />
       <source>Unknown Device</source>
       <translation type="unfinished" />
     </message>
@@ -59528,40 +59528,40 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1195" />
+      <location filename="../PipInterface/Pip.py" line="1197" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1221" />
-      <location filename="../PipInterface/Pip.py" line="1212" />
+      <location filename="../PipInterface/Pip.py" line="1223" />
+      <location filename="../PipInterface/Pip.py" line="1214" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1213" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1245" />
-      <location filename="../PipInterface/Pip.py" line="1238" />
+      <location filename="../PipInterface/Pip.py" line="1247" />
+      <location filename="../PipInterface/Pip.py" line="1240" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1239" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1270" />
-      <location filename="../PipInterface/Pip.py" line="1262" />
+      <location filename="../PipInterface/Pip.py" line="1272" />
+      <location filename="../PipInterface/Pip.py" line="1264" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1263" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -60322,6 +60322,16 @@
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Enter search term for packages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Package Search</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
       <source>View Type</source>
       <translation type="unfinished" />
     </message>
@@ -60471,18 +60481,18 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="735" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="729" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="737" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="731" />
       <source>Cleanup Environment</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="730" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="732" />
       <source>The environment cleanup was successful.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="736" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="738" />
       <source>Some leftover package directories could not been removed. Delete them manually.</source>
       <translation type="unfinished" />
     </message>
@@ -60663,13 +60673,13 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1580" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1555" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1585" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1560" />
       <source>unknown</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1577" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1582" />
       <source>any</source>
       <translation type="unfinished" />
     </message>
@@ -60769,6 +60779,21 @@
       <source>Don't show 'Conda' environments</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Dependencies List</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Search Marker Background:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Select the color for the search highlight of the dependencies list.</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>PipVulnerabilityChecker</name>
@@ -62109,18 +62134,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1909" />
+      <location filename="../Preferences/__init__.py" line="1910" />
       <source>Export Preferences</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1938" />
-      <location filename="../Preferences/__init__.py" line="1911" />
+      <location filename="../Preferences/__init__.py" line="1939" />
+      <location filename="../Preferences/__init__.py" line="1912" />
       <source>Properties File (*.ini);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1936" />
+      <location filename="../Preferences/__init__.py" line="1937" />
       <source>Import Preferences</source>
       <translation type="unfinished" />
     </message>
@@ -89554,133 +89579,133 @@
   <context>
     <name>UF2FlashDialog</name>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="735" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="754" />
       <source>&lt;h3&gt;CircuitPython Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Switch your device to 'bootloader' mode by double-pressing the reset button.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;(If this does not happen, then try shorter or longer pauses between presses.)&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="761" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="780" />
       <source>&lt;h3&gt;Pi Pico (RP2040/RP2350) Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Enter 'bootloader' mode (board &lt;b&gt;without&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;Plug in your board while holding the BOOTSEL button.&lt;/li&gt;&lt;/ul&gt;Enter 'bootloader' mode (board &lt;b&gt;with&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;hold down RESET&lt;/li&gt;&lt;li&gt;hold down BOOTSEL&lt;/li&gt;&lt;li&gt;release RESET&lt;/li&gt;&lt;li&gt;release BOOTSEL&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="883" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="902" />
       <source>MicroPython/CircuitPython Files (*.uf2);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="950" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="942" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="926" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="969" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="961" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="945" />
       <source>Manual Select</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1073" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1041" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1018" />
+      <source>Reset Instructions:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1020" />
+      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1044" />
+      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1054" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1022" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="999" />
-      <source>Reset Instructions:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1001" />
-      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1025" />
-      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1035" />
       <source>&lt;h4&gt;Potentially UF2 capable devices found&lt;/h4&gt;&lt;p&gt;Found these potentially UF2 capable devices:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1056" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1075" />
       <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1068" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1087" />
       <source>Flash Instructions:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1070" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1089" />
       <source>&lt;h4&gt;Flash method 'manual' selected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to flash a device by entering the data manually.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Change the device to 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it) and select its path.&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1095" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1114" />
       <source>Boot Volume not found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1097" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1116" />
       <source>&lt;h4&gt;No Boot Volume detected.&lt;/h4&gt;&lt;p&gt;Please ensure that the boot volume of the device to be flashed is available. </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1103" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1122" />
       <source>This volume should be named &lt;b&gt;{0}&lt;/b&gt;. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1108" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1127" />
       <source>This volume should have one of these names.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1115" />
-      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1134" />
+      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1153" />
       <source>Multiple Boot Volumes found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1136" />
-      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1155" />
+      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1174" />
       <source>Flashing Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1157" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1176" />
       <source>&lt;p&gt;Flashing the selected firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1164" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1183" />
       <source>Flashing {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1166" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1185" />
       <source>&lt;p&gt;Flashing the {0} firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/UF2FlashDialog.ui" line="0" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1278" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1270" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1297" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1289" />
       <source>Flash UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1271" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1290" />
       <source>No UF2 device 'boot' volumes found.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1279" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1298" />
       <source>Select the Boot Volume of the device:</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_es.ts	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/i18n/eric7_es.ts	Mon Feb 10 14:09:14 2025 +0100
@@ -12549,7 +12549,7 @@
       <translation>Sacar de comentario</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="10163" />
+      <location filename="../QScintilla/Editor.py" line="10164" />
       <location filename="../QScintilla/Editor.py" line="1015" />
       <source>Generate Docstring</source>
       <translation>Generar Docstring</translation>
@@ -12832,7 +12832,7 @@
       <translation>Corrección ortográfica</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9251" />
+      <location filename="../QScintilla/Editor.py" line="9252" />
       <location filename="../QScintilla/Editor.py" line="1420" />
       <source>Check spelling...</source>
       <translation>Corrección ortográfica...</translation>
@@ -12893,7 +12893,7 @@
       <translation>Editar punto de interrupción...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6593" />
+      <location filename="../QScintilla/Editor.py" line="6594" />
       <location filename="../QScintilla/Editor.py" line="1505" />
       <source>Enable breakpoint</source>
       <translation>Activar punto de interrupción</translation>
@@ -13137,370 +13137,370 @@
       <translation>Introducir la ruta completa de archivo del dispositivo:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5742" />
+      <location filename="../QScintilla/Editor.py" line="5743" />
       <source>Autocompletion</source>
       <translation>Autocompletar</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5743" />
+      <location filename="../QScintilla/Editor.py" line="5744" />
       <source>Autocompletion is not available because there is no autocompletion source set.</source>
       <translation>Autocompletar no está disponible porque no hay origen de datos para autocompletar.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5877" />
-      <source>Auto-Completion Provider</source>
-      <translation>Proveedor de Autocompletado</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="5878" />
+      <source>Auto-Completion Provider</source>
+      <translation>Proveedor de Autocompletado</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="5879" />
       <source>The completion list provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation>El proveedor de lista de completado'{0}' ya está registrado. Se ignora la solicitud duplicada.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6174" />
-      <source>Call-Tips Provider</source>
-      <translation>Proveedor de Call-Tips</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="6175" />
+      <source>Call-Tips Provider</source>
+      <translation>Proveedor de Call-Tips</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="6176" />
       <source>The call-tips provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation>El proveedor de call-tips'{0}' ya está registrado. Se ignora la solicitud duplicada.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6597" />
+      <location filename="../QScintilla/Editor.py" line="6598" />
       <source>Disable breakpoint</source>
       <translation>Deshabilitar punto de interrupción</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7021" />
-      <source>Code Coverage</source>
-      <translation>Cobertura de codigo</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7022" />
+      <source>Code Coverage</source>
+      <translation>Cobertura de codigo</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7023" />
       <source>Please select a coverage file</source>
       <translation>Por favor seleccione un archivo de cobertura</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7084" />
-      <source>Load Coverage Data</source>
-      <translation>Cargar Datos de Cobertura</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7085" />
+      <source>Load Coverage Data</source>
+      <translation>Cargar Datos de Cobertura</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7086" />
       <source>&lt;p&gt;The coverage data could not be loaded from file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Los datos de cobertura no se han podido cargar desde el archivo &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Razón {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7114" />
-      <location filename="../QScintilla/Editor.py" line="7106" />
-      <source>Show Code Coverage Annotations</source>
-      <translation>Mostrar Anotaciones de Cobertura de Código</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7107" />
-      <source>All lines have been covered.</source>
-      <translation>Todas las líneas han sido cubiertas.</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7115" />
+      <location filename="../QScintilla/Editor.py" line="7107" />
+      <source>Show Code Coverage Annotations</source>
+      <translation>Mostrar Anotaciones de Cobertura de Código</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7108" />
+      <source>All lines have been covered.</source>
+      <translation>Todas las líneas han sido cubiertas.</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7116" />
       <source>There is no coverage file available.</source>
       <translation>No hay archivo de cobertura disponible.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7223" />
-      <source>Profile Data</source>
-      <translation>Datos de profiling</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7224" />
+      <source>Profile Data</source>
+      <translation>Datos de profiling</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7225" />
       <source>Please select a profile file</source>
       <translation>Por favor seleccione un archivo de profiling</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7386" />
-      <location filename="../QScintilla/Editor.py" line="7380" />
-      <source>Syntax Error</source>
-      <translation>Error de sintaxis</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7387" />
+      <location filename="../QScintilla/Editor.py" line="7381" />
+      <source>Syntax Error</source>
+      <translation>Error de sintaxis</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7388" />
       <source>No syntax error message available.</source>
       <translation>No hay mensajes de error de sintaxis disponibles.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
-      <location filename="../QScintilla/Editor.py" line="7628" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
+      <location filename="../QScintilla/Editor.py" line="7629" />
       <source>Warning</source>
       <translation>Advertencia</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
       <source>No warning messages available.</source>
       <translation>No hay mensajes de advertencia disponibles.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7713" />
+      <location filename="../QScintilla/Editor.py" line="7714" />
       <source>Info: {0}</source>
       <translation>Info: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7729" />
-      <location filename="../QScintilla/Editor.py" line="7715" />
+      <location filename="../QScintilla/Editor.py" line="7730" />
+      <location filename="../QScintilla/Editor.py" line="7716" />
       <source>Error: {0}</source>
       <translation>Error: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7717" />
+      <location filename="../QScintilla/Editor.py" line="7718" />
       <source>Style: {0}</source>
       <translation>Estilo: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7722" />
+      <location filename="../QScintilla/Editor.py" line="7723" />
       <source>Warning: {0}</source>
       <translation>Advertencia: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Macro Name</source>
       <translation>Nombre de macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Select a macro name:</source>
       <translation>Seleccione un nombre de macro:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7878" />
+      <location filename="../QScintilla/Editor.py" line="7879" />
       <source>Load macro file</source>
       <translation>Cargar archivo de macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7924" />
-      <location filename="../QScintilla/Editor.py" line="7880" />
+      <location filename="../QScintilla/Editor.py" line="7925" />
+      <location filename="../QScintilla/Editor.py" line="7881" />
       <source>Macro files (*.macro)</source>
       <translation>Archivos de Macro  (*.macro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7902" />
-      <location filename="../QScintilla/Editor.py" line="7892" />
-      <source>Error loading macro</source>
-      <translation>Error al cargar macro</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7893" />
-      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;El archivo de macro &lt;b&gt;{0}&lt;/b&gt; no se puede leer.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7903" />
+      <location filename="../QScintilla/Editor.py" line="7893" />
+      <source>Error loading macro</source>
+      <translation>Error al cargar macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7894" />
+      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;El archivo de macro &lt;b&gt;{0}&lt;/b&gt; no se puede leer.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7904" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
       <translation>&lt;p&gt;El archivo de macro &lt;b&gt;{0}&lt;/b&gt; está dañado&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7922" />
+      <location filename="../QScintilla/Editor.py" line="7923" />
       <source>Save macro file</source>
       <translation>Guardar archivo de macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7940" />
-      <source>Save macro</source>
-      <translation>Guardar macro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7941" />
+      <source>Save macro</source>
+      <translation>Guardar macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7942" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;El archivo de macro &lt;b&gt;{0}&lt;/b&gt; ya existe. ¿Desea sobreescribirlo?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7956" />
-      <source>Error saving macro</source>
-      <translation>Error al guardar macro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7957" />
+      <source>Error saving macro</source>
+      <translation>Error al guardar macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7958" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
       <translation>&lt;p&gt;El archivo de macro  &lt;b&gt;{0}&lt;/b&gt; no se puede escribir.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7970" />
-      <source>Start Macro Recording</source>
-      <translation>Comenzar grabación de macro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7971" />
+      <source>Start Macro Recording</source>
+      <translation>Comenzar grabación de macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7972" />
       <source>Macro recording is already active. Start new?</source>
       <translation>Grabación de macro ya está activada. ¿Comenzar una nueva?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7997" />
-      <source>Macro Recording</source>
-      <translation>Grabando macro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7998" />
+      <source>Macro Recording</source>
+      <translation>Grabando macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7999" />
       <source>Enter name of the macro:</source>
       <translation>Introduzca el nombre de la macro:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8215" />
+      <location filename="../QScintilla/Editor.py" line="8216" />
       <source>{0} (ro)</source>
       <translation>{0} (ro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8412" />
+      <location filename="../QScintilla/Editor.py" line="8413" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric. Reread it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;El archivo &lt;b&gt;{0}&lt;/b&gt; ha cambiado mientras estaba abierto en eric. ¿Desea volver a cargarlo?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8418" />
+      <location filename="../QScintilla/Editor.py" line="8419" />
       <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
       <translation>&lt;br&gt;&lt;b&gt;Advertencia:&lt;/b&gt; Perderá los cambios si lo reabre.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8425" />
+      <location filename="../QScintilla/Editor.py" line="8426" />
       <source>File changed</source>
       <translation>Archivo modificado</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8569" />
-      <source>Reload File</source>
-      <translation>Recargar Archivo</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8570" />
+      <source>Reload File</source>
+      <translation>Recargar Archivo</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8571" />
       <source>&lt;p&gt;The editor contains unsaved modifications.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reloading it.&lt;/p&gt;&lt;p&gt;Shall the editor really be reloaded?&lt;/p&gt;</source>
       <translation>&lt;p&gt;El editor contiene modificacopmes sin guardar.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Advertencia:&lt;/b&gt; Los cambios se perderán al recargar.&lt;/p&gt;&lt;p&gt;¿Desea realmente recargar el editor?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8670" />
-      <source>Drop Error</source>
-      <translation>Error al soltar</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8671" />
+      <source>Drop Error</source>
+      <translation>Error al soltar</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8672" />
       <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
       <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; no es un archivo.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8692" />
+      <location filename="../QScintilla/Editor.py" line="8693" />
       <source>Resources</source>
       <translation>Recursos</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8694" />
-      <source>Add file...</source>
-      <translation>Añadir archivo...</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8695" />
-      <source>Add files...</source>
-      <translation>Añadir archivos...</translation>
+      <source>Add file...</source>
+      <translation>Añadir archivo...</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="8696" />
+      <source>Add files...</source>
+      <translation>Añadir archivos...</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8697" />
       <source>Add aliased file...</source>
       <translation>Añadir archivo con un alias...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8698" />
+      <location filename="../QScintilla/Editor.py" line="8699" />
       <source>Add localized resource...</source>
       <translation>Añadir recursos localizados...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8701" />
+      <location filename="../QScintilla/Editor.py" line="8702" />
       <source>Add resource frame</source>
       <translation>Añadir ventana de recursos</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8721" />
+      <location filename="../QScintilla/Editor.py" line="8722" />
       <source>Add file resource</source>
       <translation>Añadir archivo de recursos</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8735" />
+      <location filename="../QScintilla/Editor.py" line="8736" />
       <source>Add file resources</source>
       <translation>Añadir archivo de recursos</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8759" />
-      <location filename="../QScintilla/Editor.py" line="8753" />
-      <source>Add aliased file resource</source>
-      <translation>Añadir archivo de recursos con un alias</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8760" />
+      <location filename="../QScintilla/Editor.py" line="8754" />
+      <source>Add aliased file resource</source>
+      <translation>Añadir archivo de recursos con un alias</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8761" />
       <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
       <translation>Alias para el archivo &lt;b&gt;{0}&lt;/b&gt;:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8842" />
-      <source>Package Diagram</source>
-      <translation>Digrama de paquetes</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8843" />
+      <source>Package Diagram</source>
+      <translation>Digrama de paquetes</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8844" />
       <source>Include class attributes?</source>
       <translation>¿Incluir atributos de clase?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8863" />
-      <source>Imports Diagram</source>
-      <translation>Diagrama de imports</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8864" />
+      <source>Imports Diagram</source>
+      <translation>Diagrama de imports</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8865" />
       <source>Include imports from external modules?</source>
       <translation>¿Incluir los imports de módulos externos?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8883" />
-      <source>Application Diagram</source>
-      <translation>Diagrama de aplicación</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8884" />
+      <source>Application Diagram</source>
+      <translation>Diagrama de aplicación</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8885" />
       <source>Include module names?</source>
       <translation>¿Incluir nombres de módulos?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9255" />
+      <location filename="../QScintilla/Editor.py" line="9256" />
       <source>Add to dictionary</source>
       <translation>Añadir al diccionario</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9257" />
+      <location filename="../QScintilla/Editor.py" line="9258" />
       <source>Ignore All</source>
       <translation>Ignorar Todo</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9704" />
-      <source>Sort Lines</source>
-      <translation>Ordenar Líneas</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9705" />
+      <source>Sort Lines</source>
+      <translation>Ordenar Líneas</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9706" />
       <source>The selection contains illegal data for a numerical sort.</source>
       <translation>La selección contiene datos ilegales para una ordenación numérica.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9798" />
-      <source>Register Mouse Click Handler</source>
-      <translation>Registrar Manejador de Clicks de Ratón</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9799" />
+      <source>Register Mouse Click Handler</source>
+      <translation>Registrar Manejador de Clicks de Ratón</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9800" />
       <source>A mouse click handler for "{0}" was already registered by "{1}". Aborting request by "{2}"...</source>
       <translation>Un manejador de clicks de ratón para "{0}" ya está registrado por "{1}". Abortando solicitud por "{2}"...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9892" />
+      <location filename="../QScintilla/Editor.py" line="9893" />
       <source>{0:4d}    {1}</source>
       <comment>line number, source code</comment>
       <translation>{0:4d}    {1}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9898" />
+      <location filename="../QScintilla/Editor.py" line="9899" />
       <source>{0:4d}    {1}
     =&gt;  {2}</source>
       <comment>line number, source code, file name</comment>
@@ -13508,12 +13508,12 @@
     =&gt;  {2}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9976" />
+      <location filename="../QScintilla/Editor.py" line="9977" />
       <source>EditorConfig Properties</source>
       <translation>Propiedades de EditorConfig</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9977" />
+      <location filename="../QScintilla/Editor.py" line="9978" />
       <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Las propiedades de EditorConfig para el archivo &lt;b&gt;{0}&lt;/b&gt; no se ha podido cargar.&lt;/p&gt;</translation>
     </message>
@@ -52817,18 +52817,18 @@
   <context>
     <name>MicroPythonDevice</name>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="375" />
+      <location filename="../MicroPython/Devices/__init__.py" line="399" />
       <source>Generic MicroPython Board</source>
       <translation>Placa Genérica MicroPython</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="422" />
+      <location filename="../MicroPython/Devices/__init__.py" line="446" />
       <source>RP2040/RP2350 based</source>
       <translation>Basada en RP2040/RP2350</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="582" />
-      <location filename="../MicroPython/Devices/__init__.py" line="571" />
+      <location filename="../MicroPython/Devices/__init__.py" line="606" />
+      <location filename="../MicroPython/Devices/__init__.py" line="595" />
       <source>Unknown Device</source>
       <translation>Dispositivo Desconocido</translation>
     </message>
@@ -60547,6 +60547,16 @@
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Enter search term for packages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Package Search</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
       <source>View Type</source>
       <translation>Ver Tipo</translation>
     </message>
@@ -60696,205 +60706,205 @@
       <translation>Obteniendo packages antiguos...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="735" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="729" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="737" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="731" />
       <source>Cleanup Environment</source>
       <translation>Limpieza de Entorno</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="730" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="732" />
       <source>The environment cleanup was successful.</source>
       <translation>La limpieza de entorno ha tenido éxito.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="736" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="738" />
       <source>Some leftover package directories could not been removed. Delete them manually.</source>
       <translation>Algunos directorios residuales de package no se han podido eliminar. Borrarlos manualmente.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="832" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="834" />
       <source>Search PyPI</source>
       <translation>Buscar PyPI</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="833" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="835" />
       <source>&lt;p&gt;No package details info for &lt;b&gt;{0}&lt;/b&gt; available.&lt;/p&gt;</source>
       <translation>&lt;p&gt;No hay info de detalles de package disponible para &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="852" />
-      <source>Pip</source>
-      <translation>Pip</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="854" />
+      <source>Pip</source>
+      <translation>Pip</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.py" line="856" />
       <source>Install Pip</source>
       <translation>Instalar Pip</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="857" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="859" />
       <source>Install Pip to User-Site</source>
       <translation>Instalar Pip en el Sitio de Usuario</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="860" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="862" />
       <source>Repair Pip</source>
       <translation>Reparar Pip</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="867" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="869" />
       <source>Install</source>
       <translation>Instalar</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1046" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="869" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1048" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="871" />
       <source>Install Packages</source>
       <translation>Instalar Packages</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="872" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="874" />
       <source>Install Local Package</source>
       <translation>Instalar Package Local</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="875" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="877" />
       <source>Re-Install Selected Packages</source>
       <translation>Reinstalar los Packages Seleccionados</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="882" />
-      <source>Requirements/Constraints</source>
-      <translation>Requisitos/Restricciones</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="884" />
+      <source>Requirements/Constraints</source>
+      <translation>Requisitos/Restricciones</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.py" line="886" />
       <source>Install Requirements</source>
       <translation>Instalar Requisitos</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="887" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="889" />
       <source>Uninstall Requirements</source>
       <translation>Desinstalar Requisitos</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="890" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="892" />
       <source>Generate Requirements...</source>
       <translation>Generar Requisitos...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="894" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="896" />
       <source>Install from 'pyproject.toml'</source>
       <translation>Instalar desde 'pyproject.toml'</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="898" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="900" />
       <source>Uninstall from 'pyproject.toml'</source>
       <translation>Desinstalar desde 'pyproject.toml'</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="903" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="905" />
       <source>Generate Constraints...</source>
       <translation>Generar Restricciones...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="910" />
-      <source>Cache</source>
-      <translation>Caché</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="912" />
+      <source>Cache</source>
+      <translation>Caché</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.py" line="914" />
       <source>Show Cache Info...</source>
       <translation>Mostrar info de Cache...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="915" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="917" />
       <source>Show Cached Files...</source>
       <translation>Mostrar Archivos en Cache...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="918" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="920" />
       <source>Remove Cached Files...</source>
       <translation>Eliminar Archivos en Cache...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="921" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="923" />
       <source>Purge Cache...</source>
       <translation>Purgar Cache...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="938" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="940" />
       <source>Show Licenses...</source>
       <translation>Mostrar Licencias...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="942" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="944" />
       <source>Check Vulnerabilities</source>
       <translation>Comprobar Vulnerabilidades</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="946" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="948" />
       <source>Update Vulnerability Database</source>
       <translation>Actualizar Base de Datos de Vulnerabilidades</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="950" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="952" />
       <source>Create SBOM file</source>
       <translation>Crear archivo SBOM</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="957" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="959" />
       <source>Edit User Configuration...</source>
       <translation>Editar Configuración de Usuario...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="960" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="962" />
       <source>Edit Environment Configuration...</source>
       <translation>Editar Configuración de Entorno...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="965" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="967" />
       <source>Configure...</source>
       <translation>Configurar...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1209" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1196" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1185" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1211" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1198" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1187" />
       <source>Edit Configuration</source>
       <translation>Editar Configuración</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1210" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1197" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1186" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1212" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1199" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1188" />
       <source>No valid configuration path determined. Aborting</source>
       <translation>No hay una ruta válida de configuración determinada. Abortando</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1419" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1421" />
       <source>{0} {1}</source>
       <comment>package name, package version</comment>
       <translation>{0} {1}</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1440" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1442" />
       <source>Affected Version:</source>
       <translation>Versión Afectada:</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1443" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1445" />
       <source>Advisory:</source>
       <translation>Recomendatorio:</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1578" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1553" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1585" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1560" />
       <source>unknown</source>
       <translation>desconocido</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1575" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1582" />
       <source>any</source>
       <translation>cualquiera</translation>
     </message>
@@ -60994,6 +61004,21 @@
       <source>Don't show 'Conda' environments</source>
       <translation>No mostrar entornos 'Conda'</translation>
     </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Dependencies List</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Search Marker Background:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Select the color for the search highlight of the dependencies list.</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>PipVulnerabilityChecker</name>
@@ -62338,18 +62363,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1909" />
+      <location filename="../Preferences/__init__.py" line="1910" />
       <source>Export Preferences</source>
       <translation>Exportar Preferencias</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1938" />
-      <location filename="../Preferences/__init__.py" line="1911" />
+      <location filename="../Preferences/__init__.py" line="1939" />
+      <location filename="../Preferences/__init__.py" line="1912" />
       <source>Properties File (*.ini);;All Files (*)</source>
       <translation>Archivo de Propiedades (*.ini);;Todos los archivos (*)</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1936" />
+      <location filename="../Preferences/__init__.py" line="1937" />
       <source>Import Preferences</source>
       <translation>Importar Preferencias</translation>
     </message>
@@ -90040,133 +90065,133 @@
   <context>
     <name>UF2FlashDialog</name>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="735" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="754" />
       <source>&lt;h3&gt;CircuitPython Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Switch your device to 'bootloader' mode by double-pressing the reset button.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;(If this does not happen, then try shorter or longer pauses between presses.)&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation>&lt;h3&gt;Placa CircuitPython&lt;/h3&gt;&lt;p&gt;Para preparar la placa para flashear seguir estos pasos:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Cambiar el dispositivo a modo 'bootloader' pulsando dos veces el botón de reset.&lt;/li&gt;&lt;li&gt;Esperar hasta que el dispositivo entre en modo 'bootloader'.&lt;/li&gt;&lt;li&gt;(Si esto no ocurre, intentar pausas entre pulsado más largas o más cortas.)&lt;/li&gt;&lt;li&gt;Asegurar que el volumen de arranque está disponible (esto puede requerir de su montaje).&lt;/li&gt;&lt;li&gt;Seleccionar el archivo de firmware a flashear y hacer click en el botón de flash.&lt;/li&gt;&lt;/ol&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="761" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="780" />
       <source>&lt;h3&gt;Pi Pico (RP2040/RP2350) Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Enter 'bootloader' mode (board &lt;b&gt;without&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;Plug in your board while holding the BOOTSEL button.&lt;/li&gt;&lt;/ul&gt;Enter 'bootloader' mode (board &lt;b&gt;with&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;hold down RESET&lt;/li&gt;&lt;li&gt;hold down BOOTSEL&lt;/li&gt;&lt;li&gt;release RESET&lt;/li&gt;&lt;li&gt;release BOOTSEL&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation>&lt;h3&gt;Placa Pi Pico (RP2040/RP2350)&lt;/h3&gt;&lt;p&gt;Para preparar la placa para flashing seguir estos pasos:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Entrar en modo 'bootloader' (placa &lt;b&gt;sin&lt;/b&gt; botón RESET):&lt;ul&gt;&lt;li&gt;Conectar la placa mientras se mantiene pulsado el botón BOOTSEL.&lt;/li&gt;&lt;/ul&gt;Entrar en modo 'bootloader' (placa &lt;b&gt;con&lt;/b&gt; botón RESET):&lt;ul&gt;&lt;li&gt;mantener pulsado RESET&lt;/li&gt;&lt;li&gt;mantener pulsado BOOTSEL&lt;/li&gt;&lt;li&gt;soltar RESET&lt;/li&gt;&lt;li&gt;soltar BOOTSEL&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Esperar hasta que el dispositivo haya entrado en modo 'bootloader'.&lt;/li&gt;&lt;li&gt;Asegurar que el volumen de arranque está disponible (esto puedo requerir su montaje).&lt;/li&gt;&lt;li&gt;Seleccionar el archivo de firmware a flashear y hacer click en el botón de flash.&lt;/li&gt;&lt;/ol&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="883" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="902" />
       <source>MicroPython/CircuitPython Files (*.uf2);;All Files (*)</source>
       <translation>Archivos MicroPython/CircuitPython(*.uf2);;Todos los Archivos (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="950" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="942" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="926" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="969" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="961" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="945" />
       <source>Manual Select</source>
       <translation>Selección Manual</translation>
     </message>
     <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1073" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1041" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1018" />
+      <source>Reset Instructions:</source>
+      <translation>Instrucciones de Reset:</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1020" />
+      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation>&lt;h4&gt;No se han detectado dispositivos conocidos.&lt;/h4&gt;&lt;p&gt;Seguir las instrucciones apropiadas debajo para establecer &lt;b&gt;una&lt;/b&gt; placa en modo 'bootloader'. Pulsar &lt;b&gt;Actualizar&lt;/b&gt; cuando esté listo.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1044" />
+      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
+      <translation>&lt;h4&gt;Flashear {0} Firmware&lt;/h4&gt;&lt;p&gt;Seguir las instrucciones de bajo para establecer &lt;b&gt;una&lt;/b&gt; placa en modo 'bootloader'. Pulsar &lt;b&gt;Actualizar&lt;/b&gt; cuando esté listo.&lt;/p&gt;&lt;hr/&gt;{1}</translation>
+    </message>
+    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1054" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1022" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="999" />
-      <source>Reset Instructions:</source>
-      <translation>Instrucciones de Reset:</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1001" />
-      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation>&lt;h4&gt;No se han detectado dispositivos conocidos.&lt;/h4&gt;&lt;p&gt;Seguir las instrucciones apropiadas debajo para establecer &lt;b&gt;una&lt;/b&gt; placa en modo 'bootloader'. Pulsar &lt;b&gt;Actualizar&lt;/b&gt; cuando esté listo.&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1025" />
-      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
-      <translation>&lt;h4&gt;Flashear {0} Firmware&lt;/h4&gt;&lt;p&gt;Seguir las instrucciones de bajo para establecer &lt;b&gt;una&lt;/b&gt; placa en modo 'bootloader'. Pulsar &lt;b&gt;Actualizar&lt;/b&gt; cuando esté listo.&lt;/p&gt;&lt;hr/&gt;{1}</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1035" />
       <source>&lt;h4&gt;Potentially UF2 capable devices found&lt;/h4&gt;&lt;p&gt;Found these potentially UF2 capable devices:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation>&lt;h4&gt;Encontrados dispositivos con capacidad potencial UF2&lt;/h4&gt;&lt;p&gt;Encontrados estos dispositivos con capacidad potencial UF2:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Seguir las instrucciones debajo para establecer &lt;b&gt;una&lt;/b&gt; placa en modo 'bootloader' mode. Pulsar &lt;b&gt;Actualizar&lt;/b&gt; cuando esté listo.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1056" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1075" />
       <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation>&lt;h4&gt;No se han detectado dispositivos conocidos.&lt;/h4&gt;&lt;p&gt;Seguir las instrucciones apropiadas debajo para establecer &lt;b&gt;una&lt;/b&gt; placa en modo 'bootloader'. Pulsar &lt;b&gt;Actualizar&lt;/b&gt; cuando esté listo.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1068" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1087" />
       <source>Flash Instructions:</source>
       <translation>Instrucciones de Flash:</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1070" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1089" />
       <source>&lt;h4&gt;Flash method 'manual' selected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to flash a device by entering the data manually.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Change the device to 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it) and select its path.&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation>&lt;h4&gt;Seleccionado método 'manual' de Flash.&lt;/h4&gt;&lt;p&gt;Seguir las instrucciones debajo para flashear un dispositivo introduciendo manualmente los datos.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Cambiar el dispositivo a modo 'bootloader'.&lt;/li&gt;&lt;li&gt;Esperar hasta que el dispositivo haya entrado en modo 'bootloader'.&lt;/li&gt;&lt;li&gt;Asegurar que el volumen de arranque está disponible (esto puede requerir de su montaje) y seleccionar su ruta.&lt;/li&gt;&lt;li&gt;Seleccionar el archivo de firmware a flashear y hacer click en el botón de flashear.&lt;/li&gt;&lt;/ol&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1095" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1114" />
       <source>Boot Volume not found:</source>
       <translation>Volumen de Arranque no encontrado:</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1097" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1116" />
       <source>&lt;h4&gt;No Boot Volume detected.&lt;/h4&gt;&lt;p&gt;Please ensure that the boot volume of the device to be flashed is available. </source>
       <translation>&lt;h4&gt;No se ha encontrado un Volumen de Arranque.&lt;/h4&gt;&lt;p&gt;Por favor, asegurar que el volumen de arranque del dispositivo a flashear está disponible. </translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1103" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1122" />
       <source>This volume should be named &lt;b&gt;{0}&lt;/b&gt;. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation>Este volumen se debería llamar &lt;b&gt;{0}&lt;/b&gt;. Pulsar &lt;b&gt;Actualizar&lt;/b&gt; cuando esté listo.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1108" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1127" />
       <source>This volume should have one of these names.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation>Este volumen debería tener uno de los siguientes nombres.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Pulsar &lt;b&gt;Actualizar&lt;/b&gt; cuando esté listo.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1115" />
-      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation>&lt;h4&gt;Instrucciones para Restablecer&lt;/h4&gt;&lt;p&gt;Seguir las instrucciones de debajo para establecer la placa en modo 'bootloader'. Pulsar &lt;b&gt;Actualizar&lt;/b&gt; cuando esté listo.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1134" />
+      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation>&lt;h4&gt;Instrucciones para Restablecer&lt;/h4&gt;&lt;p&gt;Seguir las instrucciones de debajo para establecer la placa en modo 'bootloader'. Pulsar &lt;b&gt;Actualizar&lt;/b&gt; cuando esté listo.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1153" />
       <source>Multiple Boot Volumes found:</source>
       <translation>Múltiples Volúmenes de Arranque encontrados:</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1136" />
-      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation>&lt;h4&gt;Se han encontrado múltiples Volúmes de Arranque&lt;/h4&gt;&lt;p&gt;Esas rutas de volumen se han encontrado.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Por favor, asegurar que solamente un dispositivo de cada tipo está listo para flashear. Pulsar &lt;b&gt;Actualizar&lt;/b&gt; cuando esté listo.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1155" />
+      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation>&lt;h4&gt;Se han encontrado múltiples Volúmes de Arranque&lt;/h4&gt;&lt;p&gt;Esas rutas de volumen se han encontrado.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Por favor, asegurar que solamente un dispositivo de cada tipo está listo para flashear. Pulsar &lt;b&gt;Actualizar&lt;/b&gt; cuando esté listo.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1174" />
       <source>Flashing Firmware</source>
       <translation>Flasheando Firmware</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1157" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1176" />
       <source>&lt;p&gt;Flashing the selected firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Flasheando el firmware seleccionado al dispositivo. Por favor, esperar hasta que el dispositivo haga reset automáticamente.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1164" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1183" />
       <source>Flashing {0}</source>
       <translation>Flasheando {0}</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1166" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1185" />
       <source>&lt;p&gt;Flashing the {0} firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Flasheando el firmware {0} al dispositivo. Por favor, esperar hasta que el dispositivo haga reset automáticamente.&lt;/p&gt;</translation>
     </message>
     <message>
       <location filename="../MicroPython/UF2FlashDialog.ui" line="0" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1278" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1270" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1297" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1289" />
       <source>Flash UF2 Device</source>
       <translation>Flashear Dispositivo UF2</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1271" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1290" />
       <source>No UF2 device 'boot' volumes found.</source>
       <translation>No se han encontrado volúmenes de arranque del dispositivo UF2.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1279" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1298" />
       <source>Select the Boot Volume of the device:</source>
       <translation>Seleccionar el Volumen de Arranque del dispositivo:</translation>
     </message>
--- a/src/eric7/i18n/eric7_fr.ts	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/i18n/eric7_fr.ts	Mon Feb 10 14:09:14 2025 +0100
@@ -12584,7 +12584,7 @@
       <translation>Décommenter</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="10163" />
+      <location filename="../QScintilla/Editor.py" line="10164" />
       <location filename="../QScintilla/Editor.py" line="1015" />
       <source>Generate Docstring</source>
       <translation type="unfinished" />
@@ -12867,7 +12867,7 @@
       <translation type="unfinished">Orthographe</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9251" />
+      <location filename="../QScintilla/Editor.py" line="9252" />
       <location filename="../QScintilla/Editor.py" line="1420" />
       <source>Check spelling...</source>
       <translation>Correction orthographique...</translation>
@@ -12928,7 +12928,7 @@
       <translation>Éditer le point d'arrêt...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6593" />
+      <location filename="../QScintilla/Editor.py" line="6594" />
       <location filename="../QScintilla/Editor.py" line="1505" />
       <source>Enable breakpoint</source>
       <translation>Activer le point d'arrêt</translation>
@@ -13172,382 +13172,382 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5742" />
+      <location filename="../QScintilla/Editor.py" line="5743" />
       <source>Autocompletion</source>
       <translation>Autocompletion</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5743" />
+      <location filename="../QScintilla/Editor.py" line="5744" />
       <source>Autocompletion is not available because there is no autocompletion source set.</source>
       <translation>L'autocompletion n'est pas disponible car aucune source d'autocomplétion n'est définie.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5877" />
-      <source>Auto-Completion Provider</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="5878" />
+      <source>Auto-Completion Provider</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="5879" />
       <source>The completion list provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6174" />
-      <source>Call-Tips Provider</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="6175" />
+      <source>Call-Tips Provider</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="6176" />
       <source>The call-tips provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6597" />
+      <location filename="../QScintilla/Editor.py" line="6598" />
       <source>Disable breakpoint</source>
       <translation>Désactiver le point d'arrêt</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7021" />
-      <source>Code Coverage</source>
-      <translation>Code Coverage</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7022" />
+      <source>Code Coverage</source>
+      <translation>Code Coverage</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7023" />
       <source>Please select a coverage file</source>
       <translation>Sélectionner un fichier coverage</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7084" />
-      <source>Load Coverage Data</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7085" />
+      <source>Load Coverage Data</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7086" />
       <source>&lt;p&gt;The coverage data could not be loaded from file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7114" />
-      <location filename="../QScintilla/Editor.py" line="7106" />
-      <source>Show Code Coverage Annotations</source>
-      <translation>Afficher les annotations de Code Coverage</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7107" />
-      <source>All lines have been covered.</source>
-      <translation>Toutes les lignes ont été executées.</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7115" />
+      <location filename="../QScintilla/Editor.py" line="7107" />
+      <source>Show Code Coverage Annotations</source>
+      <translation>Afficher les annotations de Code Coverage</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7108" />
+      <source>All lines have been covered.</source>
+      <translation>Toutes les lignes ont été executées.</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7116" />
       <source>There is no coverage file available.</source>
       <translation>Impossible de trouver le fichier de coverage.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7223" />
-      <source>Profile Data</source>
-      <translation>Profiler de données</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7224" />
+      <source>Profile Data</source>
+      <translation>Profiler de données</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7225" />
       <source>Please select a profile file</source>
       <translation>Sélectionner un fichier profile</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7386" />
-      <location filename="../QScintilla/Editor.py" line="7380" />
-      <source>Syntax Error</source>
-      <translation>Erreur de syntaxe</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7387" />
+      <location filename="../QScintilla/Editor.py" line="7381" />
+      <source>Syntax Error</source>
+      <translation>Erreur de syntaxe</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7388" />
       <source>No syntax error message available.</source>
       <translation>Aucun message d'erreur de syntaxe..</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
-      <location filename="../QScintilla/Editor.py" line="7628" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
+      <location filename="../QScintilla/Editor.py" line="7629" />
       <source>Warning</source>
       <translation>Warning</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
       <source>No warning messages available.</source>
       <translation>Pas de message d'alerte disponible.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7713" />
+      <location filename="../QScintilla/Editor.py" line="7714" />
       <source>Info: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7729" />
-      <location filename="../QScintilla/Editor.py" line="7715" />
+      <location filename="../QScintilla/Editor.py" line="7730" />
+      <location filename="../QScintilla/Editor.py" line="7716" />
       <source>Error: {0}</source>
       <translation>Erreur : {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7717" />
+      <location filename="../QScintilla/Editor.py" line="7718" />
       <source>Style: {0}</source>
       <translation>Style : {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7722" />
+      <location filename="../QScintilla/Editor.py" line="7723" />
       <source>Warning: {0}</source>
       <translation>Alerte : {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Macro Name</source>
       <translation>Nom de la macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Select a macro name:</source>
       <translation>Sélectionner un nom de macro:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7878" />
+      <location filename="../QScintilla/Editor.py" line="7879" />
       <source>Load macro file</source>
       <translation>Charger un fichier macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7924" />
-      <location filename="../QScintilla/Editor.py" line="7880" />
+      <location filename="../QScintilla/Editor.py" line="7925" />
+      <location filename="../QScintilla/Editor.py" line="7881" />
       <source>Macro files (*.macro)</source>
       <translation>Fichier Macro (*.macro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7902" />
-      <location filename="../QScintilla/Editor.py" line="7892" />
-      <source>Error loading macro</source>
-      <translation>Erreur lors du chargement de la macro</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7893" />
-      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Le fichier macro &lt;b&gt;{0}&lt;/b&gt; ne peut être lu.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7903" />
+      <location filename="../QScintilla/Editor.py" line="7893" />
+      <source>Error loading macro</source>
+      <translation>Erreur lors du chargement de la macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7894" />
+      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Le fichier macro &lt;b&gt;{0}&lt;/b&gt; ne peut être lu.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7904" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Le fichier macro &lt;b&gt;{0}&lt;/b&gt; est corrompu.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7922" />
+      <location filename="../QScintilla/Editor.py" line="7923" />
       <source>Save macro file</source>
       <translation>Enregistrer le fichier macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7940" />
-      <source>Save macro</source>
-      <translation>Enregistrer la macro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7941" />
+      <source>Save macro</source>
+      <translation>Enregistrer la macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7942" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Le fichier macro &lt;b&gt;{0}&lt;/b&gt;existe déjà. Écraser ?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7956" />
-      <source>Error saving macro</source>
-      <translation>Erreur lors de l'enregistrement de la macro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7957" />
+      <source>Error saving macro</source>
+      <translation>Erreur lors de l'enregistrement de la macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7958" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Le fichier macro &lt;b&gt;{0}&lt;/b&gt; ne peut être écrit.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7970" />
-      <source>Start Macro Recording</source>
-      <translation>Démarrer l'enregistrement de la macro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7971" />
+      <source>Start Macro Recording</source>
+      <translation>Démarrer l'enregistrement de la macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7972" />
       <source>Macro recording is already active. Start new?</source>
       <translation>L'enregistrement de macro est déjà actif. En démarrer une nouvelle ?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7997" />
-      <source>Macro Recording</source>
-      <translation>Enregistrement de macro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7998" />
+      <source>Macro Recording</source>
+      <translation>Enregistrement de macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7999" />
       <source>Enter name of the macro:</source>
       <translation>Entrer le nom de la macro:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8215" />
+      <location filename="../QScintilla/Editor.py" line="8216" />
       <source>{0} (ro)</source>
       <translation type="unfinished">{0} (ro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8412" />
+      <location filename="../QScintilla/Editor.py" line="8413" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric. Reread it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8418" />
+      <location filename="../QScintilla/Editor.py" line="8419" />
       <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
       <translation>&lt;br&gt;&lt;b&gt;Alerte :&lt;/b&gt; Vous allez perdre vos modifications à la réouverture.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8425" />
+      <location filename="../QScintilla/Editor.py" line="8426" />
       <source>File changed</source>
       <translation>Fichier modifié</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8569" />
-      <source>Reload File</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8570" />
+      <source>Reload File</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8571" />
       <source>&lt;p&gt;The editor contains unsaved modifications.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reloading it.&lt;/p&gt;&lt;p&gt;Shall the editor really be reloaded?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8670" />
-      <source>Drop Error</source>
-      <translation>Erreur de suppression</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8671" />
+      <source>Drop Error</source>
+      <translation>Erreur de suppression</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8672" />
       <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
       <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; n'est pas un fichier.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8692" />
+      <location filename="../QScintilla/Editor.py" line="8693" />
       <source>Resources</source>
       <translation>Ressources</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8694" />
-      <source>Add file...</source>
-      <translation>Ajouter un fichier...</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8695" />
-      <source>Add files...</source>
-      <translation>Ajouter des fichiers...</translation>
+      <source>Add file...</source>
+      <translation>Ajouter un fichier...</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="8696" />
+      <source>Add files...</source>
+      <translation>Ajouter des fichiers...</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8697" />
       <source>Add aliased file...</source>
       <translation>Ajouter un fichier alias...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8698" />
+      <location filename="../QScintilla/Editor.py" line="8699" />
       <source>Add localized resource...</source>
       <translation>Ajouter une ressource localisée...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8701" />
+      <location filename="../QScintilla/Editor.py" line="8702" />
       <source>Add resource frame</source>
       <translation>Ajouter un cadre ressource</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8721" />
+      <location filename="../QScintilla/Editor.py" line="8722" />
       <source>Add file resource</source>
       <translation>Ajoute un fichier ressource</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8735" />
+      <location filename="../QScintilla/Editor.py" line="8736" />
       <source>Add file resources</source>
       <translation>Ajoute des fichiers ressources</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8759" />
-      <location filename="../QScintilla/Editor.py" line="8753" />
-      <source>Add aliased file resource</source>
-      <translation>Ajoute un alias de fichier ressource</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8760" />
+      <location filename="../QScintilla/Editor.py" line="8754" />
+      <source>Add aliased file resource</source>
+      <translation>Ajoute un alias de fichier ressource</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8761" />
       <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8842" />
-      <source>Package Diagram</source>
-      <translation>Diagramme de package</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8843" />
+      <source>Package Diagram</source>
+      <translation>Diagramme de package</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8844" />
       <source>Include class attributes?</source>
       <translation>Inclure les attributs de classes ?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8863" />
-      <source>Imports Diagram</source>
-      <translation>Diagramme des modules</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8864" />
+      <source>Imports Diagram</source>
+      <translation>Diagramme des modules</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8865" />
       <source>Include imports from external modules?</source>
       <translation>Inclure l'importation de modules externes?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8883" />
-      <source>Application Diagram</source>
-      <translation>Diagramme de l'application</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8884" />
+      <source>Application Diagram</source>
+      <translation>Diagramme de l'application</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8885" />
       <source>Include module names?</source>
       <translation>Inclure les noms de modules ?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9255" />
+      <location filename="../QScintilla/Editor.py" line="9256" />
       <source>Add to dictionary</source>
       <translation>Ajouter au dictionnaire</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9257" />
+      <location filename="../QScintilla/Editor.py" line="9258" />
       <source>Ignore All</source>
       <translation>Tout ignorer</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9704" />
-      <source>Sort Lines</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9705" />
+      <source>Sort Lines</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9706" />
       <source>The selection contains illegal data for a numerical sort.</source>
       <translation>La sélection contient des données illégales pour un tri numérique.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9798" />
-      <source>Register Mouse Click Handler</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9799" />
+      <source>Register Mouse Click Handler</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9800" />
       <source>A mouse click handler for "{0}" was already registered by "{1}". Aborting request by "{2}"...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9892" />
+      <location filename="../QScintilla/Editor.py" line="9893" />
       <source>{0:4d}    {1}</source>
       <comment>line number, source code</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9898" />
+      <location filename="../QScintilla/Editor.py" line="9899" />
       <source>{0:4d}    {1}
     =&gt;  {2}</source>
       <comment>line number, source code, file name</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9976" />
+      <location filename="../QScintilla/Editor.py" line="9977" />
       <source>EditorConfig Properties</source>
       <translation>Propriétés d'EditorConfig</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9977" />
+      <location filename="../QScintilla/Editor.py" line="9978" />
       <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Les propriétés d'EditorConfig du fichier &lt;b&gt;{0}&lt;/b&gt; n'ont pas pu être chargées.&lt;/p&gt;</translation>
     </message>
@@ -52847,18 +52847,18 @@
   <context>
     <name>MicroPythonDevice</name>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="375" />
+      <location filename="../MicroPython/Devices/__init__.py" line="399" />
       <source>Generic MicroPython Board</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="422" />
+      <location filename="../MicroPython/Devices/__init__.py" line="446" />
       <source>RP2040/RP2350 based</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="582" />
-      <location filename="../MicroPython/Devices/__init__.py" line="571" />
+      <location filename="../MicroPython/Devices/__init__.py" line="606" />
+      <location filename="../MicroPython/Devices/__init__.py" line="595" />
       <source>Unknown Device</source>
       <translation type="unfinished" />
     </message>
@@ -59907,40 +59907,40 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1195" />
+      <location filename="../PipInterface/Pip.py" line="1197" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1221" />
-      <location filename="../PipInterface/Pip.py" line="1212" />
+      <location filename="../PipInterface/Pip.py" line="1223" />
+      <location filename="../PipInterface/Pip.py" line="1214" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1213" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1245" />
-      <location filename="../PipInterface/Pip.py" line="1238" />
+      <location filename="../PipInterface/Pip.py" line="1247" />
+      <location filename="../PipInterface/Pip.py" line="1240" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1239" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1270" />
-      <location filename="../PipInterface/Pip.py" line="1262" />
+      <location filename="../PipInterface/Pip.py" line="1272" />
+      <location filename="../PipInterface/Pip.py" line="1264" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1263" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -60701,6 +60701,16 @@
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Enter search term for packages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Package Search</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
       <source>View Type</source>
       <translation type="unfinished" />
     </message>
@@ -60850,18 +60860,18 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="735" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="729" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="737" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="731" />
       <source>Cleanup Environment</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="730" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="732" />
       <source>The environment cleanup was successful.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="736" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="738" />
       <source>Some leftover package directories could not been removed. Delete them manually.</source>
       <translation type="unfinished" />
     </message>
@@ -61042,13 +61052,13 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1580" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1555" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1585" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1560" />
       <source>unknown</source>
       <translation type="unfinished">inconnu</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1577" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1582" />
       <source>any</source>
       <translation type="unfinished" />
     </message>
@@ -61183,6 +61193,21 @@
       <source>Don't show 'Conda' environments</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Dependencies List</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Search Marker Background:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Select the color for the search highlight of the dependencies list.</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>PipVulnerabilityChecker</name>
@@ -62524,18 +62549,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1909" />
+      <location filename="../Preferences/__init__.py" line="1910" />
       <source>Export Preferences</source>
       <translation>Export des préférences</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1938" />
-      <location filename="../Preferences/__init__.py" line="1911" />
+      <location filename="../Preferences/__init__.py" line="1939" />
+      <location filename="../Preferences/__init__.py" line="1912" />
       <source>Properties File (*.ini);;All Files (*)</source>
       <translation>Fichier propriétés (*.ini);;Tous les fichiers (*)</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1936" />
+      <location filename="../Preferences/__init__.py" line="1937" />
       <source>Import Preferences</source>
       <translation>Import des préférences</translation>
     </message>
@@ -90200,133 +90225,133 @@
   <context>
     <name>UF2FlashDialog</name>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="735" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="754" />
       <source>&lt;h3&gt;CircuitPython Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Switch your device to 'bootloader' mode by double-pressing the reset button.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;(If this does not happen, then try shorter or longer pauses between presses.)&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="761" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="780" />
       <source>&lt;h3&gt;Pi Pico (RP2040/RP2350) Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Enter 'bootloader' mode (board &lt;b&gt;without&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;Plug in your board while holding the BOOTSEL button.&lt;/li&gt;&lt;/ul&gt;Enter 'bootloader' mode (board &lt;b&gt;with&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;hold down RESET&lt;/li&gt;&lt;li&gt;hold down BOOTSEL&lt;/li&gt;&lt;li&gt;release RESET&lt;/li&gt;&lt;li&gt;release BOOTSEL&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="883" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="902" />
       <source>MicroPython/CircuitPython Files (*.uf2);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="950" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="942" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="926" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="969" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="961" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="945" />
       <source>Manual Select</source>
       <translation type="unfinished">Sélection Manuelle</translation>
     </message>
     <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1073" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1041" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1018" />
+      <source>Reset Instructions:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1020" />
+      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1044" />
+      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1054" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1022" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="999" />
-      <source>Reset Instructions:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1001" />
-      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1025" />
-      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1035" />
       <source>&lt;h4&gt;Potentially UF2 capable devices found&lt;/h4&gt;&lt;p&gt;Found these potentially UF2 capable devices:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1056" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1075" />
       <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1068" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1087" />
       <source>Flash Instructions:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1070" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1089" />
       <source>&lt;h4&gt;Flash method 'manual' selected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to flash a device by entering the data manually.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Change the device to 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it) and select its path.&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1095" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1114" />
       <source>Boot Volume not found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1097" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1116" />
       <source>&lt;h4&gt;No Boot Volume detected.&lt;/h4&gt;&lt;p&gt;Please ensure that the boot volume of the device to be flashed is available. </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1103" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1122" />
       <source>This volume should be named &lt;b&gt;{0}&lt;/b&gt;. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1108" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1127" />
       <source>This volume should have one of these names.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1115" />
-      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1134" />
+      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1153" />
       <source>Multiple Boot Volumes found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1136" />
-      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1155" />
+      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1174" />
       <source>Flashing Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1157" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1176" />
       <source>&lt;p&gt;Flashing the selected firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1164" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1183" />
       <source>Flashing {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1166" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1185" />
       <source>&lt;p&gt;Flashing the {0} firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/UF2FlashDialog.ui" line="0" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1278" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1270" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1297" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1289" />
       <source>Flash UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1271" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1290" />
       <source>No UF2 device 'boot' volumes found.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1279" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1298" />
       <source>Select the Boot Volume of the device:</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_it.ts	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/i18n/eric7_it.ts	Mon Feb 10 14:09:14 2025 +0100
@@ -12576,7 +12576,7 @@
       <translation>Annulla commenta</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="10163" />
+      <location filename="../QScintilla/Editor.py" line="10164" />
       <location filename="../QScintilla/Editor.py" line="1015" />
       <source>Generate Docstring</source>
       <translation type="unfinished" />
@@ -12859,7 +12859,7 @@
       <translation type="unfinished">Spelling</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9251" />
+      <location filename="../QScintilla/Editor.py" line="9252" />
       <location filename="../QScintilla/Editor.py" line="1420" />
       <source>Check spelling...</source>
       <translation>Controllo sillabazione...</translation>
@@ -12920,7 +12920,7 @@
       <translation>Modifica Breakpoint...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6593" />
+      <location filename="../QScintilla/Editor.py" line="6594" />
       <location filename="../QScintilla/Editor.py" line="1505" />
       <source>Enable breakpoint</source>
       <translation>Abilita breakpoint</translation>
@@ -13164,382 +13164,382 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5742" />
+      <location filename="../QScintilla/Editor.py" line="5743" />
       <source>Autocompletion</source>
       <translation>Autocompletamento</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5743" />
+      <location filename="../QScintilla/Editor.py" line="5744" />
       <source>Autocompletion is not available because there is no autocompletion source set.</source>
       <translation>L'autocomplentamento non è disponibile perchè non ci sono fonti impostate.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5877" />
-      <source>Auto-Completion Provider</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="5878" />
+      <source>Auto-Completion Provider</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="5879" />
       <source>The completion list provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6174" />
-      <source>Call-Tips Provider</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="6175" />
+      <source>Call-Tips Provider</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="6176" />
       <source>The call-tips provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6597" />
+      <location filename="../QScintilla/Editor.py" line="6598" />
       <source>Disable breakpoint</source>
       <translation>Disabilita breakpoint</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7021" />
-      <source>Code Coverage</source>
-      <translation>Analisi codice</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7022" />
+      <source>Code Coverage</source>
+      <translation>Analisi codice</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7023" />
       <source>Please select a coverage file</source>
       <translation>Per favore seleziona un file per l'analisi</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7084" />
-      <source>Load Coverage Data</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7085" />
+      <source>Load Coverage Data</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7086" />
       <source>&lt;p&gt;The coverage data could not be loaded from file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7114" />
-      <location filename="../QScintilla/Editor.py" line="7106" />
-      <source>Show Code Coverage Annotations</source>
-      <translation>Mostra le annotazioni dell'analisi del codice</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7107" />
-      <source>All lines have been covered.</source>
-      <translation>Tutte le linee sono state analizzate.</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7115" />
+      <location filename="../QScintilla/Editor.py" line="7107" />
+      <source>Show Code Coverage Annotations</source>
+      <translation>Mostra le annotazioni dell'analisi del codice</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7108" />
+      <source>All lines have been covered.</source>
+      <translation>Tutte le linee sono state analizzate.</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7116" />
       <source>There is no coverage file available.</source>
       <translation>Non ci sono file di analisi disponibili.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7223" />
-      <source>Profile Data</source>
-      <translation>Profilazione dati</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7224" />
+      <source>Profile Data</source>
+      <translation>Profilazione dati</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7225" />
       <source>Please select a profile file</source>
       <translation>Per favore seleziona un file per la profilazione</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7386" />
-      <location filename="../QScintilla/Editor.py" line="7380" />
-      <source>Syntax Error</source>
-      <translation>Errore di sintassi</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7387" />
+      <location filename="../QScintilla/Editor.py" line="7381" />
+      <source>Syntax Error</source>
+      <translation>Errore di sintassi</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7388" />
       <source>No syntax error message available.</source>
       <translation>Nessun messaggio degli errori di sintassi disponibile.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
-      <location filename="../QScintilla/Editor.py" line="7628" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
+      <location filename="../QScintilla/Editor.py" line="7629" />
       <source>Warning</source>
       <translation>Attenzione</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
       <source>No warning messages available.</source>
       <translation>Nessun messaggio di attenzione disponibile.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7713" />
+      <location filename="../QScintilla/Editor.py" line="7714" />
       <source>Info: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7729" />
-      <location filename="../QScintilla/Editor.py" line="7715" />
+      <location filename="../QScintilla/Editor.py" line="7730" />
+      <location filename="../QScintilla/Editor.py" line="7716" />
       <source>Error: {0}</source>
       <translation>Errore: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7717" />
+      <location filename="../QScintilla/Editor.py" line="7718" />
       <source>Style: {0}</source>
       <translation>Stile: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7722" />
+      <location filename="../QScintilla/Editor.py" line="7723" />
       <source>Warning: {0}</source>
       <translation>Attenzione: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Macro Name</source>
       <translation>Nome Macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Select a macro name:</source>
       <translation>Seleziona un nome per la macro:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7878" />
+      <location filename="../QScintilla/Editor.py" line="7879" />
       <source>Load macro file</source>
       <translation>Carica un file di macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7924" />
-      <location filename="../QScintilla/Editor.py" line="7880" />
+      <location filename="../QScintilla/Editor.py" line="7925" />
+      <location filename="../QScintilla/Editor.py" line="7881" />
       <source>Macro files (*.macro)</source>
       <translation>File Macro (*.macro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7902" />
-      <location filename="../QScintilla/Editor.py" line="7892" />
-      <source>Error loading macro</source>
-      <translation>Errore nel caricamento della macro</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7893" />
-      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Il file macro &lt;b&gt;{0}&lt;/b&gt; non può essere letto.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7903" />
+      <location filename="../QScintilla/Editor.py" line="7893" />
+      <source>Error loading macro</source>
+      <translation>Errore nel caricamento della macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7894" />
+      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Il file macro &lt;b&gt;{0}&lt;/b&gt; non può essere letto.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7904" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Il file macro &lt;b&gt;{0}&lt;/b&gt; è danneggiato.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7922" />
+      <location filename="../QScintilla/Editor.py" line="7923" />
       <source>Save macro file</source>
       <translation>Salva un file di macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7940" />
-      <source>Save macro</source>
-      <translation>Salva macro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7941" />
+      <source>Save macro</source>
+      <translation>Salva macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7942" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Il file  delle macro &lt;b&gt;{0}&lt;/b&gt; esiste già.Sovrascriverlo ?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7956" />
-      <source>Error saving macro</source>
-      <translation>Errore nel salvataggio della macro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7957" />
+      <source>Error saving macro</source>
+      <translation>Errore nel salvataggio della macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7958" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Il file macro &lt;b&gt;{0}&lt;/b&gt; non può essere scritto.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7970" />
-      <source>Start Macro Recording</source>
-      <translation>Avvia registrazione della macro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7971" />
+      <source>Start Macro Recording</source>
+      <translation>Avvia registrazione della macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7972" />
       <source>Macro recording is already active. Start new?</source>
       <translation>Registrazione macro già attiva. Avvia nuovamente ?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7997" />
-      <source>Macro Recording</source>
-      <translation>Registrazione Macro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7998" />
+      <source>Macro Recording</source>
+      <translation>Registrazione Macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7999" />
       <source>Enter name of the macro:</source>
       <translation>Inserisci un nome per la macro:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8215" />
+      <location filename="../QScintilla/Editor.py" line="8216" />
       <source>{0} (ro)</source>
       <translation>{0} (ro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8412" />
+      <location filename="../QScintilla/Editor.py" line="8413" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric. Reread it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8418" />
+      <location filename="../QScintilla/Editor.py" line="8419" />
       <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
       <translation>&lt;br&gt;&lt;b&gt;Attenzione:&lt;/b&gt; con la riapertura le modifiche andranno perse.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8425" />
+      <location filename="../QScintilla/Editor.py" line="8426" />
       <source>File changed</source>
       <translation>File modificato</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8569" />
-      <source>Reload File</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8570" />
+      <source>Reload File</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8571" />
       <source>&lt;p&gt;The editor contains unsaved modifications.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reloading it.&lt;/p&gt;&lt;p&gt;Shall the editor really be reloaded?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8670" />
-      <source>Drop Error</source>
-      <translation>Errore Drop</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8671" />
+      <source>Drop Error</source>
+      <translation>Errore Drop</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8672" />
       <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
       <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; non è un file.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8692" />
+      <location filename="../QScintilla/Editor.py" line="8693" />
       <source>Resources</source>
       <translation>Risorse</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8694" />
-      <source>Add file...</source>
-      <translation>Aggiungi file...</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8695" />
-      <source>Add files...</source>
-      <translation>Aggiungi files...</translation>
+      <source>Add file...</source>
+      <translation>Aggiungi file...</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="8696" />
+      <source>Add files...</source>
+      <translation>Aggiungi files...</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8697" />
       <source>Add aliased file...</source>
       <translation>Aggiungi file sinonimo...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8698" />
+      <location filename="../QScintilla/Editor.py" line="8699" />
       <source>Add localized resource...</source>
       <translation>Aggiungi una risorsa localizzata...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8701" />
+      <location filename="../QScintilla/Editor.py" line="8702" />
       <source>Add resource frame</source>
       <translation>Aggiungi riquadro delle risorse</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8721" />
+      <location filename="../QScintilla/Editor.py" line="8722" />
       <source>Add file resource</source>
       <translation>Aggiungi un file risorse</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8735" />
+      <location filename="../QScintilla/Editor.py" line="8736" />
       <source>Add file resources</source>
       <translation>Aggiundi dei file risorse</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8759" />
-      <location filename="../QScintilla/Editor.py" line="8753" />
-      <source>Add aliased file resource</source>
-      <translation>Aggiungi file sinonimo delle risorse</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8760" />
+      <location filename="../QScintilla/Editor.py" line="8754" />
+      <source>Add aliased file resource</source>
+      <translation>Aggiungi file sinonimo delle risorse</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8761" />
       <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
       <translation>Alias per il file &lt;b&gt;{0}&lt;/b&gt;:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8842" />
-      <source>Package Diagram</source>
-      <translation>Diagrammi del package</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8843" />
+      <source>Package Diagram</source>
+      <translation>Diagrammi del package</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8844" />
       <source>Include class attributes?</source>
       <translation>Includi gli attributi della classe ?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8863" />
-      <source>Imports Diagram</source>
-      <translation>Importa diagrammi</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8864" />
+      <source>Imports Diagram</source>
+      <translation>Importa diagrammi</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8865" />
       <source>Include imports from external modules?</source>
       <translation>Includi gli import dai moduli esterni ?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8883" />
-      <source>Application Diagram</source>
-      <translation>Diagrammi dell'applicazione</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8884" />
+      <source>Application Diagram</source>
+      <translation>Diagrammi dell'applicazione</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8885" />
       <source>Include module names?</source>
       <translation>Includi i nomi dei moduli ?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9255" />
+      <location filename="../QScintilla/Editor.py" line="9256" />
       <source>Add to dictionary</source>
       <translation>Aggiungi al dizionario</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9257" />
+      <location filename="../QScintilla/Editor.py" line="9258" />
       <source>Ignore All</source>
       <translation>Ignora tutto</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9704" />
-      <source>Sort Lines</source>
-      <translation>Righe ordinate</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9705" />
+      <source>Sort Lines</source>
+      <translation>Righe ordinate</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9706" />
       <source>The selection contains illegal data for a numerical sort.</source>
       <translation>La selezione contiene dati non validi per un ordinamento numerico.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9798" />
-      <source>Register Mouse Click Handler</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9799" />
+      <source>Register Mouse Click Handler</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9800" />
       <source>A mouse click handler for "{0}" was already registered by "{1}". Aborting request by "{2}"...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9892" />
+      <location filename="../QScintilla/Editor.py" line="9893" />
       <source>{0:4d}    {1}</source>
       <comment>line number, source code</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9898" />
+      <location filename="../QScintilla/Editor.py" line="9899" />
       <source>{0:4d}    {1}
     =&gt;  {2}</source>
       <comment>line number, source code, file name</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9976" />
-      <source>EditorConfig Properties</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9977" />
+      <source>EditorConfig Properties</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9978" />
       <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -52836,18 +52836,18 @@
   <context>
     <name>MicroPythonDevice</name>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="375" />
+      <location filename="../MicroPython/Devices/__init__.py" line="399" />
       <source>Generic MicroPython Board</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="422" />
+      <location filename="../MicroPython/Devices/__init__.py" line="446" />
       <source>RP2040/RP2350 based</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="582" />
-      <location filename="../MicroPython/Devices/__init__.py" line="571" />
+      <location filename="../MicroPython/Devices/__init__.py" line="606" />
+      <location filename="../MicroPython/Devices/__init__.py" line="595" />
       <source>Unknown Device</source>
       <translation type="unfinished" />
     </message>
@@ -59815,40 +59815,40 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1195" />
+      <location filename="../PipInterface/Pip.py" line="1197" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1221" />
-      <location filename="../PipInterface/Pip.py" line="1212" />
+      <location filename="../PipInterface/Pip.py" line="1223" />
+      <location filename="../PipInterface/Pip.py" line="1214" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1213" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1245" />
-      <location filename="../PipInterface/Pip.py" line="1238" />
+      <location filename="../PipInterface/Pip.py" line="1247" />
+      <location filename="../PipInterface/Pip.py" line="1240" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1239" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1270" />
-      <location filename="../PipInterface/Pip.py" line="1262" />
+      <location filename="../PipInterface/Pip.py" line="1272" />
+      <location filename="../PipInterface/Pip.py" line="1264" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1263" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -60609,6 +60609,16 @@
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Enter search term for packages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Package Search</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
       <source>View Type</source>
       <translation type="unfinished" />
     </message>
@@ -60758,18 +60768,18 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="735" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="729" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="737" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="731" />
       <source>Cleanup Environment</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="730" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="732" />
       <source>The environment cleanup was successful.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="736" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="738" />
       <source>Some leftover package directories could not been removed. Delete them manually.</source>
       <translation type="unfinished" />
     </message>
@@ -60950,13 +60960,13 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1580" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1555" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1585" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1560" />
       <source>unknown</source>
       <translation type="unfinished">sconosciuto</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1577" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1582" />
       <source>any</source>
       <translation type="unfinished" />
     </message>
@@ -61075,6 +61085,21 @@
       <source>Don't show 'Conda' environments</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Dependencies List</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Search Marker Background:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Select the color for the search highlight of the dependencies list.</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>PipVulnerabilityChecker</name>
@@ -62420,18 +62445,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1909" />
+      <location filename="../Preferences/__init__.py" line="1910" />
       <source>Export Preferences</source>
       <translation>Esporta Preferenze</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1938" />
-      <location filename="../Preferences/__init__.py" line="1911" />
+      <location filename="../Preferences/__init__.py" line="1939" />
+      <location filename="../Preferences/__init__.py" line="1912" />
       <source>Properties File (*.ini);;All Files (*)</source>
       <translation>File proprietà (*.ini);;Tutti i file(*)</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1936" />
+      <location filename="../Preferences/__init__.py" line="1937" />
       <source>Import Preferences</source>
       <translation>Importa Preferenze</translation>
     </message>
@@ -90070,133 +90095,133 @@
   <context>
     <name>UF2FlashDialog</name>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="735" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="754" />
       <source>&lt;h3&gt;CircuitPython Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Switch your device to 'bootloader' mode by double-pressing the reset button.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;(If this does not happen, then try shorter or longer pauses between presses.)&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="761" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="780" />
       <source>&lt;h3&gt;Pi Pico (RP2040/RP2350) Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Enter 'bootloader' mode (board &lt;b&gt;without&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;Plug in your board while holding the BOOTSEL button.&lt;/li&gt;&lt;/ul&gt;Enter 'bootloader' mode (board &lt;b&gt;with&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;hold down RESET&lt;/li&gt;&lt;li&gt;hold down BOOTSEL&lt;/li&gt;&lt;li&gt;release RESET&lt;/li&gt;&lt;li&gt;release BOOTSEL&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="883" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="902" />
       <source>MicroPython/CircuitPython Files (*.uf2);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="950" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="942" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="926" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="969" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="961" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="945" />
       <source>Manual Select</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1073" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1041" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1018" />
+      <source>Reset Instructions:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1020" />
+      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1044" />
+      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1054" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1022" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="999" />
-      <source>Reset Instructions:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1001" />
-      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1025" />
-      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1035" />
       <source>&lt;h4&gt;Potentially UF2 capable devices found&lt;/h4&gt;&lt;p&gt;Found these potentially UF2 capable devices:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1056" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1075" />
       <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1068" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1087" />
       <source>Flash Instructions:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1070" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1089" />
       <source>&lt;h4&gt;Flash method 'manual' selected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to flash a device by entering the data manually.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Change the device to 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it) and select its path.&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1095" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1114" />
       <source>Boot Volume not found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1097" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1116" />
       <source>&lt;h4&gt;No Boot Volume detected.&lt;/h4&gt;&lt;p&gt;Please ensure that the boot volume of the device to be flashed is available. </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1103" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1122" />
       <source>This volume should be named &lt;b&gt;{0}&lt;/b&gt;. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1108" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1127" />
       <source>This volume should have one of these names.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1115" />
-      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1134" />
+      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1153" />
       <source>Multiple Boot Volumes found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1136" />
-      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1155" />
+      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1174" />
       <source>Flashing Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1157" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1176" />
       <source>&lt;p&gt;Flashing the selected firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1164" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1183" />
       <source>Flashing {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1166" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1185" />
       <source>&lt;p&gt;Flashing the {0} firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/UF2FlashDialog.ui" line="0" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1278" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1270" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1297" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1289" />
       <source>Flash UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1271" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1290" />
       <source>No UF2 device 'boot' volumes found.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1279" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1298" />
       <source>Select the Boot Volume of the device:</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_pt.ts	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/i18n/eric7_pt.ts	Mon Feb 10 14:09:14 2025 +0100
@@ -12580,7 +12580,7 @@
       <translation>Descomentar</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="10163" />
+      <location filename="../QScintilla/Editor.py" line="10164" />
       <location filename="../QScintilla/Editor.py" line="1015" />
       <source>Generate Docstring</source>
       <translation type="unfinished" />
@@ -12863,7 +12863,7 @@
       <translation type="unfinished">Verificação ortográfica</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9251" />
+      <location filename="../QScintilla/Editor.py" line="9252" />
       <location filename="../QScintilla/Editor.py" line="1420" />
       <source>Check spelling...</source>
       <translation>Verificação ortográfica...</translation>
@@ -12924,7 +12924,7 @@
       <translation>Editar ponto de interrupção...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6593" />
+      <location filename="../QScintilla/Editor.py" line="6594" />
       <location filename="../QScintilla/Editor.py" line="1505" />
       <source>Enable breakpoint</source>
       <translation>Habilitar pontos de interrupção</translation>
@@ -13168,382 +13168,382 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5742" />
+      <location filename="../QScintilla/Editor.py" line="5743" />
       <source>Autocompletion</source>
       <translation>Autocompletar</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5743" />
+      <location filename="../QScintilla/Editor.py" line="5744" />
       <source>Autocompletion is not available because there is no autocompletion source set.</source>
       <translation>Autocompletar não está disponivel porque a fonte de autocompletar não está definida.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5877" />
-      <source>Auto-Completion Provider</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="5878" />
+      <source>Auto-Completion Provider</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="5879" />
       <source>The completion list provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6174" />
-      <source>Call-Tips Provider</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="6175" />
+      <source>Call-Tips Provider</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="6176" />
       <source>The call-tips provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6597" />
+      <location filename="../QScintilla/Editor.py" line="6598" />
       <source>Disable breakpoint</source>
       <translation>Inabilitar ponto de interrupção</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7021" />
-      <source>Code Coverage</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7022" />
+      <source>Code Coverage</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7023" />
       <source>Please select a coverage file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7084" />
-      <source>Load Coverage Data</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7085" />
+      <source>Load Coverage Data</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7086" />
       <source>&lt;p&gt;The coverage data could not be loaded from file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7114" />
-      <location filename="../QScintilla/Editor.py" line="7106" />
-      <source>Show Code Coverage Annotations</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7107" />
-      <source>All lines have been covered.</source>
-      <translation>Foram cobertas as linhas todas.</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7115" />
+      <location filename="../QScintilla/Editor.py" line="7107" />
+      <source>Show Code Coverage Annotations</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7108" />
+      <source>All lines have been covered.</source>
+      <translation>Foram cobertas as linhas todas.</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7116" />
       <source>There is no coverage file available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7223" />
-      <source>Profile Data</source>
-      <translation>Dados de Perfil</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7224" />
+      <source>Profile Data</source>
+      <translation>Dados de Perfil</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7225" />
       <source>Please select a profile file</source>
       <translation>Escolha um ficheiro de perfil por favor</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7386" />
-      <location filename="../QScintilla/Editor.py" line="7380" />
-      <source>Syntax Error</source>
-      <translation>Erro de Sintaxe</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7387" />
+      <location filename="../QScintilla/Editor.py" line="7381" />
+      <source>Syntax Error</source>
+      <translation>Erro de Sintaxe</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7388" />
       <source>No syntax error message available.</source>
       <translation>Não está disponível a mensagem de erro de sintaxe.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
-      <location filename="../QScintilla/Editor.py" line="7628" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
+      <location filename="../QScintilla/Editor.py" line="7629" />
       <source>Warning</source>
       <translation>Aviso</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
       <source>No warning messages available.</source>
       <translation>Não estão disponíveis mensagens de aviso.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7713" />
+      <location filename="../QScintilla/Editor.py" line="7714" />
       <source>Info: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7729" />
-      <location filename="../QScintilla/Editor.py" line="7715" />
+      <location filename="../QScintilla/Editor.py" line="7730" />
+      <location filename="../QScintilla/Editor.py" line="7716" />
       <source>Error: {0}</source>
       <translation>Erro: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7717" />
+      <location filename="../QScintilla/Editor.py" line="7718" />
       <source>Style: {0}</source>
       <translation>Estilo: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7722" />
+      <location filename="../QScintilla/Editor.py" line="7723" />
       <source>Warning: {0}</source>
       <translation>Aviso: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Macro Name</source>
       <translation>Nome de Macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Select a macro name:</source>
       <translation>Selecionar um nome de macro:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7878" />
+      <location filename="../QScintilla/Editor.py" line="7879" />
       <source>Load macro file</source>
       <translation>Carregar ficheiro macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7924" />
-      <location filename="../QScintilla/Editor.py" line="7880" />
+      <location filename="../QScintilla/Editor.py" line="7925" />
+      <location filename="../QScintilla/Editor.py" line="7881" />
       <source>Macro files (*.macro)</source>
       <translation>Ficheiros Macro (*.macro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7902" />
-      <location filename="../QScintilla/Editor.py" line="7892" />
-      <source>Error loading macro</source>
-      <translation>Erro ao carregar macro</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7893" />
-      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;O ficheiro macro &lt;b&gt;{0}&lt;/b&gt; não se pode ler.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7903" />
+      <location filename="../QScintilla/Editor.py" line="7893" />
+      <source>Error loading macro</source>
+      <translation>Erro ao carregar macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7894" />
+      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;O ficheiro macro &lt;b&gt;{0}&lt;/b&gt; não se pode ler.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7904" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
       <translation>&lt;p&gt;O ficheiro macro &lt;b&gt;{0}&lt;/b&gt; está corrompido.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7922" />
+      <location filename="../QScintilla/Editor.py" line="7923" />
       <source>Save macro file</source>
       <translation>Gravar ficheiro macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7940" />
-      <source>Save macro</source>
-      <translation>Gravar macro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7941" />
+      <source>Save macro</source>
+      <translation>Gravar macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7942" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;O ficheiro macro &lt;b&gt;{0}&lt;/b&gt; já existe. Sobreescrever-lo?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7956" />
-      <source>Error saving macro</source>
-      <translation>Erro ao gravar macro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7957" />
+      <source>Error saving macro</source>
+      <translation>Erro ao gravar macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7958" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
       <translation>&lt;p&gt;O ficheiro macro &lt;b&gt;{0}&lt;/b&gt; não pode ser escrito.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7970" />
-      <source>Start Macro Recording</source>
-      <translation>Iniciar Registo de Macro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7971" />
+      <source>Start Macro Recording</source>
+      <translation>Iniciar Registo de Macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7972" />
       <source>Macro recording is already active. Start new?</source>
       <translation>A gravação de macro já está ativada. Começar nova?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7997" />
-      <source>Macro Recording</source>
-      <translation>Gravação de Macro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7998" />
+      <source>Macro Recording</source>
+      <translation>Gravação de Macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7999" />
       <source>Enter name of the macro:</source>
       <translation>Introduza o nome de macro:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8215" />
+      <location filename="../QScintilla/Editor.py" line="8216" />
       <source>{0} (ro)</source>
       <translation />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8412" />
+      <location filename="../QScintilla/Editor.py" line="8413" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric. Reread it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8418" />
+      <location filename="../QScintilla/Editor.py" line="8419" />
       <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
       <translation>&lt;br&gt;&lt;b&gt;Aviso:&lt;/b&gt; Perderá todas as alterações uma vez que o volte a abrir.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8425" />
+      <location filename="../QScintilla/Editor.py" line="8426" />
       <source>File changed</source>
       <translation>Ficheiro alterado</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8569" />
-      <source>Reload File</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8570" />
+      <source>Reload File</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8571" />
       <source>&lt;p&gt;The editor contains unsaved modifications.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reloading it.&lt;/p&gt;&lt;p&gt;Shall the editor really be reloaded?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8670" />
-      <source>Drop Error</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8671" />
+      <source>Drop Error</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8672" />
       <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
       <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; não é um ficheiro.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8692" />
+      <location filename="../QScintilla/Editor.py" line="8693" />
       <source>Resources</source>
       <translation>Recursos</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8694" />
-      <source>Add file...</source>
-      <translation>Adicionar Ficheiro...</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8695" />
-      <source>Add files...</source>
-      <translation>Adicionar Ficheiros...</translation>
+      <source>Add file...</source>
+      <translation>Adicionar Ficheiro...</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="8696" />
+      <source>Add files...</source>
+      <translation>Adicionar Ficheiros...</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8697" />
       <source>Add aliased file...</source>
       <translation>Adicionar ficheiro com pseudónimo...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8698" />
+      <location filename="../QScintilla/Editor.py" line="8699" />
       <source>Add localized resource...</source>
       <translation>Adicionar recursos localizado...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8701" />
+      <location filename="../QScintilla/Editor.py" line="8702" />
       <source>Add resource frame</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8721" />
+      <location filename="../QScintilla/Editor.py" line="8722" />
       <source>Add file resource</source>
       <translation>Adicionar recurso de ficheiro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8735" />
+      <location filename="../QScintilla/Editor.py" line="8736" />
       <source>Add file resources</source>
       <translation>Adicionar recursos de ficheiro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8759" />
-      <location filename="../QScintilla/Editor.py" line="8753" />
-      <source>Add aliased file resource</source>
-      <translation>Adicionar recurso de ficheiro com pseudónimo</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8760" />
+      <location filename="../QScintilla/Editor.py" line="8754" />
+      <source>Add aliased file resource</source>
+      <translation>Adicionar recurso de ficheiro com pseudónimo</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8761" />
       <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
       <translation>Pseudónimo para o ficheiro &lt;b&gt;{0}&lt;/b&gt;:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8842" />
-      <source>Package Diagram</source>
-      <translation>Diagrama do Pacote</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8843" />
+      <source>Package Diagram</source>
+      <translation>Diagrama do Pacote</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8844" />
       <source>Include class attributes?</source>
       <translation>Incluir atributos de classes?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8863" />
-      <source>Imports Diagram</source>
-      <translation>Diagrama de Imports</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8864" />
+      <source>Imports Diagram</source>
+      <translation>Diagrama de Imports</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8865" />
       <source>Include imports from external modules?</source>
       <translation>Incluir imports de módulos externos?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8883" />
-      <source>Application Diagram</source>
-      <translation>Diagrama da Aplicação</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8884" />
+      <source>Application Diagram</source>
+      <translation>Diagrama da Aplicação</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8885" />
       <source>Include module names?</source>
       <translation>Incluir nome dos módulos?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9255" />
+      <location filename="../QScintilla/Editor.py" line="9256" />
       <source>Add to dictionary</source>
       <translation>Adicionar dicionário</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9257" />
+      <location filename="../QScintilla/Editor.py" line="9258" />
       <source>Ignore All</source>
       <translation>Ignorar Tudo</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9704" />
-      <source>Sort Lines</source>
-      <translation>Ordenar Linhas</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9705" />
+      <source>Sort Lines</source>
+      <translation>Ordenar Linhas</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9706" />
       <source>The selection contains illegal data for a numerical sort.</source>
       <translation>A seleção contém dados ilegais para uma ordenação numérica.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9798" />
-      <source>Register Mouse Click Handler</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9799" />
+      <source>Register Mouse Click Handler</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9800" />
       <source>A mouse click handler for "{0}" was already registered by "{1}". Aborting request by "{2}"...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9892" />
+      <location filename="../QScintilla/Editor.py" line="9893" />
       <source>{0:4d}    {1}</source>
       <comment>line number, source code</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9898" />
+      <location filename="../QScintilla/Editor.py" line="9899" />
       <source>{0:4d}    {1}
     =&gt;  {2}</source>
       <comment>line number, source code, file name</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9976" />
-      <source>EditorConfig Properties</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9977" />
+      <source>EditorConfig Properties</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9978" />
       <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -52848,18 +52848,18 @@
   <context>
     <name>MicroPythonDevice</name>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="375" />
+      <location filename="../MicroPython/Devices/__init__.py" line="399" />
       <source>Generic MicroPython Board</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="422" />
+      <location filename="../MicroPython/Devices/__init__.py" line="446" />
       <source>RP2040/RP2350 based</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="582" />
-      <location filename="../MicroPython/Devices/__init__.py" line="571" />
+      <location filename="../MicroPython/Devices/__init__.py" line="606" />
+      <location filename="../MicroPython/Devices/__init__.py" line="595" />
       <source>Unknown Device</source>
       <translation type="unfinished" />
     </message>
@@ -59810,40 +59810,40 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1195" />
+      <location filename="../PipInterface/Pip.py" line="1197" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1221" />
-      <location filename="../PipInterface/Pip.py" line="1212" />
+      <location filename="../PipInterface/Pip.py" line="1223" />
+      <location filename="../PipInterface/Pip.py" line="1214" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1213" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1245" />
-      <location filename="../PipInterface/Pip.py" line="1238" />
+      <location filename="../PipInterface/Pip.py" line="1247" />
+      <location filename="../PipInterface/Pip.py" line="1240" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1239" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1270" />
-      <location filename="../PipInterface/Pip.py" line="1262" />
+      <location filename="../PipInterface/Pip.py" line="1272" />
+      <location filename="../PipInterface/Pip.py" line="1264" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1263" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -60604,6 +60604,16 @@
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Enter search term for packages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Package Search</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
       <source>View Type</source>
       <translation type="unfinished" />
     </message>
@@ -60753,18 +60763,18 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="735" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="729" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="737" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="731" />
       <source>Cleanup Environment</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="730" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="732" />
       <source>The environment cleanup was successful.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="736" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="738" />
       <source>Some leftover package directories could not been removed. Delete them manually.</source>
       <translation type="unfinished" />
     </message>
@@ -60945,13 +60955,13 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1580" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1555" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1585" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1560" />
       <source>unknown</source>
       <translation type="unfinished">desconhecido</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1577" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1582" />
       <source>any</source>
       <translation type="unfinished" />
     </message>
@@ -61070,6 +61080,21 @@
       <source>Don't show 'Conda' environments</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Dependencies List</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Search Marker Background:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Select the color for the search highlight of the dependencies list.</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>PipVulnerabilityChecker</name>
@@ -62414,18 +62439,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1909" />
+      <location filename="../Preferences/__init__.py" line="1910" />
       <source>Export Preferences</source>
       <translation>Exportar Preferências</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1938" />
-      <location filename="../Preferences/__init__.py" line="1911" />
+      <location filename="../Preferences/__init__.py" line="1939" />
+      <location filename="../Preferences/__init__.py" line="1912" />
       <source>Properties File (*.ini);;All Files (*)</source>
       <translation>Ficheiro de Propriedades (*.ini);;Ficheiros Todos (*)</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1936" />
+      <location filename="../Preferences/__init__.py" line="1937" />
       <source>Import Preferences</source>
       <translation>Importar Preferências</translation>
     </message>
@@ -89916,133 +89941,133 @@
   <context>
     <name>UF2FlashDialog</name>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="735" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="754" />
       <source>&lt;h3&gt;CircuitPython Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Switch your device to 'bootloader' mode by double-pressing the reset button.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;(If this does not happen, then try shorter or longer pauses between presses.)&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="761" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="780" />
       <source>&lt;h3&gt;Pi Pico (RP2040/RP2350) Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Enter 'bootloader' mode (board &lt;b&gt;without&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;Plug in your board while holding the BOOTSEL button.&lt;/li&gt;&lt;/ul&gt;Enter 'bootloader' mode (board &lt;b&gt;with&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;hold down RESET&lt;/li&gt;&lt;li&gt;hold down BOOTSEL&lt;/li&gt;&lt;li&gt;release RESET&lt;/li&gt;&lt;li&gt;release BOOTSEL&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="883" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="902" />
       <source>MicroPython/CircuitPython Files (*.uf2);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="950" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="942" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="926" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="969" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="961" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="945" />
       <source>Manual Select</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1073" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1041" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1018" />
+      <source>Reset Instructions:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1020" />
+      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1044" />
+      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1054" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1022" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="999" />
-      <source>Reset Instructions:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1001" />
-      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1025" />
-      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1035" />
       <source>&lt;h4&gt;Potentially UF2 capable devices found&lt;/h4&gt;&lt;p&gt;Found these potentially UF2 capable devices:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1056" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1075" />
       <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1068" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1087" />
       <source>Flash Instructions:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1070" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1089" />
       <source>&lt;h4&gt;Flash method 'manual' selected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to flash a device by entering the data manually.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Change the device to 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it) and select its path.&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1095" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1114" />
       <source>Boot Volume not found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1097" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1116" />
       <source>&lt;h4&gt;No Boot Volume detected.&lt;/h4&gt;&lt;p&gt;Please ensure that the boot volume of the device to be flashed is available. </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1103" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1122" />
       <source>This volume should be named &lt;b&gt;{0}&lt;/b&gt;. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1108" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1127" />
       <source>This volume should have one of these names.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1115" />
-      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1134" />
+      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1153" />
       <source>Multiple Boot Volumes found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1136" />
-      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1155" />
+      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1174" />
       <source>Flashing Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1157" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1176" />
       <source>&lt;p&gt;Flashing the selected firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1164" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1183" />
       <source>Flashing {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1166" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1185" />
       <source>&lt;p&gt;Flashing the {0} firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/UF2FlashDialog.ui" line="0" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1278" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1270" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1297" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1289" />
       <source>Flash UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1271" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1290" />
       <source>No UF2 device 'boot' volumes found.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1279" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1298" />
       <source>Select the Boot Volume of the device:</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_ru.ts	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/i18n/eric7_ru.ts	Mon Feb 10 14:09:14 2025 +0100
@@ -12587,7 +12587,7 @@
       <translation>Раскомментировать</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="10163" />
+      <location filename="../QScintilla/Editor.py" line="10164" />
       <location filename="../QScintilla/Editor.py" line="1015" />
       <source>Generate Docstring</source>
       <translation>Генерировать строки документации</translation>
@@ -12870,7 +12870,7 @@
       <translation>Проверка орфографии</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9251" />
+      <location filename="../QScintilla/Editor.py" line="9252" />
       <location filename="../QScintilla/Editor.py" line="1420" />
       <source>Check spelling...</source>
       <translation>Проверка орфографии...</translation>
@@ -12931,7 +12931,7 @@
       <translation>Редактировать точку останова...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6593" />
+      <location filename="../QScintilla/Editor.py" line="6594" />
       <location filename="../QScintilla/Editor.py" line="1505" />
       <source>Enable breakpoint</source>
       <translation>Установить точку останова</translation>
@@ -13175,370 +13175,370 @@
       <translation>Введите полный путь к файлу устройства:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5742" />
+      <location filename="../QScintilla/Editor.py" line="5743" />
       <source>Autocompletion</source>
       <translation>Автодополнение</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5743" />
+      <location filename="../QScintilla/Editor.py" line="5744" />
       <source>Autocompletion is not available because there is no autocompletion source set.</source>
       <translation>Автодополнение недоступно, так как не задан источник автодополнения.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5877" />
-      <source>Auto-Completion Provider</source>
-      <translation>Источник автодополнений</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="5878" />
+      <source>Auto-Completion Provider</source>
+      <translation>Источник автодополнений</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="5879" />
       <source>The completion list provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation>Список дополнений источника '{0}' уже зарегистрирован. Повторный запрос проигнорирован.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6174" />
-      <source>Call-Tips Provider</source>
-      <translation>Источник всплывающих подсказок</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="6175" />
+      <source>Call-Tips Provider</source>
+      <translation>Источник всплывающих подсказок</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="6176" />
       <source>The call-tips provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation>Источник всплывающих подсказок '{0}' уже зарегистрирован. Повторный запрос проигнорирован.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6597" />
+      <location filename="../QScintilla/Editor.py" line="6598" />
       <source>Disable breakpoint</source>
       <translation>Убрать точку останова</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7021" />
-      <source>Code Coverage</source>
-      <translation>Покрытие кода</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7022" />
+      <source>Code Coverage</source>
+      <translation>Покрытие кода</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7023" />
       <source>Please select a coverage file</source>
       <translation>Пожалуйста выберите файл покрытия</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7084" />
-      <source>Load Coverage Data</source>
-      <translation>Загрузить данные покрытия</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7085" />
+      <source>Load Coverage Data</source>
+      <translation>Загрузить данные покрытия</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7086" />
       <source>&lt;p&gt;The coverage data could not be loaded from file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удалось загрузить данные о покрытии из файла &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Причина: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7114" />
-      <location filename="../QScintilla/Editor.py" line="7106" />
-      <source>Show Code Coverage Annotations</source>
-      <translation>Показать аннотации по покрытию кода</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7107" />
-      <source>All lines have been covered.</source>
-      <translation>Все строки были охвачены.</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7115" />
+      <location filename="../QScintilla/Editor.py" line="7107" />
+      <source>Show Code Coverage Annotations</source>
+      <translation>Показать аннотации по покрытию кода</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7108" />
+      <source>All lines have been covered.</source>
+      <translation>Все строки были охвачены.</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7116" />
       <source>There is no coverage file available.</source>
       <translation>Нет доступного файла покрытия.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7223" />
-      <source>Profile Data</source>
-      <translation>Данные профайлера</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7224" />
+      <source>Profile Data</source>
+      <translation>Данные профайлера</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7225" />
       <source>Please select a profile file</source>
       <translation>Пожалуйста, выберите файл профиля</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7386" />
-      <location filename="../QScintilla/Editor.py" line="7380" />
-      <source>Syntax Error</source>
-      <translation>Синтаксическая ошибка</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7387" />
+      <location filename="../QScintilla/Editor.py" line="7381" />
+      <source>Syntax Error</source>
+      <translation>Синтаксическая ошибка</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7388" />
       <source>No syntax error message available.</source>
       <translation>Нет сообщения о синтаксической ошибке.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
-      <location filename="../QScintilla/Editor.py" line="7628" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
+      <location filename="../QScintilla/Editor.py" line="7629" />
       <source>Warning</source>
       <translation>Предупреждение</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
       <source>No warning messages available.</source>
       <translation>Нет предупреждающего сообщения.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7713" />
+      <location filename="../QScintilla/Editor.py" line="7714" />
       <source>Info: {0}</source>
       <translation>Инфо: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7729" />
-      <location filename="../QScintilla/Editor.py" line="7715" />
+      <location filename="../QScintilla/Editor.py" line="7730" />
+      <location filename="../QScintilla/Editor.py" line="7716" />
       <source>Error: {0}</source>
       <translation>Ошибка: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7717" />
+      <location filename="../QScintilla/Editor.py" line="7718" />
       <source>Style: {0}</source>
       <translation>Стиль: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7722" />
+      <location filename="../QScintilla/Editor.py" line="7723" />
       <source>Warning: {0}</source>
       <translation>Предупреждение: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Macro Name</source>
       <translation>Имя макроса</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Select a macro name:</source>
       <translation>Задайте имя макроса:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7878" />
+      <location filename="../QScintilla/Editor.py" line="7879" />
       <source>Load macro file</source>
       <translation>Загрузить макрос</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7924" />
-      <location filename="../QScintilla/Editor.py" line="7880" />
+      <location filename="../QScintilla/Editor.py" line="7925" />
+      <location filename="../QScintilla/Editor.py" line="7881" />
       <source>Macro files (*.macro)</source>
       <translation>Макросы (*.macro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7902" />
-      <location filename="../QScintilla/Editor.py" line="7892" />
-      <source>Error loading macro</source>
-      <translation>Ошибка при загрузке макроса</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7893" />
-      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Невозможно прочитать файл с макросами: &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7903" />
+      <location filename="../QScintilla/Editor.py" line="7893" />
+      <source>Error loading macro</source>
+      <translation>Ошибка при загрузке макроса</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7894" />
+      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Невозможно прочитать файл с макросами: &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7904" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Файл с макросами &lt;b&gt;{0}&lt;/b&gt; повреждён.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7922" />
+      <location filename="../QScintilla/Editor.py" line="7923" />
       <source>Save macro file</source>
       <translation>Сохранить файл с макросами</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7940" />
-      <source>Save macro</source>
-      <translation>Сохранить макрос</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7941" />
+      <source>Save macro</source>
+      <translation>Сохранить макрос</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7942" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Макро &lt;b&gt;{0}&lt;/b&gt; уже существует. Переписать?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7956" />
-      <source>Error saving macro</source>
-      <translation>Ошибка при сохранении макроса</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7957" />
+      <source>Error saving macro</source>
+      <translation>Ошибка при сохранении макроса</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7958" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Невозможно сохранить файл с макросами: &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7970" />
-      <source>Start Macro Recording</source>
-      <translation>Начать запись макроса</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7971" />
+      <source>Start Macro Recording</source>
+      <translation>Начать запись макроса</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7972" />
       <source>Macro recording is already active. Start new?</source>
       <translation>Запись макроса уже идёт. Начать новую запись?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7997" />
-      <source>Macro Recording</source>
-      <translation>Запись макроса</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7998" />
+      <source>Macro Recording</source>
+      <translation>Запись макроса</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7999" />
       <source>Enter name of the macro:</source>
       <translation>Задайте имя макроса:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8215" />
+      <location filename="../QScintilla/Editor.py" line="8216" />
       <source>{0} (ro)</source>
       <translation>{0} (только чтение)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8412" />
+      <location filename="../QScintilla/Editor.py" line="8413" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric. Reread it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Файл &lt;b&gt;{0}&lt;/b&gt; был изменён, будучи открытым в eric. Перепрочесть?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8418" />
+      <location filename="../QScintilla/Editor.py" line="8419" />
       <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
       <translation>&lt;br&gt;&lt;b&gt;Предупреждение:&lt;/b&gt; При переоткрытии все изменения будут потеряны.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8425" />
+      <location filename="../QScintilla/Editor.py" line="8426" />
       <source>File changed</source>
       <translation>Файл изменен</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8569" />
-      <source>Reload File</source>
-      <translation>Перезагрузить файл</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8570" />
+      <source>Reload File</source>
+      <translation>Перезагрузить файл</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8571" />
       <source>&lt;p&gt;The editor contains unsaved modifications.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reloading it.&lt;/p&gt;&lt;p&gt;Shall the editor really be reloaded?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Редактор содержит несохраненные изменения.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Внимание:&lt;/b&gt; Вы потеряете свои изменения при повторной загрузке.&lt;/p&gt;&lt;p&gt;Действительно перезагрузить редактор?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8670" />
-      <source>Drop Error</source>
-      <translation>Ошибка Drag&amp;&amp;Drop</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8671" />
+      <source>Drop Error</source>
+      <translation>Ошибка Drag&amp;&amp;Drop</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8672" />
       <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
       <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; не является файлом.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8692" />
+      <location filename="../QScintilla/Editor.py" line="8693" />
       <source>Resources</source>
       <translation>Ресурсы</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8694" />
-      <source>Add file...</source>
-      <translation>Добавить файл...</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8695" />
-      <source>Add files...</source>
-      <translation>Добавить файлы...</translation>
+      <source>Add file...</source>
+      <translation>Добавить файл...</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="8696" />
+      <source>Add files...</source>
+      <translation>Добавить файлы...</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8697" />
       <source>Add aliased file...</source>
       <translation>Добавить файл под другим именем...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8698" />
+      <location filename="../QScintilla/Editor.py" line="8699" />
       <source>Add localized resource...</source>
       <translation>Добавить локализованный ресурс...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8701" />
+      <location filename="../QScintilla/Editor.py" line="8702" />
       <source>Add resource frame</source>
       <translation>Добавить фрагмент ресурсов</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8721" />
+      <location filename="../QScintilla/Editor.py" line="8722" />
       <source>Add file resource</source>
       <translation>Добавить файл ресурсов</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8735" />
+      <location filename="../QScintilla/Editor.py" line="8736" />
       <source>Add file resources</source>
       <translation>Добавить файлы ресурсов</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8759" />
-      <location filename="../QScintilla/Editor.py" line="8753" />
-      <source>Add aliased file resource</source>
-      <translation>Добавить файл ресурсов под другим именем</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8760" />
+      <location filename="../QScintilla/Editor.py" line="8754" />
+      <source>Add aliased file resource</source>
+      <translation>Добавить файл ресурсов под другим именем</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8761" />
       <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
       <translation>Другое имя для файла &lt;b&gt;{0}&lt;/b&gt;:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8842" />
-      <source>Package Diagram</source>
-      <translation>Диаграмма пакетов</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8843" />
+      <source>Package Diagram</source>
+      <translation>Диаграмма пакетов</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8844" />
       <source>Include class attributes?</source>
       <translation>Включать атрибуты класса?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8863" />
-      <source>Imports Diagram</source>
-      <translation>Диаграмма импортов</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8864" />
+      <source>Imports Diagram</source>
+      <translation>Диаграмма импортов</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8865" />
       <source>Include imports from external modules?</source>
       <translation>Включать импорты из внешних модулей?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8883" />
-      <source>Application Diagram</source>
-      <translation>Диаграмма приложения</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8884" />
+      <source>Application Diagram</source>
+      <translation>Диаграмма приложения</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8885" />
       <source>Include module names?</source>
       <translation>Включать имена модулей?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9255" />
+      <location filename="../QScintilla/Editor.py" line="9256" />
       <source>Add to dictionary</source>
       <translation>Добавить в словарь</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9257" />
+      <location filename="../QScintilla/Editor.py" line="9258" />
       <source>Ignore All</source>
       <translation>Игнорировать всё</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9704" />
-      <source>Sort Lines</source>
-      <translation>Сортировать строки</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9705" />
+      <source>Sort Lines</source>
+      <translation>Сортировать строки</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9706" />
       <source>The selection contains illegal data for a numerical sort.</source>
       <translation>Выборка содержит данные неподходящие для сортировки как числа.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9798" />
-      <source>Register Mouse Click Handler</source>
-      <translation>Регистрация обработчика кликов мышки</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9799" />
+      <source>Register Mouse Click Handler</source>
+      <translation>Регистрация обработчика кликов мышки</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9800" />
       <source>A mouse click handler for "{0}" was already registered by "{1}". Aborting request by "{2}"...</source>
       <translation>Обработчик кликов мышки для "{0}" уже зарегистрирован "{1}". Запрос прерван "{2}"...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9892" />
+      <location filename="../QScintilla/Editor.py" line="9893" />
       <source>{0:4d}    {1}</source>
       <comment>line number, source code</comment>
       <translation>{0:4d}    {1}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9898" />
+      <location filename="../QScintilla/Editor.py" line="9899" />
       <source>{0:4d}    {1}
     =&gt;  {2}</source>
       <comment>line number, source code, file name</comment>
@@ -13546,12 +13546,12 @@
     =&gt;  {2}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9976" />
+      <location filename="../QScintilla/Editor.py" line="9977" />
       <source>EditorConfig Properties</source>
       <translation>Свойства EditorConfig</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9977" />
+      <location filename="../QScintilla/Editor.py" line="9978" />
       <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удается загрузить свойства EditorConfig для файла &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
@@ -52886,18 +52886,18 @@
   <context>
     <name>MicroPythonDevice</name>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="375" />
+      <location filename="../MicroPython/Devices/__init__.py" line="399" />
       <source>Generic MicroPython Board</source>
       <translation>Универсальная плата MicroPython</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="422" />
+      <location filename="../MicroPython/Devices/__init__.py" line="446" />
       <source>RP2040/RP2350 based</source>
       <translation>на базе RP2040/RP2350</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="582" />
-      <location filename="../MicroPython/Devices/__init__.py" line="571" />
+      <location filename="../MicroPython/Devices/__init__.py" line="606" />
+      <location filename="../MicroPython/Devices/__init__.py" line="595" />
       <source>Unknown Device</source>
       <translation>Неизвестное устройство</translation>
     </message>
@@ -60636,6 +60636,16 @@
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Enter search term for packages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Package Search</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
       <source>View Type</source>
       <translation>Тип представления дерева зависимостей пакетов</translation>
     </message>
@@ -60785,207 +60795,207 @@
       <translation>Получение списка обновленных пакетов...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="735" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="729" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="737" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="731" />
       <source>Cleanup Environment</source>
       <translation>Очистка среды</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="730" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="732" />
       <source>The environment cleanup was successful.</source>
       <translation>Очистка среды прошла успешно.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="736" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="738" />
       <source>Some leftover package directories could not been removed. Delete them manually.</source>
       <translation>Не удалось удалить некоторые оставшиеся директории пакетов. Удалите их вручную.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="832" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="834" />
       <source>Search PyPI</source>
       <translation>Поиск в PyPI</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="833" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="835" />
       <source>&lt;p&gt;No package details info for &lt;b&gt;{0}&lt;/b&gt; available.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Недоступна подробная информация о пакете &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="852" />
-      <source>Pip</source>
-      <translation>Pip</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="854" />
+      <source>Pip</source>
+      <translation>Pip</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.py" line="856" />
       <source>Install Pip</source>
       <translation>Инсталировать Pip</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="857" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="859" />
       <source>Install Pip to User-Site</source>
       <translation>Инсталировать Pip в User-Site</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="860" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="862" />
       <source>Repair Pip</source>
       <translation>Восстановить Pip</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="867" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="869" />
       <source>Install</source>
       <translation>Установить</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1046" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="869" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1048" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="871" />
       <source>Install Packages</source>
       <translation>Установить пакеты</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="872" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="874" />
       <source>Install Local Package</source>
       <translation>Установить локальный пакет</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="875" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="877" />
       <source>Re-Install Selected Packages</source>
       <translation>Переинсталировать выбранные пакеты</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="882" />
-      <source>Requirements/Constraints</source>
-      <translation>Зависимости/Ограничения</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="884" />
+      <source>Requirements/Constraints</source>
+      <translation>Зависимости/Ограничения</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.py" line="886" />
       <source>Install Requirements</source>
       <translation>Установить зависимости</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="887" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="889" />
       <source>Uninstall Requirements</source>
       <translation>Деинсталировать зависимости</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="890" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="892" />
       <source>Generate Requirements...</source>
       <translation>Генерировать зависимости...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="894" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="896" />
       <source>Install from 'pyproject.toml'</source>
       <translation>Установить из 'pyproject.toml'</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="898" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="900" />
       <source>Uninstall from 'pyproject.toml'</source>
       <translation>Деинсталировать из 'pyproject.toml'</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="903" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="905" />
       <source>Generate Constraints...</source>
       <translation>Генерировать ограничения...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="910" />
-      <source>Cache</source>
-      <translation>Кэш</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="912" />
+      <source>Cache</source>
+      <translation>Кэш</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.py" line="914" />
       <source>Show Cache Info...</source>
       <translation>Показать информацию о кэше...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="915" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="917" />
       <source>Show Cached Files...</source>
       <translation>Показать кэшированные файлы...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="918" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="920" />
       <source>Remove Cached Files...</source>
       <translation>Удалить кэшированные файлы...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="921" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="923" />
       <source>Purge Cache...</source>
       <translation>Очистить кэш...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="938" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="940" />
       <source>Show Licenses...</source>
       <translation>Показать лицензии...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="942" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="944" />
       <source>Check Vulnerabilities</source>
       <translation>Проверить уязвимости</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="946" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="948" />
       <source>Update Vulnerability Database</source>
       <translation>Обновить базу уязвимостей</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="950" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="952" />
       <source>Create SBOM file</source>
       <translation>Создать файл SBOM</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="957" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="959" />
       <source>Edit User Configuration...</source>
       <translation>Правка конфигурации пользователя...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="960" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="962" />
       <source>Edit Environment Configuration...</source>
       <translation>Правка конфигурации среды окружения...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="965" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="967" />
       <source>Configure...</source>
       <translation>Настроить...</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1209" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1196" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1185" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1211" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1198" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1187" />
       <source>Edit Configuration</source>
       <translation>Правка конфигурации</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1210" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1197" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1186" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1212" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1199" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1188" />
       <source>No valid configuration path determined. Aborting</source>
       <translation>Не определен допустимый путь конфигурации. Прерывание</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1419" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1421" />
       <source>{0} {1}</source>
       <comment>package name, package version</comment>
       <translation>{0} {1}</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1440" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1442" />
       <source>Affected Version:</source>
       <translatorcomment>Подверженная уязвимости версия:  Пораженная версия Уязвимая</translatorcomment>
       <translation>Версия с уязвимостью:</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1443" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1445" />
       <source>Advisory:</source>
       <translatorcomment>Консультация:  Рекомендация</translatorcomment>
       <translation>Рекомендуемая:</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1578" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1553" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1585" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1560" />
       <source>unknown</source>
       <translation>неизвестная</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1575" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1582" />
       <source>any</source>
       <translation>любая</translation>
     </message>
@@ -61085,6 +61095,21 @@
       <source>Don't show 'Conda' environments</source>
       <translation>Не отображать среды окружения 'Conda'</translation>
     </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Dependencies List</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Search Marker Background:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Select the color for the search highlight of the dependencies list.</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>PipVulnerabilityChecker</name>
@@ -62432,18 +62457,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1909" />
+      <location filename="../Preferences/__init__.py" line="1910" />
       <source>Export Preferences</source>
       <translation>Экспорт Preferences</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1938" />
-      <location filename="../Preferences/__init__.py" line="1911" />
+      <location filename="../Preferences/__init__.py" line="1939" />
+      <location filename="../Preferences/__init__.py" line="1912" />
       <source>Properties File (*.ini);;All Files (*)</source>
       <translation>Файлы Preferences (*.ini);;Все файлы (*)</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1936" />
+      <location filename="../Preferences/__init__.py" line="1937" />
       <source>Import Preferences</source>
       <translation>Импорт Preferences</translation>
     </message>
@@ -90223,133 +90248,133 @@
   <context>
     <name>UF2FlashDialog</name>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="735" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="754" />
       <source>&lt;h3&gt;CircuitPython Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Switch your device to 'bootloader' mode by double-pressing the reset button.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;(If this does not happen, then try shorter or longer pauses between presses.)&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation>&lt;h3&gt;Плата CircuitPython&lt;/h3&gt;&lt;p&gt;Для подготовки платы к прошивке выполните следующие действия:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Переключите устройство в режим 'bootloader' двойным нажатием кнопки RESET.&lt;/li&gt;&lt;li&gt;Подождите, пока устройство не перейдет в режим 'bootloader'.&lt;/li&gt;&lt;li&gt;(Если этого не произошло, попробуйте сделать паузы между нажатиями короче или длинее.)&lt;/li&gt;&lt;li&gt;Убедитесь, что загрузочный том доступен (для этого может потребоваться его установка).&lt;/li&gt;&lt;li&gt;Выберите файл микрокода для прошивки и нажмите кнопку прошивки.&lt;/li&gt;&lt;/ol&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="761" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="780" />
       <source>&lt;h3&gt;Pi Pico (RP2040/RP2350) Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Enter 'bootloader' mode (board &lt;b&gt;without&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;Plug in your board while holding the BOOTSEL button.&lt;/li&gt;&lt;/ul&gt;Enter 'bootloader' mode (board &lt;b&gt;with&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;hold down RESET&lt;/li&gt;&lt;li&gt;hold down BOOTSEL&lt;/li&gt;&lt;li&gt;release RESET&lt;/li&gt;&lt;li&gt;release BOOTSEL&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation>&lt;h3&gt;Плата Pico (RP2040/RP2350)&lt;/h3&gt;&lt;p&gt;Для подготовки платы к перепрошивке выполните следующие действия:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Установите режим загрузчика (плата &lt;b&gt;без&lt;/b&gt; кнопки RESET):&lt;ul&gt;&lt;li&gt;Подключите плату удерживая кнопку BOOTSEL.&lt;/li&gt;&lt;/ul&gt;Установите режим 'bootloader' (плата &lt;b&gt;с&lt;/b&gt; кнопкой RESET):&lt;ul&gt;&lt;li&gt;удерживайте нажатой кнопку RESET &lt;/li&gt;&lt;li&gt;удерживайте кнопку BOOTSEL&lt;/li&gt;&lt;li&gt;отпустите RESET&lt;/li&gt;&lt;li&gt;отпустите кнопку BOOTSEL&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Подождите, пока устройство не перейдет в режим 'bootloader'.&lt;/li&gt;&lt;li&gt;Убедитесь, что загрузочный том доступен (может потребоваться его установка).&lt;/li&gt;&lt;li&gt;Выберите файл микрокода для прошивки и нажмите кнопка прошивки.&lt;/li&gt;&lt;/ol&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="883" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="902" />
       <source>MicroPython/CircuitPython Files (*.uf2);;All Files (*)</source>
       <translation>Файлы MicroPython/CircuitPython (*.uf2);;Все файлы (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="950" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="942" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="926" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="969" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="961" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="945" />
       <source>Manual Select</source>
       <translation>Ручной выбор</translation>
     </message>
     <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1073" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1041" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1018" />
+      <source>Reset Instructions:</source>
+      <translation>Инструкции по перезагрузке:</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1020" />
+      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation>&lt;h4&gt;Известные устройства не обнаружены.&lt;/h4&gt;&lt;p&gt;Следуйте приведеным ниже инструкциям для установки &lt;b&gt;одной&lt;/b&gt; платы в режим 'bootloader'. По готовности нажмите &lt;b&gt;Освежить&lt;/b&gt;.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1044" />
+      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
+      <translation>&lt;h4&gt;Загрузить прошивку {0}&lt;/h4&gt;&lt;p&gt;Следуйте приведенным ниже инструкциям для установки &lt;b&gt;одной&lt;/b&gt; платы в режим 'bootloader'. По готовности нажмите кнопку &lt;b&gt;Освежить&lt;/b&gt;.&lt;/p&gt;&lt;hr/&gt;{1}</translation>
+    </message>
+    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1054" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1022" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="999" />
-      <source>Reset Instructions:</source>
-      <translation>Инструкции по перезагрузке:</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1001" />
-      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation>&lt;h4&gt;Известные устройства не обнаружены.&lt;/h4&gt;&lt;p&gt;Следуйте приведеным ниже инструкциям для установки &lt;b&gt;одной&lt;/b&gt; платы в режим 'bootloader'. По готовности нажмите &lt;b&gt;Освежить&lt;/b&gt;.&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1025" />
-      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
-      <translation>&lt;h4&gt;Загрузить прошивку {0}&lt;/h4&gt;&lt;p&gt;Следуйте приведенным ниже инструкциям для установки &lt;b&gt;одной&lt;/b&gt; платы в режим 'bootloader'. По готовности нажмите кнопку &lt;b&gt;Освежить&lt;/b&gt;.&lt;/p&gt;&lt;hr/&gt;{1}</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1035" />
       <source>&lt;h4&gt;Potentially UF2 capable devices found&lt;/h4&gt;&lt;p&gt;Found these potentially UF2 capable devices:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation>&lt;h4&gt;Обнаружены устройства, потенциально поддерживающие UF2&lt;/h4&gt;&lt;p&gt;Найдены следующие устройства, возможно поддерживающие UF2:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Следуйте приведенным ниже инструкциям для установки &lt;b&gt;одной&lt;/b&gt; платы в режим 'bootloader'. По готовности нажмите кнопку &lt;b&gt;Освежить&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1056" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1075" />
       <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation>&lt;h4&gt;Известные устройства не обнаружены.&lt;/h4&gt;&lt;p&gt;Следуйте приведенным ниже инструкциям для установки &lt;b&gt;одной&lt;/b&gt; платы в режим 'bootloader'. По готовности нажмите &lt;b&gt;Освежить&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1068" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1087" />
       <source>Flash Instructions:</source>
       <translation>Инструкции для прошивки:</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1070" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1089" />
       <source>&lt;h4&gt;Flash method 'manual' selected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to flash a device by entering the data manually.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Change the device to 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it) and select its path.&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation>&lt;h4&gt;Выбран метод прошивки 'ручной'.&lt;/h4&gt;&lt;p&gt;Чтобы прошить устройство путем ввода данных вручную следуйте приведенным ниже инструкциям .&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Переведите устройство в режим 'bootloader'.&lt;/li&gt;&lt;li&gt;Подождите, пока устройство не перейдет в режим 'bootloader'.&lt;/li&gt;&lt;li&gt;Убедитесь, что загрузочный том доступен (для этого может потребоваться его установка), и выберите путь к нему.&lt;/li&gt;&lt;li&gt;Выберите файл микрокода для прошивки и нажмите кнопку прошивки.&lt;/li&gt;&lt;/ol&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1095" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1114" />
       <source>Boot Volume not found:</source>
       <translation>Загрузочный том не найден:</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1097" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1116" />
       <source>&lt;h4&gt;No Boot Volume detected.&lt;/h4&gt;&lt;p&gt;Please ensure that the boot volume of the device to be flashed is available. </source>
       <translation>&lt;h4&gt;Не обнаружен загрузочный том.&lt;/h4&gt;&lt;p&gt;Пожалуйста убедитесь, что загрузочный том устройства доступен для прошивки. </translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1103" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1122" />
       <source>This volume should be named &lt;b&gt;{0}&lt;/b&gt;. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation>Этот том должен иметь имя &lt;b&gt;{0}&lt;/b&gt;. По готовности нажмите &lt;b&gt;Освежить&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1108" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1127" />
       <source>This volume should have one of these names.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation>Этот том должен иметь одно из этих имен.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;По готовности нажмите &lt;b&gt;Освежить&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1115" />
-      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation>&lt;h4&gt;Инструкции по сбросу&lt;/h4&gt;&lt;p&gt;Следуйте приведенным ниже инструкциям для установки платы в режим 'bootloader'. По готовности нажмите &lt;b&gt;Освежить&lt;/b&gt;.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1134" />
+      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation>&lt;h4&gt;Инструкции по сбросу&lt;/h4&gt;&lt;p&gt;Следуйте приведенным ниже инструкциям для установки платы в режим 'bootloader'. По готовности нажмите &lt;b&gt;Освежить&lt;/b&gt;.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1153" />
       <source>Multiple Boot Volumes found:</source>
       <translation>Обнаружены несколько загрузочных томов:</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1136" />
-      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation>&lt;h4&gt;Обнаружены несколько загрузочных томов&lt;/h4&gt;&lt;p&gt;Были найдены пути к этим томам.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Убедитесь, что только одно устройство определенного типа готово для прошивки. По готовности нажмите &lt;b&gt;Освежить&lt;/b&gt;.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1155" />
+      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation>&lt;h4&gt;Обнаружены несколько загрузочных томов&lt;/h4&gt;&lt;p&gt;Были найдены пути к этим томам.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Убедитесь, что только одно устройство определенного типа готово для прошивки. По готовности нажмите &lt;b&gt;Освежить&lt;/b&gt;.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1174" />
       <source>Flashing Firmware</source>
       <translation>Прошивка микрокода</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1157" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1176" />
       <source>&lt;p&gt;Flashing the selected firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Прошивка выбранного микрокода на устройство. Подождите, пока устройство не перезагрузится автоматически.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1164" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1183" />
       <source>Flashing {0}</source>
       <translation>Прошивка {0}</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1166" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1185" />
       <source>&lt;p&gt;Flashing the {0} firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Прошивка микрокода {0} на устройство. Подождите, пока устройство не перезагрузится автоматически.&lt;/p&gt;</translation>
     </message>
     <message>
       <location filename="../MicroPython/UF2FlashDialog.ui" line="0" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1278" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1270" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1297" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1289" />
       <source>Flash UF2 Device</source>
       <translation>Прошивка UF2-устройств</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1271" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1290" />
       <source>No UF2 device 'boot' volumes found.</source>
       <translation>Загрузочные тома устройства UF2 не найдены.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1279" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1298" />
       <source>Select the Boot Volume of the device:</source>
       <translation>Выберите загрузочный том устройства:</translation>
     </message>
--- a/src/eric7/i18n/eric7_tr.ts	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/i18n/eric7_tr.ts	Mon Feb 10 14:09:14 2025 +0100
@@ -12559,7 +12559,7 @@
       <translation>Yorumlanamaz</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="10163" />
+      <location filename="../QScintilla/Editor.py" line="10164" />
       <location filename="../QScintilla/Editor.py" line="1015" />
       <source>Generate Docstring</source>
       <translation type="unfinished" />
@@ -12842,7 +12842,7 @@
       <translation type="unfinished">Yazım kontolü yapılıyor</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9251" />
+      <location filename="../QScintilla/Editor.py" line="9252" />
       <location filename="../QScintilla/Editor.py" line="1420" />
       <source>Check spelling...</source>
       <translation>Yazım Kontrolü...</translation>
@@ -12903,7 +12903,7 @@
       <translation>Bekleme noktasını düzenle...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6593" />
+      <location filename="../QScintilla/Editor.py" line="6594" />
       <location filename="../QScintilla/Editor.py" line="1505" />
       <source>Enable breakpoint</source>
       <translation>Beklemenoktasını etkinleştir</translation>
@@ -13147,382 +13147,382 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5742" />
+      <location filename="../QScintilla/Editor.py" line="5743" />
       <source>Autocompletion</source>
       <translation>Otomatik tamamlama</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5743" />
+      <location filename="../QScintilla/Editor.py" line="5744" />
       <source>Autocompletion is not available because there is no autocompletion source set.</source>
       <translation>Otomatiktamamlama uygun değil çünkü bu otomatiktamamlama kaynağı değil.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5877" />
-      <source>Auto-Completion Provider</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="5878" />
+      <source>Auto-Completion Provider</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="5879" />
       <source>The completion list provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6174" />
-      <source>Call-Tips Provider</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="6175" />
+      <source>Call-Tips Provider</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="6176" />
       <source>The call-tips provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6597" />
+      <location filename="../QScintilla/Editor.py" line="6598" />
       <source>Disable breakpoint</source>
       <translation>Durmanoktasını iptal et</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7021" />
-      <source>Code Coverage</source>
-      <translation>Kod Koruyucu</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7022" />
+      <source>Code Coverage</source>
+      <translation>Kod Koruyucu</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7023" />
       <source>Please select a coverage file</source>
       <translation>Lütfen bir koruyucu dosya seçiniz</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7084" />
-      <source>Load Coverage Data</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7085" />
+      <source>Load Coverage Data</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7086" />
       <source>&lt;p&gt;The coverage data could not be loaded from file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7114" />
-      <location filename="../QScintilla/Editor.py" line="7106" />
-      <source>Show Code Coverage Annotations</source>
-      <translation>Kodların Dipnotunu Göster</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7107" />
-      <source>All lines have been covered.</source>
-      <translation>Tüm satırlar korumaya alındı.</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7115" />
+      <location filename="../QScintilla/Editor.py" line="7107" />
+      <source>Show Code Coverage Annotations</source>
+      <translation>Kodların Dipnotunu Göster</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7108" />
+      <source>All lines have been covered.</source>
+      <translation>Tüm satırlar korumaya alındı.</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7116" />
       <source>There is no coverage file available.</source>
       <translation>Hazırda koruma dosyası yok.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7223" />
-      <source>Profile Data</source>
-      <translation>Veri Kesiti</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7224" />
+      <source>Profile Data</source>
+      <translation>Veri Kesiti</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7225" />
       <source>Please select a profile file</source>
       <translation>Lütfen kesit dosyasını seçiniz</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7386" />
-      <location filename="../QScintilla/Editor.py" line="7380" />
-      <source>Syntax Error</source>
-      <translation>Sözdizimi Hatası</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7387" />
+      <location filename="../QScintilla/Editor.py" line="7381" />
+      <source>Syntax Error</source>
+      <translation>Sözdizimi Hatası</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7388" />
       <source>No syntax error message available.</source>
       <translation>Uygun söz dizimi hata mesajı yok.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
-      <location filename="../QScintilla/Editor.py" line="7628" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
+      <location filename="../QScintilla/Editor.py" line="7629" />
       <source>Warning</source>
       <translation type="unfinished">Dikkat</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
       <source>No warning messages available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7713" />
+      <location filename="../QScintilla/Editor.py" line="7714" />
       <source>Info: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7729" />
-      <location filename="../QScintilla/Editor.py" line="7715" />
+      <location filename="../QScintilla/Editor.py" line="7730" />
+      <location filename="../QScintilla/Editor.py" line="7716" />
       <source>Error: {0}</source>
       <translation>Hata: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7717" />
+      <location filename="../QScintilla/Editor.py" line="7718" />
       <source>Style: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7722" />
+      <location filename="../QScintilla/Editor.py" line="7723" />
       <source>Warning: {0}</source>
       <translation>Dikkat: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Macro Name</source>
       <translation>Makro Adı</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Select a macro name:</source>
       <translation>Bir makro ismi seç:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7878" />
+      <location filename="../QScintilla/Editor.py" line="7879" />
       <source>Load macro file</source>
       <translation>Makro dosyasını yükle</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7924" />
-      <location filename="../QScintilla/Editor.py" line="7880" />
+      <location filename="../QScintilla/Editor.py" line="7925" />
+      <location filename="../QScintilla/Editor.py" line="7881" />
       <source>Macro files (*.macro)</source>
       <translation>Makro dosyaları (*.macro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7902" />
-      <location filename="../QScintilla/Editor.py" line="7892" />
-      <source>Error loading macro</source>
-      <translation>Makronun yüklenmesinde hata</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7893" />
-      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Makro dosyası &lt;b&gt;{0}&lt;/b&gt; okunamıyor.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7903" />
+      <location filename="../QScintilla/Editor.py" line="7893" />
+      <source>Error loading macro</source>
+      <translation>Makronun yüklenmesinde hata</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7894" />
+      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Makro dosyası &lt;b&gt;{0}&lt;/b&gt; okunamıyor.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7904" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Makro dosyası &lt;b&gt;{0}&lt;/b&gt; bozuk.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7922" />
+      <location filename="../QScintilla/Editor.py" line="7923" />
       <source>Save macro file</source>
       <translation>Makro Dosyasını Kaydet</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7940" />
-      <source>Save macro</source>
-      <translation>Makro Kaydet</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7941" />
+      <source>Save macro</source>
+      <translation>Makro Kaydet</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7942" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Makro dosyası &lt;b&gt;{0}&lt;/b&gt; zaten var. Üzerine yazılsın mı?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7956" />
-      <source>Error saving macro</source>
-      <translation>Makronun kaydedilmesinde hata</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7957" />
+      <source>Error saving macro</source>
+      <translation>Makronun kaydedilmesinde hata</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7958" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Makro dosyası &lt;b&gt;{0}&lt;/b&gt; yazılamıyor.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7970" />
-      <source>Start Macro Recording</source>
-      <translation>Makro Kaydı Başladı</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7971" />
+      <source>Start Macro Recording</source>
+      <translation>Makro Kaydı Başladı</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7972" />
       <source>Macro recording is already active. Start new?</source>
       <translation>Makro kaydı şuan aktif. Yeniden başlasın mı?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7997" />
-      <source>Macro Recording</source>
-      <translation>Makro Kaydediliyor</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7998" />
+      <source>Macro Recording</source>
+      <translation>Makro Kaydediliyor</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7999" />
       <source>Enter name of the macro:</source>
       <translation>Makronun ismini gir:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8215" />
+      <location filename="../QScintilla/Editor.py" line="8216" />
       <source>{0} (ro)</source>
       <translation>{0} (ro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8412" />
+      <location filename="../QScintilla/Editor.py" line="8413" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric. Reread it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8418" />
+      <location filename="../QScintilla/Editor.py" line="8419" />
       <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8425" />
+      <location filename="../QScintilla/Editor.py" line="8426" />
       <source>File changed</source>
       <translation>Dosya değiştirilmiş</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8569" />
-      <source>Reload File</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8570" />
+      <source>Reload File</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8571" />
       <source>&lt;p&gt;The editor contains unsaved modifications.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reloading it.&lt;/p&gt;&lt;p&gt;Shall the editor really be reloaded?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8670" />
-      <source>Drop Error</source>
-      <translation>Düşme hatası</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8671" />
+      <source>Drop Error</source>
+      <translation>Düşme hatası</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8672" />
       <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
       <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; bir dosya değil.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8692" />
+      <location filename="../QScintilla/Editor.py" line="8693" />
       <source>Resources</source>
       <translation>Kaynaklar</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8694" />
-      <source>Add file...</source>
-      <translation>Dosya ekle...</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8695" />
-      <source>Add files...</source>
-      <translation>Dosyaları ekle...</translation>
+      <source>Add file...</source>
+      <translation>Dosya ekle...</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="8696" />
+      <source>Add files...</source>
+      <translation>Dosyaları ekle...</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8697" />
       <source>Add aliased file...</source>
       <translation>Kısaltmalar dosyasına ekle...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8698" />
+      <location filename="../QScintilla/Editor.py" line="8699" />
       <source>Add localized resource...</source>
       <translation>Yaral kaynak ekle...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8701" />
+      <location filename="../QScintilla/Editor.py" line="8702" />
       <source>Add resource frame</source>
       <translation>Çerçeve kaynağı ekle</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8721" />
+      <location filename="../QScintilla/Editor.py" line="8722" />
       <source>Add file resource</source>
       <translation>Dosya kaynağını ekle</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8735" />
+      <location filename="../QScintilla/Editor.py" line="8736" />
       <source>Add file resources</source>
       <translation>Dosya kaynaklarını ekle</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8759" />
-      <location filename="../QScintilla/Editor.py" line="8753" />
-      <source>Add aliased file resource</source>
-      <translation>Kısaltmalar dosyası kaynağını ekle</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8760" />
+      <location filename="../QScintilla/Editor.py" line="8754" />
+      <source>Add aliased file resource</source>
+      <translation>Kısaltmalar dosyası kaynağını ekle</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8761" />
       <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
       <translation>&lt;b&gt;{0} dosyası için takma ad&lt;/b&gt;:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8842" />
-      <source>Package Diagram</source>
-      <translation>Paket Şeması</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8843" />
+      <source>Package Diagram</source>
+      <translation>Paket Şeması</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8844" />
       <source>Include class attributes?</source>
       <translation>Sınıf nitelikleri dahil edilsin mi?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8863" />
-      <source>Imports Diagram</source>
-      <translation>Şemayı İçe Aktar</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8864" />
+      <source>Imports Diagram</source>
+      <translation>Şemayı İçe Aktar</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8865" />
       <source>Include imports from external modules?</source>
       <translation>Harici modüllerdan içe aktarım dahil edilsin mi?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8883" />
-      <source>Application Diagram</source>
-      <translation>Uygulama Şeması</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8884" />
+      <source>Application Diagram</source>
+      <translation>Uygulama Şeması</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8885" />
       <source>Include module names?</source>
       <translation>Modül isimleri dahil edilsin mi?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9255" />
+      <location filename="../QScintilla/Editor.py" line="9256" />
       <source>Add to dictionary</source>
       <translation>Sözlüğe ekle</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9257" />
+      <location filename="../QScintilla/Editor.py" line="9258" />
       <source>Ignore All</source>
       <translation>Hepsini Yoksay</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9704" />
-      <source>Sort Lines</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9705" />
+      <source>Sort Lines</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9706" />
       <source>The selection contains illegal data for a numerical sort.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9798" />
-      <source>Register Mouse Click Handler</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9799" />
+      <source>Register Mouse Click Handler</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9800" />
       <source>A mouse click handler for "{0}" was already registered by "{1}". Aborting request by "{2}"...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9892" />
+      <location filename="../QScintilla/Editor.py" line="9893" />
       <source>{0:4d}    {1}</source>
       <comment>line number, source code</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9898" />
+      <location filename="../QScintilla/Editor.py" line="9899" />
       <source>{0:4d}    {1}
     =&gt;  {2}</source>
       <comment>line number, source code, file name</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9976" />
-      <source>EditorConfig Properties</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9977" />
+      <source>EditorConfig Properties</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9978" />
       <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -52769,18 +52769,18 @@
   <context>
     <name>MicroPythonDevice</name>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="375" />
+      <location filename="../MicroPython/Devices/__init__.py" line="399" />
       <source>Generic MicroPython Board</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="422" />
+      <location filename="../MicroPython/Devices/__init__.py" line="446" />
       <source>RP2040/RP2350 based</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="582" />
-      <location filename="../MicroPython/Devices/__init__.py" line="571" />
+      <location filename="../MicroPython/Devices/__init__.py" line="606" />
+      <location filename="../MicroPython/Devices/__init__.py" line="595" />
       <source>Unknown Device</source>
       <translation type="unfinished" />
     </message>
@@ -59719,40 +59719,40 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1195" />
+      <location filename="../PipInterface/Pip.py" line="1197" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1221" />
-      <location filename="../PipInterface/Pip.py" line="1212" />
+      <location filename="../PipInterface/Pip.py" line="1223" />
+      <location filename="../PipInterface/Pip.py" line="1214" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1213" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1245" />
-      <location filename="../PipInterface/Pip.py" line="1238" />
+      <location filename="../PipInterface/Pip.py" line="1247" />
+      <location filename="../PipInterface/Pip.py" line="1240" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1239" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1270" />
-      <location filename="../PipInterface/Pip.py" line="1262" />
+      <location filename="../PipInterface/Pip.py" line="1272" />
+      <location filename="../PipInterface/Pip.py" line="1264" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1263" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -60513,6 +60513,16 @@
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Enter search term for packages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Package Search</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
       <source>View Type</source>
       <translation type="unfinished" />
     </message>
@@ -60662,18 +60672,18 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="735" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="729" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="737" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="731" />
       <source>Cleanup Environment</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="730" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="732" />
       <source>The environment cleanup was successful.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="736" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="738" />
       <source>Some leftover package directories could not been removed. Delete them manually.</source>
       <translation type="unfinished" />
     </message>
@@ -60854,13 +60864,13 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1580" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1555" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1585" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1560" />
       <source>unknown</source>
       <translation type="unfinished">bilinmeyen</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1577" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1582" />
       <source>any</source>
       <translation type="unfinished" />
     </message>
@@ -60979,6 +60989,21 @@
       <source>Don't show 'Conda' environments</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Dependencies List</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Search Marker Background:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Select the color for the search highlight of the dependencies list.</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>PipVulnerabilityChecker</name>
@@ -62319,18 +62344,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1909" />
+      <location filename="../Preferences/__init__.py" line="1910" />
       <source>Export Preferences</source>
       <translation>Seçenekleri Dışa Aktar</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1938" />
-      <location filename="../Preferences/__init__.py" line="1911" />
+      <location filename="../Preferences/__init__.py" line="1939" />
+      <location filename="../Preferences/__init__.py" line="1912" />
       <source>Properties File (*.ini);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1936" />
+      <location filename="../Preferences/__init__.py" line="1937" />
       <source>Import Preferences</source>
       <translation>Seçenekleri İçe Aktar</translation>
     </message>
@@ -89836,133 +89861,133 @@
   <context>
     <name>UF2FlashDialog</name>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="735" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="754" />
       <source>&lt;h3&gt;CircuitPython Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Switch your device to 'bootloader' mode by double-pressing the reset button.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;(If this does not happen, then try shorter or longer pauses between presses.)&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="761" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="780" />
       <source>&lt;h3&gt;Pi Pico (RP2040/RP2350) Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Enter 'bootloader' mode (board &lt;b&gt;without&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;Plug in your board while holding the BOOTSEL button.&lt;/li&gt;&lt;/ul&gt;Enter 'bootloader' mode (board &lt;b&gt;with&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;hold down RESET&lt;/li&gt;&lt;li&gt;hold down BOOTSEL&lt;/li&gt;&lt;li&gt;release RESET&lt;/li&gt;&lt;li&gt;release BOOTSEL&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="883" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="902" />
       <source>MicroPython/CircuitPython Files (*.uf2);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="950" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="942" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="926" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="969" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="961" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="945" />
       <source>Manual Select</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1073" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1041" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1018" />
+      <source>Reset Instructions:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1020" />
+      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1044" />
+      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1054" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1022" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="999" />
-      <source>Reset Instructions:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1001" />
-      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1025" />
-      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1035" />
       <source>&lt;h4&gt;Potentially UF2 capable devices found&lt;/h4&gt;&lt;p&gt;Found these potentially UF2 capable devices:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1056" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1075" />
       <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1068" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1087" />
       <source>Flash Instructions:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1070" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1089" />
       <source>&lt;h4&gt;Flash method 'manual' selected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to flash a device by entering the data manually.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Change the device to 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it) and select its path.&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1095" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1114" />
       <source>Boot Volume not found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1097" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1116" />
       <source>&lt;h4&gt;No Boot Volume detected.&lt;/h4&gt;&lt;p&gt;Please ensure that the boot volume of the device to be flashed is available. </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1103" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1122" />
       <source>This volume should be named &lt;b&gt;{0}&lt;/b&gt;. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1108" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1127" />
       <source>This volume should have one of these names.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1115" />
-      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1134" />
+      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1153" />
       <source>Multiple Boot Volumes found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1136" />
-      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1155" />
+      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1174" />
       <source>Flashing Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1157" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1176" />
       <source>&lt;p&gt;Flashing the selected firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1164" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1183" />
       <source>Flashing {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1166" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1185" />
       <source>&lt;p&gt;Flashing the {0} firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/UF2FlashDialog.ui" line="0" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1278" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1270" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1297" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1289" />
       <source>Flash UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1271" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1290" />
       <source>No UF2 device 'boot' volumes found.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1279" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1298" />
       <source>Select the Boot Volume of the device:</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_zh_CN.ts	Sun Feb 09 16:12:35 2025 +0100
+++ b/src/eric7/i18n/eric7_zh_CN.ts	Mon Feb 10 14:09:14 2025 +0100
@@ -12570,7 +12570,7 @@
       <translation>取消注释</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="10163" />
+      <location filename="../QScintilla/Editor.py" line="10164" />
       <location filename="../QScintilla/Editor.py" line="1015" />
       <source>Generate Docstring</source>
       <translation>生成文档字符串</translation>
@@ -12853,7 +12853,7 @@
       <translation type="unfinished">拼写法</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9251" />
+      <location filename="../QScintilla/Editor.py" line="9252" />
       <location filename="../QScintilla/Editor.py" line="1420" />
       <source>Check spelling...</source>
       <translation>正在进行拼写检查…</translation>
@@ -12914,7 +12914,7 @@
       <translation>编辑断点…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6593" />
+      <location filename="../QScintilla/Editor.py" line="6594" />
       <location filename="../QScintilla/Editor.py" line="1505" />
       <source>Enable breakpoint</source>
       <translation>允许断点</translation>
@@ -13158,382 +13158,382 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5742" />
+      <location filename="../QScintilla/Editor.py" line="5743" />
       <source>Autocompletion</source>
       <translation>自动完成</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5743" />
+      <location filename="../QScintilla/Editor.py" line="5744" />
       <source>Autocompletion is not available because there is no autocompletion source set.</source>
       <translation>自动完成无效,没有设定自动完成源。</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5877" />
-      <source>Auto-Completion Provider</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="5878" />
+      <source>Auto-Completion Provider</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="5879" />
       <source>The completion list provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6174" />
-      <source>Call-Tips Provider</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="6175" />
+      <source>Call-Tips Provider</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="6176" />
       <source>The call-tips provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6597" />
+      <location filename="../QScintilla/Editor.py" line="6598" />
       <source>Disable breakpoint</source>
       <translation>去除断点</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7021" />
-      <source>Code Coverage</source>
-      <translation>代码覆盖率</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7022" />
+      <source>Code Coverage</source>
+      <translation>代码覆盖率</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7023" />
       <source>Please select a coverage file</source>
       <translation>请选择一个覆盖率文件</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7084" />
-      <source>Load Coverage Data</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7085" />
+      <source>Load Coverage Data</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7086" />
       <source>&lt;p&gt;The coverage data could not be loaded from file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7114" />
-      <location filename="../QScintilla/Editor.py" line="7106" />
-      <source>Show Code Coverage Annotations</source>
-      <translation>显示代码覆盖率注解</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7107" />
-      <source>All lines have been covered.</source>
-      <translation>所有行均被已覆盖。</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7115" />
+      <location filename="../QScintilla/Editor.py" line="7107" />
+      <source>Show Code Coverage Annotations</source>
+      <translation>显示代码覆盖率注解</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7108" />
+      <source>All lines have been covered.</source>
+      <translation>所有行均被已覆盖。</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7116" />
       <source>There is no coverage file available.</source>
       <translation>没有有效的覆盖率文件。</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7223" />
-      <source>Profile Data</source>
-      <translation>剖析数据</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7224" />
+      <source>Profile Data</source>
+      <translation>剖析数据</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7225" />
       <source>Please select a profile file</source>
       <translation>请选择一个剖析文件</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7386" />
-      <location filename="../QScintilla/Editor.py" line="7380" />
-      <source>Syntax Error</source>
-      <translation>语法错误</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7387" />
+      <location filename="../QScintilla/Editor.py" line="7381" />
+      <source>Syntax Error</source>
+      <translation>语法错误</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7388" />
       <source>No syntax error message available.</source>
       <translation>语法错误消息无效。</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
-      <location filename="../QScintilla/Editor.py" line="7628" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
+      <location filename="../QScintilla/Editor.py" line="7629" />
       <source>Warning</source>
       <translation>警告</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7634" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
       <source>No warning messages available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7713" />
+      <location filename="../QScintilla/Editor.py" line="7714" />
       <source>Info: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7729" />
-      <location filename="../QScintilla/Editor.py" line="7715" />
+      <location filename="../QScintilla/Editor.py" line="7730" />
+      <location filename="../QScintilla/Editor.py" line="7716" />
       <source>Error: {0}</source>
       <translation>错误:{0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7717" />
+      <location filename="../QScintilla/Editor.py" line="7718" />
       <source>Style: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7722" />
+      <location filename="../QScintilla/Editor.py" line="7723" />
       <source>Warning: {0}</source>
       <translation>警告:{0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Macro Name</source>
       <translation>宏名称</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7852" />
+      <location filename="../QScintilla/Editor.py" line="7853" />
       <source>Select a macro name:</source>
       <translation>选择一个宏名称:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7878" />
+      <location filename="../QScintilla/Editor.py" line="7879" />
       <source>Load macro file</source>
       <translation>输入宏文件</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7924" />
-      <location filename="../QScintilla/Editor.py" line="7880" />
+      <location filename="../QScintilla/Editor.py" line="7925" />
+      <location filename="../QScintilla/Editor.py" line="7881" />
       <source>Macro files (*.macro)</source>
       <translation>宏文件 (*.macro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7902" />
-      <location filename="../QScintilla/Editor.py" line="7892" />
-      <source>Error loading macro</source>
-      <translation>载入宏文件出错</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7893" />
-      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7903" />
+      <location filename="../QScintilla/Editor.py" line="7893" />
+      <source>Error loading macro</source>
+      <translation>载入宏文件出错</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7894" />
+      <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7904" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7922" />
+      <location filename="../QScintilla/Editor.py" line="7923" />
       <source>Save macro file</source>
       <translation>保存宏文件</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7940" />
-      <source>Save macro</source>
-      <translation>保存宏</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7941" />
+      <source>Save macro</source>
+      <translation>保存宏</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7942" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;宏文件 &lt;b&gt;{0}&lt;/b&gt; 已经存在。是否覆盖?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7956" />
-      <source>Error saving macro</source>
-      <translation>保存宏出错</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7957" />
+      <source>Error saving macro</source>
+      <translation>保存宏出错</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7958" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7970" />
-      <source>Start Macro Recording</source>
-      <translation>开始宏录制</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7971" />
+      <source>Start Macro Recording</source>
+      <translation>开始宏录制</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7972" />
       <source>Macro recording is already active. Start new?</source>
       <translation>宏录制已激活。开始录制新宏?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7997" />
-      <source>Macro Recording</source>
-      <translation>宏录制</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7998" />
+      <source>Macro Recording</source>
+      <translation>宏录制</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7999" />
       <source>Enter name of the macro:</source>
       <translation>输入宏名称:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8215" />
+      <location filename="../QScintilla/Editor.py" line="8216" />
       <source>{0} (ro)</source>
       <translation>{0}(只读)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8412" />
+      <location filename="../QScintilla/Editor.py" line="8413" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric. Reread it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8418" />
+      <location filename="../QScintilla/Editor.py" line="8419" />
       <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
       <translation>&lt;br&gt;&lt;b&gt;警告:&lt;/b&gt;您在重新打开时将丢失所有更改。</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8425" />
+      <location filename="../QScintilla/Editor.py" line="8426" />
       <source>File changed</source>
       <translation>文件已改变</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8569" />
-      <source>Reload File</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8570" />
+      <source>Reload File</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8571" />
       <source>&lt;p&gt;The editor contains unsaved modifications.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reloading it.&lt;/p&gt;&lt;p&gt;Shall the editor really be reloaded?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8670" />
-      <source>Drop Error</source>
-      <translation>降落误差</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8671" />
+      <source>Drop Error</source>
+      <translation>降落误差</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8672" />
       <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
       <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; 不是一个文件。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8692" />
+      <location filename="../QScintilla/Editor.py" line="8693" />
       <source>Resources</source>
       <translation>资源</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8694" />
-      <source>Add file...</source>
-      <translation>添加文件…</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8695" />
-      <source>Add files...</source>
+      <source>Add file...</source>
       <translation>添加文件…</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="8696" />
+      <source>Add files...</source>
+      <translation>添加文件…</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8697" />
       <source>Add aliased file...</source>
       <translation>添加别名文件…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8698" />
+      <location filename="../QScintilla/Editor.py" line="8699" />
       <source>Add localized resource...</source>
       <translation>添加本地资源…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8701" />
+      <location filename="../QScintilla/Editor.py" line="8702" />
       <source>Add resource frame</source>
       <translation>添加资源结构</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8721" />
+      <location filename="../QScintilla/Editor.py" line="8722" />
       <source>Add file resource</source>
       <translation>添加文件资源</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8735" />
+      <location filename="../QScintilla/Editor.py" line="8736" />
       <source>Add file resources</source>
       <translation>添加多个文件资源</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8759" />
-      <location filename="../QScintilla/Editor.py" line="8753" />
-      <source>Add aliased file resource</source>
-      <translation>添加别名文件资源</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8760" />
+      <location filename="../QScintilla/Editor.py" line="8754" />
+      <source>Add aliased file resource</source>
+      <translation>添加别名文件资源</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8761" />
       <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8842" />
-      <source>Package Diagram</source>
-      <translation>程序包图</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8843" />
+      <source>Package Diagram</source>
+      <translation>程序包图</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8844" />
       <source>Include class attributes?</source>
       <translation>包含类属性?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8863" />
-      <source>Imports Diagram</source>
-      <translation>引用图</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8864" />
+      <source>Imports Diagram</source>
+      <translation>引用图</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8865" />
       <source>Include imports from external modules?</source>
       <translation>从外部模块包含引用?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8883" />
-      <source>Application Diagram</source>
-      <translation>应用程序图</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8884" />
+      <source>Application Diagram</source>
+      <translation>应用程序图</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8885" />
       <source>Include module names?</source>
       <translation>包含模块名?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9255" />
+      <location filename="../QScintilla/Editor.py" line="9256" />
       <source>Add to dictionary</source>
       <translation>添加到文件夹</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9257" />
+      <location filename="../QScintilla/Editor.py" line="9258" />
       <source>Ignore All</source>
       <translation>全部忽略</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9704" />
-      <source>Sort Lines</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9705" />
+      <source>Sort Lines</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9706" />
       <source>The selection contains illegal data for a numerical sort.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9798" />
-      <source>Register Mouse Click Handler</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9799" />
+      <source>Register Mouse Click Handler</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9800" />
       <source>A mouse click handler for "{0}" was already registered by "{1}". Aborting request by "{2}"...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9892" />
+      <location filename="../QScintilla/Editor.py" line="9893" />
       <source>{0:4d}    {1}</source>
       <comment>line number, source code</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9898" />
+      <location filename="../QScintilla/Editor.py" line="9899" />
       <source>{0:4d}    {1}
     =&gt;  {2}</source>
       <comment>line number, source code, file name</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9976" />
-      <source>EditorConfig Properties</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="9977" />
+      <source>EditorConfig Properties</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="9978" />
       <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -52735,18 +52735,18 @@
   <context>
     <name>MicroPythonDevice</name>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="375" />
+      <location filename="../MicroPython/Devices/__init__.py" line="399" />
       <source>Generic MicroPython Board</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="422" />
+      <location filename="../MicroPython/Devices/__init__.py" line="446" />
       <source>RP2040/RP2350 based</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="582" />
-      <location filename="../MicroPython/Devices/__init__.py" line="571" />
+      <location filename="../MicroPython/Devices/__init__.py" line="606" />
+      <location filename="../MicroPython/Devices/__init__.py" line="595" />
       <source>Unknown Device</source>
       <translation type="unfinished" />
     </message>
@@ -59789,40 +59789,40 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1195" />
+      <location filename="../PipInterface/Pip.py" line="1197" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1221" />
-      <location filename="../PipInterface/Pip.py" line="1212" />
+      <location filename="../PipInterface/Pip.py" line="1223" />
+      <location filename="../PipInterface/Pip.py" line="1214" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1213" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1245" />
-      <location filename="../PipInterface/Pip.py" line="1238" />
+      <location filename="../PipInterface/Pip.py" line="1247" />
+      <location filename="../PipInterface/Pip.py" line="1240" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1239" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1270" />
-      <location filename="../PipInterface/Pip.py" line="1262" />
+      <location filename="../PipInterface/Pip.py" line="1272" />
+      <location filename="../PipInterface/Pip.py" line="1264" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1263" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -60583,6 +60583,16 @@
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Enter search term for packages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
+      <source>Package Search</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.ui" line="0" />
       <source>View Type</source>
       <translation type="unfinished" />
     </message>
@@ -60732,18 +60742,18 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="735" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="729" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="737" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="731" />
       <source>Cleanup Environment</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="730" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="732" />
       <source>The environment cleanup was successful.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="736" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="738" />
       <source>Some leftover package directories could not been removed. Delete them manually.</source>
       <translation type="unfinished" />
     </message>
@@ -60924,13 +60934,13 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1580" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1555" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1585" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1560" />
       <source>unknown</source>
       <translation type="unfinished">未知</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1577" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1582" />
       <source>any</source>
       <translation type="unfinished" />
     </message>
@@ -61048,6 +61058,21 @@
       <source>Don't show 'Conda' environments</source>
       <translation type="unfinished">不显示“Conda”环境</translation>
     </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Dependencies List</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Search Marker Background:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" />
+      <source>Select the color for the search highlight of the dependencies list.</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>PipVulnerabilityChecker</name>
@@ -62389,18 +62414,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1909" />
+      <location filename="../Preferences/__init__.py" line="1910" />
       <source>Export Preferences</source>
       <translation>导出首选项</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1938" />
-      <location filename="../Preferences/__init__.py" line="1911" />
+      <location filename="../Preferences/__init__.py" line="1939" />
+      <location filename="../Preferences/__init__.py" line="1912" />
       <source>Properties File (*.ini);;All Files (*)</source>
       <translation>属性文件 (*.ini);;所有文件 (*)</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1936" />
+      <location filename="../Preferences/__init__.py" line="1937" />
       <source>Import Preferences</source>
       <translation>导入首选项</translation>
     </message>
@@ -90038,133 +90063,133 @@
   <context>
     <name>UF2FlashDialog</name>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="735" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="754" />
       <source>&lt;h3&gt;CircuitPython Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Switch your device to 'bootloader' mode by double-pressing the reset button.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;(If this does not happen, then try shorter or longer pauses between presses.)&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="761" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="780" />
       <source>&lt;h3&gt;Pi Pico (RP2040/RP2350) Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Enter 'bootloader' mode (board &lt;b&gt;without&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;Plug in your board while holding the BOOTSEL button.&lt;/li&gt;&lt;/ul&gt;Enter 'bootloader' mode (board &lt;b&gt;with&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;hold down RESET&lt;/li&gt;&lt;li&gt;hold down BOOTSEL&lt;/li&gt;&lt;li&gt;release RESET&lt;/li&gt;&lt;li&gt;release BOOTSEL&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="883" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="902" />
       <source>MicroPython/CircuitPython Files (*.uf2);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="950" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="942" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="926" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="969" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="961" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="945" />
       <source>Manual Select</source>
       <translation type="unfinished">手动选择</translation>
     </message>
     <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1073" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1041" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1018" />
+      <source>Reset Instructions:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1020" />
+      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1044" />
+      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1054" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1022" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="999" />
-      <source>Reset Instructions:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1001" />
-      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1025" />
-      <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1035" />
       <source>&lt;h4&gt;Potentially UF2 capable devices found&lt;/h4&gt;&lt;p&gt;Found these potentially UF2 capable devices:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1056" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1075" />
       <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1068" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1087" />
       <source>Flash Instructions:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1070" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1089" />
       <source>&lt;h4&gt;Flash method 'manual' selected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to flash a device by entering the data manually.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Change the device to 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it) and select its path.&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1095" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1114" />
       <source>Boot Volume not found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1097" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1116" />
       <source>&lt;h4&gt;No Boot Volume detected.&lt;/h4&gt;&lt;p&gt;Please ensure that the boot volume of the device to be flashed is available. </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1103" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1122" />
       <source>This volume should be named &lt;b&gt;{0}&lt;/b&gt;. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1108" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1127" />
       <source>This volume should have one of these names.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1115" />
-      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1134" />
+      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1153" />
       <source>Multiple Boot Volumes found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1136" />
-      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1155" />
+      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1174" />
       <source>Flashing Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1157" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1176" />
       <source>&lt;p&gt;Flashing the selected firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1164" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1183" />
       <source>Flashing {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1166" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1185" />
       <source>&lt;p&gt;Flashing the {0} firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/UF2FlashDialog.ui" line="0" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1278" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1270" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1297" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1289" />
       <source>Flash UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1271" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1290" />
       <source>No UF2 device 'boot' volumes found.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1279" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1298" />
       <source>Select the Boot Volume of the device:</source>
       <translation type="unfinished" />
     </message>

eric ide

mercurial