Added the capability to perform a periodic check for outdated packages or packages with outdated dependencies. release-10.5.0

Tue, 17 Sep 2024 11:35:31 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 17 Sep 2024 11:35:31 +0200
changeset 83
d841c572a465
parent 82
417d6480e11e
child 84
0f2666415427

Added the capability to perform a periodic check for outdated packages or packages with outdated dependencies.

PipxInterface/ConfigurationPage/PipxPage.py file | annotate | diff | comparison | revisions
PipxInterface/ConfigurationPage/PipxPage.ui file | annotate | diff | comparison | revisions
PipxInterface/ConfigurationPage/Ui_PipxPage.py file | annotate | diff | comparison | revisions
PipxInterface/Documentation/Source/Plugin_Pipx_Interface.PipxInterface.Pipx.html file | annotate | diff | comparison | revisions
PipxInterface/Documentation/Source/Plugin_Pipx_Interface.PipxInterface.PipxProcess.html file | annotate | diff | comparison | revisions
PipxInterface/Documentation/Source/Plugin_Pipx_Interface.PipxInterface.PipxWidget.html file | annotate | diff | comparison | revisions
PipxInterface/Documentation/Source/Plugin_Pipx_Interface.PluginPipxInterface.html file | annotate | diff | comparison | revisions
PipxInterface/Documentation/Source/index-Plugin_Pipx_Interface.PipxInterface.html file | annotate | diff | comparison | revisions
PipxInterface/Pipx.py file | annotate | diff | comparison | revisions
PipxInterface/PipxProcess.py file | annotate | diff | comparison | revisions
PipxInterface/PipxWidget.py file | annotate | diff | comparison | revisions
PipxInterface/i18n/pipx_de.qm file | annotate | diff | comparison | revisions
PipxInterface/i18n/pipx_de.ts file | annotate | diff | comparison | revisions
PipxInterface/i18n/pipx_empty.ts file | annotate | diff | comparison | revisions
PipxInterface/i18n/pipx_en.ts file | annotate | diff | comparison | revisions
PipxInterface/i18n/pipx_es.ts file | annotate | diff | comparison | revisions
PipxInterface/i18n/pipx_ru.ts file | annotate | diff | comparison | revisions
PluginPipxInterface.py file | annotate | diff | comparison | revisions
PluginPipxInterface.zip file | annotate | diff | comparison | revisions
changelog.md file | annotate | diff | comparison | revisions
diff -r 417d6480e11e -r d841c572a465 PipxInterface/ConfigurationPage/PipxPage.py
--- a/PipxInterface/ConfigurationPage/PipxPage.py	Tue Sep 17 11:04:00 2024 +0200
+++ b/PipxInterface/ConfigurationPage/PipxPage.py	Tue Sep 17 11:35:31 2024 +0200
@@ -43,6 +43,9 @@
         self.outdatedDependenciesCheckBox.setChecked(
             self.__plugin.getPreferences("IncludeOutdatedDependencies")
         )
+        self.periodicCheckOutdatedSpinBox.setValue(
+            self.__plugin.getPreferences("PeriodicOutdatedCheckInterval")
+        )
         self.recentWorkdirsSpinBox.setValue(
             self.__plugin.getPreferences("MaxRecentAppWorkdirs")
         )
@@ -58,5 +61,8 @@
             "IncludeOutdatedDependencies", self.outdatedDependenciesCheckBox.isChecked()
         )
         self.__plugin.setPreferences(
+            "PeriodicOutdatedCheckInterval", self.periodicCheckOutdatedSpinBox.value()
+        )
+        self.__plugin.setPreferences(
             "MaxRecentAppWorkdirs", self.recentWorkdirsSpinBox.value()
         )
diff -r 417d6480e11e -r d841c572a465 PipxInterface/ConfigurationPage/PipxPage.ui
--- a/PipxInterface/ConfigurationPage/PipxPage.ui	Tue Sep 17 11:04:00 2024 +0200
+++ b/PipxInterface/ConfigurationPage/PipxPage.ui	Tue Sep 17 11:35:31 2024 +0200
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>548</width>
-    <height>383</height>
+    <height>416</height>
    </rect>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_3">
@@ -86,6 +86,55 @@
         </property>
        </widget>
       </item>
+      <item>
+       <layout class="QHBoxLayout" name="horizontalLayout">
+        <item>
+         <widget class="QLabel" name="label_2">
+          <property name="text">
+           <string>Periodic Check Interval:</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QSpinBox" name="periodicCheckOutdatedSpinBox">
+          <property name="toolTip">
+           <string>&lt;p&gt;Enter the interval in hours for a periodic check for outdated packages (1 &amp;le; value &amp;le; 24; 0 = disabled).&lt;/p&gt;</string>
+          </property>
+          <property name="alignment">
+           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+          </property>
+          <property name="specialValueText">
+           <string>disabled</string>
+          </property>
+          <property name="showGroupSeparator" stdset="0">
+           <bool>true</bool>
+          </property>
+          <property name="suffix">
+           <string> hours</string>
+          </property>
+          <property name="maximum">
+           <number>24</number>
+          </property>
+          <property name="value">
+           <number>1</number>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>40</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+       </layout>
+      </item>
      </layout>
     </widget>
    </item>
@@ -153,6 +202,7 @@
   <tabstop>indexEdit</tabstop>
   <tabstop>autoCheckOutdatedCheckBox</tabstop>
   <tabstop>outdatedDependenciesCheckBox</tabstop>
+  <tabstop>periodicCheckOutdatedSpinBox</tabstop>
   <tabstop>recentWorkdirsSpinBox</tabstop>
  </tabstops>
  <resources/>
diff -r 417d6480e11e -r d841c572a465 PipxInterface/ConfigurationPage/Ui_PipxPage.py
--- a/PipxInterface/ConfigurationPage/Ui_PipxPage.py	Tue Sep 17 11:04:00 2024 +0200
+++ b/PipxInterface/ConfigurationPage/Ui_PipxPage.py	Tue Sep 17 11:35:31 2024 +0200
@@ -12,7 +12,7 @@
 class Ui_PipxPage(object):
     def setupUi(self, PipxPage):
         PipxPage.setObjectName("PipxPage")
-        PipxPage.resize(548, 383)
+        PipxPage.resize(548, 416)
         self.verticalLayout_3 = QtWidgets.QVBoxLayout(PipxPage)
         self.verticalLayout_3.setObjectName("verticalLayout_3")
         self.headerLabel = QtWidgets.QLabel(parent=PipxPage)
@@ -48,6 +48,21 @@
         self.outdatedDependenciesCheckBox = QtWidgets.QCheckBox(parent=self.groupBox)
         self.outdatedDependenciesCheckBox.setObjectName("outdatedDependenciesCheckBox")
         self.verticalLayout_2.addWidget(self.outdatedDependenciesCheckBox)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        self.periodicCheckOutdatedSpinBox = QtWidgets.QSpinBox(parent=self.groupBox)
+        self.periodicCheckOutdatedSpinBox.setAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
+        self.periodicCheckOutdatedSpinBox.setProperty("showGroupSeparator", True)
+        self.periodicCheckOutdatedSpinBox.setMaximum(24)
+        self.periodicCheckOutdatedSpinBox.setProperty("value", 1)
+        self.periodicCheckOutdatedSpinBox.setObjectName("periodicCheckOutdatedSpinBox")
+        self.horizontalLayout.addWidget(self.periodicCheckOutdatedSpinBox)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
         self.verticalLayout_3.addWidget(self.groupBox)
         self.groupBox_7 = QtWidgets.QGroupBox(parent=PipxPage)
         self.groupBox_7.setObjectName("groupBox_7")
@@ -62,17 +77,18 @@
         self.recentWorkdirsSpinBox.setMaximum(50)
         self.recentWorkdirsSpinBox.setObjectName("recentWorkdirsSpinBox")
         self.hboxlayout.addWidget(self.recentWorkdirsSpinBox)
-        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
-        self.hboxlayout.addItem(spacerItem)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
+        self.hboxlayout.addItem(spacerItem1)
         self.verticalLayout_3.addWidget(self.groupBox_7)
-        spacerItem1 = QtWidgets.QSpacerItem(20, 73, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
-        self.verticalLayout_3.addItem(spacerItem1)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 73, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem2)
 
         self.retranslateUi(PipxPage)
         QtCore.QMetaObject.connectSlotsByName(PipxPage)
         PipxPage.setTabOrder(self.indexEdit, self.autoCheckOutdatedCheckBox)
         PipxPage.setTabOrder(self.autoCheckOutdatedCheckBox, self.outdatedDependenciesCheckBox)
-        PipxPage.setTabOrder(self.outdatedDependenciesCheckBox, self.recentWorkdirsSpinBox)
+        PipxPage.setTabOrder(self.outdatedDependenciesCheckBox, self.periodicCheckOutdatedSpinBox)
+        PipxPage.setTabOrder(self.periodicCheckOutdatedSpinBox, self.recentWorkdirsSpinBox)
 
     def retranslateUi(self, PipxPage):
         _translate = QtCore.QCoreApplication.translate
@@ -84,6 +100,10 @@
         self.autoCheckOutdatedCheckBox.setText(_translate("PipxPage", "Determine outdated packages automatically"))
         self.outdatedDependenciesCheckBox.setToolTip(_translate("PipxPage", "Select to determine packages with any outdated dependencies when determining outdated packages."))
         self.outdatedDependenciesCheckBox.setText(_translate("PipxPage", "Determine packages with outdated dependencies"))
+        self.label_2.setText(_translate("PipxPage", "Periodic Check Interval:"))
+        self.periodicCheckOutdatedSpinBox.setToolTip(_translate("PipxPage", "<p>Enter the interval in hours for a periodic check for outdated packages (1 &le; value &le; 24; 0 = disabled).</p>"))
+        self.periodicCheckOutdatedSpinBox.setSpecialValueText(_translate("PipxPage", "disabled"))
+        self.periodicCheckOutdatedSpinBox.setSuffix(_translate("PipxPage", " hours"))
         self.groupBox_7.setTitle(_translate("PipxPage", "Recent Application Working Directories"))
         self.label.setText(_translate("PipxPage", "Number of recent working directories:"))
         self.recentWorkdirsSpinBox.setToolTip(_translate("PipxPage", "Enter the number of recently used working directories  to remember"))
diff -r 417d6480e11e -r d841c572a465 PipxInterface/Documentation/Source/Plugin_Pipx_Interface.PipxInterface.Pipx.html
--- a/PipxInterface/Documentation/Source/Plugin_Pipx_Interface.PipxInterface.Pipx.html	Tue Sep 17 11:04:00 2024 +0200
+++ b/PipxInterface/Documentation/Source/Plugin_Pipx_Interface.PipxInterface.Pipx.html	Tue Sep 17 11:35:31 2024 +0200
@@ -169,6 +169,10 @@
 <td>Public method to reinstall the given package with given options.</td>
 </tr>
 <tr>
+<td><a href="#Pipx.shutdown">shutdown</a></td>
+<td>Public method to perform shutdown actions.</td>
+</tr>
+<tr>
 <td><a href="#Pipx.uninstallAllPackages">uninstallAllPackages</a></td>
 <td>Public method to uninstall all pipx managed packages.</td>
 </tr>
@@ -830,6 +834,13 @@
             on the system (defaults to False)
 </dd>
 </dl>
+<a NAME="Pipx.shutdown" ID="Pipx.shutdown"></a>
+<h4>Pipx.shutdown</h4>
+<b>shutdown</b>(<i></i>)
+<p>
+        Public method to perform shutdown actions.
+</p>
+
 <a NAME="Pipx.uninstallAllPackages" ID="Pipx.uninstallAllPackages"></a>
 <h4>Pipx.uninstallAllPackages</h4>
 <b>uninstallAllPackages</b>(<i></i>)
diff -r 417d6480e11e -r d841c572a465 PipxInterface/Documentation/Source/Plugin_Pipx_Interface.PipxInterface.PipxProcess.html
--- a/PipxInterface/Documentation/Source/Plugin_Pipx_Interface.PipxInterface.PipxProcess.html	Tue Sep 17 11:04:00 2024 +0200
+++ b/PipxInterface/Documentation/Source/Plugin_Pipx_Interface.PipxInterface.PipxProcess.html	Tue Sep 17 11:35:31 2024 +0200
@@ -8,7 +8,7 @@
 <a NAME="top" ID="top"></a>
 <h1>Plugin_Pipx_Interface.PipxInterface.PipxProcess</h1>
 <p>
-Module implementing a QProcess derive class with a timeout and convenience signals.
+Module implementing a QProcess derived class with a timeout and convenience signals.
 </p>
 
 <h3>Global Attributes</h3>
@@ -20,7 +20,7 @@
 <table>
 <tr>
 <td><a href="#PipxProcess">PipxProcess</a></td>
-<td>Class implementing a QProcess derive class with a timeout and convenience signals succeeded and failed.</td>
+<td>Class implementing a QProcess derived class with a timeout and convenience signals succeeded and failed.</td>
 </tr>
 </table>
 
@@ -34,7 +34,7 @@
 <a NAME="PipxProcess" ID="PipxProcess"></a>
 <h2>PipxProcess</h2>
 <p>
-    Class implementing a QProcess derive class with a timeout and convenience signals
+    Class implementing a QProcess derived class with a timeout and convenience signals
     succeeded and failed.
 </p>
 
diff -r 417d6480e11e -r d841c572a465 PipxInterface/Documentation/Source/Plugin_Pipx_Interface.PipxInterface.PipxWidget.html
--- a/PipxInterface/Documentation/Source/Plugin_Pipx_Interface.PipxInterface.PipxWidget.html	Tue Sep 17 11:04:00 2024 +0200
+++ b/PipxInterface/Documentation/Source/Plugin_Pipx_Interface.PipxInterface.PipxWidget.html	Tue Sep 17 11:35:31 2024 +0200
@@ -162,6 +162,10 @@
 <td>Private method to determine the list of selected packages.</td>
 </tr>
 <tr>
+<td><a href="#PipxWidget.__setOutdatedCheckTimer">__setOutdatedCheckTimer</a></td>
+<td>Private slot to configure the periodic outdated packages check.</td>
+</tr>
+<tr>
 <td><a href="#PipxWidget.__showDependencies">__showDependencies</a></td>
 <td>Private slot to show a dialog with the dependencies of the selected package.</td>
 </tr>
@@ -217,6 +221,10 @@
 <td><a href="#PipxWidget.on_refreshButton_clicked">on_refreshButton_clicked</a></td>
 <td>Private slot to refresh the packages list.</td>
 </tr>
+<tr>
+<td><a href="#PipxWidget.shutdown">shutdown</a></td>
+<td>Public slot to perform shutdown actions.</td>
+</tr>
 </table>
 
 <h3>Static Methods</h3>
@@ -593,6 +601,13 @@
 list of str
 </dd>
 </dl>
+<a NAME="PipxWidget.__setOutdatedCheckTimer" ID="PipxWidget.__setOutdatedCheckTimer"></a>
+<h4>PipxWidget.__setOutdatedCheckTimer</h4>
+<b>__setOutdatedCheckTimer</b>(<i></i>)
+<p>
+        Private slot to configure the periodic outdated packages check.
+</p>
+
 <a NAME="PipxWidget.__showDependencies" ID="PipxWidget.__showDependencies"></a>
 <h4>PipxWidget.__showDependencies</h4>
 <b>__showDependencies</b>(<i></i>)
@@ -704,6 +719,13 @@
         Private slot to refresh the packages list.
 </p>
 
+<a NAME="PipxWidget.shutdown" ID="PipxWidget.shutdown"></a>
+<h4>PipxWidget.shutdown</h4>
+<b>shutdown</b>(<i></i>)
+<p>
+        Public slot to perform shutdown actions.
+</p>
+
 <div align="right"><a href="#top">Up</a></div>
 <hr />
 </body></html>
diff -r 417d6480e11e -r d841c572a465 PipxInterface/Documentation/Source/Plugin_Pipx_Interface.PluginPipxInterface.html
--- a/PipxInterface/Documentation/Source/Plugin_Pipx_Interface.PluginPipxInterface.html	Tue Sep 17 11:04:00 2024 +0200
+++ b/PipxInterface/Documentation/Source/Plugin_Pipx_Interface.PluginPipxInterface.html	Tue Sep 17 11:35:31 2024 +0200
@@ -59,6 +59,15 @@
     Class documentation goes here.
 </p>
 
+<h3>Signals</h3>
+<dl>
+
+<dt>preferencesChanged()</dt>
+<dd>
+emitted to signal a change of preferences. This
+        signal is simply relayed from the main UI.
+</dd>
+</dl>
 <h3>Derived from</h3>
 QObject
 <h3>Class Attributes</h3>
diff -r 417d6480e11e -r d841c572a465 PipxInterface/Documentation/Source/index-Plugin_Pipx_Interface.PipxInterface.html
--- a/PipxInterface/Documentation/Source/index-Plugin_Pipx_Interface.PipxInterface.html	Tue Sep 17 11:04:00 2024 +0200
+++ b/PipxInterface/Documentation/Source/index-Plugin_Pipx_Interface.PipxInterface.html	Tue Sep 17 11:35:31 2024 +0200
@@ -49,7 +49,7 @@
 </tr>
 <tr>
 <td><a href="Plugin_Pipx_Interface.PipxInterface.PipxProcess.html">PipxProcess</a></td>
-<td>Module implementing a QProcess derive class with a timeout and convenience signals.</td>
+<td>Module implementing a QProcess derived class with a timeout and convenience signals.</td>
 </tr>
 <tr>
 <td><a href="Plugin_Pipx_Interface.PipxInterface.PipxReinstallDialog.html">PipxReinstallDialog</a></td>
diff -r 417d6480e11e -r d841c572a465 PipxInterface/Pipx.py
--- a/PipxInterface/Pipx.py	Tue Sep 17 11:04:00 2024 +0200
+++ b/PipxInterface/Pipx.py	Tue Sep 17 11:35:31 2024 +0200
@@ -61,7 +61,6 @@
 
         self.__pipxProcesses.clear()
 
-
     ############################################################################
     ## Utility methods
     ############################################################################
diff -r 417d6480e11e -r d841c572a465 PipxInterface/PipxProcess.py
--- a/PipxInterface/PipxProcess.py	Tue Sep 17 11:04:00 2024 +0200
+++ b/PipxInterface/PipxProcess.py	Tue Sep 17 11:35:31 2024 +0200
@@ -57,7 +57,7 @@
     def timeoutInterval(self):
         """
         Public method to get the process timeout interval.
-        
+
         @return process timeout interval in milliseconds
         @rtype int
         """
diff -r 417d6480e11e -r d841c572a465 PipxInterface/PipxWidget.py
--- a/PipxInterface/PipxWidget.py	Tue Sep 17 11:04:00 2024 +0200
+++ b/PipxInterface/PipxWidget.py	Tue Sep 17 11:35:31 2024 +0200
@@ -97,6 +97,12 @@
 
         QTimer.singleShot(0, self.__populatePackages)
 
+        self.__outdatedCheckTimer = QTimer(self)
+        self.__outdatedCheckTimer.timeout.connect(self.__checkOutdatedPackages)
+
+        self.__plugin.preferencesChanged.connect(self.__setOutdatedCheckTimer)
+        QTimer.singleShot(10, self.__setOutdatedCheckTimer)
+
     @pyqtSlot()
     def shutdown(self):
         """
@@ -429,6 +435,23 @@
             self.__checkPackageOutdated(itm)
 
     @pyqtSlot()
+    def __setOutdatedCheckTimer(self):
+        """
+        Private slot to configure the periodic outdated packages check.
+        """
+        interval = self.__plugin.getPreferences("PeriodicOutdatedCheckInterval")
+        # interval is in hours
+        if interval:
+            self.__outdatedCheckTimer.setInterval(
+                interval * 3_600_000  # interval in ms
+            )
+            self.__outdatedCheckTimer.start()
+        else:
+            self.__outdatedCheckTimer.stop()
+
+        self.__plugin.setOutdatedIndicator(self.__hasOutdatedItems())
+
+    @pyqtSlot()
     def __upgradePackage(self):
         """
         Private slot to upgrade the selected package.
diff -r 417d6480e11e -r d841c572a465 PipxInterface/i18n/pipx_de.qm
Binary file PipxInterface/i18n/pipx_de.qm has changed
diff -r 417d6480e11e -r d841c572a465 PipxInterface/i18n/pipx_de.ts
--- a/PipxInterface/i18n/pipx_de.ts	Tue Sep 17 11:04:00 2024 +0200
+++ b/PipxInterface/i18n/pipx_de.ts	Tue Sep 17 11:35:31 2024 +0200
@@ -4,141 +4,141 @@
   <context>
     <name>Pipx</name>
     <message>
-      <location filename="../Pipx.py" line="263" />
-      <location filename="../Pipx.py" line="153" />
+      <location filename="../Pipx.py" line="274" />
+      <location filename="../Pipx.py" line="164" />
       <source>&lt;p&gt;Message: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Meldung: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="275" />
-      <location filename="../Pipx.py" line="267" />
-      <location filename="../Pipx.py" line="156" />
+      <location filename="../Pipx.py" line="286" />
+      <location filename="../Pipx.py" line="278" />
+      <location filename="../Pipx.py" line="167" />
       <source>&lt;p&gt;pipx exited with an error ({0}).&lt;/p&gt;{1}</source>
       <translation>&lt;p&gt;pipx wurde mit einem Fehler beendet ({0}).&lt;/p&gt;{1}</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="165" />
+      <location filename="../Pipx.py" line="176" />
       <source>pipx did not finish within 30 seconds.</source>
       <translation>pipx endete nicht innerhalb 30 Sekunden.</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="221" />
-      <location filename="../Pipx.py" line="167" />
+      <location filename="../Pipx.py" line="232" />
+      <location filename="../Pipx.py" line="178" />
       <source>pipx could not be started.</source>
       <translation>pipx konnte nicht gestarted werden.</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="221" />
+      <location filename="../Pipx.py" line="232" />
       <source>pipx Start Error</source>
       <translation>pipx Startfehler</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="226" />
+      <location filename="../Pipx.py" line="237" />
       <source>pipx Runtime Error</source>
       <translation>pipx Laufzeitfehler</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="227" />
+      <location filename="../Pipx.py" line="238" />
       <source>&lt;p&gt;The pipx process reported an error.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Der pipx Prozess meldete einen Fehler.&lt;/p&gt;&lt;p&gt;Fehler: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="247" />
+      <location filename="../Pipx.py" line="258" />
       <source>pipx did not finish within {0} seconds.</source>
       <translation>pipx endete nicht innerhalb {0} Sekunden.</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="253" />
+      <location filename="../Pipx.py" line="264" />
       <source>pipx Timeout Error</source>
       <translation>pipx ZeitΓΌberschreitungsfehler</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="274" />
+      <location filename="../Pipx.py" line="285" />
       <source>pipx Execution Error</source>
       <translation>pipx AusfΓΌhrungsfehler</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="399" />
+      <location filename="../Pipx.py" line="410" />
       <source>Install Packages</source>
       <translation>Pakete installieren</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="444" />
+      <location filename="../Pipx.py" line="455" />
       <source>Install All Packages</source>
       <translation>Alle Pakete installieren</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="494" />
+      <location filename="../Pipx.py" line="505" />
       <source>Re-Install Package</source>
       <translation>Paket neu installieren</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="525" />
+      <location filename="../Pipx.py" line="536" />
       <source>Re-Install All Packages</source>
       <translation>Alle Pakete neu installieren</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="538" />
+      <location filename="../Pipx.py" line="549" />
       <source>Uninstall Package</source>
       <translation>Paket deinstallieren</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="548" />
+      <location filename="../Pipx.py" line="559" />
       <source>Uninstall All Packages</source>
       <translation>Alle Pakete deinstallieren</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="565" />
+      <location filename="../Pipx.py" line="576" />
       <source>Upgrade Package</source>
       <translation>Paket aktualisieren</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="575" />
+      <location filename="../Pipx.py" line="586" />
       <source>Upgrade All Packages</source>
       <translation>Alle Pakete aktualisieren</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="585" />
+      <location filename="../Pipx.py" line="596" />
       <source>Upgrade Shared Libraries</source>
       <translation>Gemeinsame Bibliotheken aktualisieren</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="599" />
+      <location filename="../Pipx.py" line="610" />
       <source>Upgrade Interpreters</source>
       <translation>Interpreter aktualisieren</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="612" />
+      <location filename="../Pipx.py" line="623" />
       <source>Prune Unused Interpreters</source>
       <translation>Ungenutzte Interpreter entfernen</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="623" />
+      <location filename="../Pipx.py" line="634" />
       <source>Ensure PATH Modifications</source>
       <translation>PATH-Γ„nderungen sicherstellen</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="662" />
+      <location filename="../Pipx.py" line="673" />
       <source>Check Outdated Package</source>
       <translation>PrΓΌfe veraltete Pakete</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="663" />
+      <location filename="../Pipx.py" line="674" />
       <source>&lt;p&gt;The status of package &lt;b&gt;{0}&lt;/b&gt; could not be determined.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Der Status des Paketes &lt;b&gt;{0}&lt;/b&gt; konnte nicht bestimmt werden.&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="724" />
+      <location filename="../Pipx.py" line="735" />
       <source>Get Package Dependencies</source>
       <translation>PaketabhΓ€ngigkeiten abrufen</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="725" />
+      <location filename="../Pipx.py" line="736" />
       <source>&lt;p&gt;The status of dependencies of package &lt;b&gt;{0}&lt;/b&gt; could not be determined.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Der Status der AbhΓ€ngigkeiten des Pakets &lt;b&gt;{0}&lt;/b&gt; konnte nicht ermittelt werden.&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="795" />
+      <location filename="../Pipx.py" line="806" />
       <source>Upgrade Dependencies</source>
       <translation>AbhΓ€ngigkeiten aktualisieren</translation>
     </message>
@@ -408,6 +408,26 @@
     </message>
     <message>
       <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>Periodic Check Interval:</source>
+      <translation>Intervall der regelmÀßigen Überprüfung:</translation>
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>&lt;p&gt;Enter the interval in hours for a periodic check for outdated packages (1 &amp;le; value &amp;le; 24; 0 = disabled).&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Geben Sie das Intervall in Stunden für die regelmÀßige Prüfung auf veraltete Pakete ein (1 &amp;le; Wert &amp;le; 24; 0 = deaktiviert).&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>disabled</source>
+      <translation>deaktiviert</translation>
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source> hours</source>
+      <translation> Stunden</translation>
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
       <source>Recent Application Working Directories</source>
       <translation>Arbeitsverzeichnisse fΓΌr Anwendungen</translation>
     </message>
@@ -546,229 +566,229 @@
   <context>
     <name>PipxWidget</name>
     <message>
-      <location filename="../PipxWidget.py" line="113" />
+      <location filename="../PipxWidget.py" line="126" />
       <source>Install</source>
       <translation>Installieren</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="246" />
-      <location filename="../PipxWidget.py" line="115" />
+      <location filename="../PipxWidget.py" line="259" />
+      <location filename="../PipxWidget.py" line="128" />
       <source>Install Packages</source>
       <translation>Pakete installieren</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="265" />
-      <location filename="../PipxWidget.py" line="118" />
+      <location filename="../PipxWidget.py" line="278" />
+      <location filename="../PipxWidget.py" line="131" />
       <source>Install All Packages</source>
       <translation>Alle Pakete installieren</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="122" />
+      <location filename="../PipxWidget.py" line="135" />
       <source>Re-Install Selected Package</source>
       <translation>AusgewΓ€hltes Paket neu installieren</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="363" />
-      <location filename="../PipxWidget.py" line="125" />
+      <location filename="../PipxWidget.py" line="376" />
+      <location filename="../PipxWidget.py" line="138" />
       <source>Re-Install All Packages</source>
       <translation>Alle Pakete neu installieren</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="321" />
-      <location filename="../PipxWidget.py" line="312" />
-      <location filename="../PipxWidget.py" line="300" />
-      <location filename="../PipxWidget.py" line="284" />
-      <location filename="../PipxWidget.py" line="129" />
+      <location filename="../PipxWidget.py" line="334" />
+      <location filename="../PipxWidget.py" line="325" />
+      <location filename="../PipxWidget.py" line="313" />
+      <location filename="../PipxWidget.py" line="297" />
+      <location filename="../PipxWidget.py" line="142" />
       <source>Create Spec Metadata File</source>
       <translation>Erzeuge Spec-Metadaten-Datei</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="136" />
+      <location filename="../PipxWidget.py" line="149" />
       <source>Upgrade</source>
       <translation>Aktualisieren</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="138" />
+      <location filename="../PipxWidget.py" line="151" />
       <source>Check Outdated Packages</source>
       <translation>PrΓΌfe veraltete Pakete</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="434" />
-      <location filename="../PipxWidget.py" line="142" />
+      <location filename="../PipxWidget.py" line="464" />
+      <location filename="../PipxWidget.py" line="155" />
       <source>Upgrade Selected Package</source>
       <translation>AusgewΓ€hltes Paket aktualisieren</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="459" />
-      <location filename="../PipxWidget.py" line="145" />
+      <location filename="../PipxWidget.py" line="489" />
+      <location filename="../PipxWidget.py" line="158" />
       <source>Upgrade All Packages</source>
       <translation>Alle Pakete aktualisieren</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="149" />
+      <location filename="../PipxWidget.py" line="162" />
       <source>Upgrade Shared Libraries</source>
       <translation>Gemeinsame Bibliotheken aktualisieren</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="156" />
+      <location filename="../PipxWidget.py" line="169" />
       <source>Uninstall</source>
       <translation>Deinstallieren</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="158" />
+      <location filename="../PipxWidget.py" line="171" />
       <source>Uninstall Selected Package</source>
       <translation>AusgewΓ€hltes Paket deinstallieren</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="501" />
-      <location filename="../PipxWidget.py" line="161" />
+      <location filename="../PipxWidget.py" line="531" />
+      <location filename="../PipxWidget.py" line="174" />
       <source>Uninstall All Packages</source>
       <translation>Alle Pakete deinstallieren</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="168" />
+      <location filename="../PipxWidget.py" line="181" />
       <source>Dependencies</source>
       <translation>AbhΓ€ngigkeiten</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="170" />
+      <location filename="../PipxWidget.py" line="183" />
       <source>Show All Dependencies</source>
       <translation>Zeige Alle AbhΓ€ngigkeiten</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="173" />
+      <location filename="../PipxWidget.py" line="186" />
       <source>Show Outdated Dependencies</source>
       <translation>Zeige Veraltete AbhΓ€ngigkeiten</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="176" />
+      <location filename="../PipxWidget.py" line="189" />
       <source>Show Up-to-date Dependencies</source>
       <translation>Zeige Aktuelle AbhΓ€ngigkeiten</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="180" />
+      <location filename="../PipxWidget.py" line="193" />
       <source>Upgrade Dependencies</source>
       <translation>AbhΓ€ngigkeiten aktualisieren</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="199" />
+      <location filename="../PipxWidget.py" line="212" />
       <source>Standalone Interpreters</source>
       <translation>EigenstΓ€ndige Interpreter</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="203" />
+      <location filename="../PipxWidget.py" line="216" />
       <source>Ensure PATH Modifications</source>
       <translation>PATH-Γ„nderungen sicherstellen</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="206" />
+      <location filename="../PipxWidget.py" line="219" />
       <source>Configure...</source>
       <translation>Einstellungen...</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="286" />
+      <location filename="../PipxWidget.py" line="299" />
       <source>JSON Files (*.json);;All Files (*)</source>
       <translation>JSON Dateien (*.json);;Alle Dateien (*)</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="287" />
+      <location filename="../PipxWidget.py" line="300" />
       <source>JSON Files (*.json)</source>
       <translation>JSON-Dateien (*.json)</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="301" />
+      <location filename="../PipxWidget.py" line="314" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; exists already. Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Überschreiben?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="313" />
+      <location filename="../PipxWidget.py" line="326" />
       <source>&lt;p&gt;The spec metadata file &lt;b&gt;{0}&lt;/b&gt; was created successfully.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Spec-Metadaten-Datei &lt;b&gt;{0}&lt;/b&gt; wurde erfolgreich erzeugt.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="322" />
+      <location filename="../PipxWidget.py" line="335" />
       <source>&lt;p&gt;The spec metadata file &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Spec-Metadaten-Datei &lt;b&gt;{0}&lt;/b&gt; konnte nicht erzeugt werden.&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="338" />
+      <location filename="../PipxWidget.py" line="351" />
       <source>Re-Install Package</source>
       <translation>Paket neu installieren</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="339" />
+      <location filename="../PipxWidget.py" line="352" />
       <source>&lt;p&gt;Shall the package &lt;b&gt;{0}&lt;/b&gt; really be reinstalled?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Soll das Paket &lt;b&gt;{0}&lt;/b&gt; wirklich neu installiert werden?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="364" />
+      <location filename="../PipxWidget.py" line="377" />
       <source>Do you really want to reinstall all packages?</source>
       <translation>Sollen wirklich alle Pakete neu installiert werden?</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="435" />
+      <location filename="../PipxWidget.py" line="465" />
       <source>&lt;p&gt;The selected package cannot be upgraded because some of its apps are running.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Stop these apps and try again.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Das ausgewΓ€hlte Paket kann nicht aktualisiert werden, da einige seiner Anwendungen ausgefΓΌhrt werden.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Beende diese Anwendungen und versuche es erneut.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="460" />
+      <location filename="../PipxWidget.py" line="490" />
       <source>&lt;p&gt;The packages cannot be upgraded because some of their apps are running.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Stop these apps and try again.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Pakete kΓΆnnen nicht aktualisiert werden, da einige ihrer Anwendungen ausgefΓΌhrt werden.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Beende diese Anwendungen und versuche es erneut.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="485" />
+      <location filename="../PipxWidget.py" line="515" />
       <source>Uninstall Package</source>
       <translation>Paket deinstallieren</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="486" />
+      <location filename="../PipxWidget.py" line="516" />
       <source>&lt;p&gt;Shall the package &lt;b&gt;{0}&lt;/b&gt; really be uninstalled?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Soll das Paket &lt;b&gt;{0}&lt;/b&gt; wirklich deinstalliert werden?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="502" />
+      <location filename="../PipxWidget.py" line="532" />
       <source>&lt;p&gt;Do you really want to uninstall &lt;b&gt;ALL&lt;/b&gt; packages?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Sollen wirklich &lt;b&gt;ALLE&lt;/b&gt; Pakete deinstalliert werden?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="606" />
+      <location filename="../PipxWidget.py" line="636" />
       <source>&lt;b&gt;pipx Version {0}&lt;/b&gt;</source>
       <translation>&lt;b&gt;pipx Version {0}&lt;/b&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="636" />
+      <location filename="../PipxWidget.py" line="666" />
       <source>{0} ({1})</source>
       <comment>current version, latest version</comment>
       <translation>{0} ({1})</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="644" />
+      <location filename="../PipxWidget.py" line="674" />
       <source>package and some dependencies outdated</source>
       <translation>Paket und einige AbhΓ€ngigkeiten veraltet</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="647" />
+      <location filename="../PipxWidget.py" line="677" />
       <source>package outdated</source>
       <translation>Paket veraltet</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="661" />
+      <location filename="../PipxWidget.py" line="691" />
       <source>some dependencies outdated</source>
       <translation>einige AbhΓ€ngigkeiten veraltet</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="676" />
+      <location filename="../PipxWidget.py" line="706" />
       <source>everything up-to-date</source>
       <translation>alles aktuell</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="703" />
+      <location filename="../PipxWidget.py" line="733" />
       <source>{0}{1}</source>
       <comment>Python version, standalone indicator</comment>
       <translation>{0}{1}</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="705" />
+      <location filename="../PipxWidget.py" line="735" />
       <source> (standalone)</source>
       <translation> (eigenstΓ€ndig)</translation>
     </message>
@@ -841,9 +861,9 @@
   <context>
     <name>PluginPipxInterface</name>
     <message>
-      <location filename="../../PluginPipxInterface.py" line="190" />
-      <location filename="../../PluginPipxInterface.py" line="189" />
-      <location filename="../../PluginPipxInterface.py" line="185" />
+      <location filename="../../PluginPipxInterface.py" line="197" />
+      <location filename="../../PluginPipxInterface.py" line="196" />
+      <location filename="../../PluginPipxInterface.py" line="192" />
       <location filename="../../PluginPipxInterface.py" line="72" />
       <source>PyPI Application Management</source>
       <translation>PyPI Anwendungsmanagement</translation>
@@ -854,17 +874,17 @@
       <translation>Python Anwendungsmanagement</translation>
     </message>
     <message>
-      <location filename="../../PluginPipxInterface.py" line="191" />
+      <location filename="../../PluginPipxInterface.py" line="198" />
       <source>Ctrl+Alt+Shift+A</source>
       <translation>Ctrl+Alt+Shift+A</translation>
     </message>
     <message>
-      <location filename="../../PluginPipxInterface.py" line="197" />
+      <location filename="../../PluginPipxInterface.py" line="204" />
       <source>Switch the input focus to the PyPI Application Management window.</source>
       <translation>Schalte den Eingabefokus auf die PyPI Anwendungsverwaltung um.</translation>
     </message>
     <message>
-      <location filename="../../PluginPipxInterface.py" line="200" />
+      <location filename="../../PluginPipxInterface.py" line="207" />
       <source>&lt;b&gt;Activate PyPI Application Management&lt;/b&gt;&lt;p&gt;This switches the input focus to the PyPI Application Management window.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Aktiviere PyPI Anwendungsmanagement&lt;/b&gt;&lt;p&gt;Dies schaltet den Eingabefokus auf die PyPI Anwendungsverwaltung um.&lt;/p&gt;</translation>
     </message>
diff -r 417d6480e11e -r d841c572a465 PipxInterface/i18n/pipx_empty.ts
--- a/PipxInterface/i18n/pipx_empty.ts	Tue Sep 17 11:04:00 2024 +0200
+++ b/PipxInterface/i18n/pipx_empty.ts	Tue Sep 17 11:35:31 2024 +0200
@@ -4,141 +4,141 @@
   <context>
     <name>Pipx</name>
     <message>
-      <location filename="../Pipx.py" line="263" />
-      <location filename="../Pipx.py" line="153" />
+      <location filename="../Pipx.py" line="274" />
+      <location filename="../Pipx.py" line="164" />
       <source>&lt;p&gt;Message: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="275" />
-      <location filename="../Pipx.py" line="267" />
-      <location filename="../Pipx.py" line="156" />
+      <location filename="../Pipx.py" line="286" />
+      <location filename="../Pipx.py" line="278" />
+      <location filename="../Pipx.py" line="167" />
       <source>&lt;p&gt;pipx exited with an error ({0}).&lt;/p&gt;{1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="165" />
+      <location filename="../Pipx.py" line="176" />
       <source>pipx did not finish within 30 seconds.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="221" />
-      <location filename="../Pipx.py" line="167" />
+      <location filename="../Pipx.py" line="232" />
+      <location filename="../Pipx.py" line="178" />
       <source>pipx could not be started.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="221" />
+      <location filename="../Pipx.py" line="232" />
       <source>pipx Start Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="226" />
+      <location filename="../Pipx.py" line="237" />
       <source>pipx Runtime Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="227" />
+      <location filename="../Pipx.py" line="238" />
       <source>&lt;p&gt;The pipx process reported an error.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="247" />
+      <location filename="../Pipx.py" line="258" />
       <source>pipx did not finish within {0} seconds.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="253" />
+      <location filename="../Pipx.py" line="264" />
       <source>pipx Timeout Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="274" />
+      <location filename="../Pipx.py" line="285" />
       <source>pipx Execution Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="399" />
+      <location filename="../Pipx.py" line="410" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="444" />
+      <location filename="../Pipx.py" line="455" />
       <source>Install All Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="494" />
+      <location filename="../Pipx.py" line="505" />
       <source>Re-Install Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="525" />
+      <location filename="../Pipx.py" line="536" />
       <source>Re-Install All Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="538" />
+      <location filename="../Pipx.py" line="549" />
       <source>Uninstall Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="548" />
+      <location filename="../Pipx.py" line="559" />
       <source>Uninstall All Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="565" />
+      <location filename="../Pipx.py" line="576" />
       <source>Upgrade Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="575" />
+      <location filename="../Pipx.py" line="586" />
       <source>Upgrade All Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="585" />
+      <location filename="../Pipx.py" line="596" />
       <source>Upgrade Shared Libraries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="599" />
+      <location filename="../Pipx.py" line="610" />
       <source>Upgrade Interpreters</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="612" />
+      <location filename="../Pipx.py" line="623" />
       <source>Prune Unused Interpreters</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="623" />
+      <location filename="../Pipx.py" line="634" />
       <source>Ensure PATH Modifications</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="662" />
+      <location filename="../Pipx.py" line="673" />
       <source>Check Outdated Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="663" />
+      <location filename="../Pipx.py" line="674" />
       <source>&lt;p&gt;The status of package &lt;b&gt;{0}&lt;/b&gt; could not be determined.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="724" />
+      <location filename="../Pipx.py" line="735" />
       <source>Get Package Dependencies</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="725" />
+      <location filename="../Pipx.py" line="736" />
       <source>&lt;p&gt;The status of dependencies of package &lt;b&gt;{0}&lt;/b&gt; could not be determined.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="795" />
+      <location filename="../Pipx.py" line="806" />
       <source>Upgrade Dependencies</source>
       <translation type="unfinished" />
     </message>
@@ -408,6 +408,26 @@
     </message>
     <message>
       <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>Periodic Check Interval:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>&lt;p&gt;Enter the interval in hours for a periodic check for outdated packages (1 &amp;le; value &amp;le; 24; 0 = disabled).&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>disabled</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source> hours</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
       <source>Recent Application Working Directories</source>
       <translation type="unfinished" />
     </message>
@@ -546,229 +566,229 @@
   <context>
     <name>PipxWidget</name>
     <message>
-      <location filename="../PipxWidget.py" line="113" />
+      <location filename="../PipxWidget.py" line="126" />
       <source>Install</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="246" />
-      <location filename="../PipxWidget.py" line="115" />
+      <location filename="../PipxWidget.py" line="259" />
+      <location filename="../PipxWidget.py" line="128" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="265" />
-      <location filename="../PipxWidget.py" line="118" />
+      <location filename="../PipxWidget.py" line="278" />
+      <location filename="../PipxWidget.py" line="131" />
       <source>Install All Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="122" />
+      <location filename="../PipxWidget.py" line="135" />
       <source>Re-Install Selected Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="363" />
-      <location filename="../PipxWidget.py" line="125" />
+      <location filename="../PipxWidget.py" line="376" />
+      <location filename="../PipxWidget.py" line="138" />
       <source>Re-Install All Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="321" />
-      <location filename="../PipxWidget.py" line="312" />
-      <location filename="../PipxWidget.py" line="300" />
-      <location filename="../PipxWidget.py" line="284" />
-      <location filename="../PipxWidget.py" line="129" />
+      <location filename="../PipxWidget.py" line="334" />
+      <location filename="../PipxWidget.py" line="325" />
+      <location filename="../PipxWidget.py" line="313" />
+      <location filename="../PipxWidget.py" line="297" />
+      <location filename="../PipxWidget.py" line="142" />
       <source>Create Spec Metadata File</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="136" />
+      <location filename="../PipxWidget.py" line="149" />
       <source>Upgrade</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="138" />
+      <location filename="../PipxWidget.py" line="151" />
       <source>Check Outdated Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="434" />
-      <location filename="../PipxWidget.py" line="142" />
+      <location filename="../PipxWidget.py" line="464" />
+      <location filename="../PipxWidget.py" line="155" />
       <source>Upgrade Selected Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="459" />
-      <location filename="../PipxWidget.py" line="145" />
+      <location filename="../PipxWidget.py" line="489" />
+      <location filename="../PipxWidget.py" line="158" />
       <source>Upgrade All Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="149" />
+      <location filename="../PipxWidget.py" line="162" />
       <source>Upgrade Shared Libraries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="156" />
+      <location filename="../PipxWidget.py" line="169" />
       <source>Uninstall</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="158" />
+      <location filename="../PipxWidget.py" line="171" />
       <source>Uninstall Selected Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="501" />
-      <location filename="../PipxWidget.py" line="161" />
+      <location filename="../PipxWidget.py" line="531" />
+      <location filename="../PipxWidget.py" line="174" />
       <source>Uninstall All Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="168" />
+      <location filename="../PipxWidget.py" line="181" />
       <source>Dependencies</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="170" />
+      <location filename="../PipxWidget.py" line="183" />
       <source>Show All Dependencies</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="173" />
+      <location filename="../PipxWidget.py" line="186" />
       <source>Show Outdated Dependencies</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="176" />
+      <location filename="../PipxWidget.py" line="189" />
       <source>Show Up-to-date Dependencies</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="180" />
+      <location filename="../PipxWidget.py" line="193" />
       <source>Upgrade Dependencies</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="199" />
+      <location filename="../PipxWidget.py" line="212" />
       <source>Standalone Interpreters</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="203" />
+      <location filename="../PipxWidget.py" line="216" />
       <source>Ensure PATH Modifications</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="206" />
+      <location filename="../PipxWidget.py" line="219" />
       <source>Configure...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="286" />
+      <location filename="../PipxWidget.py" line="299" />
       <source>JSON Files (*.json);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="287" />
+      <location filename="../PipxWidget.py" line="300" />
       <source>JSON Files (*.json)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="301" />
+      <location filename="../PipxWidget.py" line="314" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; exists already. Overwrite it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="313" />
+      <location filename="../PipxWidget.py" line="326" />
       <source>&lt;p&gt;The spec metadata file &lt;b&gt;{0}&lt;/b&gt; was created successfully.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="322" />
+      <location filename="../PipxWidget.py" line="335" />
       <source>&lt;p&gt;The spec metadata file &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="338" />
+      <location filename="../PipxWidget.py" line="351" />
       <source>Re-Install Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="339" />
+      <location filename="../PipxWidget.py" line="352" />
       <source>&lt;p&gt;Shall the package &lt;b&gt;{0}&lt;/b&gt; really be reinstalled?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="364" />
+      <location filename="../PipxWidget.py" line="377" />
       <source>Do you really want to reinstall all packages?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="435" />
+      <location filename="../PipxWidget.py" line="465" />
       <source>&lt;p&gt;The selected package cannot be upgraded because some of its apps are running.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Stop these apps and try again.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="460" />
+      <location filename="../PipxWidget.py" line="490" />
       <source>&lt;p&gt;The packages cannot be upgraded because some of their apps are running.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Stop these apps and try again.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="485" />
+      <location filename="../PipxWidget.py" line="515" />
       <source>Uninstall Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="486" />
+      <location filename="../PipxWidget.py" line="516" />
       <source>&lt;p&gt;Shall the package &lt;b&gt;{0}&lt;/b&gt; really be uninstalled?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="502" />
+      <location filename="../PipxWidget.py" line="532" />
       <source>&lt;p&gt;Do you really want to uninstall &lt;b&gt;ALL&lt;/b&gt; packages?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="606" />
+      <location filename="../PipxWidget.py" line="636" />
       <source>&lt;b&gt;pipx Version {0}&lt;/b&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="636" />
+      <location filename="../PipxWidget.py" line="666" />
       <source>{0} ({1})</source>
       <comment>current version, latest version</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="644" />
+      <location filename="../PipxWidget.py" line="674" />
       <source>package and some dependencies outdated</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="647" />
+      <location filename="../PipxWidget.py" line="677" />
       <source>package outdated</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="661" />
+      <location filename="../PipxWidget.py" line="691" />
       <source>some dependencies outdated</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="676" />
+      <location filename="../PipxWidget.py" line="706" />
       <source>everything up-to-date</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="703" />
+      <location filename="../PipxWidget.py" line="733" />
       <source>{0}{1}</source>
       <comment>Python version, standalone indicator</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="705" />
+      <location filename="../PipxWidget.py" line="735" />
       <source> (standalone)</source>
       <translation type="unfinished" />
     </message>
@@ -841,9 +861,9 @@
   <context>
     <name>PluginPipxInterface</name>
     <message>
-      <location filename="../../PluginPipxInterface.py" line="190" />
-      <location filename="../../PluginPipxInterface.py" line="189" />
-      <location filename="../../PluginPipxInterface.py" line="185" />
+      <location filename="../../PluginPipxInterface.py" line="197" />
+      <location filename="../../PluginPipxInterface.py" line="196" />
+      <location filename="../../PluginPipxInterface.py" line="192" />
       <location filename="../../PluginPipxInterface.py" line="72" />
       <source>PyPI Application Management</source>
       <translation type="unfinished" />
@@ -854,17 +874,17 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../../PluginPipxInterface.py" line="191" />
+      <location filename="../../PluginPipxInterface.py" line="198" />
       <source>Ctrl+Alt+Shift+A</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../../PluginPipxInterface.py" line="197" />
+      <location filename="../../PluginPipxInterface.py" line="204" />
       <source>Switch the input focus to the PyPI Application Management window.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../../PluginPipxInterface.py" line="200" />
+      <location filename="../../PluginPipxInterface.py" line="207" />
       <source>&lt;b&gt;Activate PyPI Application Management&lt;/b&gt;&lt;p&gt;This switches the input focus to the PyPI Application Management window.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
diff -r 417d6480e11e -r d841c572a465 PipxInterface/i18n/pipx_en.ts
--- a/PipxInterface/i18n/pipx_en.ts	Tue Sep 17 11:04:00 2024 +0200
+++ b/PipxInterface/i18n/pipx_en.ts	Tue Sep 17 11:35:31 2024 +0200
@@ -4,141 +4,141 @@
   <context>
     <name>Pipx</name>
     <message>
-      <location filename="../Pipx.py" line="263" />
-      <location filename="../Pipx.py" line="153" />
+      <location filename="../Pipx.py" line="274" />
+      <location filename="../Pipx.py" line="164" />
       <source>&lt;p&gt;Message: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="275" />
-      <location filename="../Pipx.py" line="267" />
-      <location filename="../Pipx.py" line="156" />
+      <location filename="../Pipx.py" line="286" />
+      <location filename="../Pipx.py" line="278" />
+      <location filename="../Pipx.py" line="167" />
       <source>&lt;p&gt;pipx exited with an error ({0}).&lt;/p&gt;{1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="165" />
+      <location filename="../Pipx.py" line="176" />
       <source>pipx did not finish within 30 seconds.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="221" />
-      <location filename="../Pipx.py" line="167" />
+      <location filename="../Pipx.py" line="232" />
+      <location filename="../Pipx.py" line="178" />
       <source>pipx could not be started.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="221" />
+      <location filename="../Pipx.py" line="232" />
       <source>pipx Start Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="226" />
+      <location filename="../Pipx.py" line="237" />
       <source>pipx Runtime Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="227" />
+      <location filename="../Pipx.py" line="238" />
       <source>&lt;p&gt;The pipx process reported an error.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="247" />
+      <location filename="../Pipx.py" line="258" />
       <source>pipx did not finish within {0} seconds.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="253" />
+      <location filename="../Pipx.py" line="264" />
       <source>pipx Timeout Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="274" />
+      <location filename="../Pipx.py" line="285" />
       <source>pipx Execution Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="399" />
+      <location filename="../Pipx.py" line="410" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="444" />
+      <location filename="../Pipx.py" line="455" />
       <source>Install All Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="494" />
+      <location filename="../Pipx.py" line="505" />
       <source>Re-Install Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="525" />
+      <location filename="../Pipx.py" line="536" />
       <source>Re-Install All Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="538" />
+      <location filename="../Pipx.py" line="549" />
       <source>Uninstall Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="548" />
+      <location filename="../Pipx.py" line="559" />
       <source>Uninstall All Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="565" />
+      <location filename="../Pipx.py" line="576" />
       <source>Upgrade Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="575" />
+      <location filename="../Pipx.py" line="586" />
       <source>Upgrade All Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="585" />
+      <location filename="../Pipx.py" line="596" />
       <source>Upgrade Shared Libraries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="599" />
+      <location filename="../Pipx.py" line="610" />
       <source>Upgrade Interpreters</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="612" />
+      <location filename="../Pipx.py" line="623" />
       <source>Prune Unused Interpreters</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="623" />
+      <location filename="../Pipx.py" line="634" />
       <source>Ensure PATH Modifications</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="662" />
+      <location filename="../Pipx.py" line="673" />
       <source>Check Outdated Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="663" />
+      <location filename="../Pipx.py" line="674" />
       <source>&lt;p&gt;The status of package &lt;b&gt;{0}&lt;/b&gt; could not be determined.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="724" />
+      <location filename="../Pipx.py" line="735" />
       <source>Get Package Dependencies</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="725" />
+      <location filename="../Pipx.py" line="736" />
       <source>&lt;p&gt;The status of dependencies of package &lt;b&gt;{0}&lt;/b&gt; could not be determined.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="795" />
+      <location filename="../Pipx.py" line="806" />
       <source>Upgrade Dependencies</source>
       <translation type="unfinished" />
     </message>
@@ -408,6 +408,26 @@
     </message>
     <message>
       <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>Periodic Check Interval:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>&lt;p&gt;Enter the interval in hours for a periodic check for outdated packages (1 &amp;le; value &amp;le; 24; 0 = disabled).&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>disabled</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source> hours</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
       <source>Recent Application Working Directories</source>
       <translation type="unfinished" />
     </message>
@@ -546,229 +566,229 @@
   <context>
     <name>PipxWidget</name>
     <message>
-      <location filename="../PipxWidget.py" line="113" />
+      <location filename="../PipxWidget.py" line="126" />
       <source>Install</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="246" />
-      <location filename="../PipxWidget.py" line="115" />
+      <location filename="../PipxWidget.py" line="259" />
+      <location filename="../PipxWidget.py" line="128" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="265" />
-      <location filename="../PipxWidget.py" line="118" />
+      <location filename="../PipxWidget.py" line="278" />
+      <location filename="../PipxWidget.py" line="131" />
       <source>Install All Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="122" />
+      <location filename="../PipxWidget.py" line="135" />
       <source>Re-Install Selected Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="363" />
-      <location filename="../PipxWidget.py" line="125" />
+      <location filename="../PipxWidget.py" line="376" />
+      <location filename="../PipxWidget.py" line="138" />
       <source>Re-Install All Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="321" />
-      <location filename="../PipxWidget.py" line="312" />
-      <location filename="../PipxWidget.py" line="300" />
-      <location filename="../PipxWidget.py" line="284" />
-      <location filename="../PipxWidget.py" line="129" />
+      <location filename="../PipxWidget.py" line="334" />
+      <location filename="../PipxWidget.py" line="325" />
+      <location filename="../PipxWidget.py" line="313" />
+      <location filename="../PipxWidget.py" line="297" />
+      <location filename="../PipxWidget.py" line="142" />
       <source>Create Spec Metadata File</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="136" />
+      <location filename="../PipxWidget.py" line="149" />
       <source>Upgrade</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="138" />
+      <location filename="../PipxWidget.py" line="151" />
       <source>Check Outdated Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="434" />
-      <location filename="../PipxWidget.py" line="142" />
+      <location filename="../PipxWidget.py" line="464" />
+      <location filename="../PipxWidget.py" line="155" />
       <source>Upgrade Selected Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="459" />
-      <location filename="../PipxWidget.py" line="145" />
+      <location filename="../PipxWidget.py" line="489" />
+      <location filename="../PipxWidget.py" line="158" />
       <source>Upgrade All Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="149" />
+      <location filename="../PipxWidget.py" line="162" />
       <source>Upgrade Shared Libraries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="156" />
+      <location filename="../PipxWidget.py" line="169" />
       <source>Uninstall</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="158" />
+      <location filename="../PipxWidget.py" line="171" />
       <source>Uninstall Selected Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="501" />
-      <location filename="../PipxWidget.py" line="161" />
+      <location filename="../PipxWidget.py" line="531" />
+      <location filename="../PipxWidget.py" line="174" />
       <source>Uninstall All Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="168" />
+      <location filename="../PipxWidget.py" line="181" />
       <source>Dependencies</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="170" />
+      <location filename="../PipxWidget.py" line="183" />
       <source>Show All Dependencies</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="173" />
+      <location filename="../PipxWidget.py" line="186" />
       <source>Show Outdated Dependencies</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="176" />
+      <location filename="../PipxWidget.py" line="189" />
       <source>Show Up-to-date Dependencies</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="180" />
+      <location filename="../PipxWidget.py" line="193" />
       <source>Upgrade Dependencies</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="199" />
+      <location filename="../PipxWidget.py" line="212" />
       <source>Standalone Interpreters</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="203" />
+      <location filename="../PipxWidget.py" line="216" />
       <source>Ensure PATH Modifications</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="206" />
+      <location filename="../PipxWidget.py" line="219" />
       <source>Configure...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="286" />
+      <location filename="../PipxWidget.py" line="299" />
       <source>JSON Files (*.json);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="287" />
+      <location filename="../PipxWidget.py" line="300" />
       <source>JSON Files (*.json)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="301" />
+      <location filename="../PipxWidget.py" line="314" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; exists already. Overwrite it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="313" />
+      <location filename="../PipxWidget.py" line="326" />
       <source>&lt;p&gt;The spec metadata file &lt;b&gt;{0}&lt;/b&gt; was created successfully.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="322" />
+      <location filename="../PipxWidget.py" line="335" />
       <source>&lt;p&gt;The spec metadata file &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="338" />
+      <location filename="../PipxWidget.py" line="351" />
       <source>Re-Install Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="339" />
+      <location filename="../PipxWidget.py" line="352" />
       <source>&lt;p&gt;Shall the package &lt;b&gt;{0}&lt;/b&gt; really be reinstalled?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="364" />
+      <location filename="../PipxWidget.py" line="377" />
       <source>Do you really want to reinstall all packages?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="435" />
+      <location filename="../PipxWidget.py" line="465" />
       <source>&lt;p&gt;The selected package cannot be upgraded because some of its apps are running.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Stop these apps and try again.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="460" />
+      <location filename="../PipxWidget.py" line="490" />
       <source>&lt;p&gt;The packages cannot be upgraded because some of their apps are running.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Stop these apps and try again.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="485" />
+      <location filename="../PipxWidget.py" line="515" />
       <source>Uninstall Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="486" />
+      <location filename="../PipxWidget.py" line="516" />
       <source>&lt;p&gt;Shall the package &lt;b&gt;{0}&lt;/b&gt; really be uninstalled?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="502" />
+      <location filename="../PipxWidget.py" line="532" />
       <source>&lt;p&gt;Do you really want to uninstall &lt;b&gt;ALL&lt;/b&gt; packages?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="606" />
+      <location filename="../PipxWidget.py" line="636" />
       <source>&lt;b&gt;pipx Version {0}&lt;/b&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="636" />
+      <location filename="../PipxWidget.py" line="666" />
       <source>{0} ({1})</source>
       <comment>current version, latest version</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="644" />
+      <location filename="../PipxWidget.py" line="674" />
       <source>package and some dependencies outdated</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="647" />
+      <location filename="../PipxWidget.py" line="677" />
       <source>package outdated</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="661" />
+      <location filename="../PipxWidget.py" line="691" />
       <source>some dependencies outdated</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="676" />
+      <location filename="../PipxWidget.py" line="706" />
       <source>everything up-to-date</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="703" />
+      <location filename="../PipxWidget.py" line="733" />
       <source>{0}{1}</source>
       <comment>Python version, standalone indicator</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="705" />
+      <location filename="../PipxWidget.py" line="735" />
       <source> (standalone)</source>
       <translation type="unfinished" />
     </message>
@@ -841,9 +861,9 @@
   <context>
     <name>PluginPipxInterface</name>
     <message>
-      <location filename="../../PluginPipxInterface.py" line="190" />
-      <location filename="../../PluginPipxInterface.py" line="189" />
-      <location filename="../../PluginPipxInterface.py" line="185" />
+      <location filename="../../PluginPipxInterface.py" line="197" />
+      <location filename="../../PluginPipxInterface.py" line="196" />
+      <location filename="../../PluginPipxInterface.py" line="192" />
       <location filename="../../PluginPipxInterface.py" line="72" />
       <source>PyPI Application Management</source>
       <translation type="unfinished" />
@@ -854,17 +874,17 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../../PluginPipxInterface.py" line="191" />
+      <location filename="../../PluginPipxInterface.py" line="198" />
       <source>Ctrl+Alt+Shift+A</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../../PluginPipxInterface.py" line="197" />
+      <location filename="../../PluginPipxInterface.py" line="204" />
       <source>Switch the input focus to the PyPI Application Management window.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../../PluginPipxInterface.py" line="200" />
+      <location filename="../../PluginPipxInterface.py" line="207" />
       <source>&lt;b&gt;Activate PyPI Application Management&lt;/b&gt;&lt;p&gt;This switches the input focus to the PyPI Application Management window.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
diff -r 417d6480e11e -r d841c572a465 PipxInterface/i18n/pipx_es.ts
--- a/PipxInterface/i18n/pipx_es.ts	Tue Sep 17 11:04:00 2024 +0200
+++ b/PipxInterface/i18n/pipx_es.ts	Tue Sep 17 11:35:31 2024 +0200
@@ -4,141 +4,141 @@
   <context>
     <name>Pipx</name>
     <message>
-      <location filename="../Pipx.py" line="263" />
-      <location filename="../Pipx.py" line="153" />
+      <location filename="../Pipx.py" line="274" />
+      <location filename="../Pipx.py" line="164" />
       <source>&lt;p&gt;Message: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Mensaje: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="275" />
-      <location filename="../Pipx.py" line="267" />
-      <location filename="../Pipx.py" line="156" />
+      <location filename="../Pipx.py" line="286" />
+      <location filename="../Pipx.py" line="278" />
+      <location filename="../Pipx.py" line="167" />
       <source>&lt;p&gt;pipx exited with an error ({0}).&lt;/p&gt;{1}</source>
       <translation>&lt;p&gt;pipx ha terminado con un error ({0}).&lt;/p&gt;{1}</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="165" />
+      <location filename="../Pipx.py" line="176" />
       <source>pipx did not finish within 30 seconds.</source>
       <translation>pipx no ha terminado antes de 30 segundos.</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="221" />
-      <location filename="../Pipx.py" line="167" />
+      <location filename="../Pipx.py" line="232" />
+      <location filename="../Pipx.py" line="178" />
       <source>pipx could not be started.</source>
       <translation>pipx no se ha podido iniciar.</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="221" />
+      <location filename="../Pipx.py" line="232" />
       <source>pipx Start Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="226" />
+      <location filename="../Pipx.py" line="237" />
       <source>pipx Runtime Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="227" />
+      <location filename="../Pipx.py" line="238" />
       <source>&lt;p&gt;The pipx process reported an error.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="247" />
+      <location filename="../Pipx.py" line="258" />
       <source>pipx did not finish within {0} seconds.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="253" />
+      <location filename="../Pipx.py" line="264" />
       <source>pipx Timeout Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="274" />
+      <location filename="../Pipx.py" line="285" />
       <source>pipx Execution Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Pipx.py" line="399" />
+      <location filename="../Pipx.py" line="410" />
       <source>Install Packages</source>
       <translation>Instalar Packages</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="444" />
+      <location filename="../Pipx.py" line="455" />
       <source>Install All Packages</source>
       <translation>Instalar Todos los Packages</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="494" />
+      <location filename="../Pipx.py" line="505" />
       <source>Re-Install Package</source>
       <translation>Reinstalar Package</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="525" />
+      <location filename="../Pipx.py" line="536" />
       <source>Re-Install All Packages</source>
       <translation>Reinstalar Todos los Packages</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="538" />
+      <location filename="../Pipx.py" line="549" />
       <source>Uninstall Package</source>
       <translation>Desinstalar Package</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="548" />
+      <location filename="../Pipx.py" line="559" />
       <source>Uninstall All Packages</source>
       <translation>Desinstalar Todos los Packages</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="565" />
+      <location filename="../Pipx.py" line="576" />
       <source>Upgrade Package</source>
       <translation>Actualizar Package</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="575" />
+      <location filename="../Pipx.py" line="586" />
       <source>Upgrade All Packages</source>
       <translation>Actualizar Todos los Packages</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="585" />
+      <location filename="../Pipx.py" line="596" />
       <source>Upgrade Shared Libraries</source>
       <translation>Actualizar Bibliotecas Compartidas</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="599" />
+      <location filename="../Pipx.py" line="610" />
       <source>Upgrade Interpreters</source>
       <translation>Actualizar IntΓ©rpretes</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="612" />
+      <location filename="../Pipx.py" line="623" />
       <source>Prune Unused Interpreters</source>
       <translation>Limpiar IntΓ©rpretes no Utililizados</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="623" />
+      <location filename="../Pipx.py" line="634" />
       <source>Ensure PATH Modifications</source>
       <translation>Asegurar modificaciones de PATH</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="662" />
+      <location filename="../Pipx.py" line="673" />
       <source>Check Outdated Package</source>
       <translation>Comprobar Package Desactualizado</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="663" />
+      <location filename="../Pipx.py" line="674" />
       <source>&lt;p&gt;The status of package &lt;b&gt;{0}&lt;/b&gt; could not be determined.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;El status del package &lt;b&gt;{0}&lt;/b&gt; no se ha podido determinar.&lt;/p&gt;&lt;p&gt;RazΓ³n: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="724" />
+      <location filename="../Pipx.py" line="735" />
       <source>Get Package Dependencies</source>
       <translation>Obtener Dependencias del PAckage</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="725" />
+      <location filename="../Pipx.py" line="736" />
       <source>&lt;p&gt;The status of dependencies of package &lt;b&gt;{0}&lt;/b&gt; could not be determined.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;El estado de las dependencias del package &lt;b&gt;{0}&lt;/b&gt; no se han podido determinar.&lt;/p&gt;&lt;p&gt;RazΓ³n: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Pipx.py" line="795" />
+      <location filename="../Pipx.py" line="806" />
       <source>Upgrade Dependencies</source>
       <translation>Actualizar Dependencias</translation>
     </message>
@@ -408,6 +408,26 @@
     </message>
     <message>
       <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>Periodic Check Interval:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>&lt;p&gt;Enter the interval in hours for a periodic check for outdated packages (1 &amp;le; value &amp;le; 24; 0 = disabled).&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>disabled</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source> hours</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
       <source>Recent Application Working Directories</source>
       <translation>Directorios de Trabajo de AplicaciΓ³n Recientes</translation>
     </message>
@@ -546,229 +566,229 @@
   <context>
     <name>PipxWidget</name>
     <message>
-      <location filename="../PipxWidget.py" line="113" />
+      <location filename="../PipxWidget.py" line="126" />
       <source>Install</source>
       <translation>Instalar</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="246" />
-      <location filename="../PipxWidget.py" line="115" />
+      <location filename="../PipxWidget.py" line="259" />
+      <location filename="../PipxWidget.py" line="128" />
       <source>Install Packages</source>
       <translation>Instalar Packages</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="265" />
-      <location filename="../PipxWidget.py" line="118" />
+      <location filename="../PipxWidget.py" line="278" />
+      <location filename="../PipxWidget.py" line="131" />
       <source>Install All Packages</source>
       <translation>Instalar Todos los Packages</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="122" />
+      <location filename="../PipxWidget.py" line="135" />
       <source>Re-Install Selected Package</source>
       <translation>Reinstalar Package Seleccionado</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="363" />
-      <location filename="../PipxWidget.py" line="125" />
+      <location filename="../PipxWidget.py" line="376" />
+      <location filename="../PipxWidget.py" line="138" />
       <source>Re-Install All Packages</source>
       <translation>Reinstalar Todos los Packages</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="321" />
-      <location filename="../PipxWidget.py" line="312" />
-      <location filename="../PipxWidget.py" line="300" />
-      <location filename="../PipxWidget.py" line="284" />
-      <location filename="../PipxWidget.py" line="129" />
+      <location filename="../PipxWidget.py" line="334" />
+      <location filename="../PipxWidget.py" line="325" />
+      <location filename="../PipxWidget.py" line="313" />
+      <location filename="../PipxWidget.py" line="297" />
+      <location filename="../PipxWidget.py" line="142" />
       <source>Create Spec Metadata File</source>
       <translation>Crear Archivo de Metadatos de Spec</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="136" />
+      <location filename="../PipxWidget.py" line="149" />
       <source>Upgrade</source>
       <translation>Actualizar</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="138" />
+      <location filename="../PipxWidget.py" line="151" />
       <source>Check Outdated Packages</source>
       <translation>Comprobar Packages Desactualizados</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="434" />
-      <location filename="../PipxWidget.py" line="142" />
+      <location filename="../PipxWidget.py" line="464" />
+      <location filename="../PipxWidget.py" line="155" />
       <source>Upgrade Selected Package</source>
       <translation>Actualizar Package Seleccionado</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="459" />
-      <location filename="../PipxWidget.py" line="145" />
+      <location filename="../PipxWidget.py" line="489" />
+      <location filename="../PipxWidget.py" line="158" />
       <source>Upgrade All Packages</source>
       <translation>Actualizar Todos los Packages</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="149" />
+      <location filename="../PipxWidget.py" line="162" />
       <source>Upgrade Shared Libraries</source>
       <translation>Actualizar Bibliotecas Compartidas</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="156" />
+      <location filename="../PipxWidget.py" line="169" />
       <source>Uninstall</source>
       <translation>Desinstalar</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="158" />
+      <location filename="../PipxWidget.py" line="171" />
       <source>Uninstall Selected Package</source>
       <translation>Desinstalar Package Seleccionado</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="501" />
-      <location filename="../PipxWidget.py" line="161" />
+      <location filename="../PipxWidget.py" line="531" />
+      <location filename="../PipxWidget.py" line="174" />
       <source>Uninstall All Packages</source>
       <translation>Desinstalar Todos los Packages</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="168" />
+      <location filename="../PipxWidget.py" line="181" />
       <source>Dependencies</source>
       <translation>Dependencias</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="170" />
+      <location filename="../PipxWidget.py" line="183" />
       <source>Show All Dependencies</source>
       <translation>Mostrar Todas las Dependencias</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="173" />
+      <location filename="../PipxWidget.py" line="186" />
       <source>Show Outdated Dependencies</source>
       <translation>Mostrar Dependencias Desactualizadas</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="176" />
+      <location filename="../PipxWidget.py" line="189" />
       <source>Show Up-to-date Dependencies</source>
       <translation>Mostrar Dependencias Actualizadas</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="180" />
+      <location filename="../PipxWidget.py" line="193" />
       <source>Upgrade Dependencies</source>
       <translation>Actualizar Dependencias</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="199" />
+      <location filename="../PipxWidget.py" line="212" />
       <source>Standalone Interpreters</source>
       <translation>IntΓ©rpretes Independientes</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="203" />
+      <location filename="../PipxWidget.py" line="216" />
       <source>Ensure PATH Modifications</source>
       <translation>Asegurar modificaciones de PATH</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="206" />
+      <location filename="../PipxWidget.py" line="219" />
       <source>Configure...</source>
       <translation>Configurar...</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="286" />
+      <location filename="../PipxWidget.py" line="299" />
       <source>JSON Files (*.json);;All Files (*)</source>
       <translation>Archivos JSON (*.json);;Todos los Archivos (*)</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="287" />
+      <location filename="../PipxWidget.py" line="300" />
       <source>JSON Files (*.json)</source>
       <translation>Archivos JSON (*.json)</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="301" />
+      <location filename="../PipxWidget.py" line="314" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; exists already. Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;El archivo &lt;b&gt;{0}&lt;/b&gt; ya existe. ΒΏDesea sobreescribirlo?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="313" />
+      <location filename="../PipxWidget.py" line="326" />
       <source>&lt;p&gt;The spec metadata file &lt;b&gt;{0}&lt;/b&gt; was created successfully.&lt;/p&gt;</source>
       <translation>&lt;p&gt;El archivo de metadatos de spec &lt;b&gt;{0}&lt;/b&gt; se ha creado con Γ©xito&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="322" />
+      <location filename="../PipxWidget.py" line="335" />
       <source>&lt;p&gt;The spec metadata file &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;El archivo de metadatos de spec &lt;b&gt;{0}&lt;/b&gt; no se ha podido crear.&lt;/p&gt;&lt;p&gt;RazΓ³n: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="338" />
+      <location filename="../PipxWidget.py" line="351" />
       <source>Re-Install Package</source>
       <translation>Reinstalar Package</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="339" />
+      <location filename="../PipxWidget.py" line="352" />
       <source>&lt;p&gt;Shall the package &lt;b&gt;{0}&lt;/b&gt; really be reinstalled?&lt;/p&gt;</source>
       <translation>&lt;p&gt;ΒΏDebe ser el package &lt;b&gt;{0}&lt;/b&gt; reinstalado seguro?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="364" />
+      <location filename="../PipxWidget.py" line="377" />
       <source>Do you really want to reinstall all packages?</source>
       <translation>ΒΏDesea seguro reinstalar todos los packages?</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="435" />
+      <location filename="../PipxWidget.py" line="465" />
       <source>&lt;p&gt;The selected package cannot be upgraded because some of its apps are running.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Stop these apps and try again.&lt;/p&gt;</source>
       <translation>&lt;p&gt;El package seleccionado no se puede actualizar porque algunas de sus apps estΓ‘n en ejecuciΓ³n.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Detener estasapps e intentar de nuevo.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="460" />
+      <location filename="../PipxWidget.py" line="490" />
       <source>&lt;p&gt;The packages cannot be upgraded because some of their apps are running.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Stop these apps and try again.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Los packages no se pueden actualizar porque algunas de sus apps estΓ‘n en ejecuciΓ³n.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Detener estas apps e intentar de nuevo.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="485" />
+      <location filename="../PipxWidget.py" line="515" />
       <source>Uninstall Package</source>
       <translation>Desinstalar Package</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="486" />
+      <location filename="../PipxWidget.py" line="516" />
       <source>&lt;p&gt;Shall the package &lt;b&gt;{0}&lt;/b&gt; really be uninstalled?&lt;/p&gt;</source>
       <translation>&lt;p&gt;ΒΏDebe ser el package &lt;b&gt;{0}&lt;/b&gt; desinstalado seguro?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="502" />
+      <location filename="../PipxWidget.py" line="532" />
       <source>&lt;p&gt;Do you really want to uninstall &lt;b&gt;ALL&lt;/b&gt; packages?&lt;/p&gt;</source>
       <translation>&lt;p&gt;ΒΏDesea seguro desinstalar &lt;b&gt;TODOS&lt;/b&gt; los packages?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="606" />
+      <location filename="../PipxWidget.py" line="636" />
       <source>&lt;b&gt;pipx Version {0}&lt;/b&gt;</source>
       <translation>&lt;b&gt;pipx VersiΓ³n {0}&lt;/b&gt;</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="636" />
+      <location filename="../PipxWidget.py" line="666" />
       <source>{0} ({1})</source>
       <comment>current version, latest version</comment>
       <translation>{0} ({1})</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="644" />
+      <location filename="../PipxWidget.py" line="674" />
       <source>package and some dependencies outdated</source>
       <translation>package y algunas dependencias desactualizados</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="647" />
+      <location filename="../PipxWidget.py" line="677" />
       <source>package outdated</source>
       <translation>package desactualizado</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="661" />
+      <location filename="../PipxWidget.py" line="691" />
       <source>some dependencies outdated</source>
       <translation>algunas dependencias desactualizadas</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="676" />
+      <location filename="../PipxWidget.py" line="706" />
       <source>everything up-to-date</source>
       <translation>todo actualizado</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="703" />
+      <location filename="../PipxWidget.py" line="733" />
       <source>{0}{1}</source>
       <comment>Python version, standalone indicator</comment>
       <translation>{0}{1}</translation>
     </message>
     <message>
-      <location filename="../PipxWidget.py" line="705" />
+      <location filename="../PipxWidget.py" line="735" />
       <source> (standalone)</source>
       <translation> (independiente)</translation>
     </message>
@@ -841,9 +861,9 @@
   <context>
     <name>PluginPipxInterface</name>
     <message>
-      <location filename="../../PluginPipxInterface.py" line="190" />
-      <location filename="../../PluginPipxInterface.py" line="189" />
-      <location filename="../../PluginPipxInterface.py" line="185" />
+      <location filename="../../PluginPipxInterface.py" line="197" />
+      <location filename="../../PluginPipxInterface.py" line="196" />
+      <location filename="../../PluginPipxInterface.py" line="192" />
       <location filename="../../PluginPipxInterface.py" line="72" />
       <source>PyPI Application Management</source>
       <translation>GestiΓ³n de AplicaciΓ³n PyPI</translation>
@@ -854,17 +874,17 @@
       <translation>GestiΓ³n de AplicaciΓ³n Python</translation>
     </message>
     <message>
-      <location filename="../../PluginPipxInterface.py" line="191" />
+      <location filename="../../PluginPipxInterface.py" line="198" />
       <source>Ctrl+Alt+Shift+A</source>
       <translation>Ctrl+Alt+Shift+A</translation>
     </message>
     <message>
-      <location filename="../../PluginPipxInterface.py" line="197" />
+      <location filename="../../PluginPipxInterface.py" line="204" />
       <source>Switch the input focus to the PyPI Application Management window.</source>
       <translation>Cambiar el foco de entrada a la ventana de GestiΓ³n de AplicaciΓ³n PyPI.</translation>
     </message>
     <message>
-      <location filename="../../PluginPipxInterface.py" line="200" />
+      <location filename="../../PluginPipxInterface.py" line="207" />
       <source>&lt;b&gt;Activate PyPI Application Management&lt;/b&gt;&lt;p&gt;This switches the input focus to the PyPI Application Management window.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Activar GestiΓ³n de AplicaciΓ³n PyPI&lt;/b&gt;&lt;p&gt;Esto cambia el foco de entrada a la ventana de GestiΓ³n de AplicaciΓ³n PyPI.&lt;/p&gt;</translation>
     </message>
diff -r 417d6480e11e -r d841c572a465 PipxInterface/i18n/pipx_ru.ts
--- a/PipxInterface/i18n/pipx_ru.ts	Tue Sep 17 11:04:00 2024 +0200
+++ b/PipxInterface/i18n/pipx_ru.ts	Tue Sep 17 11:35:31 2024 +0200
@@ -1,872 +1,892 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="ru_RU">
-<context>
+  <context>
     <name>Pipx</name>
     <message>
-        <location filename="../Pipx.py" line="263"/>
-        <location filename="../Pipx.py" line="153"/>
-        <source>&lt;p&gt;Message: {0}&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅: {0}&lt;/p&gt;</translation>
+      <location filename="../Pipx.py" line="274" />
+      <location filename="../Pipx.py" line="164" />
+      <source>&lt;p&gt;Message: {0}&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="275"/>
-        <location filename="../Pipx.py" line="267"/>
-        <location filename="../Pipx.py" line="156"/>
-        <source>&lt;p&gt;pipx exited with an error ({0}).&lt;/p&gt;{1}</source>
-        <translation>&lt;p&gt;pipx Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΡΡ с ошибкой ({0}).&lt;/p&gt;{1}</translation>
+      <location filename="../Pipx.py" line="286" />
+      <location filename="../Pipx.py" line="278" />
+      <location filename="../Pipx.py" line="167" />
+      <source>&lt;p&gt;pipx exited with an error ({0}).&lt;/p&gt;{1}</source>
+      <translation>&lt;p&gt;pipx Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΡΡ с ошибкой ({0}).&lt;/p&gt;{1}</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="165"/>
-        <source>pipx did not finish within 30 seconds.</source>
-        <translation>pipx Π½Π΅ Π±Ρ‹Π»Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 30 сСкунд.</translation>
+      <location filename="../Pipx.py" line="176" />
+      <source>pipx did not finish within 30 seconds.</source>
+      <translation>pipx Π½Π΅ Π±Ρ‹Π»Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 30 сСкунд.</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="221"/>
-        <location filename="../Pipx.py" line="167"/>
-        <source>pipx could not be started.</source>
-        <translation>pipx Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.</translation>
+      <location filename="../Pipx.py" line="232" />
+      <location filename="../Pipx.py" line="178" />
+      <source>pipx could not be started.</source>
+      <translation>pipx Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="221"/>
-        <source>pipx Start Error</source>
-        <translation type="unfinished"></translation>
+      <location filename="../Pipx.py" line="232" />
+      <source>pipx Start Error</source>
+      <translation type="unfinished" />
     </message>
     <message>
-        <location filename="../Pipx.py" line="226"/>
-        <source>pipx Runtime Error</source>
-        <translation type="unfinished"></translation>
+      <location filename="../Pipx.py" line="237" />
+      <source>pipx Runtime Error</source>
+      <translation type="unfinished" />
     </message>
     <message>
-        <location filename="../Pipx.py" line="227"/>
-        <source>&lt;p&gt;The pipx process reported an error.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
+      <location filename="../Pipx.py" line="238" />
+      <source>&lt;p&gt;The pipx process reported an error.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
     </message>
     <message>
-        <location filename="../Pipx.py" line="247"/>
-        <source>pipx did not finish within {0} seconds.</source>
-        <translation type="unfinished"></translation>
+      <location filename="../Pipx.py" line="258" />
+      <source>pipx did not finish within {0} seconds.</source>
+      <translation type="unfinished" />
     </message>
     <message>
-        <location filename="../Pipx.py" line="253"/>
-        <source>pipx Timeout Error</source>
-        <translation type="unfinished"></translation>
+      <location filename="../Pipx.py" line="264" />
+      <source>pipx Timeout Error</source>
+      <translation type="unfinished" />
     </message>
     <message>
-        <location filename="../Pipx.py" line="274"/>
-        <source>pipx Execution Error</source>
-        <translation type="unfinished"></translation>
+      <location filename="../Pipx.py" line="285" />
+      <source>pipx Execution Error</source>
+      <translation type="unfinished" />
     </message>
     <message>
-        <location filename="../Pipx.py" line="399"/>
-        <source>Install Packages</source>
-        <translation>Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
+      <location filename="../Pipx.py" line="410" />
+      <source>Install Packages</source>
+      <translation>Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="444"/>
-        <source>Install All Packages</source>
-        <translation>Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
+      <location filename="../Pipx.py" line="455" />
+      <source>Install All Packages</source>
+      <translation>Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="494"/>
-        <source>Re-Install Package</source>
-        <translation>ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚</translation>
+      <location filename="../Pipx.py" line="505" />
+      <source>Re-Install Package</source>
+      <translation>ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="525"/>
-        <source>Re-Install All Packages</source>
-        <translation>ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
+      <location filename="../Pipx.py" line="536" />
+      <source>Re-Install All Packages</source>
+      <translation>ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="538"/>
-        <source>Uninstall Package</source>
-        <translation>Π”Π΅ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚</translation>
+      <location filename="../Pipx.py" line="549" />
+      <source>Uninstall Package</source>
+      <translation>Π”Π΅ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="548"/>
-        <source>Uninstall All Packages</source>
-        <translation>Π”Π΅ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
+      <location filename="../Pipx.py" line="559" />
+      <source>Uninstall All Packages</source>
+      <translation>Π”Π΅ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="565"/>
-        <source>Upgrade Package</source>
-        <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚</translation>
+      <location filename="../Pipx.py" line="576" />
+      <source>Upgrade Package</source>
+      <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="575"/>
-        <source>Upgrade All Packages</source>
-        <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
+      <location filename="../Pipx.py" line="586" />
+      <source>Upgrade All Packages</source>
+      <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="585"/>
-        <source>Upgrade Shared Libraries</source>
-        <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ</translation>
+      <location filename="../Pipx.py" line="596" />
+      <source>Upgrade Shared Libraries</source>
+      <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="599"/>
-        <source>Upgrade Interpreters</source>
-        <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹</translation>
+      <location filename="../Pipx.py" line="610" />
+      <source>Upgrade Interpreters</source>
+      <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="612"/>
-        <source>Prune Unused Interpreters</source>
-        <translation>Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹</translation>
+      <location filename="../Pipx.py" line="623" />
+      <source>Prune Unused Interpreters</source>
+      <translation>Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="623"/>
-        <source>Ensure PATH Modifications</source>
-        <translation>ВнСсти измСнСния Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ PATH</translation>
+      <location filename="../Pipx.py" line="634" />
+      <source>Ensure PATH Modifications</source>
+      <translation>ВнСсти измСнСния Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ PATH</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="662"/>
-        <source>Check Outdated Package</source>
-        <translation>ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
+      <location filename="../Pipx.py" line="673" />
+      <source>Check Outdated Package</source>
+      <translation>ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="663"/>
-        <source>&lt;p&gt;The status of package &lt;b&gt;{0}&lt;/b&gt; could not be determined.&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>
+      <location filename="../Pipx.py" line="674" />
+      <source>&lt;p&gt;The status of package &lt;b&gt;{0}&lt;/b&gt; could not be determined.&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="../Pipx.py" line="724"/>
-        <source>Get Package Dependencies</source>
-        <translation>ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ зависимостСй ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²</translation>
+      <location filename="../Pipx.py" line="735" />
+      <source>Get Package Dependencies</source>
+      <translation>ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ зависимостСй ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²</translation>
     </message>
     <message>
-        <location filename="../Pipx.py" line="725"/>
-        <source>&lt;p&gt;The status of dependencies of package &lt;b&gt;{0}&lt;/b&gt; could not be determined.&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>
+      <location filename="../Pipx.py" line="736" />
+      <source>&lt;p&gt;The status of dependencies of package &lt;b&gt;{0}&lt;/b&gt; could not be determined.&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="../Pipx.py" line="795"/>
-        <source>Upgrade Dependencies</source>
-        <translation>ОбновлСниС зависимостСй</translation>
+      <location filename="../Pipx.py" line="806" />
+      <source>Upgrade Dependencies</source>
+      <translation>ОбновлСниС зависимостСй</translation>
     </message>
-</context>
-<context>
+  </context>
+  <context>
     <name>PipxAppStartDialog</name>
     <message>
-        <location filename="../PipxAppStartDialog.ui" line="0"/>
-        <source>Execution Parameters</source>
-        <translation>ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ выполнСния</translation>
+      <location filename="../PipxAppStartDialog.ui" line="0" />
+      <source>Execution Parameters</source>
+      <translation>ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ выполнСния</translation>
     </message>
     <message>
-        <location filename="../PipxAppStartDialog.ui" line="0"/>
-        <source>Command Line Parameters:</source>
-        <translation>ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки:</translation>
+      <location filename="../PipxAppStartDialog.ui" line="0" />
+      <source>Command Line Parameters:</source>
+      <translation>ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки:</translation>
     </message>
     <message>
-        <location filename="../PipxAppStartDialog.ui" line="0"/>
-        <source>Enter the command line parameters for the application.</source>
-        <translation>Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для прилоТСния.</translation>
+      <location filename="../PipxAppStartDialog.ui" line="0" />
+      <source>Enter the command line parameters for the application.</source>
+      <translation>Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для прилоТСния.</translation>
     </message>
     <message>
-        <location filename="../PipxAppStartDialog.ui" line="0"/>
-        <source>Working Directory:</source>
-        <translation>Рабочая дирСктория:</translation>
+      <location filename="../PipxAppStartDialog.ui" line="0" />
+      <source>Working Directory:</source>
+      <translation>Рабочая дирСктория:</translation>
     </message>
     <message>
-        <location filename="../PipxAppStartDialog.ui" line="0"/>
-        <source>Enter the working directory for the application run.</source>
-        <translation>Π—Π°Π΄Π°ΠΉΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ для запуска прилоТСния.</translation>
+      <location filename="../PipxAppStartDialog.ui" line="0" />
+      <source>Enter the working directory for the application run.</source>
+      <translation>Π—Π°Π΄Π°ΠΉΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ для запуска прилоТСния.</translation>
     </message>
     <message>
-        <location filename="../PipxAppStartDialog.ui" line="0"/>
-        <source>Press to execute the application with the entered parameters.</source>
-        <translation>Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ.</translation>
+      <location filename="../PipxAppStartDialog.ui" line="0" />
+      <source>Press to execute the application with the entered parameters.</source>
+      <translation>Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ.</translation>
     </message>
     <message>
-        <location filename="../PipxAppStartDialog.ui" line="0"/>
-        <source>Output</source>
-        <translation>Π’Ρ‹Π²ΠΎΠ΄</translation>
+      <location filename="../PipxAppStartDialog.ui" line="0" />
+      <source>Output</source>
+      <translation>Π’Ρ‹Π²ΠΎΠ΄</translation>
     </message>
     <message>
-        <location filename="../PipxAppStartDialog.ui" line="0"/>
-        <source>Errors</source>
-        <translation>Ошибки</translation>
+      <location filename="../PipxAppStartDialog.ui" line="0" />
+      <source>Errors</source>
+      <translation>Ошибки</translation>
     </message>
     <message>
-        <location filename="../PipxAppStartDialog.py" line="157"/>
-        <source>Process Generation Error</source>
-        <translation>Ошибка ΠΏΡ€ΠΈ запускС процСсса</translation>
+      <location filename="../PipxAppStartDialog.py" line="157" />
+      <source>Process Generation Error</source>
+      <translation>Ошибка ΠΏΡ€ΠΈ запускС процСсса</translation>
     </message>
     <message>
-        <location filename="../PipxAppStartDialog.py" line="158"/>
-        <source>The process {0} could not be started.</source>
-        <translation>НСвозмоТно Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ процСсс {0}.</translation>
+      <location filename="../PipxAppStartDialog.py" line="158" />
+      <source>The process {0} could not be started.</source>
+      <translation>НСвозмоТно Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ процСсс {0}.</translation>
     </message>
-</context>
-<context>
+  </context>
+  <context>
     <name>PipxDependenciesDialog</name>
     <message>
-        <location filename="../PipxDependenciesDialog.py" line="50"/>
-        <source>Outdated Dependencies of package &lt;b&gt;{0}&lt;/b&gt;</source>
-        <translation>Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ зависимости ΠΏΠ°ΠΊΠ΅Ρ‚Π° &lt;b&gt;{0}&lt;/b&gt;</translation>
+      <location filename="../PipxDependenciesDialog.py" line="50" />
+      <source>Outdated Dependencies of package &lt;b&gt;{0}&lt;/b&gt;</source>
+      <translation>Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ зависимости ΠΏΠ°ΠΊΠ΅Ρ‚Π° &lt;b&gt;{0}&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../PipxDependenciesDialog.py" line="52"/>
-        <source>Up-to-date Dependencies of package &lt;b&gt;{0}&lt;/b&gt;</source>
-        <translation>ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ зависимости ΠΏΠ°ΠΊΠ΅Ρ‚Π° &lt;b&gt;{0}&lt;/b&gt;</translation>
+      <location filename="../PipxDependenciesDialog.py" line="52" />
+      <source>Up-to-date Dependencies of package &lt;b&gt;{0}&lt;/b&gt;</source>
+      <translation>ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ зависимости ΠΏΠ°ΠΊΠ΅Ρ‚Π° &lt;b&gt;{0}&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../PipxDependenciesDialog.py" line="54"/>
-        <source>Dependencies of package &lt;b&gt;{0}&lt;/b&gt;</source>
-        <translation>Зависимости ΠΏΠ°ΠΊΠ΅Ρ‚Π° &lt;b&gt;{0}&lt;/b&gt;</translation>
+      <location filename="../PipxDependenciesDialog.py" line="54" />
+      <source>Dependencies of package &lt;b&gt;{0}&lt;/b&gt;</source>
+      <translation>Зависимости ΠΏΠ°ΠΊΠ΅Ρ‚Π° &lt;b&gt;{0}&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../PipxDependenciesDialog.ui" line="0"/>
-        <source>Package Dependencies</source>
-        <translation>Зависимости ΠΏΠ°ΠΊΠ΅Ρ‚Π°</translation>
+      <location filename="../PipxDependenciesDialog.ui" line="0" />
+      <source>Package Dependencies</source>
+      <translation>Зависимости ΠΏΠ°ΠΊΠ΅Ρ‚Π°</translation>
     </message>
     <message>
-        <location filename="../PipxDependenciesDialog.ui" line="0"/>
-        <source>Dependency</source>
-        <translation>Π—Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ</translation>
+      <location filename="../PipxDependenciesDialog.ui" line="0" />
+      <source>Dependency</source>
+      <translation>Π—Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ</translation>
     </message>
     <message>
-        <location filename="../PipxDependenciesDialog.ui" line="0"/>
-        <source>Installed Version</source>
-        <translation>УстановлСнная вСрсия</translation>
+      <location filename="../PipxDependenciesDialog.ui" line="0" />
+      <source>Installed Version</source>
+      <translation>УстановлСнная вСрсия</translation>
     </message>
     <message>
-        <location filename="../PipxDependenciesDialog.ui" line="0"/>
-        <source>Available Version</source>
-        <translation>Доступная вСрсия</translation>
+      <location filename="../PipxDependenciesDialog.ui" line="0" />
+      <source>Available Version</source>
+      <translation>Доступная вСрсия</translation>
     </message>
-</context>
-<context>
+  </context>
+  <context>
     <name>PipxExecDialog</name>
     <message>
-        <location filename="../PipxExecDialog.ui" line="0"/>
-        <source>Output</source>
-        <translation>Π’Ρ‹Π²ΠΎΠ΄</translation>
+      <location filename="../PipxExecDialog.ui" line="0" />
+      <source>Output</source>
+      <translation>Π’Ρ‹Π²ΠΎΠ΄</translation>
     </message>
     <message>
-        <location filename="../PipxExecDialog.ui" line="0"/>
-        <source>Errors</source>
-        <translation>Ошибки</translation>
+      <location filename="../PipxExecDialog.ui" line="0" />
+      <source>Errors</source>
+      <translation>Ошибки</translation>
     </message>
     <message>
-        <location filename="../PipxExecDialog.py" line="153"/>
-        <source>Process Generation Error</source>
-        <translation>Ошибка ΠΏΡ€ΠΈ запускС процСсса</translation>
+      <location filename="../PipxExecDialog.py" line="153" />
+      <source>Process Generation Error</source>
+      <translation>Ошибка ΠΏΡ€ΠΈ запускС процСсса</translation>
     </message>
     <message>
-        <location filename="../PipxExecDialog.py" line="154"/>
-        <source>The process {0} could not be started.</source>
-        <translation>НСвозмоТно Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ процСсс {0}.</translation>
+      <location filename="../PipxExecDialog.py" line="154" />
+      <source>The process {0} could not be started.</source>
+      <translation>НСвозмоТно Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ процСсс {0}.</translation>
     </message>
-</context>
-<context>
+  </context>
+  <context>
     <name>PipxInterpretersDialog</name>
     <message>
-        <location filename="../PipxInterpretersDialog.ui" line="0"/>
-        <source>Standalone Python Interpreters</source>
-        <translation>АвтономныС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ Python</translation>
+      <location filename="../PipxInterpretersDialog.ui" line="0" />
+      <source>Standalone Python Interpreters</source>
+      <translation>АвтономныС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ Python</translation>
     </message>
     <message>
-        <location filename="../PipxInterpretersDialog.ui" line="0"/>
-        <source>Press to refresh the list of interpreters.</source>
-        <translation>ΠžΡΠ²Π΅ΠΆΠΈΡ‚ΡŒ список ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ².</translation>
+      <location filename="../PipxInterpretersDialog.ui" line="0" />
+      <source>Press to refresh the list of interpreters.</source>
+      <translation>ΠžΡΠ²Π΅ΠΆΠΈΡ‚ΡŒ список ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ².</translation>
     </message>
     <message>
-        <location filename="../PipxInterpretersDialog.ui" line="0"/>
-        <source>Press to upgrade installed interpreters to the latest micro version.</source>
-        <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ установлСнныС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ Π΄ΠΎ послСднСй ΠΌΠΈΠΊΡ€ΠΎ-вСрсии.</translation>
+      <location filename="../PipxInterpretersDialog.ui" line="0" />
+      <source>Press to upgrade installed interpreters to the latest micro version.</source>
+      <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ установлСнныС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ Π΄ΠΎ послСднСй ΠΌΠΈΠΊΡ€ΠΎ-вСрсии.</translation>
     </message>
     <message>
-        <location filename="../PipxInterpretersDialog.ui" line="0"/>
-        <source>Press to prune all unused interpreters.</source>
-        <translation>Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹.</translation>
+      <location filename="../PipxInterpretersDialog.ui" line="0" />
+      <source>Press to prune all unused interpreters.</source>
+      <translation>Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹.</translation>
     </message>
     <message>
-        <location filename="../PipxInterpretersDialog.ui" line="0"/>
-        <source>Interpreter/Package</source>
-        <translation>Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€/ΠŸΠ°ΠΊΠ΅Ρ‚</translation>
+      <location filename="../PipxInterpretersDialog.ui" line="0" />
+      <source>Interpreter/Package</source>
+      <translation>Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€/ΠŸΠ°ΠΊΠ΅Ρ‚</translation>
     </message>
     <message>
-        <location filename="../PipxInterpretersDialog.py" line="57"/>
-        <source>Python {0}{1}</source>
-        <translation>Python {0}{1}</translation>
+      <location filename="../PipxInterpretersDialog.py" line="57" />
+      <source>Python {0}{1}</source>
+      <translation>Python {0}{1}</translation>
     </message>
     <message>
-        <location filename="../PipxInterpretersDialog.py" line="62"/>
-        <source> (unused)</source>
-        <translation> (Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ)</translation>
+      <location filename="../PipxInterpretersDialog.py" line="62" />
+      <source> (unused)</source>
+      <translation> (Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ)</translation>
     </message>
     <message>
-        <location filename="../PipxInterpretersDialog.py" line="71"/>
-        <source>{0} {1}</source>
-        <comment>package, version</comment>
-        <translation>{0} {1}</translation>
+      <location filename="../PipxInterpretersDialog.py" line="71" />
+      <source>{0} {1}</source>
+      <comment>package, version</comment>
+      <translation>{0} {1}</translation>
     </message>
-</context>
-<context>
+  </context>
+  <context>
     <name>PipxPackagesInputDialog</name>
     <message>
-        <location filename="../PipxPackagesInputDialog.ui" line="0"/>
-        <source>Packages</source>
-        <translation>ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
+      <location filename="../PipxPackagesInputDialog.ui" line="0" />
+      <source>Packages</source>
+      <translation>ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
     </message>
     <message>
-        <location filename="../PipxPackagesInputDialog.ui" line="0"/>
-        <source>Package Specifications (separated by whitespace):</source>
-        <translation>ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ символом пропуска):</translation>
+      <location filename="../PipxPackagesInputDialog.ui" line="0" />
+      <source>Package Specifications (separated by whitespace):</source>
+      <translation>ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ символом пропуска):</translation>
     </message>
     <message>
-        <location filename="../PipxPackagesInputDialog.ui" line="0"/>
-        <source>Standalone Python Interpreter</source>
-        <translation>Автономный ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python</translation>
+      <location filename="../PipxPackagesInputDialog.ui" line="0" />
+      <source>Standalone Python Interpreter</source>
+      <translation>Автономный ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python</translation>
     </message>
     <message>
-        <location filename="../PipxPackagesInputDialog.ui" line="0"/>
-        <source>&lt;b&gt;Note:&lt;/b&gt; Leave this entry empty to use the default Python interpreter.</source>
-        <translation>&lt;b&gt;ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:&lt;/b&gt; ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ это ΠΏΠΎΠ»Π΅ пустым, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.</translation>
+      <location filename="../PipxPackagesInputDialog.ui" line="0" />
+      <source>&lt;b&gt;Note:&lt;/b&gt; Leave this entry empty to use the default Python interpreter.</source>
+      <translation>&lt;b&gt;ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:&lt;/b&gt; ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ это ΠΏΠΎΠ»Π΅ пустым, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.</translation>
     </message>
     <message>
-        <location filename="../PipxPackagesInputDialog.ui" line="0"/>
-        <source>Version:</source>
-        <translation>ВСрсия:</translation>
+      <location filename="../PipxPackagesInputDialog.ui" line="0" />
+      <source>Version:</source>
+      <translation>ВСрсия:</translation>
     </message>
     <message>
-        <location filename="../PipxPackagesInputDialog.ui" line="0"/>
-        <source>Enter the version number of the Python interpreter to be used.</source>
-        <translation>Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ вСрсии ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Python ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.</translation>
+      <location filename="../PipxPackagesInputDialog.ui" line="0" />
+      <source>Enter the version number of the Python interpreter to be used.</source>
+      <translation>Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ вСрсии ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Python ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.</translation>
     </message>
     <message>
-        <location filename="../PipxPackagesInputDialog.ui" line="0"/>
-        <source>Select to fetch a standalone Python build from GitHub if the specified Python version is not found locally on the system.</source>
-        <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΡƒΡŽ сборку Python с GitHub, Ссли заданная вСрсия Python Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° локально Π² систСмС.</translation>
+      <location filename="../PipxPackagesInputDialog.ui" line="0" />
+      <source>Select to fetch a standalone Python build from GitHub if the specified Python version is not found locally on the system.</source>
+      <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΡƒΡŽ сборку Python с GitHub, Ссли заданная вСрсия Python Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° локально Π² систСмС.</translation>
     </message>
     <message>
-        <location filename="../PipxPackagesInputDialog.ui" line="0"/>
-        <source>Fetch missing Python interpreter</source>
-        <translation>Π—Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python</translation>
+      <location filename="../PipxPackagesInputDialog.ui" line="0" />
+      <source>Fetch missing Python interpreter</source>
+      <translation>Π—Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python</translation>
     </message>
     <message>
-        <location filename="../PipxPackagesInputDialog.ui" line="0"/>
-        <source>Select to force the modification of existing virtual environments.</source>
-        <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ срСды.</translation>
+      <location filename="../PipxPackagesInputDialog.ui" line="0" />
+      <source>Select to force the modification of existing virtual environments.</source>
+      <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ срСды.</translation>
     </message>
     <message>
-        <location filename="../PipxPackagesInputDialog.ui" line="0"/>
-        <source>Force virtual environment modifications</source>
-        <translation>ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ срСду</translation>
+      <location filename="../PipxPackagesInputDialog.ui" line="0" />
+      <source>Force virtual environment modifications</source>
+      <translation>ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ срСду</translation>
     </message>
     <message>
-        <location filename="../PipxPackagesInputDialog.ui" line="0"/>
-        <source>Select to give the virtual environment access to the system site-packages directory.</source>
-        <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС доступ ΠΊ систСмному ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ site-packages.</translation>
+      <location filename="../PipxPackagesInputDialog.ui" line="0" />
+      <source>Select to give the virtual environment access to the system site-packages directory.</source>
+      <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС доступ ΠΊ систСмному ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ site-packages.</translation>
     </message>
     <message>
-        <location filename="../PipxPackagesInputDialog.ui" line="0"/>
-        <source>System-wide Python Packages</source>
-        <translation>ΠžΠ±Ρ‰Π΅ΡΠΈΡΡ‚Π΅ΠΌΠ½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Python</translation>
+      <location filename="../PipxPackagesInputDialog.ui" line="0" />
+      <source>System-wide Python Packages</source>
+      <translation>ΠžΠ±Ρ‰Π΅ΡΠΈΡΡ‚Π΅ΠΌΠ½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Python</translation>
     </message>
-</context>
-<context>
+  </context>
+  <context>
     <name>PipxPage</name>
     <message>
-        <location filename="../ConfigurationPage/PipxPage.ui" line="0"/>
-        <source>&lt;b&gt;Configure Python Application Management&lt;/b&gt;</source>
-        <translation>&lt;b&gt;Настройка управлСния прилоТСниями Python&lt;/b&gt;</translation>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>&lt;b&gt;Configure Python Application Management&lt;/b&gt;</source>
+      <translation>&lt;b&gt;Настройка управлСния прилоТСниями Python&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/PipxPage.ui" line="0"/>
-        <source>Index URL</source>
-        <translation>URL-адрСс индСкса</translation>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>Index URL</source>
+      <translation>URL-адрСс индСкса</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/PipxPage.ui" line="0"/>
-        <source>&lt;b&gt;Note&lt;/b&gt;: The index URL is configured on the &apos;Python Package Management&apos; page.</source>
-        <translation>&lt;b&gt;ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅&lt;/b&gt;: URL-адрСс индСкса настраиваСтся Π½Π° страницС &apos;ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Python&apos;.</translation>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>&lt;b&gt;Note&lt;/b&gt;: The index URL is configured on the 'Python Package Management' page.</source>
+      <translation>&lt;b&gt;ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅&lt;/b&gt;: URL-адрСс индСкса настраиваСтся Π½Π° страницС 'ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Python'.</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/PipxPage.ui" line="0"/>
-        <source>Outdated Application Packages</source>
-        <translation>Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ</translation>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>Outdated Application Packages</source>
+      <translation>Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/PipxPage.ui" line="0"/>
-        <source>Select to determine outdated packages when loading the list of installed packages.</source>
-        <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ списка установлСнных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².</translation>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>Select to determine outdated packages when loading the list of installed packages.</source>
+      <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ списка установлСнных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/PipxPage.ui" line="0"/>
-        <source>Determine outdated packages automatically</source>
-        <translation>АвтоматичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>Determine outdated packages automatically</source>
+      <translation>АвтоматичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/PipxPage.ui" line="0"/>
-        <source>Select to determine packages with any outdated dependencies when determining outdated packages.</source>
-        <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ с Π»ΡŽΠ±Ρ‹ΠΌΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ зависимостями ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².</translation>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>Select to determine packages with any outdated dependencies when determining outdated packages.</source>
+      <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ с Π»ΡŽΠ±Ρ‹ΠΌΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ зависимостями ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/PipxPage.ui" line="0"/>
-        <source>Determine packages with outdated dependencies</source>
-        <translation>ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ с ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ зависимостями</translation>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>Determine packages with outdated dependencies</source>
+      <translation>ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ с ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ зависимостями</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/PipxPage.ui" line="0"/>
-        <source>Recent Application Working Directories</source>
-        <translation>ПослСдниС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ</translation>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>Periodic Check Interval:</source>
+      <translation type="unfinished" />
     </message>
     <message>
-        <location filename="../ConfigurationPage/PipxPage.ui" line="0"/>
-        <source>Number of recent working directories:</source>
-        <translation>ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ послСдних Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ:</translation>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>&lt;p&gt;Enter the interval in hours for a periodic check for outdated packages (1 &amp;le; value &amp;le; 24; 0 = disabled).&lt;/p&gt;</source>
+      <translation type="unfinished" />
     </message>
     <message>
-        <location filename="../ConfigurationPage/PipxPage.ui" line="0"/>
-        <source>Enter the number of recently used working directories  to remember</source>
-        <translation>Π—Π°Π΄Π°ΠΉΡ‚Π΅ количСство Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ для запоминания</translation>
-    </message>
-</context>
-<context>
-    <name>PipxReinstallDialog</name>
-    <message>
-        <location filename="../PipxReinstallDialog.ui" line="0"/>
-        <source>Package Re-Installation</source>
-        <translation>ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅Ρ‚Π°</translation>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>disabled</source>
+      <translation type="unfinished" />
     </message>
     <message>
-        <location filename="../PipxReinstallDialog.ui" line="0"/>
-        <source>Skip Packages</source>
-        <translation>ΠŸΡ€ΠΎΠΏΡƒΡΠΊ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²</translation>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source> hours</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>Recent Application Working Directories</source>
+      <translation>ПослСдниС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ</translation>
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>Number of recent working directories:</source>
+      <translation>ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ послСдних Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ:</translation>
     </message>
     <message>
-        <location filename="../PipxReinstallDialog.ui" line="0"/>
-        <source>Package Specifications (separated by whitespace):</source>
-        <translation>ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ символом пропуска):</translation>
+      <location filename="../ConfigurationPage/PipxPage.ui" line="0" />
+      <source>Enter the number of recently used working directories  to remember</source>
+      <translation>Π—Π°Π΄Π°ΠΉΡ‚Π΅ количСство Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ для запоминания</translation>
+    </message>
+  </context>
+  <context>
+    <name>PipxReinstallDialog</name>
+    <message>
+      <location filename="../PipxReinstallDialog.ui" line="0" />
+      <source>Package Re-Installation</source>
+      <translation>ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅Ρ‚Π°</translation>
     </message>
     <message>
-        <location filename="../PipxReinstallDialog.ui" line="0"/>
-        <source>Standalone Python Interpreter</source>
-        <translation>Автономный ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python</translation>
+      <location filename="../PipxReinstallDialog.ui" line="0" />
+      <source>Skip Packages</source>
+      <translation>ΠŸΡ€ΠΎΠΏΡƒΡΠΊ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²</translation>
     </message>
     <message>
-        <location filename="../PipxReinstallDialog.ui" line="0"/>
-        <source>&lt;b&gt;Note:&lt;/b&gt; Leave this entry empty to use the default Python interpreter.</source>
-        <translation>&lt;b&gt;ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:&lt;/b&gt; ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ это ΠΏΠΎΠ»Π΅ пустым для использования ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Python ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.</translation>
-    </message>
-    <message>
-        <location filename="../PipxReinstallDialog.ui" line="0"/>
-        <source>Version:</source>
-        <translation>ВСрсия:</translation>
+      <location filename="../PipxReinstallDialog.ui" line="0" />
+      <source>Package Specifications (separated by whitespace):</source>
+      <translation>ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ символом пропуска):</translation>
     </message>
     <message>
-        <location filename="../PipxReinstallDialog.ui" line="0"/>
-        <source>Enter the version number of the Python interpreter to be used.</source>
-        <translation>Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ вСрсии ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.</translation>
+      <location filename="../PipxReinstallDialog.ui" line="0" />
+      <source>Standalone Python Interpreter</source>
+      <translation>Автономный ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python</translation>
     </message>
     <message>
-        <location filename="../PipxReinstallDialog.ui" line="0"/>
-        <source>Select to fetch a standalone Python build from GitHub if the specified Python version is not found locally on the system.</source>
-        <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΡƒΡŽ сборку Python с GitHub, Ссли заданная вСрсия Python Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° локально Π² систСмС.</translation>
+      <location filename="../PipxReinstallDialog.ui" line="0" />
+      <source>&lt;b&gt;Note:&lt;/b&gt; Leave this entry empty to use the default Python interpreter.</source>
+      <translation>&lt;b&gt;ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:&lt;/b&gt; ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ это ΠΏΠΎΠ»Π΅ пустым для использования ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Python ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.</translation>
     </message>
     <message>
-        <location filename="../PipxReinstallDialog.ui" line="0"/>
-        <source>Fetch missing Python interpreter</source>
-        <translation>Π—Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python</translation>
-    </message>
-</context>
-<context>
-    <name>PipxSpecInputDialog</name>
-    <message>
-        <location filename="../PipxSpecInputDialog.py" line="40"/>
-        <source>JSON Files (*.json);;All Files (*)</source>
-        <translation>Π€Π°ΠΉΠ»Ρ‹ JSON (*.json);;ВсС Ρ„Π°ΠΉΠ»Ρ‹ (*)</translation>
+      <location filename="../PipxReinstallDialog.ui" line="0" />
+      <source>Version:</source>
+      <translation>ВСрсия:</translation>
     </message>
     <message>
-        <location filename="../PipxSpecInputDialog.ui" line="0"/>
-        <source>Spec Metadata File</source>
-        <translation>Π€Π°ΠΉΠ» спСцификации ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…</translation>
+      <location filename="../PipxReinstallDialog.ui" line="0" />
+      <source>Enter the version number of the Python interpreter to be used.</source>
+      <translation>Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ вСрсии ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.</translation>
+    </message>
+    <message>
+      <location filename="../PipxReinstallDialog.ui" line="0" />
+      <source>Select to fetch a standalone Python build from GitHub if the specified Python version is not found locally on the system.</source>
+      <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΡƒΡŽ сборку Python с GitHub, Ссли заданная вСрсия Python Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° локально Π² систСмС.</translation>
     </message>
     <message>
-        <location filename="../PipxSpecInputDialog.ui" line="0"/>
-        <source>Spec Metadata File:</source>
-        <translation>Π€Π°ΠΉΠ» спСцификации ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…:</translation>
+      <location filename="../PipxReinstallDialog.ui" line="0" />
+      <source>Fetch missing Python interpreter</source>
+      <translation>Π—Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python</translation>
     </message>
+  </context>
+  <context>
+    <name>PipxSpecInputDialog</name>
     <message>
-        <location filename="../PipxSpecInputDialog.ui" line="0"/>
-        <source>Enter the path of the spec metadata file.</source>
-        <translation>Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ спСцификации ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ….</translation>
+      <location filename="../PipxSpecInputDialog.py" line="40" />
+      <source>JSON Files (*.json);;All Files (*)</source>
+      <translation>Π€Π°ΠΉΠ»Ρ‹ JSON (*.json);;ВсС Ρ„Π°ΠΉΠ»Ρ‹ (*)</translation>
     </message>
     <message>
-        <location filename="../PipxSpecInputDialog.ui" line="0"/>
-        <source>Standalone Python Interpreter</source>
-        <translation>Автономный ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python</translation>
+      <location filename="../PipxSpecInputDialog.ui" line="0" />
+      <source>Spec Metadata File</source>
+      <translation>Π€Π°ΠΉΠ» спСцификации ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…</translation>
     </message>
     <message>
-        <location filename="../PipxSpecInputDialog.ui" line="0"/>
-        <source>&lt;b&gt;Note:&lt;/b&gt; Leave this entry empty to use the default Python interpreter.</source>
-        <translation>&lt;b&gt;ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:&lt;/b&gt; ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ это ΠΏΠΎΠ»Π΅ пустым, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.</translation>
+      <location filename="../PipxSpecInputDialog.ui" line="0" />
+      <source>Spec Metadata File:</source>
+      <translation>Π€Π°ΠΉΠ» спСцификации ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…:</translation>
     </message>
     <message>
-        <location filename="../PipxSpecInputDialog.ui" line="0"/>
-        <source>Version:</source>
-        <translation>ВСрсия:</translation>
+      <location filename="../PipxSpecInputDialog.ui" line="0" />
+      <source>Enter the path of the spec metadata file.</source>
+      <translation>Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ спСцификации ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ….</translation>
     </message>
     <message>
-        <location filename="../PipxSpecInputDialog.ui" line="0"/>
-        <source>Enter the version number of the Python interpreter to be used.</source>
-        <translation>Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ вСрсии ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.</translation>
+      <location filename="../PipxSpecInputDialog.ui" line="0" />
+      <source>Standalone Python Interpreter</source>
+      <translation>Автономный ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python</translation>
     </message>
     <message>
-        <location filename="../PipxSpecInputDialog.ui" line="0"/>
-        <source>Select to fetch a standalone Python build from GitHub if the specified Python version is not found locally on the system.</source>
-        <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΡƒΡŽ сборку Python с GitHub, Ссли заданная вСрсия Python Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° локально Π² систСмС.</translation>
+      <location filename="../PipxSpecInputDialog.ui" line="0" />
+      <source>&lt;b&gt;Note:&lt;/b&gt; Leave this entry empty to use the default Python interpreter.</source>
+      <translation>&lt;b&gt;ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:&lt;/b&gt; ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ это ΠΏΠΎΠ»Π΅ пустым, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.</translation>
+    </message>
+    <message>
+      <location filename="../PipxSpecInputDialog.ui" line="0" />
+      <source>Version:</source>
+      <translation>ВСрсия:</translation>
     </message>
     <message>
-        <location filename="../PipxSpecInputDialog.ui" line="0"/>
-        <source>Fetch missing Python interpreter</source>
-        <translation>Π—Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python</translation>
+      <location filename="../PipxSpecInputDialog.ui" line="0" />
+      <source>Enter the version number of the Python interpreter to be used.</source>
+      <translation>Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ вСрсии ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.</translation>
     </message>
     <message>
-        <location filename="../PipxSpecInputDialog.ui" line="0"/>
-        <source>Select to force the modification of existing virtual environments.</source>
-        <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ срСды.</translation>
+      <location filename="../PipxSpecInputDialog.ui" line="0" />
+      <source>Select to fetch a standalone Python build from GitHub if the specified Python version is not found locally on the system.</source>
+      <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΡƒΡŽ сборку Python с GitHub, Ссли заданная вСрсия Python Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° локально Π² систСмС.</translation>
     </message>
     <message>
-        <location filename="../PipxSpecInputDialog.ui" line="0"/>
-        <source>Force virtual environment modifications</source>
-        <translation>ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ срСду</translation>
+      <location filename="../PipxSpecInputDialog.ui" line="0" />
+      <source>Fetch missing Python interpreter</source>
+      <translation>Π—Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python</translation>
     </message>
     <message>
-        <location filename="../PipxSpecInputDialog.ui" line="0"/>
-        <source>Select to give the virtual environment access to the system site-packages directory.</source>
-        <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС доступ ΠΊ систСмной Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ site-packages.</translation>
+      <location filename="../PipxSpecInputDialog.ui" line="0" />
+      <source>Select to force the modification of existing virtual environments.</source>
+      <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ срСды.</translation>
     </message>
     <message>
-        <location filename="../PipxSpecInputDialog.ui" line="0"/>
-        <source>System-wide Python Packages</source>
-        <translation>ΠžΠ±Ρ‰Π΅ΡΠΈΡΡ‚Π΅ΠΌΠ½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Python</translation>
+      <location filename="../PipxSpecInputDialog.ui" line="0" />
+      <source>Force virtual environment modifications</source>
+      <translation>ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ срСду</translation>
     </message>
-</context>
-<context>
+    <message>
+      <location filename="../PipxSpecInputDialog.ui" line="0" />
+      <source>Select to give the virtual environment access to the system site-packages directory.</source>
+      <translation>Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС доступ ΠΊ систСмной Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ site-packages.</translation>
+    </message>
+    <message>
+      <location filename="../PipxSpecInputDialog.ui" line="0" />
+      <source>System-wide Python Packages</source>
+      <translation>ΠžΠ±Ρ‰Π΅ΡΠΈΡΡ‚Π΅ΠΌΠ½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Python</translation>
+    </message>
+  </context>
+  <context>
     <name>PipxWidget</name>
     <message>
-        <location filename="../PipxWidget.py" line="113"/>
-        <source>Install</source>
-        <translation>Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ</translation>
-    </message>
-    <message>
-        <location filename="../PipxWidget.py" line="246"/>
-        <location filename="../PipxWidget.py" line="115"/>
-        <source>Install Packages</source>
-        <translation>Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
-    </message>
-    <message>
-        <location filename="../PipxWidget.py" line="265"/>
-        <location filename="../PipxWidget.py" line="118"/>
-        <source>Install All Packages</source>
-        <translation>Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
+      <location filename="../PipxWidget.py" line="126" />
+      <source>Install</source>
+      <translation>Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="122"/>
-        <source>Re-Install Selected Package</source>
-        <translation>ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚</translation>
+      <location filename="../PipxWidget.py" line="259" />
+      <location filename="../PipxWidget.py" line="128" />
+      <source>Install Packages</source>
+      <translation>Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="363"/>
-        <location filename="../PipxWidget.py" line="125"/>
-        <source>Re-Install All Packages</source>
-        <translation>ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
+      <location filename="../PipxWidget.py" line="278" />
+      <location filename="../PipxWidget.py" line="131" />
+      <source>Install All Packages</source>
+      <translation>Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="321"/>
-        <location filename="../PipxWidget.py" line="312"/>
-        <location filename="../PipxWidget.py" line="300"/>
-        <location filename="../PipxWidget.py" line="284"/>
-        <location filename="../PipxWidget.py" line="129"/>
-        <source>Create Spec Metadata File</source>
-        <translation>Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» спСцификации ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…</translation>
+      <location filename="../PipxWidget.py" line="135" />
+      <source>Re-Install Selected Package</source>
+      <translation>ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="136"/>
-        <source>Upgrade</source>
-        <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ</translation>
+      <location filename="../PipxWidget.py" line="376" />
+      <location filename="../PipxWidget.py" line="138" />
+      <source>Re-Install All Packages</source>
+      <translation>ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="138"/>
-        <source>Check Outdated Packages</source>
-        <translation>ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
+      <location filename="../PipxWidget.py" line="334" />
+      <location filename="../PipxWidget.py" line="325" />
+      <location filename="../PipxWidget.py" line="313" />
+      <location filename="../PipxWidget.py" line="297" />
+      <location filename="../PipxWidget.py" line="142" />
+      <source>Create Spec Metadata File</source>
+      <translation>Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» спСцификации ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="434"/>
-        <location filename="../PipxWidget.py" line="142"/>
-        <source>Upgrade Selected Package</source>
-        <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚</translation>
+      <location filename="../PipxWidget.py" line="149" />
+      <source>Upgrade</source>
+      <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="459"/>
-        <location filename="../PipxWidget.py" line="145"/>
-        <source>Upgrade All Packages</source>
-        <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
+      <location filename="../PipxWidget.py" line="151" />
+      <source>Check Outdated Packages</source>
+      <translation>ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="149"/>
-        <source>Upgrade Shared Libraries</source>
-        <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ</translation>
+      <location filename="../PipxWidget.py" line="464" />
+      <location filename="../PipxWidget.py" line="155" />
+      <source>Upgrade Selected Package</source>
+      <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="156"/>
-        <source>Uninstall</source>
-        <translation>Π”Π΅ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ</translation>
+      <location filename="../PipxWidget.py" line="489" />
+      <location filename="../PipxWidget.py" line="158" />
+      <source>Upgrade All Packages</source>
+      <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="158"/>
-        <source>Uninstall Selected Package</source>
-        <translation>Π”Π΅ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚</translation>
+      <location filename="../PipxWidget.py" line="162" />
+      <source>Upgrade Shared Libraries</source>
+      <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="501"/>
-        <location filename="../PipxWidget.py" line="161"/>
-        <source>Uninstall All Packages</source>
-        <translation>Π”Π΅ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
+      <location filename="../PipxWidget.py" line="169" />
+      <source>Uninstall</source>
+      <translation>Π”Π΅ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="168"/>
-        <source>Dependencies</source>
-        <translation>Зависимости</translation>
+      <location filename="../PipxWidget.py" line="171" />
+      <source>Uninstall Selected Package</source>
+      <translation>Π”Π΅ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="170"/>
-        <source>Show All Dependencies</source>
-        <translation>ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС зависимости</translation>
+      <location filename="../PipxWidget.py" line="531" />
+      <location filename="../PipxWidget.py" line="174" />
+      <source>Uninstall All Packages</source>
+      <translation>Π”Π΅ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="173"/>
-        <source>Show Outdated Dependencies</source>
-        <translation>ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ зависимости</translation>
+      <location filename="../PipxWidget.py" line="181" />
+      <source>Dependencies</source>
+      <translation>Зависимости</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="176"/>
-        <source>Show Up-to-date Dependencies</source>
-        <translation>ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ зависимости</translation>
+      <location filename="../PipxWidget.py" line="183" />
+      <source>Show All Dependencies</source>
+      <translation>ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС зависимости</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="180"/>
-        <source>Upgrade Dependencies</source>
-        <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ зависимости</translation>
+      <location filename="../PipxWidget.py" line="186" />
+      <source>Show Outdated Dependencies</source>
+      <translation>ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ зависимости</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="199"/>
-        <source>Standalone Interpreters</source>
-        <translation>АвтономныС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹</translation>
+      <location filename="../PipxWidget.py" line="189" />
+      <source>Show Up-to-date Dependencies</source>
+      <translation>ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ зависимости</translation>
+    </message>
+    <message>
+      <location filename="../PipxWidget.py" line="193" />
+      <source>Upgrade Dependencies</source>
+      <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ зависимости</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="203"/>
-        <source>Ensure PATH Modifications</source>
-        <translation>ВнСсти измСнСния Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ PATH</translation>
+      <location filename="../PipxWidget.py" line="212" />
+      <source>Standalone Interpreters</source>
+      <translation>АвтономныС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="206"/>
-        <source>Configure...</source>
-        <translation>ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ...</translation>
+      <location filename="../PipxWidget.py" line="216" />
+      <source>Ensure PATH Modifications</source>
+      <translation>ВнСсти измСнСния Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ PATH</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="286"/>
-        <source>JSON Files (*.json);;All Files (*)</source>
-        <translation>Π€Π°ΠΉΠ»Ρ‹ JSON (*.json);;ВсС Ρ„Π°ΠΉΠ»Ρ‹ (*)</translation>
+      <location filename="../PipxWidget.py" line="219" />
+      <source>Configure...</source>
+      <translation>ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ...</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="287"/>
-        <source>JSON Files (*.json)</source>
-        <translation>Π€Π°ΠΉΠ»Ρ‹ JSON (*.json)</translation>
+      <location filename="../PipxWidget.py" line="299" />
+      <source>JSON Files (*.json);;All Files (*)</source>
+      <translation>Π€Π°ΠΉΠ»Ρ‹ JSON (*.json);;ВсС Ρ„Π°ΠΉΠ»Ρ‹ (*)</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="301"/>
-        <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; exists already. Overwrite it?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Π€Π°ΠΉΠ» &lt;b&gt;{0}&lt;/b&gt; ΡƒΠΆΠ΅ сущСствуСт. ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ?&lt;/p&gt;</translation>
+      <location filename="../PipxWidget.py" line="300" />
+      <source>JSON Files (*.json)</source>
+      <translation>Π€Π°ΠΉΠ»Ρ‹ JSON (*.json)</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="313"/>
-        <source>&lt;p&gt;The spec metadata file &lt;b&gt;{0}&lt;/b&gt; was created successfully.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Π€Π°ΠΉΠ» спСцификации ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…  &lt;b&gt;{0}&lt;/b&gt; Π±Ρ‹Π» ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ создан.&lt;/p&gt;</translation>
+      <location filename="../PipxWidget.py" line="314" />
+      <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; exists already. 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="../PipxWidget.py" line="322"/>
-        <source>&lt;p&gt;The spec metadata file &lt;b&gt;{0}&lt;/b&gt; could not be created.&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>
+      <location filename="../PipxWidget.py" line="326" />
+      <source>&lt;p&gt;The spec metadata file &lt;b&gt;{0}&lt;/b&gt; was created successfully.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Π€Π°ΠΉΠ» спСцификации ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…  &lt;b&gt;{0}&lt;/b&gt; Π±Ρ‹Π» ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ создан.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="338"/>
-        <source>Re-Install Package</source>
-        <translation>ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚</translation>
+      <location filename="../PipxWidget.py" line="335" />
+      <source>&lt;p&gt;The spec metadata file &lt;b&gt;{0}&lt;/b&gt; could not be created.&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="../PipxWidget.py" line="339"/>
-        <source>&lt;p&gt;Shall the package &lt;b&gt;{0}&lt;/b&gt; really be reinstalled?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ &lt;b&gt;{0}&lt;/b&gt; Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ пСрСустановлСн?&lt;/p&gt;</translation>
+      <location filename="../PipxWidget.py" line="351" />
+      <source>Re-Install Package</source>
+      <translation>ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="364"/>
-        <source>Do you really want to reinstall all packages?</source>
-        <translation>Π’Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹?</translation>
+      <location filename="../PipxWidget.py" line="352" />
+      <source>&lt;p&gt;Shall the package &lt;b&gt;{0}&lt;/b&gt; really be reinstalled?&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ &lt;b&gt;{0}&lt;/b&gt; Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ пСрСустановлСн?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="435"/>
-        <source>&lt;p&gt;The selected package cannot be upgraded because some of its apps are running.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Stop these apps and try again.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ эти прилоТСния ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ.&lt;/p&gt;</translation>
+      <location filename="../PipxWidget.py" line="377" />
+      <source>Do you really want to reinstall all packages?</source>
+      <translation>Π’Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹?</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="460"/>
-        <source>&lt;p&gt;The packages cannot be upgraded because some of their apps are running.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Stop these apps and try again.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;ОбновлСниС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ эти прилоТСния ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ.&lt;/p&gt;</translation>
+      <location filename="../PipxWidget.py" line="465" />
+      <source>&lt;p&gt;The selected package cannot be upgraded because some of its apps are running.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Stop these apps and try again.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ эти прилоТСния ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="485"/>
-        <source>Uninstall Package</source>
-        <translation>Π”Π΅ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚</translation>
+      <location filename="../PipxWidget.py" line="490" />
+      <source>&lt;p&gt;The packages cannot be upgraded because some of their apps are running.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Stop these apps and try again.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;ОбновлСниС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ эти прилоТСния ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="486"/>
-        <source>&lt;p&gt;Shall the package &lt;b&gt;{0}&lt;/b&gt; really be uninstalled?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ &lt;b&gt;{0}&lt;/b&gt; Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½?&lt;/p&gt;</translation>
+      <location filename="../PipxWidget.py" line="515" />
+      <source>Uninstall Package</source>
+      <translation>Π”Π΅ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="502"/>
-        <source>&lt;p&gt;Do you really want to uninstall &lt;b&gt;ALL&lt;/b&gt; packages?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Π’Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ &lt;/b&gt;Π’Π‘Π• &lt;/b&gt; ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹?&lt;/p&gt;</translation>
+      <location filename="../PipxWidget.py" line="516" />
+      <source>&lt;p&gt;Shall the package &lt;b&gt;{0}&lt;/b&gt; really be uninstalled?&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ &lt;b&gt;{0}&lt;/b&gt; Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="606"/>
-        <source>&lt;b&gt;pipx Version {0}&lt;/b&gt;</source>
-        <translation>&lt;b&gt;ВСрсия pipx {0}&lt;/b&gt;</translation>
+      <location filename="../PipxWidget.py" line="532" />
+      <source>&lt;p&gt;Do you really want to uninstall &lt;b&gt;ALL&lt;/b&gt; packages?&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Π’Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ &lt;/b&gt;Π’Π‘Π• &lt;/b&gt; ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹?&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../PipxWidget.py" line="636" />
+      <source>&lt;b&gt;pipx Version {0}&lt;/b&gt;</source>
+      <translation>&lt;b&gt;ВСрсия pipx {0}&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="636"/>
-        <source>{0} ({1})</source>
-        <comment>current version, latest version</comment>
-        <translation>{0} ({1})</translation>
+      <location filename="../PipxWidget.py" line="666" />
+      <source>{0} ({1})</source>
+      <comment>current version, latest version</comment>
+      <translation>{0} ({1})</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="644"/>
-        <source>package and some dependencies outdated</source>
-        <translation>ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависимости устарСли</translation>
+      <location filename="../PipxWidget.py" line="674" />
+      <source>package and some dependencies outdated</source>
+      <translation>ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависимости устарСли</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="647"/>
-        <source>package outdated</source>
-        <translation>ΠΏΠ°ΠΊΠ΅Ρ‚ устарСл</translation>
-    </message>
-    <message>
-        <location filename="../PipxWidget.py" line="661"/>
-        <source>some dependencies outdated</source>
-        <translation>Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависимости устарСли</translation>
+      <location filename="../PipxWidget.py" line="677" />
+      <source>package outdated</source>
+      <translation>ΠΏΠ°ΠΊΠ΅Ρ‚ устарСл</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="676"/>
-        <source>everything up-to-date</source>
-        <translation>всС обновлСно</translation>
+      <location filename="../PipxWidget.py" line="691" />
+      <source>some dependencies outdated</source>
+      <translation>Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависимости устарСли</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="703"/>
-        <source>{0}{1}</source>
-        <comment>Python version, standalone indicator</comment>
-        <translation></translation>
+      <location filename="../PipxWidget.py" line="706" />
+      <source>everything up-to-date</source>
+      <translation>всС обновлСно</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.py" line="705"/>
-        <source> (standalone)</source>
-        <translation> (Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ)</translation>
+      <location filename="../PipxWidget.py" line="733" />
+      <source>{0}{1}</source>
+      <comment>Python version, standalone indicator</comment>
+      <translation />
     </message>
     <message>
-        <location filename="../PipxWidget.ui" line="0"/>
-        <source>Paths Information</source>
-        <translation>Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ путях</translation>
+      <location filename="../PipxWidget.py" line="735" />
+      <source> (standalone)</source>
+      <translation> (Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ)</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.ui" line="0"/>
-        <source>Virtual Environments:</source>
-        <translation>Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ срСды:</translation>
+      <location filename="../PipxWidget.ui" line="0" />
+      <source>Paths Information</source>
+      <translation>Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ путях</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.ui" line="0"/>
-        <source>Applications:</source>
-        <translation>ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:</translation>
+      <location filename="../PipxWidget.ui" line="0" />
+      <source>Virtual Environments:</source>
+      <translation>Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ срСды:</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.ui" line="0"/>
-        <source>Manual Pages:</source>
-        <translation>Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹ руководства:</translation>
+      <location filename="../PipxWidget.ui" line="0" />
+      <source>Applications:</source>
+      <translation>ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.ui" line="0"/>
-        <source>Standalone Interpreters:</source>
-        <translation>АвтономныС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹:</translation>
+      <location filename="../PipxWidget.ui" line="0" />
+      <source>Manual Pages:</source>
+      <translation>Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹ руководства:</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.ui" line="0"/>
-        <source>Press to refresh the packages list.</source>
-        <translation>ΠžΡΠ²Π΅ΠΆΠΈΡ‚ΡŒ список ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².</translation>
+      <location filename="../PipxWidget.ui" line="0" />
+      <source>Standalone Interpreters:</source>
+      <translation>АвтономныС ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹:</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.ui" line="0"/>
-        <source>Press to install packages.</source>
-        <translation>Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹.</translation>
+      <location filename="../PipxWidget.ui" line="0" />
+      <source>Press to refresh the packages list.</source>
+      <translation>ΠžΡΠ²Π΅ΠΆΠΈΡ‚ΡŒ список ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.ui" line="0"/>
-        <source>Press to check for outdated packages.</source>
-        <translation>ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹.</translation>
+      <location filename="../PipxWidget.ui" line="0" />
+      <source>Press to install packages.</source>
+      <translation>Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹.</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.ui" line="0"/>
-        <source>Press to upgrade the selected package.</source>
-        <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚.</translation>
+      <location filename="../PipxWidget.ui" line="0" />
+      <source>Press to check for outdated packages.</source>
+      <translation>ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹.</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.ui" line="0"/>
-        <source>Press to uninstall the selected package.</source>
-        <translation>Π”Π΅ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚.</translation>
+      <location filename="../PipxWidget.ui" line="0" />
+      <source>Press to upgrade the selected package.</source>
+      <translation>ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚.</translation>
+    </message>
+    <message>
+      <location filename="../PipxWidget.ui" line="0" />
+      <source>Press to uninstall the selected package.</source>
+      <translation>Π”Π΅ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚.</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.ui" line="0"/>
-        <source>Package/Application</source>
-        <translation>ΠŸΠ°ΠΊΠ΅Ρ‚/ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅</translation>
+      <location filename="../PipxWidget.ui" line="0" />
+      <source>Package/Application</source>
+      <translation>ΠŸΠ°ΠΊΠ΅Ρ‚/ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.ui" line="0"/>
-        <source>Version</source>
-        <translation>ВСрсия</translation>
+      <location filename="../PipxWidget.ui" line="0" />
+      <source>Version</source>
+      <translation>ВСрсия</translation>
     </message>
     <message>
-        <location filename="../PipxWidget.ui" line="0"/>
-        <source>Python Version</source>
-        <translation>ВСрсия Python</translation>
+      <location filename="../PipxWidget.ui" line="0" />
+      <source>Python Version</source>
+      <translation>ВСрсия Python</translation>
     </message>
-</context>
-<context>
+  </context>
+  <context>
     <name>PluginPipxInterface</name>
     <message>
-        <location filename="../../PluginPipxInterface.py" line="190"/>
-        <location filename="../../PluginPipxInterface.py" line="189"/>
-        <location filename="../../PluginPipxInterface.py" line="185"/>
-        <location filename="../../PluginPipxInterface.py" line="72"/>
-        <source>PyPI Application Management</source>
-        <translation>Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ прилоТСниями PyPI</translation>
+      <location filename="../../PluginPipxInterface.py" line="197" />
+      <location filename="../../PluginPipxInterface.py" line="196" />
+      <location filename="../../PluginPipxInterface.py" line="192" />
+      <location filename="../../PluginPipxInterface.py" line="72" />
+      <source>PyPI Application Management</source>
+      <translation>Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ прилоТСниями PyPI</translation>
     </message>
     <message>
-        <location filename="../../PluginPipxInterface.py" line="114"/>
-        <source>Python Application Management</source>
-        <translation>ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Python</translation>
+      <location filename="../../PluginPipxInterface.py" line="114" />
+      <source>Python Application Management</source>
+      <translation>ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Python</translation>
     </message>
     <message>
-        <location filename="../../PluginPipxInterface.py" line="191"/>
-        <source>Ctrl+Alt+Shift+A</source>
-        <translation>Ctrl+Alt+Shift+A</translation>
+      <location filename="../../PluginPipxInterface.py" line="198" />
+      <source>Ctrl+Alt+Shift+A</source>
+      <translation>Ctrl+Alt+Shift+A</translation>
     </message>
     <message>
-        <location filename="../../PluginPipxInterface.py" line="197"/>
-        <source>Switch the input focus to the PyPI Application Management window.</source>
-        <translation>ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ фокус Π²Π²ΠΎΠ΄Π° Π½Π° ΠΎΠΊΠ½ΠΎ управлСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ PyPI.</translation>
+      <location filename="../../PluginPipxInterface.py" line="204" />
+      <source>Switch the input focus to the PyPI Application Management window.</source>
+      <translation>ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ фокус Π²Π²ΠΎΠ΄Π° Π½Π° ΠΎΠΊΠ½ΠΎ управлСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ PyPI.</translation>
     </message>
     <message>
-        <location filename="../../PluginPipxInterface.py" line="200"/>
-        <source>&lt;b&gt;Activate PyPI Application Management&lt;/b&gt;&lt;p&gt;This switches the input focus to the PyPI Application Management window.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ прилоТСниями PyPI.&lt;/b&gt;&lt;p&gt; Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ фокус Π²Π²ΠΎΠ΄Π° Π½Π° ΠΎΠΊΠ½ΠΎ управлСния прилоТСниями PyPI.&lt;/p&gt;</translation>
+      <location filename="../../PluginPipxInterface.py" line="207" />
+      <source>&lt;b&gt;Activate PyPI Application Management&lt;/b&gt;&lt;p&gt;This switches the input focus to the PyPI Application Management window.&lt;/p&gt;</source>
+      <translation>&lt;b&gt;ΠΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ прилоТСниями PyPI.&lt;/b&gt;&lt;p&gt; Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ фокус Π²Π²ΠΎΠ΄Π° Π½Π° ΠΎΠΊΠ½ΠΎ управлСния прилоТСниями PyPI.&lt;/p&gt;</translation>
     </message>
-</context>
+  </context>
 </TS>
diff -r 417d6480e11e -r d841c572a465 PluginPipxInterface.py
--- a/PluginPipxInterface.py	Tue Sep 17 11:04:00 2024 +0200
+++ b/PluginPipxInterface.py	Tue Sep 17 11:35:31 2024 +0200
@@ -11,7 +11,7 @@
 import os
 import sysconfig
 
-from PyQt6.QtCore import QCoreApplication, QObject, Qt, QTranslator
+from PyQt6.QtCore import QCoreApplication, QObject, Qt, QTranslator, pyqtSignal
 from PyQt6.QtGui import QKeySequence
 
 from eric7 import Globals, Preferences
@@ -36,7 +36,7 @@
     "author": "Detlev Offenbach <detlev@die-offenbachs.de>",
     "autoactivate": True,
     "deactivateable": True,
-    "version": "10.4.1",
+    "version": "10.5.0",
     "className": "PluginPipxInterface",
     "packageName": "PipxInterface",
     "shortDescription": "Graphical interface to the 'pipx' command.",
@@ -132,10 +132,15 @@
 class PluginPipxInterface(QObject):
     """
     Class documentation goes here.
+
+    @signal preferencesChanged() emitted to signal a change of preferences. This
+        signal is simply relayed from the main UI.
     """
 
     PreferencesKey = "Pipx"
 
+    preferencesChanged = pyqtSignal()
+
     def __init__(self, ui):
         """
         Constructor
@@ -152,6 +157,8 @@
             "MaxRecentAppWorkdirs": 20,
             "IncludeOutdatedDependencies": True,
             "AutoCheckOutdated": False,
+            "PeriodicOutdatedCheckInterval": 1,
+            # interval in hours, 0 = disable; 1 h <= value <= 24 h
         }
 
         self.__translator = None
@@ -210,6 +217,7 @@
         menu.addAction(self.__activateAct)
 
         ericApp().getObject("PluginManager").shutdown.connect(self.__widget.shutdown)
+        self.__ui.preferencesChanged.connect(self.preferencesChanged)
 
         return None, True
 
@@ -217,6 +225,7 @@
         """
         Public method to deactivate this plug-in.
         """
+        self.__ui.preferencesChanged.disconnect(self.preferencesChanged)
         ericApp().getObject("PluginManager").shutdown.disconnect(self.__widget.shutdown)
 
         menu = self.__ui.getMenu("subwindow")
@@ -317,7 +326,7 @@
                     self.PreferencesKey + "/" + key, self.__defaults[key]
                 )
             )
-        elif key in ("MaxRecentAppWorkdirs",):
+        elif key in ("MaxRecentAppWorkdirs", "PeriodicOutdatedCheckInterval"):
             return int(
                 Preferences.Prefs.settings.value(
                     self.PreferencesKey + "/" + key, self.__defaults[key]
diff -r 417d6480e11e -r d841c572a465 PluginPipxInterface.zip
Binary file PluginPipxInterface.zip has changed
diff -r 417d6480e11e -r d841c572a465 changelog.md
--- a/changelog.md	Tue Sep 17 11:04:00 2024 +0200
+++ b/changelog.md	Tue Sep 17 11:35:31 2024 +0200
@@ -1,6 +1,11 @@
 ChangeLog
 ---------
 
+__Version 10.5.0__
+
+- Added the capability to perform a periodic check for outdated packages or packages
+  with outdated dependencies.
+
 __Version 10.4.1__
 
 - bug fixes

eric ide

mercurial