Tue, 17 Sep 2024 11:35:31 +0200
Added the capability to perform a periodic check for outdated packages or packages with outdated dependencies.
--- 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() )
--- 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><p>Enter the interval in hours for a periodic check for outdated packages (1 &le; value &le; 24; 0 = disabled).</p></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/>
--- 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 ≤ value ≤ 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"))
--- 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>)
--- 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>
--- 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>
--- 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>
--- 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>
--- 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 ############################################################################
--- 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 """
--- 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.
--- 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><p>Message: {0}</p></source> <translation><p>Meldung: {0}</p></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><p>pipx exited with an error ({0}).</p>{1}</source> <translation><p>pipx wurde mit einem Fehler beendet ({0}).</p>{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><p>The pipx process reported an error.</p><p>Error: {0}</p></source> <translation><p>Der pipx Prozess meldete einen Fehler.</p><p>Fehler: {0}</p></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><p>The status of package <b>{0}</b> could not be determined.</p><p>Reason: {1}</p></source> <translation><p>Der Status des Paketes <b>{0}</b> konnte nicht bestimmt werden.</p><p>Ursache: {1}</p></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><p>The status of dependencies of package <b>{0}</b> could not be determined.</p><p>Reason: {1}</p></source> <translation><p>Der Status der Abhängigkeiten des Pakets <b>{0}</b> konnte nicht ermittelt werden.</p><p>Ursache: {1}</p></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><p>Enter the interval in hours for a periodic check for outdated packages (1 &le; value &le; 24; 0 = disabled).</p></source> + <translation><p>Geben Sie das Intervall in Stunden für die regelmäßige Prüfung auf veraltete Pakete ein (1 &le; Wert &le; 24; 0 = deaktiviert).</p></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><p>The file <b>{0}</b> exists already. Overwrite it?</p></source> <translation><p>Die Datei <b>{0}</b> existiert bereits. Überschreiben?</p></translation> </message> <message> - <location filename="../PipxWidget.py" line="313" /> + <location filename="../PipxWidget.py" line="326" /> <source><p>The spec metadata file <b>{0}</b> was created successfully.</p></source> <translation><p>Die Spec-Metadaten-Datei <b>{0}</b> wurde erfolgreich erzeugt.</p></translation> </message> <message> - <location filename="../PipxWidget.py" line="322" /> + <location filename="../PipxWidget.py" line="335" /> <source><p>The spec metadata file <b>{0}</b> could not be created.</p><p>Reason: {1}</p></source> <translation><p>Die Spec-Metadaten-Datei <b>{0}</b> konnte nicht erzeugt werden.</p><p>Ursache: {1}</p></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><p>Shall the package <b>{0}</b> really be reinstalled?</p></source> <translation><p>Soll das Paket <b>{0}</b> wirklich neu installiert werden?</p></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><p>The selected package cannot be upgraded because some of its apps are running.</p><ul><li>{0}</li></ul><p>Stop these apps and try again.</p></source> <translation><p>Das ausgewählte Paket kann nicht aktualisiert werden, da einige seiner Anwendungen ausgeführt werden.</p><ul><li>{0}</li></ul><p>Beende diese Anwendungen und versuche es erneut.</p></translation> </message> <message> - <location filename="../PipxWidget.py" line="460" /> + <location filename="../PipxWidget.py" line="490" /> <source><p>The packages cannot be upgraded because some of their apps are running.</p><ul><li>{0}</li></ul><p>Stop these apps and try again.</p></source> <translation><p>Die Pakete können nicht aktualisiert werden, da einige ihrer Anwendungen ausgeführt werden.</p><ul><li>{0}</li></ul><p>Beende diese Anwendungen und versuche es erneut.</p></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><p>Shall the package <b>{0}</b> really be uninstalled?</p></source> <translation><p>Soll das Paket <b>{0}</b> wirklich deinstalliert werden?</p></translation> </message> <message> - <location filename="../PipxWidget.py" line="502" /> + <location filename="../PipxWidget.py" line="532" /> <source><p>Do you really want to uninstall <b>ALL</b> packages?</p></source> <translation><p>Sollen wirklich <b>ALLE</b> Pakete deinstalliert werden?</p></translation> </message> <message> - <location filename="../PipxWidget.py" line="606" /> + <location filename="../PipxWidget.py" line="636" /> <source><b>pipx Version {0}</b></source> <translation><b>pipx Version {0}</b></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><b>Activate PyPI Application Management</b><p>This switches the input focus to the PyPI Application Management window.</p></source> <translation><b>Aktiviere PyPI Anwendungsmanagement</b><p>Dies schaltet den Eingabefokus auf die PyPI Anwendungsverwaltung um.</p></translation> </message>
--- 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><p>Message: {0}</p></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><p>pipx exited with an error ({0}).</p>{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><p>The pipx process reported an error.</p><p>Error: {0}</p></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><p>The status of package <b>{0}</b> could not be determined.</p><p>Reason: {1}</p></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><p>The status of dependencies of package <b>{0}</b> could not be determined.</p><p>Reason: {1}</p></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><p>Enter the interval in hours for a periodic check for outdated packages (1 &le; value &le; 24; 0 = disabled).</p></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><p>The file <b>{0}</b> exists already. Overwrite it?</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipxWidget.py" line="313" /> + <location filename="../PipxWidget.py" line="326" /> <source><p>The spec metadata file <b>{0}</b> was created successfully.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipxWidget.py" line="322" /> + <location filename="../PipxWidget.py" line="335" /> <source><p>The spec metadata file <b>{0}</b> could not be created.</p><p>Reason: {1}</p></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><p>Shall the package <b>{0}</b> really be reinstalled?</p></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><p>The selected package cannot be upgraded because some of its apps are running.</p><ul><li>{0}</li></ul><p>Stop these apps and try again.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipxWidget.py" line="460" /> + <location filename="../PipxWidget.py" line="490" /> <source><p>The packages cannot be upgraded because some of their apps are running.</p><ul><li>{0}</li></ul><p>Stop these apps and try again.</p></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><p>Shall the package <b>{0}</b> really be uninstalled?</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipxWidget.py" line="502" /> + <location filename="../PipxWidget.py" line="532" /> <source><p>Do you really want to uninstall <b>ALL</b> packages?</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipxWidget.py" line="606" /> + <location filename="../PipxWidget.py" line="636" /> <source><b>pipx Version {0}</b></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><b>Activate PyPI Application Management</b><p>This switches the input focus to the PyPI Application Management window.</p></source> <translation type="unfinished" /> </message>
--- 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><p>Message: {0}</p></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><p>pipx exited with an error ({0}).</p>{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><p>The pipx process reported an error.</p><p>Error: {0}</p></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><p>The status of package <b>{0}</b> could not be determined.</p><p>Reason: {1}</p></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><p>The status of dependencies of package <b>{0}</b> could not be determined.</p><p>Reason: {1}</p></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><p>Enter the interval in hours for a periodic check for outdated packages (1 &le; value &le; 24; 0 = disabled).</p></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><p>The file <b>{0}</b> exists already. Overwrite it?</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipxWidget.py" line="313" /> + <location filename="../PipxWidget.py" line="326" /> <source><p>The spec metadata file <b>{0}</b> was created successfully.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipxWidget.py" line="322" /> + <location filename="../PipxWidget.py" line="335" /> <source><p>The spec metadata file <b>{0}</b> could not be created.</p><p>Reason: {1}</p></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><p>Shall the package <b>{0}</b> really be reinstalled?</p></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><p>The selected package cannot be upgraded because some of its apps are running.</p><ul><li>{0}</li></ul><p>Stop these apps and try again.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipxWidget.py" line="460" /> + <location filename="../PipxWidget.py" line="490" /> <source><p>The packages cannot be upgraded because some of their apps are running.</p><ul><li>{0}</li></ul><p>Stop these apps and try again.</p></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><p>Shall the package <b>{0}</b> really be uninstalled?</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipxWidget.py" line="502" /> + <location filename="../PipxWidget.py" line="532" /> <source><p>Do you really want to uninstall <b>ALL</b> packages?</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipxWidget.py" line="606" /> + <location filename="../PipxWidget.py" line="636" /> <source><b>pipx Version {0}</b></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><b>Activate PyPI Application Management</b><p>This switches the input focus to the PyPI Application Management window.</p></source> <translation type="unfinished" /> </message>
--- 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><p>Message: {0}</p></source> <translation><p>Mensaje: {0}</p></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><p>pipx exited with an error ({0}).</p>{1}</source> <translation><p>pipx ha terminado con un error ({0}).</p>{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><p>The pipx process reported an error.</p><p>Error: {0}</p></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><p>The status of package <b>{0}</b> could not be determined.</p><p>Reason: {1}</p></source> <translation><p>El status del package <b>{0}</b> no se ha podido determinar.</p><p>Razón: {1}</p></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><p>The status of dependencies of package <b>{0}</b> could not be determined.</p><p>Reason: {1}</p></source> <translation><p>El estado de las dependencias del package <b>{0}</b> no se han podido determinar.</p><p>Razón: {1}</p></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><p>Enter the interval in hours for a periodic check for outdated packages (1 &le; value &le; 24; 0 = disabled).</p></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><p>The file <b>{0}</b> exists already. Overwrite it?</p></source> <translation><p>El archivo <b>{0}</b> ya existe. ¿Desea sobreescribirlo?</p></translation> </message> <message> - <location filename="../PipxWidget.py" line="313" /> + <location filename="../PipxWidget.py" line="326" /> <source><p>The spec metadata file <b>{0}</b> was created successfully.</p></source> <translation><p>El archivo de metadatos de spec <b>{0}</b> se ha creado con éxito</p></translation> </message> <message> - <location filename="../PipxWidget.py" line="322" /> + <location filename="../PipxWidget.py" line="335" /> <source><p>The spec metadata file <b>{0}</b> could not be created.</p><p>Reason: {1}</p></source> <translation><p>El archivo de metadatos de spec <b>{0}</b> no se ha podido crear.</p><p>Razón: {1}</p></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><p>Shall the package <b>{0}</b> really be reinstalled?</p></source> <translation><p>¿Debe ser el package <b>{0}</b> reinstalado seguro?</p></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><p>The selected package cannot be upgraded because some of its apps are running.</p><ul><li>{0}</li></ul><p>Stop these apps and try again.</p></source> <translation><p>El package seleccionado no se puede actualizar porque algunas de sus apps están en ejecución.</p><ul><li>{0}</li></ul><p>Detener estasapps e intentar de nuevo.</p></translation> </message> <message> - <location filename="../PipxWidget.py" line="460" /> + <location filename="../PipxWidget.py" line="490" /> <source><p>The packages cannot be upgraded because some of their apps are running.</p><ul><li>{0}</li></ul><p>Stop these apps and try again.</p></source> <translation><p>Los packages no se pueden actualizar porque algunas de sus apps están en ejecución.</p><ul><li>{0}</li></ul><p>Detener estas apps e intentar de nuevo.</p></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><p>Shall the package <b>{0}</b> really be uninstalled?</p></source> <translation><p>¿Debe ser el package <b>{0}</b> desinstalado seguro?</p></translation> </message> <message> - <location filename="../PipxWidget.py" line="502" /> + <location filename="../PipxWidget.py" line="532" /> <source><p>Do you really want to uninstall <b>ALL</b> packages?</p></source> <translation><p>¿Desea seguro desinstalar <b>TODOS</b> los packages?</p></translation> </message> <message> - <location filename="../PipxWidget.py" line="606" /> + <location filename="../PipxWidget.py" line="636" /> <source><b>pipx Version {0}</b></source> <translation><b>pipx Versión {0}</b></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><b>Activate PyPI Application Management</b><p>This switches the input focus to the PyPI Application Management window.</p></source> <translation><b>Activar Gestión de Aplicación PyPI</b><p>Esto cambia el foco de entrada a la ventana de Gestión de Aplicación PyPI.</p></translation> </message>
--- 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><p>Message: {0}</p></source> - <translation><p>Сообщение: {0}</p></translation> + <location filename="../Pipx.py" line="274" /> + <location filename="../Pipx.py" line="164" /> + <source><p>Message: {0}</p></source> + <translation><p>Сообщение: {0}</p></translation> </message> <message> - <location filename="../Pipx.py" line="275"/> - <location filename="../Pipx.py" line="267"/> - <location filename="../Pipx.py" line="156"/> - <source><p>pipx exited with an error ({0}).</p>{1}</source> - <translation><p>pipx завершился с ошибкой ({0}).</p>{1}</translation> + <location filename="../Pipx.py" line="286" /> + <location filename="../Pipx.py" line="278" /> + <location filename="../Pipx.py" line="167" /> + <source><p>pipx exited with an error ({0}).</p>{1}</source> + <translation><p>pipx завершился с ошибкой ({0}).</p>{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><p>The pipx process reported an error.</p><p>Error: {0}</p></source> - <translation type="unfinished"></translation> + <location filename="../Pipx.py" line="238" /> + <source><p>The pipx process reported an error.</p><p>Error: {0}</p></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><p>The status of package <b>{0}</b> could not be determined.</p><p>Reason: {1}</p></source> - <translation><p>Не удалось определить статус пакета <b>{0}</b>.</p><p>Причина: {1}</p></translation> + <location filename="../Pipx.py" line="674" /> + <source><p>The status of package <b>{0}</b> could not be determined.</p><p>Reason: {1}</p></source> + <translation><p>Не удалось определить статус пакета <b>{0}</b>.</p><p>Причина: {1}</p></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><p>The status of dependencies of package <b>{0}</b> could not be determined.</p><p>Reason: {1}</p></source> - <translation><p>Не удалось определить статус зависимостей пакета <b>{0}</b>.</p><p>Причина: {1}</p></translation> + <location filename="../Pipx.py" line="736" /> + <source><p>The status of dependencies of package <b>{0}</b> could not be determined.</p><p>Reason: {1}</p></source> + <translation><p>Не удалось определить статус зависимостей пакета <b>{0}</b>.</p><p>Причина: {1}</p></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 <b>{0}</b></source> - <translation>Устаревшие зависимости пакета <b>{0}</b></translation> + <location filename="../PipxDependenciesDialog.py" line="50" /> + <source>Outdated Dependencies of package <b>{0}</b></source> + <translation>Устаревшие зависимости пакета <b>{0}</b></translation> </message> <message> - <location filename="../PipxDependenciesDialog.py" line="52"/> - <source>Up-to-date Dependencies of package <b>{0}</b></source> - <translation>Обновленные зависимости пакета <b>{0}</b></translation> + <location filename="../PipxDependenciesDialog.py" line="52" /> + <source>Up-to-date Dependencies of package <b>{0}</b></source> + <translation>Обновленные зависимости пакета <b>{0}</b></translation> </message> <message> - <location filename="../PipxDependenciesDialog.py" line="54"/> - <source>Dependencies of package <b>{0}</b></source> - <translation>Зависимости пакета <b>{0}</b></translation> + <location filename="../PipxDependenciesDialog.py" line="54" /> + <source>Dependencies of package <b>{0}</b></source> + <translation>Зависимости пакета <b>{0}</b></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><b>Note:</b> Leave this entry empty to use the default Python interpreter.</source> - <translation><b>Примечание:</b> Оставьте это поле пустым, чтобы использовать интерпретатор Python по умолчанию.</translation> + <location filename="../PipxPackagesInputDialog.ui" line="0" /> + <source><b>Note:</b> Leave this entry empty to use the default Python interpreter.</source> + <translation><b>Примечание:</b> Оставьте это поле пустым, чтобы использовать интерпретатор 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><b>Configure Python Application Management</b></source> - <translation><b>Настройка управления приложениями Python</b></translation> + <location filename="../ConfigurationPage/PipxPage.ui" line="0" /> + <source><b>Configure Python Application Management</b></source> + <translation><b>Настройка управления приложениями Python</b></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><b>Note</b>: The index URL is configured on the 'Python Package Management' page.</source> - <translation><b>Примечание</b>: URL-адрес индекса настраивается на странице 'Менеджер пакетов Python'.</translation> + <location filename="../ConfigurationPage/PipxPage.ui" line="0" /> + <source><b>Note</b>: The index URL is configured on the 'Python Package Management' page.</source> + <translation><b>Примечание</b>: 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><p>Enter the interval in hours for a periodic check for outdated packages (1 &le; value &le; 24; 0 = disabled).</p></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><b>Note:</b> Leave this entry empty to use the default Python interpreter.</source> - <translation><b>Примечание:</b> Оставьте это поле пустым для использования интерпретатора 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><b>Note:</b> Leave this entry empty to use the default Python interpreter.</source> + <translation><b>Примечание:</b> Оставьте это поле пустым для использования интерпретатора 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><b>Note:</b> Leave this entry empty to use the default Python interpreter.</source> - <translation><b>Примечание:</b> Оставьте это поле пустым, чтобы использовать интерпретатор 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><b>Note:</b> Leave this entry empty to use the default Python interpreter.</source> + <translation><b>Примечание:</b> Оставьте это поле пустым, чтобы использовать интерпретатор 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><p>The file <b>{0}</b> exists already. Overwrite it?</p></source> - <translation><p>Файл <b>{0}</b> уже существует. Перезаписать?</p></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><p>The spec metadata file <b>{0}</b> was created successfully.</p></source> - <translation><p>Файл спецификации метаданных <b>{0}</b> был успешно создан.</p></translation> + <location filename="../PipxWidget.py" line="314" /> + <source><p>The file <b>{0}</b> exists already. Overwrite it?</p></source> + <translation><p>Файл <b>{0}</b> уже существует. Перезаписать?</p></translation> </message> <message> - <location filename="../PipxWidget.py" line="322"/> - <source><p>The spec metadata file <b>{0}</b> could not be created.</p><p>Reason: {1}</p></source> - <translation><p>Не удалось создать файл спецификации метаданных <b>{0}</b>.</p><p>Причина: {1}</p></translation> + <location filename="../PipxWidget.py" line="326" /> + <source><p>The spec metadata file <b>{0}</b> was created successfully.</p></source> + <translation><p>Файл спецификации метаданных <b>{0}</b> был успешно создан.</p></translation> </message> <message> - <location filename="../PipxWidget.py" line="338"/> - <source>Re-Install Package</source> - <translation>Переустановить пакет</translation> + <location filename="../PipxWidget.py" line="335" /> + <source><p>The spec metadata file <b>{0}</b> could not be created.</p><p>Reason: {1}</p></source> + <translation><p>Не удалось создать файл спецификации метаданных <b>{0}</b>.</p><p>Причина: {1}</p></translation> </message> <message> - <location filename="../PipxWidget.py" line="339"/> - <source><p>Shall the package <b>{0}</b> really be reinstalled?</p></source> - <translation><p>Действительно ли пакет <b>{0}</b> должен быть переустановлен?</p></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><p>Shall the package <b>{0}</b> really be reinstalled?</p></source> + <translation><p>Действительно ли пакет <b>{0}</b> должен быть переустановлен?</p></translation> </message> <message> - <location filename="../PipxWidget.py" line="435"/> - <source><p>The selected package cannot be upgraded because some of its apps are running.</p><ul><li>{0}</li></ul><p>Stop these apps and try again.</p></source> - <translation><p>Выбранный пакет не может быть обновлен, поскольку некоторые из его приложений запущены.</p><ul><li>{0}</li></ul><p>Остановите эти приложения и повторите попытку.</p></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><p>The packages cannot be upgraded because some of their apps are running.</p><ul><li>{0}</li></ul><p>Stop these apps and try again.</p></source> - <translation><p>Обновление пакетов невозможно, поскольку некоторые из их приложений запущены.</p><ul><li>{0}</li></ul><p>Остановите эти приложения и повторите попытку.</p></translation> + <location filename="../PipxWidget.py" line="465" /> + <source><p>The selected package cannot be upgraded because some of its apps are running.</p><ul><li>{0}</li></ul><p>Stop these apps and try again.</p></source> + <translation><p>Выбранный пакет не может быть обновлен, поскольку некоторые из его приложений запущены.</p><ul><li>{0}</li></ul><p>Остановите эти приложения и повторите попытку.</p></translation> </message> <message> - <location filename="../PipxWidget.py" line="485"/> - <source>Uninstall Package</source> - <translation>Деинсталировать пакет</translation> + <location filename="../PipxWidget.py" line="490" /> + <source><p>The packages cannot be upgraded because some of their apps are running.</p><ul><li>{0}</li></ul><p>Stop these apps and try again.</p></source> + <translation><p>Обновление пакетов невозможно, поскольку некоторые из их приложений запущены.</p><ul><li>{0}</li></ul><p>Остановите эти приложения и повторите попытку.</p></translation> </message> <message> - <location filename="../PipxWidget.py" line="486"/> - <source><p>Shall the package <b>{0}</b> really be uninstalled?</p></source> - <translation><p>Действительно ли пакет <b>{0}</b> должен быть удален?</p></translation> + <location filename="../PipxWidget.py" line="515" /> + <source>Uninstall Package</source> + <translation>Деинсталировать пакет</translation> </message> <message> - <location filename="../PipxWidget.py" line="502"/> - <source><p>Do you really want to uninstall <b>ALL</b> packages?</p></source> - <translation><p>Вы действительно хотите удалить </b>ВСЕ </b> пакеты?</p></translation> + <location filename="../PipxWidget.py" line="516" /> + <source><p>Shall the package <b>{0}</b> really be uninstalled?</p></source> + <translation><p>Действительно ли пакет <b>{0}</b> должен быть удален?</p></translation> </message> <message> - <location filename="../PipxWidget.py" line="606"/> - <source><b>pipx Version {0}</b></source> - <translation><b>Версия pipx {0}</b></translation> + <location filename="../PipxWidget.py" line="532" /> + <source><p>Do you really want to uninstall <b>ALL</b> packages?</p></source> + <translation><p>Вы действительно хотите удалить </b>ВСЕ </b> пакеты?</p></translation> + </message> + <message> + <location filename="../PipxWidget.py" line="636" /> + <source><b>pipx Version {0}</b></source> + <translation><b>Версия pipx {0}</b></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><b>Activate PyPI Application Management</b><p>This switches the input focus to the PyPI Application Management window.</p></source> - <translation><b>Активировать управление приложениями PyPI.</b><p> Это переключит фокус ввода на окно управления приложениями PyPI.</p></translation> + <location filename="../../PluginPipxInterface.py" line="207" /> + <source><b>Activate PyPI Application Management</b><p>This switches the input focus to the PyPI Application Management window.</p></source> + <translation><b>Активировать управление приложениями PyPI.</b><p> Это переключит фокус ввода на окно управления приложениями PyPI.</p></translation> </message> -</context> + </context> </TS>
--- 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]
--- 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