Sun, 17 Jul 2022 18:47:23 +0200
pip Interface
- added capability to generate text for a 'constraints.txt' file
--- a/docs/changelog Sun Jul 17 17:46:51 2022 +0200 +++ b/docs/changelog Sun Jul 17 18:47:23 2022 +0200 @@ -17,6 +17,7 @@ - pip Interface -- included a copy of pipdeptree and patched it to work with Python 3.11+ -- added capability to repair dependency issues + -- added capability to generate text for a 'constraints.txt' file - setup Wizard -- added support for 'project_urls' -- added support for 'entry_points'
--- a/src/eric7/PipInterface/PipFreezeDialog.py Sun Jul 17 17:46:51 2022 +0200 +++ b/src/eric7/PipInterface/PipFreezeDialog.py Sun Jul 17 18:47:23 2022 +0200 @@ -7,6 +7,7 @@ Module implementing a dialog to generate a requirements file. """ +import enum import os from PyQt6.QtCore import pyqtSlot, Qt @@ -22,24 +23,45 @@ import Utilities +class PipFreezeDialogModes(enum.Enum): + """ + Class defining the various dialog modes. + """ + + Constraints = 1 + Requirements = 2 + + class PipFreezeDialog(QDialog, Ui_PipFreezeDialog): """ Class implementing a dialog to generate a requirements file. """ - def __init__(self, pip, parent=None): + def __init__(self, pip, mode=PipFreezeDialogModes.Requirements, parent=None): """ Constructor @param pip reference to the master object @type Pip - @param parent reference to the parent widget - @type QWidget + @param mode dialog mod (defaults to PipFreezeDialogModes.Requirements) + @type PipFreezeDialogModes (optional) + @param parent reference to the parent widget (defaults to None + @type QWidget (optional) """ super().__init__(parent) self.setupUi(self) self.setWindowFlags(Qt.WindowType.Window) + self.__dialogMode = mode + if mode is PipFreezeDialogModes.Constraints: + self.constraintsCheckBox.setChecked(False) + self.constraintsCheckBox.setEnabled(False) + + self.setWindowTitle(self.tr("Generate Constraints")) + + elif mode is PipFreezeDialogModes.Requirements: + self.setWindowTitle(self.tr("Generate Requirements")) + self.__refreshButton = self.buttonBox.addButton( self.tr("&Refresh"), QDialogButtonBox.ButtonRole.ActionRole ) @@ -141,11 +163,16 @@ self.__requirementsAvailable = False self.__environmentName = venvName - fileName = ( - Utilities.toNativeSeparators(self.requirementsFilePicker.text()) - if self.requirementsFilePicker.text() - else "" - ) + if not bool(self.requirementsFilePicker.text()): + self.requirementsFilePicker.setText( + "constraints.txt" + if self.__dialogMode is PipFreezeDialogModes.Constraints + else "requirements.txt" + ) + + fileName = Utilities.toNativeSeparators(self.requirementsFilePicker.text()) + if fileName and not os.path.isabs(fileName): + fileName = "" with EricOverrideCursor(): specifiers = self.__pip.getFrozenPackages( @@ -172,7 +199,9 @@ Private method to set the state of the various buttons. """ self.saveButton.setEnabled( - self.__requirementsAvailable and bool(self.requirementsFilePicker.text()) + self.__requirementsAvailable + and bool(self.requirementsFilePicker.text()) + and os.path.isabs(self.requirementsFilePicker.text()) ) self.saveToButton.setEnabled(self.__requirementsAvailable) self.copyButton.setEnabled(self.__requirementsAvailable) @@ -206,9 +235,12 @@ if not ok: return + txt = self.requirementsEdit.toPlainText() + if self.constraintsCheckBox.isChecked(): + txt = f"--constraint constraints.txt\n{txt}" try: with open(fileName, "w") as f: - f.write(self.requirementsEdit.toPlainText()) + f.write(txt) except OSError as err: EricMessageBox.critical( self, @@ -254,6 +286,8 @@ Private slot to copy the requirements text to the clipboard. """ txt = self.requirementsEdit.toPlainText() + if self.constraintsCheckBox.isChecked(): + txt = f"--constraint constraints.txt\n{txt}" cb = QApplication.clipboard() cb.setText(txt)
--- a/src/eric7/PipInterface/PipFreezeDialog.ui Sun Jul 17 17:46:51 2022 +0200 +++ b/src/eric7/PipInterface/PipFreezeDialog.ui Sun Jul 17 18:47:23 2022 +0200 @@ -46,6 +46,16 @@ </widget> </item> <item> + <widget class="QCheckBox" name="constraintsCheckBox"> + <property name="toolTip"> + <string>Select to include an '--constraint constraints.txt' statement</string> + </property> + <property name="text"> + <string>Include Constraints</string> + </property> + </widget> + </item> + <item> <spacer name="horizontalSpacer"> <property name="orientation"> <enum>Qt::Horizontal</enum> @@ -188,6 +198,7 @@ <tabstops> <tabstop>localCheckBox</tabstop> <tabstop>userCheckBox</tabstop> + <tabstop>constraintsCheckBox</tabstop> <tabstop>requirementsFilePicker</tabstop> <tabstop>requirementsEdit</tabstop> <tabstop>saveButton</tabstop>
--- a/src/eric7/PipInterface/PipPackagesWidget.py Sun Jul 17 17:46:51 2022 +0200 +++ b/src/eric7/PipInterface/PipPackagesWidget.py Sun Jul 17 18:47:23 2022 +0200 @@ -1145,36 +1145,85 @@ Private method to create the super menu and attach it to the super menu button. """ - self.__pipMenu = QMenu() - self.__installPipAct = self.__pipMenu.addAction( + ################################################################### + ## Menu with pip related actions + ################################################################### + + self.__pipSubmenu = QMenu(self.tr("Pip")) + self.__installPipAct = self.__pipSubmenu.addAction( self.tr("Install Pip"), self.__installPip ) - self.__installPipUserAct = self.__pipMenu.addAction( + self.__installPipUserAct = self.__pipSubmenu.addAction( self.tr("Install Pip to User-Site"), self.__installPipUser ) - self.__repairPipAct = self.__pipMenu.addAction( + self.__repairPipAct = self.__pipSubmenu.addAction( self.tr("Repair Pip"), self.__repairPip ) - self.__pipMenu.addSeparator() - self.__installPackagesAct = self.__pipMenu.addAction( + + ################################################################### + ## Menu with install related actions + ################################################################### + + self.__installSubmenu = QMenu(self.tr("Install")) + self.__installPackagesAct = self.__installSubmenu.addAction( self.tr("Install Packages"), self.__installPackages ) - self.__installLocalPackageAct = self.__pipMenu.addAction( + self.__installLocalPackageAct = self.__installSubmenu.addAction( self.tr("Install Local Package"), self.__installLocalPackage ) - self.__pipMenu.addSeparator() - self.__installRequirementsAct = self.__pipMenu.addAction( + self.__reinstallPackagesAct = self.__installSubmenu.addAction( + self.tr("Re-Install Selected Packages"), self.__reinstallPackages + ) + + ################################################################### + ## Menu for requirements and constraints management + ################################################################### + + self.__requirementsSubenu = QMenu(self.tr("Requirements/Constraints")) + self.__installRequirementsAct = self.__requirementsSubenu.addAction( self.tr("Install Requirements"), self.__installRequirements ) - self.__reinstallPackagesAct = self.__pipMenu.addAction( - self.tr("Re-Install Selected Packages"), self.__reinstallPackages - ) - self.__uninstallRequirementsAct = self.__pipMenu.addAction( + self.__uninstallRequirementsAct = self.__requirementsSubenu.addAction( self.tr("Uninstall Requirements"), self.__uninstallRequirements ) - self.__generateRequirementsAct = self.__pipMenu.addAction( + self.__generateRequirementsAct = self.__requirementsSubenu.addAction( self.tr("Generate Requirements..."), self.__generateRequirements ) + self.__requirementsSubenu.addSeparator() + self.__generateConstraintsAct = self.__requirementsSubenu.addAction( + self.tr("Generate Constraints..."), self.__generateConstraints + ) + + ################################################################### + ## Menu for requirements and constraints management + ################################################################### + + self.__cacheSubmenu = QMenu(self.tr("Cache")) + self.__cacheInfoAct = self.__cacheSubmenu.addAction( + self.tr("Show Cache Info..."), self.__showCacheInfo + ) + self.__cacheShowListAct = self.__cacheSubmenu.addAction( + self.tr("Show Cached Files..."), self.__showCacheList + ) + self.__cacheRemoveAct = self.__cacheSubmenu.addAction( + self.tr("Remove Cached Files..."), self.__removeCachedFiles + ) + self.__cachePurgeAct = self.__cacheSubmenu.addAction( + self.tr("Purge Cache..."), self.__purgeCache + ) + + ################################################################### + ## Main menu + ################################################################### + + self.__pipMenu = QMenu() + self.__pipSubmenuAct = self.__pipMenu.addMenu(self.__pipSubmenu) + self.__pipMenu.addSeparator() + self.__installSubmenuAct = self.__pipMenu.addMenu(self.__installSubmenu) + self.__pipMenu.addSeparator() + self.__requirementsSubmenuAct = self.__pipMenu.addMenu( + self.__requirementsSubenu + ) self.__pipMenu.addSeparator() self.__showLicensesDialogAct = self.__pipMenu.addAction( self.tr("Show Licenses..."), self.__showLicensesDialog @@ -1192,18 +1241,7 @@ self.tr("Create SBOM file"), self.__createSBOMFile ) self.__pipMenu.addSeparator() - self.__cacheInfoAct = self.__pipMenu.addAction( - self.tr("Show Cache Info..."), self.__showCacheInfo - ) - self.__cacheShowListAct = self.__pipMenu.addAction( - self.tr("Show Cached Files..."), self.__showCacheList - ) - self.__cacheRemoveAct = self.__pipMenu.addAction( - self.tr("Remove Cached Files..."), self.__removeCachedFiles - ) - self.__cachePurgeAct = self.__pipMenu.addAction( - self.tr("Purge Cache..."), self.__purgeCache - ) + self.__cacheSubmenuAct = self.__pipMenu.addMenu(self.__cacheSubmenu) self.__pipMenu.addSeparator() # editUserConfigAct self.__pipMenu.addAction( @@ -1229,22 +1267,16 @@ enablePip = self.__isPipAvailable() enablePipCache = self.__availablePipVersion() >= (20, 1, 0) + self.__pipSubmenuAct.setEnabled(enable) self.__installPipAct.setEnabled(not enablePip) self.__installPipUserAct.setEnabled(not enablePip) self.__repairPipAct.setEnabled(enablePip) - self.__installPackagesAct.setEnabled(enablePip) - self.__installLocalPackageAct.setEnabled(enablePip) - self.__reinstallPackagesAct.setEnabled(enablePip) + self.__installSubmenu.setEnabled(enablePip) - self.__installRequirementsAct.setEnabled(enablePip) - self.__uninstallRequirementsAct.setEnabled(enablePip) - self.__generateRequirementsAct.setEnabled(enablePip) + self.__requirementsSubmenuAct.setEnabled(enablePip) - self.__cacheInfoAct.setEnabled(enablePipCache) - self.__cacheShowListAct.setEnabled(enablePipCache) - self.__cacheRemoveAct.setEnabled(enablePipCache) - self.__cachePurgeAct.setEnabled(enablePipCache) + self.__cacheSubmenuAct.setEnabled(enablePipCache) self.__editVirtualenvConfigAct.setEnabled(enable) @@ -1358,9 +1390,26 @@ """ venvName = self.environmentsComboBox.currentText() if venvName: - from .PipFreezeDialog import PipFreezeDialog + from .PipFreezeDialog import PipFreezeDialog, PipFreezeDialogModes + + self.__freezeDialog = PipFreezeDialog( + self.__pip, mode=PipFreezeDialogModes.Requirements, parent=self + ) + self.__freezeDialog.show() + self.__freezeDialog.start(venvName) - self.__freezeDialog = PipFreezeDialog(self.__pip, self) + @pyqtSlot() + def __generateConstraints(self): + """ + Private slot to generate the contents for a constraints file. + """ + venvName = self.environmentsComboBox.currentText() + if venvName: + from .PipFreezeDialog import PipFreezeDialog, PipFreezeDialogModes + + self.__freezeDialog = PipFreezeDialog( + self.__pip, mode=PipFreezeDialogModes.Constraints, parent=self + ) self.__freezeDialog.show() self.__freezeDialog.start(venvName)
--- a/src/eric7/i18n/eric7_cs.ts Sun Jul 17 17:46:51 2022 +0200 +++ b/src/eric7/i18n/eric7_cs.ts Sun Jul 17 18:47:23 2022 +0200 @@ -31208,144 +31208,144 @@ <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2640" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2638" /> <source>Copy Changesets (Continue)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2652" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2648" /> <source>Copy Changesets (Stop)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2664" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2658" /> <source>Copy Changesets (Abort)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2687" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2681" /> <source>Create Unversioned Archive</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2701" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2695" /> <source>Delete All Backups</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2702" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2696" /> <source><p>Do you really want to delete all backup bundles stored in the backup area?<br/><b>{0}</b></p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2791" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2771" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2760" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2785" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2765" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2754" /> <source>Add Sub-repository</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2828" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2761" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2822" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2755" /> <source><p>The sub-repositories file .hgsub could not be read.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2772" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2766" /> <source><p>The sub-repositories file .hgsub already contains an entry <b>{0}</b>. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2848" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2792" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2842" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2786" /> <source><p>The sub-repositories file .hgsub could not be written to.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2847" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2827" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2813" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2841" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2821" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2807" /> <source>Remove Sub-repositories</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2814" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2808" /> <source><p>The sub-repositories file .hgsub does not exist. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3064" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2927" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3058" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2921" /> <source>Mercurial Command Server</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2928" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2922" /> <source><p>The Mercurial Command Server could not be restarted.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3065" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3059" /> <source><p>The Mercurial Command Server could not be started.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3181" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3175" /> <source>Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3197" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3191" /> <source>Delete Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3198" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3192" /> <source>Select the bookmark to be deleted:</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3208" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3202" /> <source>Delete Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3233" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3227" /> <source>Rename Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3270" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3264" /> <source>Move Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3343" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3337" /> <source>Pull Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3344" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3338" /> <source>Select the bookmark to be pulled:</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3356" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3350" /> <source>Pulling bookmark from a remote Mercurial repository</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3382" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3376" /> <source>Push Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3383" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3377" /> <source>Select the bookmark to be push:</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3398" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3392" /> <source>Pushing bookmark to a remote Mercurial repository</source> <translation type="unfinished" /> </message> @@ -52253,42 +52253,48 @@ <context> <name>PipFreezeDialog</name> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="44" /> - <source>&Refresh</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="239" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="51" /> - <source>Text Files (*.txt);;All Files (*)</source> - <translation type="unfinished">Textové soubory (*.txt);;Všechny soubory (*)</translation> + <location filename="../PipInterface/PipFreezeDialog.py" line="60" /> + <source>Generate Constraints</source> + <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="237" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="215" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="200" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="121" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="269" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="247" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="229" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="143" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="63" /> <source>Generate Requirements</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="122" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="66" /> + <source>&Refresh</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="271" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="73" /> + <source>Text Files (*.txt);;All Files (*)</source> + <translation type="unfinished">Textové soubory (*.txt);;Všechny soubory (*)</translation> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="144" /> <source>The requirements were changed. Do you want to overwrite these changes?</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="163" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="190" /> <source>No package specifiers generated by 'pip freeze'.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="201" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="230" /> <source>The file <b>{0}</b> already exists. Do you want to overwrite it?</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="216" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="248" /> <source><p>The requirements could not be written to <b>{0}</b>.</p><p>Reason: {1}</p></source> <translation type="unfinished" /> </message> @@ -52319,6 +52325,16 @@ </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Select to include an '--constraint constraints.txt' statement</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Include Constraints</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> <source>Requirements File:</source> <translation type="unfinished" /> </message> @@ -53071,144 +53087,169 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1150" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1152" /> + <source>Pip</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1154" /> <source>Install Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1153" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1157" /> <source>Install Pip to User-Site</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1156" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> <source>Repair Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1300" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> - <source>Install Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1163" /> - <source>Install Local Package</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1167" /> - <source>Install Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1170" /> + <source>Install</source> + <translation type="unfinished">Instalovat</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1332" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1169" /> + <source>Install Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1172" /> + <source>Install Local Package</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1175" /> <source>Re-Install Selected Packages</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1173" /> - <source>Uninstall Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1176" /> - <source>Generate Requirements...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1180" /> - <source>Show Licenses...</source> + <location filename="../PipInterface/PipPackagesWidget.py" line="1182" /> + <source>Requirements/Constraints</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1184" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1188" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1192" /> - <source>Create SBOM file</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1196" /> + <source>Install Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1187" /> + <source>Uninstall Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1190" /> + <source>Generate Requirements...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1194" /> + <source>Generate Constraints...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1201" /> + <source>Cache</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1203" /> <source>Show Cache Info...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1199" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1206" /> <source>Show Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1202" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1209" /> <source>Remove Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1212" /> <source>Purge Cache...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1229" /> + <source>Show Licenses...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1233" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1237" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1241" /> + <source>Create SBOM file</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1248" /> <source>Edit User Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1251" /> <source>Edit Environment Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1218" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1256" /> <source>Configure...</source> <translation type="unfinished">Konfigurovat...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1426" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1413" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1402" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1475" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1462" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1451" /> <source>Edit Configuration</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1427" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1414" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1403" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1476" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1463" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1452" /> <source>No valid configuration path determined. Aborting</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1587" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1636" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1608" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1657" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1611" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1660" /> <source>Advisory:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1735" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1716" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1784" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1765" /> <source>unknown</source> <translation type="unfinished">neznámý</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1732" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1781" /> <source>any</source> <translation type="unfinished" /> </message>
--- a/src/eric7/i18n/eric7_de.ts Sun Jul 17 17:46:51 2022 +0200 +++ b/src/eric7/i18n/eric7_de.ts Sun Jul 17 18:47:23 2022 +0200 @@ -31284,144 +31284,144 @@ <translation>Änderungssätze kopieren</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2640"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2638"/> <source>Copy Changesets (Continue)</source> <translation>Änderungssätze kopieren (Fortsetzung)</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2652"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2648"/> <source>Copy Changesets (Stop)</source> <translation>Änderungssätze kopieren (Stopp)</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2664"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2658"/> <source>Copy Changesets (Abort)</source> <translation>Änderungssätze kopieren (Abbruch)</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2687"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2681"/> <source>Create Unversioned Archive</source> <translation>Erzeuge nicht versioniertes Archiv</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2701"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2695"/> <source>Delete All Backups</source> <translation>Alle Backups löschen</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2702"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2696"/> <source><p>Do you really want to delete all backup bundles stored in the backup area?<br/><b>{0}</b></p></source> <translation><p>Sollen wirklich alle Backupdateien des Backupbereiches gelöscht werden?<br/><b>{0}</b></p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2791"/> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2771"/> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2760"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2785"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2765"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2754"/> <source>Add Sub-repository</source> <translation>Unterrepository hinzufügen</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2828"/> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2761"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2822"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2755"/> <source><p>The sub-repositories file .hgsub could not be read.</p><p>Reason: {0}</p></source> <translation><p>Die Unterrepositorydatei .hgsub konnte nicht gelesen werden.</p><p>Ursache: {0}</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2772"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2766"/> <source><p>The sub-repositories file .hgsub already contains an entry <b>{0}</b>. Aborting...</p></source> <translation><p>Die Unterrepositorydatei .hgsub enthält bereits einen Eintrag <b>{0}</b>. Abbruch...</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2848"/> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2792"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2842"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2786"/> <source><p>The sub-repositories file .hgsub could not be written to.</p><p>Reason: {0}</p></source> <translation><p>Die Unterrepositorydatei .hgsub konnte nicht gespeichert werden.</p><p>Ursache: {0}</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2847"/> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2827"/> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2813"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2841"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2821"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2807"/> <source>Remove Sub-repositories</source> <translation>Unterrepositorys löschen</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2814"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2808"/> <source><p>The sub-repositories file .hgsub does not exist. Aborting...</p></source> <translation><p>Die Unterrepositorydatei .hgsub existiert nicht. Abbruch...</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3064"/> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2927"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3058"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2921"/> <source>Mercurial Command Server</source> <translation>Mercurial-Befehlsserver</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2928"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2922"/> <source><p>The Mercurial Command Server could not be restarted.</p><p>Reason: {0}</p></source> <translation><p>Der Mercurial-Befehlsserver konnte nicht wiedergestartet werden.</p><p>Ursache: {0}</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3065"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3059"/> <source><p>The Mercurial Command Server could not be started.</p><p>Reason: {0}</p></source> <translation><p>Der Mercurial-Befehlsserver konnte nicht gestartet werden.</p><p>Ursache: {0}</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3181"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3175"/> <source>Mercurial Bookmark</source> <translation>Mercurial-Lesezeichen</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3197"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3191"/> <source>Delete Bookmark</source> <translation>Lesezeichen löschen</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3198"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3192"/> <source>Select the bookmark to be deleted:</source> <translation>Wähle das zu löschende Lesezeichen aus:</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3208"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3202"/> <source>Delete Mercurial Bookmark</source> <translation>Mercurial-Lesezeichen löschen</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3233"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3227"/> <source>Rename Mercurial Bookmark</source> <translation>Mercurial-Lesezeichen umbenennen</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3270"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3264"/> <source>Move Mercurial Bookmark</source> <translation>Mercurial-Lesezeichen verschieben</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3343"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3337"/> <source>Pull Bookmark</source> <translation>Lesezeichen herunterladen</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3344"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3338"/> <source>Select the bookmark to be pulled:</source> <translation>Wähle das herunterzuladende Lesezeichen:</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3356"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3350"/> <source>Pulling bookmark from a remote Mercurial repository</source> <translation>Lade Lesezeichen von einem entfernten Mercurial-Repository herunter</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3382"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3376"/> <source>Push Bookmark</source> <translation>Lesezeichen hochladen</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3383"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3377"/> <source>Select the bookmark to be push:</source> <translation>Wähle das hochzuladende Lesezeichen:</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3398"/> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3392"/> <source>Pushing bookmark to a remote Mercurial repository</source> <translation>Lade Lesezeichen zu einem entfernten Mercurial-Repository hoch</translation> </message> @@ -52355,42 +52355,48 @@ <context> <name>PipFreezeDialog</name> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="44"/> - <source>&Refresh</source> - <translation>&Aktualisieren</translation> - </message> - <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="239"/> - <location filename="../PipInterface/PipFreezeDialog.py" line="51"/> - <source>Text Files (*.txt);;All Files (*)</source> - <translation>Text Dateien (*.txt);;Alle Dateien (*)</translation> + <location filename="../PipInterface/PipFreezeDialog.py" line="60"/> + <source>Generate Constraints</source> + <translation>Constraints generieren</translation> </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0"/> - <location filename="../PipInterface/PipFreezeDialog.py" line="237"/> - <location filename="../PipInterface/PipFreezeDialog.py" line="215"/> - <location filename="../PipInterface/PipFreezeDialog.py" line="200"/> - <location filename="../PipInterface/PipFreezeDialog.py" line="121"/> + <location filename="../PipInterface/PipFreezeDialog.py" line="269"/> + <location filename="../PipInterface/PipFreezeDialog.py" line="247"/> + <location filename="../PipInterface/PipFreezeDialog.py" line="229"/> + <location filename="../PipInterface/PipFreezeDialog.py" line="143"/> + <location filename="../PipInterface/PipFreezeDialog.py" line="63"/> <source>Generate Requirements</source> <translation>Anforderungen erzeugen</translation> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="122"/> + <location filename="../PipInterface/PipFreezeDialog.py" line="66"/> + <source>&Refresh</source> + <translation>&Aktualisieren</translation> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="271"/> + <location filename="../PipInterface/PipFreezeDialog.py" line="73"/> + <source>Text Files (*.txt);;All Files (*)</source> + <translation>Text Dateien (*.txt);;Alle Dateien (*)</translation> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="144"/> <source>The requirements were changed. Do you want to overwrite these changes?</source> <translation>Die Anforderungen wurden verändert. Sollen die Änderungen überschrieben werden?</translation> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="163"/> + <location filename="../PipInterface/PipFreezeDialog.py" line="190"/> <source>No package specifiers generated by 'pip freeze'.</source> <translation>'pip freeze' erzeugte keine Paketspezifikationen.</translation> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="201"/> + <location filename="../PipInterface/PipFreezeDialog.py" line="230"/> <source>The file <b>{0}</b> already exists. Do you want to overwrite it?</source> <translation>Die Datei <b>{0}</b> existiert bereits. Soll sie überschrieben werden?</translation> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="216"/> + <location filename="../PipInterface/PipFreezeDialog.py" line="248"/> <source><p>The requirements could not be written to <b>{0}</b>.</p><p>Reason: {1}</p></source> <translation><p>Die Anforderungen konnten nicht in <b>{0}</b> gespeichert werden.</p><p>Ursache: {1}</p></translation> </message> @@ -52421,6 +52427,16 @@ </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0"/> + <source>Select to include an '--constraint constraints.txt' statement</source> + <translation>Auswählen, um eine '--constraint constraints.txt' Zeile einzufügen</translation> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0"/> + <source>Include Constraints</source> + <translation>Constraints inkludieren</translation> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0"/> <source>Requirements File:</source> <translation>Anforderungsdatei:</translation> </message> @@ -53172,144 +53188,169 @@ <translation><p>Keine detaillierten Paketinformationen für <b>{0}</b> verfügbar.</p></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1150"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1152"/> + <source>Pip</source> + <translation>Pip</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1154"/> <source>Install Pip</source> <translation>Pip installieren</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1153"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1157"/> <source>Install Pip to User-Site</source> <translation>Pip in Nutzerverzeichnis installieren</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1156"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1160"/> <source>Repair Pip</source> <translation>Pip reparieren</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1300"/> - <location filename="../PipInterface/PipPackagesWidget.py" line="1160"/> - <source>Install Packages</source> - <translation>Pakete installieren</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1163"/> - <source>Install Local Package</source> - <translation>Lokales Paket installieren</translation> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1167"/> - <source>Install Requirements</source> - <translation>Paketanforderungen installieren</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1170"/> + <source>Install</source> + <translation>Installieren</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1332"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1169"/> + <source>Install Packages</source> + <translation>Pakete installieren</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1172"/> + <source>Install Local Package</source> + <translation>Lokales Paket installieren</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1175"/> <source>Re-Install Selected Packages</source> <translation>Ausgewählte Pakete neu installieren</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1173"/> - <source>Uninstall Requirements</source> - <translation>Paketanforderungen deinstallieren</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1176"/> - <source>Generate Requirements...</source> - <translation>Anforderungen erzeugen...</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1180"/> - <source>Show Licenses...</source> - <translation>Lizenzen anzeigen...</translation> + <location filename="../PipInterface/PipPackagesWidget.py" line="1182"/> + <source>Requirements/Constraints</source> + <translation>Anforderungen/Constraints</translation> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1184"/> - <source>Check Vulnerabilities</source> - <translation>Verwundbarkeiten prüfen</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1188"/> - <source>Update Vulnerability Database</source> - <translation>Verwundbarkeitsdatenbank aktualisieren</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1192"/> - <source>Create SBOM file</source> - <translation>STL Datei erzeugen</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1196"/> + <source>Install Requirements</source> + <translation>Paketanforderungen installieren</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1187"/> + <source>Uninstall Requirements</source> + <translation>Paketanforderungen deinstallieren</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1190"/> + <source>Generate Requirements...</source> + <translation>Anforderungen erzeugen...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1194"/> + <source>Generate Constraints...</source> + <translation>Constraints generieren...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1201"/> + <source>Cache</source> + <translation>Zwischenspeicher</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1203"/> <source>Show Cache Info...</source> <translation>Zwischenspeicherinfo...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1199"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1206"/> <source>Show Cached Files...</source> <translation>Zwischengespeicherte Dateien...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1202"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1209"/> <source>Remove Cached Files...</source> <translation>Zwischengespeicherte Dateien löschen...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1205"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1212"/> <source>Purge Cache...</source> <translation>Zwischenspeicher leeren...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1210"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1229"/> + <source>Show Licenses...</source> + <translation>Lizenzen anzeigen...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1233"/> + <source>Check Vulnerabilities</source> + <translation>Verwundbarkeiten prüfen</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1237"/> + <source>Update Vulnerability Database</source> + <translation>Verwundbarkeitsdatenbank aktualisieren</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1241"/> + <source>Create SBOM file</source> + <translation>STL Datei erzeugen</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1248"/> <source>Edit User Configuration...</source> <translation>Nutzerkonfiguration bearbeiten...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1213"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1251"/> <source>Edit Environment Configuration...</source> <translation>Umgebungskonfiguration bearbeiten...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1218"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1256"/> <source>Configure...</source> <translation>Einstellungen...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1426"/> - <location filename="../PipInterface/PipPackagesWidget.py" line="1413"/> - <location filename="../PipInterface/PipPackagesWidget.py" line="1402"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1475"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1462"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1451"/> <source>Edit Configuration</source> <translation>Konfiguration bearbeiten</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1427"/> - <location filename="../PipInterface/PipPackagesWidget.py" line="1414"/> - <location filename="../PipInterface/PipPackagesWidget.py" line="1403"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1476"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1463"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1452"/> <source>No valid configuration path determined. Aborting</source> <translation>Es konnte kein gültiger Konfigurationspfad ermittelt werden. Abbruch</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1587"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1636"/> <source>{0} {1}</source> <comment>package name, package version</comment> <translation>{0} {1}</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1608"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1657"/> <source>Affected Version:</source> <translation>Betroffene Version:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1611"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1660"/> <source>Advisory:</source> <translation>Advisory:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1735"/> - <location filename="../PipInterface/PipPackagesWidget.py" line="1716"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1784"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1765"/> <source>unknown</source> <translation>unbekannt</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1732"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1781"/> <source>any</source> <translation>beliebig</translation> </message>
--- a/src/eric7/i18n/eric7_empty.ts Sun Jul 17 17:46:51 2022 +0200 +++ b/src/eric7/i18n/eric7_empty.ts Sun Jul 17 18:47:23 2022 +0200 @@ -31119,144 +31119,144 @@ <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2640" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2638" /> <source>Copy Changesets (Continue)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2652" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2648" /> <source>Copy Changesets (Stop)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2664" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2658" /> <source>Copy Changesets (Abort)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2687" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2681" /> <source>Create Unversioned Archive</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2701" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2695" /> <source>Delete All Backups</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2702" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2696" /> <source><p>Do you really want to delete all backup bundles stored in the backup area?<br/><b>{0}</b></p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2791" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2771" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2760" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2785" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2765" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2754" /> <source>Add Sub-repository</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2828" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2761" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2822" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2755" /> <source><p>The sub-repositories file .hgsub could not be read.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2772" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2766" /> <source><p>The sub-repositories file .hgsub already contains an entry <b>{0}</b>. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2848" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2792" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2842" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2786" /> <source><p>The sub-repositories file .hgsub could not be written to.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2847" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2827" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2813" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2841" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2821" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2807" /> <source>Remove Sub-repositories</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2814" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2808" /> <source><p>The sub-repositories file .hgsub does not exist. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3064" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2927" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3058" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2921" /> <source>Mercurial Command Server</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2928" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2922" /> <source><p>The Mercurial Command Server could not be restarted.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3065" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3059" /> <source><p>The Mercurial Command Server could not be started.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3181" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3175" /> <source>Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3197" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3191" /> <source>Delete Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3198" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3192" /> <source>Select the bookmark to be deleted:</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3208" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3202" /> <source>Delete Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3233" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3227" /> <source>Rename Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3270" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3264" /> <source>Move Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3343" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3337" /> <source>Pull Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3344" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3338" /> <source>Select the bookmark to be pulled:</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3356" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3350" /> <source>Pulling bookmark from a remote Mercurial repository</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3382" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3376" /> <source>Push Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3383" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3377" /> <source>Select the bookmark to be push:</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3398" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3392" /> <source>Pushing bookmark to a remote Mercurial repository</source> <translation type="unfinished" /> </message> @@ -52101,42 +52101,48 @@ <context> <name>PipFreezeDialog</name> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="44" /> - <source>&Refresh</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="239" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="51" /> - <source>Text Files (*.txt);;All Files (*)</source> + <location filename="../PipInterface/PipFreezeDialog.py" line="60" /> + <source>Generate Constraints</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="237" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="215" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="200" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="121" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="269" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="247" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="229" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="143" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="63" /> <source>Generate Requirements</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="122" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="66" /> + <source>&Refresh</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="271" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="73" /> + <source>Text Files (*.txt);;All Files (*)</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="144" /> <source>The requirements were changed. Do you want to overwrite these changes?</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="163" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="190" /> <source>No package specifiers generated by 'pip freeze'.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="201" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="230" /> <source>The file <b>{0}</b> already exists. Do you want to overwrite it?</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="216" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="248" /> <source><p>The requirements could not be written to <b>{0}</b>.</p><p>Reason: {1}</p></source> <translation type="unfinished" /> </message> @@ -52167,6 +52173,16 @@ </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Select to include an '--constraint constraints.txt' statement</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Include Constraints</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> <source>Requirements File:</source> <translation type="unfinished" /> </message> @@ -52917,144 +52933,169 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1150" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1152" /> + <source>Pip</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1154" /> <source>Install Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1153" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1157" /> <source>Install Pip to User-Site</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1156" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> <source>Repair Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1300" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> - <source>Install Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1163" /> - <source>Install Local Package</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1167" /> - <source>Install Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1170" /> + <source>Install</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1332" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1169" /> + <source>Install Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1172" /> + <source>Install Local Package</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1175" /> <source>Re-Install Selected Packages</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1173" /> - <source>Uninstall Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1176" /> - <source>Generate Requirements...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1180" /> - <source>Show Licenses...</source> + <location filename="../PipInterface/PipPackagesWidget.py" line="1182" /> + <source>Requirements/Constraints</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1184" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1188" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1192" /> - <source>Create SBOM file</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1196" /> + <source>Install Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1187" /> + <source>Uninstall Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1190" /> + <source>Generate Requirements...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1194" /> + <source>Generate Constraints...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1201" /> + <source>Cache</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1203" /> <source>Show Cache Info...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1199" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1206" /> <source>Show Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1202" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1209" /> <source>Remove Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1212" /> <source>Purge Cache...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1229" /> + <source>Show Licenses...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1233" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1237" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1241" /> + <source>Create SBOM file</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1248" /> <source>Edit User Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1251" /> <source>Edit Environment Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1218" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1256" /> <source>Configure...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1426" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1413" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1402" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1475" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1462" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1451" /> <source>Edit Configuration</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1427" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1414" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1403" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1476" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1463" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1452" /> <source>No valid configuration path determined. Aborting</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1587" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1636" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1608" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1657" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1611" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1660" /> <source>Advisory:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1735" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1716" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1784" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1765" /> <source>unknown</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1732" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1781" /> <source>any</source> <translation type="unfinished" /> </message>
--- a/src/eric7/i18n/eric7_en.ts Sun Jul 17 17:46:51 2022 +0200 +++ b/src/eric7/i18n/eric7_en.ts Sun Jul 17 18:47:23 2022 +0200 @@ -31142,144 +31142,144 @@ <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2640" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2638" /> <source>Copy Changesets (Continue)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2652" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2648" /> <source>Copy Changesets (Stop)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2664" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2658" /> <source>Copy Changesets (Abort)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2687" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2681" /> <source>Create Unversioned Archive</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2701" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2695" /> <source>Delete All Backups</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2702" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2696" /> <source><p>Do you really want to delete all backup bundles stored in the backup area?<br/><b>{0}</b></p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2791" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2771" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2760" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2785" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2765" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2754" /> <source>Add Sub-repository</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2828" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2761" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2822" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2755" /> <source><p>The sub-repositories file .hgsub could not be read.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2772" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2766" /> <source><p>The sub-repositories file .hgsub already contains an entry <b>{0}</b>. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2848" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2792" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2842" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2786" /> <source><p>The sub-repositories file .hgsub could not be written to.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2847" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2827" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2813" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2841" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2821" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2807" /> <source>Remove Sub-repositories</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2814" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2808" /> <source><p>The sub-repositories file .hgsub does not exist. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3064" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2927" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3058" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2921" /> <source>Mercurial Command Server</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2928" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2922" /> <source><p>The Mercurial Command Server could not be restarted.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3065" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3059" /> <source><p>The Mercurial Command Server could not be started.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3181" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3175" /> <source>Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3197" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3191" /> <source>Delete Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3198" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3192" /> <source>Select the bookmark to be deleted:</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3208" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3202" /> <source>Delete Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3233" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3227" /> <source>Rename Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3270" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3264" /> <source>Move Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3343" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3337" /> <source>Pull Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3344" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3338" /> <source>Select the bookmark to be pulled:</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3356" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3350" /> <source>Pulling bookmark from a remote Mercurial repository</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3382" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3376" /> <source>Push Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3383" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3377" /> <source>Select the bookmark to be push:</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3398" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3392" /> <source>Pushing bookmark to a remote Mercurial repository</source> <translation type="unfinished" /> </message> @@ -52146,42 +52146,48 @@ <context> <name>PipFreezeDialog</name> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="44" /> - <source>&Refresh</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="239" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="51" /> - <source>Text Files (*.txt);;All Files (*)</source> + <location filename="../PipInterface/PipFreezeDialog.py" line="60" /> + <source>Generate Constraints</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="237" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="215" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="200" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="121" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="269" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="247" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="229" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="143" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="63" /> <source>Generate Requirements</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="122" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="66" /> + <source>&Refresh</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="271" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="73" /> + <source>Text Files (*.txt);;All Files (*)</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="144" /> <source>The requirements were changed. Do you want to overwrite these changes?</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="163" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="190" /> <source>No package specifiers generated by 'pip freeze'.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="201" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="230" /> <source>The file <b>{0}</b> already exists. Do you want to overwrite it?</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="216" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="248" /> <source><p>The requirements could not be written to <b>{0}</b>.</p><p>Reason: {1}</p></source> <translation type="unfinished" /> </message> @@ -52212,6 +52218,16 @@ </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Select to include an '--constraint constraints.txt' statement</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Include Constraints</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> <source>Requirements File:</source> <translation type="unfinished" /> </message> @@ -52963,144 +52979,169 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1150" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1152" /> + <source>Pip</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1154" /> <source>Install Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1153" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1157" /> <source>Install Pip to User-Site</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1156" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> <source>Repair Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1300" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> - <source>Install Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1163" /> - <source>Install Local Package</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1167" /> - <source>Install Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1170" /> + <source>Install</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1332" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1169" /> + <source>Install Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1172" /> + <source>Install Local Package</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1175" /> <source>Re-Install Selected Packages</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1173" /> - <source>Uninstall Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1176" /> - <source>Generate Requirements...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1180" /> - <source>Show Licenses...</source> + <location filename="../PipInterface/PipPackagesWidget.py" line="1182" /> + <source>Requirements/Constraints</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1184" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1188" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1192" /> - <source>Create SBOM file</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1196" /> + <source>Install Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1187" /> + <source>Uninstall Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1190" /> + <source>Generate Requirements...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1194" /> + <source>Generate Constraints...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1201" /> + <source>Cache</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1203" /> <source>Show Cache Info...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1199" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1206" /> <source>Show Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1202" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1209" /> <source>Remove Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1212" /> <source>Purge Cache...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1229" /> + <source>Show Licenses...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1233" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1237" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1241" /> + <source>Create SBOM file</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1248" /> <source>Edit User Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1251" /> <source>Edit Environment Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1218" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1256" /> <source>Configure...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1426" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1413" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1402" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1475" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1462" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1451" /> <source>Edit Configuration</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1427" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1414" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1403" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1476" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1463" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1452" /> <source>No valid configuration path determined. Aborting</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1587" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1636" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1608" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1657" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1611" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1660" /> <source>Advisory:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1735" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1716" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1784" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1765" /> <source>unknown</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1732" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1781" /> <source>any</source> <translation type="unfinished" /> </message>
--- a/src/eric7/i18n/eric7_es.ts Sun Jul 17 17:46:51 2022 +0200 +++ b/src/eric7/i18n/eric7_es.ts Sun Jul 17 18:47:23 2022 +0200 @@ -31286,144 +31286,144 @@ <translation>Copiar Changesets</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2640" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2638" /> <source>Copy Changesets (Continue)</source> <translation>Copiar Changesets (Continuar)</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2652" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2648" /> <source>Copy Changesets (Stop)</source> <translation>Copiar Changesets (Stop)</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2664" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2658" /> <source>Copy Changesets (Abort)</source> <translation>Copiar Changesets (Abortar)</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2687" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2681" /> <source>Create Unversioned Archive</source> <translation>Crear Archivo Sin Versionar</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2701" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2695" /> <source>Delete All Backups</source> <translation>Borrar todas las Copias de Seguridad</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2702" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2696" /> <source><p>Do you really want to delete all backup bundles stored in the backup area?<br/><b>{0}</b></p></source> <translation><p>¿Desea realmente borrar todos los bundles de copia de seguridad almacenados en el área de copias de seguridad?<br/><b>{0}</b></p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2791" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2771" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2760" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2785" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2765" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2754" /> <source>Add Sub-repository</source> <translation>Añadir Sub-repositorio</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2828" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2761" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2822" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2755" /> <source><p>The sub-repositories file .hgsub could not be read.</p><p>Reason: {0}</p></source> <translation><p>No se ha podido leer el archivo .hgsub de sub-repositorios.</p><p>Razón: {0}</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2772" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2766" /> <source><p>The sub-repositories file .hgsub already contains an entry <b>{0}</b>. Aborting...</p></source> <translation><p>El archivo .hgsub de sub-repositorios ya contiene una entrada.</p><p>Abortando...</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2848" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2792" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2842" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2786" /> <source><p>The sub-repositories file .hgsub could not be written to.</p><p>Reason: {0}</p></source> <translation><p>No se ha podido escribir al archivo .hgsub de sub-repositorios.</p><p>Razón: {0}</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2847" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2827" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2813" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2841" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2821" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2807" /> <source>Remove Sub-repositories</source> <translation>Eliminar Sub-repositorios</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2814" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2808" /> <source><p>The sub-repositories file .hgsub does not exist. Aborting...</p></source> <translation><p>El archivo de subrepositorios .hgsub no existe. Abortando...</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3064" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2927" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3058" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2921" /> <source>Mercurial Command Server</source> <translation>Servidor de Comandos de Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2928" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2922" /> <source><p>The Mercurial Command Server could not be restarted.</p><p>Reason: {0}</p></source> <translation><p>El Servidor de Comandos de Mercurial no ha podido reiniciarse.</p><p>Razón: {0}</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3065" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3059" /> <source><p>The Mercurial Command Server could not be started.</p><p>Reason: {0}</p></source> <translation><p>El Servidor de Comandos de Mercurial no ha podido iniciarse.</p><p>Razón: {0}</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3181" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3175" /> <source>Mercurial Bookmark</source> <translation>Marcador de Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3197" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3191" /> <source>Delete Bookmark</source> <translation>Borrar Marcador</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3198" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3192" /> <source>Select the bookmark to be deleted:</source> <translation>Seleccionar el marcador a borrar:</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3208" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3202" /> <source>Delete Mercurial Bookmark</source> <translation>Borrar Marcador de Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3233" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3227" /> <source>Rename Mercurial Bookmark</source> <translation>Renombrar Marcador de Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3270" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3264" /> <source>Move Mercurial Bookmark</source> <translation>Mover Marcador de Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3343" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3337" /> <source>Pull Bookmark</source> <translation>Pull de Marcador</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3344" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3338" /> <source>Select the bookmark to be pulled:</source> <translation>Seleccinar el marcador sobre el que hacer pull:</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3356" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3350" /> <source>Pulling bookmark from a remote Mercurial repository</source> <translation>Haciendo pull de marcador desde un repositorio Mercurial remoto</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3382" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3376" /> <source>Push Bookmark</source> <translation>Push de Marcador</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3383" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3377" /> <source>Select the bookmark to be push:</source> <translation>Seleccinar el marcador sobre el que hacer push:</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3398" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3392" /> <source>Pushing bookmark to a remote Mercurial repository</source> <translation>Haciendo push de marcador desde un repositorio Mercurial remoto</translation> </message> @@ -52357,42 +52357,48 @@ <context> <name>PipFreezeDialog</name> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="44" /> - <source>&Refresh</source> - <translation>Actualiza&r</translation> - </message> - <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="239" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="51" /> - <source>Text Files (*.txt);;All Files (*)</source> - <translation>Archivos de Texto (*.txt);;Todos los Archivos (*)</translation> + <location filename="../PipInterface/PipFreezeDialog.py" line="60" /> + <source>Generate Constraints</source> + <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="237" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="215" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="200" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="121" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="269" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="247" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="229" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="143" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="63" /> <source>Generate Requirements</source> <translation>Generar Requisitos</translation> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="122" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="66" /> + <source>&Refresh</source> + <translation>Actualiza&r</translation> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="271" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="73" /> + <source>Text Files (*.txt);;All Files (*)</source> + <translation>Archivos de Texto (*.txt);;Todos los Archivos (*)</translation> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="144" /> <source>The requirements were changed. Do you want to overwrite these changes?</source> <translation>Los requisitos se han cambiado. ¿Desea sobreescribir los cambios?</translation> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="163" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="190" /> <source>No package specifiers generated by 'pip freeze'.</source> <translation>No se han generado especificadores de package por parte de 'pip freeze'.</translation> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="201" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="230" /> <source>The file <b>{0}</b> already exists. Do you want to overwrite it?</source> <translation>El archivo <b>{0}</b> ya existe. ¿Desea sobreescribirlo?</translation> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="216" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="248" /> <source><p>The requirements could not be written to <b>{0}</b>.</p><p>Reason: {1}</p></source> <translation><p>TLos requisitos no se han podido escribir en <b>{0}</b>.</p><p>Razón: {1}</p></translation> </message> @@ -52423,6 +52429,16 @@ </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Select to include an '--constraint constraints.txt' statement</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Include Constraints</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> <source>Requirements File:</source> <translation>Archivo de Requisitos:</translation> </message> @@ -53174,144 +53190,169 @@ <translation><p>No hay info de detalles de package disponible para <b>{0}</b>.</p></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1150" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1152" /> + <source>Pip</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1154" /> <source>Install Pip</source> <translation>Instalar Pip</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1153" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1157" /> <source>Install Pip to User-Site</source> <translation>Instalar Pip en el Sitio de Usuario</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1156" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> <source>Repair Pip</source> <translation>Reparar Pip</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1300" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> - <source>Install Packages</source> - <translation>Instalar Packages</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1163" /> - <source>Install Local Package</source> - <translation>Instalar Package Local</translation> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1167" /> - <source>Install Requirements</source> - <translation>Instalar Requisitos</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1170" /> + <source>Install</source> + <translation type="unfinished">Instalar</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1332" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1169" /> + <source>Install Packages</source> + <translation>Instalar Packages</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1172" /> + <source>Install Local Package</source> + <translation>Instalar Package Local</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1175" /> <source>Re-Install Selected Packages</source> <translation>Reinstalar los Packages Seleccionados</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1173" /> - <source>Uninstall Requirements</source> - <translation>Desinstalar Requisitos</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1176" /> - <source>Generate Requirements...</source> - <translation>Generar Requisitos...</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1180" /> - <source>Show Licenses...</source> - <translation>Mostrar Licencias...</translation> + <location filename="../PipInterface/PipPackagesWidget.py" line="1182" /> + <source>Requirements/Constraints</source> + <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1184" /> - <source>Check Vulnerabilities</source> - <translation>Comprobar Vulnerabilidades</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1188" /> - <source>Update Vulnerability Database</source> - <translation>Actualizar Base de Datos de Vulnerabilidades</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1192" /> - <source>Create SBOM file</source> - <translation>Crear archivo SBOM</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1196" /> + <source>Install Requirements</source> + <translation>Instalar Requisitos</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1187" /> + <source>Uninstall Requirements</source> + <translation>Desinstalar Requisitos</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1190" /> + <source>Generate Requirements...</source> + <translation>Generar Requisitos...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1194" /> + <source>Generate Constraints...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1201" /> + <source>Cache</source> + <translation type="unfinished">Caché</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1203" /> <source>Show Cache Info...</source> <translation>Mostrar info de Cache...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1199" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1206" /> <source>Show Cached Files...</source> <translation>Mostrar Archivos en Cache...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1202" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1209" /> <source>Remove Cached Files...</source> <translation>Eliminar Archivos en Cache...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1212" /> <source>Purge Cache...</source> <translation>Purgar Cache...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1229" /> + <source>Show Licenses...</source> + <translation>Mostrar Licencias...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1233" /> + <source>Check Vulnerabilities</source> + <translation>Comprobar Vulnerabilidades</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1237" /> + <source>Update Vulnerability Database</source> + <translation>Actualizar Base de Datos de Vulnerabilidades</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1241" /> + <source>Create SBOM file</source> + <translation>Crear archivo SBOM</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1248" /> <source>Edit User Configuration...</source> <translation>Editar Configuración de Usuario...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1251" /> <source>Edit Environment Configuration...</source> <translation>Editar Configuración de Entorno...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1218" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1256" /> <source>Configure...</source> <translation>Configurar...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1426" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1413" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1402" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1475" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1462" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1451" /> <source>Edit Configuration</source> <translation>Editar Configuración</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1427" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1414" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1403" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1476" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1463" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1452" /> <source>No valid configuration path determined. Aborting</source> <translation>No hay una ruta válida de configuración determinada. Abortando</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1587" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1636" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation>{0} {1}</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1608" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1657" /> <source>Affected Version:</source> <translation>Versión Afectada:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1611" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1660" /> <source>Advisory:</source> <translation>Recomendatorio:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1735" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1716" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1784" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1765" /> <source>unknown</source> <translation>desconocido</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1732" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1781" /> <source>any</source> <translation>cualquiera</translation> </message>
--- a/src/eric7/i18n/eric7_fr.ts Sun Jul 17 17:46:51 2022 +0200 +++ b/src/eric7/i18n/eric7_fr.ts Sun Jul 17 18:47:23 2022 +0200 @@ -31278,144 +31278,144 @@ <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2640" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2638" /> <source>Copy Changesets (Continue)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2652" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2648" /> <source>Copy Changesets (Stop)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2664" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2658" /> <source>Copy Changesets (Abort)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2687" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2681" /> <source>Create Unversioned Archive</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2701" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2695" /> <source>Delete All Backups</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2702" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2696" /> <source><p>Do you really want to delete all backup bundles stored in the backup area?<br/><b>{0}</b></p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2791" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2771" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2760" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2785" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2765" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2754" /> <source>Add Sub-repository</source> <translation>Ajouter un sous-dépot</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2828" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2761" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2822" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2755" /> <source><p>The sub-repositories file .hgsub could not be read.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2772" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2766" /> <source><p>The sub-repositories file .hgsub already contains an entry <b>{0}</b>. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2848" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2792" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2842" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2786" /> <source><p>The sub-repositories file .hgsub could not be written to.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2847" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2827" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2813" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2841" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2821" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2807" /> <source>Remove Sub-repositories</source> <translation>Supprimer un sous-répertoire</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2814" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2808" /> <source><p>The sub-repositories file .hgsub does not exist. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3064" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2927" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3058" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2921" /> <source>Mercurial Command Server</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2928" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2922" /> <source><p>The Mercurial Command Server could not be restarted.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3065" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3059" /> <source><p>The Mercurial Command Server could not be started.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3181" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3175" /> <source>Mercurial Bookmark</source> <translation>Signet Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3197" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3191" /> <source>Delete Bookmark</source> <translation>Supprimer le signet</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3198" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3192" /> <source>Select the bookmark to be deleted:</source> <translation>Selectionner le signet à supprimer :</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3208" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3202" /> <source>Delete Mercurial Bookmark</source> <translation>Supprimer le signet Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3233" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3227" /> <source>Rename Mercurial Bookmark</source> <translation>Renommer le signet Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3270" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3264" /> <source>Move Mercurial Bookmark</source> <translation>Déplacer le signet Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3343" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3337" /> <source>Pull Bookmark</source> <translation>Récuperer le signet</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3344" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3338" /> <source>Select the bookmark to be pulled:</source> <translation>Sélectionner le signet à récuperer:</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3356" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3350" /> <source>Pulling bookmark from a remote Mercurial repository</source> <translation>Récupérant le signet d'un dépôt Mercurial distant</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3382" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3376" /> <source>Push Bookmark</source> <translation>Envoyer signet</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3383" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3377" /> <source>Select the bookmark to be push:</source> <translation>Sélectionner le signet à envoyer:</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3398" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3392" /> <source>Pushing bookmark to a remote Mercurial repository</source> <translation>À envoyer le signet à un dépôt Mercurial distant</translation> </message> @@ -52325,42 +52325,48 @@ <context> <name>PipFreezeDialog</name> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="44" /> - <source>&Refresh</source> - <translation>&Rafraichir</translation> - </message> - <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="239" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="51" /> - <source>Text Files (*.txt);;All Files (*)</source> - <translation>Fichiers texte (*.txt);;Tous les fichiers (*)</translation> + <location filename="../PipInterface/PipFreezeDialog.py" line="60" /> + <source>Generate Constraints</source> + <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="237" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="215" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="200" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="121" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="269" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="247" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="229" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="143" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="63" /> <source>Generate Requirements</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="122" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="66" /> + <source>&Refresh</source> + <translation>&Rafraichir</translation> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="271" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="73" /> + <source>Text Files (*.txt);;All Files (*)</source> + <translation>Fichiers texte (*.txt);;Tous les fichiers (*)</translation> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="144" /> <source>The requirements were changed. Do you want to overwrite these changes?</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="163" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="190" /> <source>No package specifiers generated by 'pip freeze'.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="201" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="230" /> <source>The file <b>{0}</b> already exists. Do you want to overwrite it?</source> <translation>Le fichier <b>{0}</b>existe déjà. Écraser ?</translation> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="216" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="248" /> <source><p>The requirements could not be written to <b>{0}</b>.</p><p>Reason: {1}</p></source> <translation type="unfinished" /> </message> @@ -52391,6 +52397,16 @@ </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Select to include an '--constraint constraints.txt' statement</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Include Constraints</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> <source>Requirements File:</source> <translation type="unfinished" /> </message> @@ -53142,144 +53158,169 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1150" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1152" /> + <source>Pip</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1154" /> <source>Install Pip</source> <translation>Installer pip</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1153" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1157" /> <source>Install Pip to User-Site</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1156" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> <source>Repair Pip</source> <translation>Réparer Pip</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1300" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> - <source>Install Packages</source> - <translation>Installer des packages</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1163" /> - <source>Install Local Package</source> - <translation>Installer un package local</translation> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1167" /> - <source>Install Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1170" /> + <source>Install</source> + <translation type="unfinished">Installer</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1332" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1169" /> + <source>Install Packages</source> + <translation>Installer des packages</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1172" /> + <source>Install Local Package</source> + <translation>Installer un package local</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1175" /> <source>Re-Install Selected Packages</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1173" /> - <source>Uninstall Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1176" /> - <source>Generate Requirements...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1180" /> - <source>Show Licenses...</source> + <location filename="../PipInterface/PipPackagesWidget.py" line="1182" /> + <source>Requirements/Constraints</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1184" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1188" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1192" /> - <source>Create SBOM file</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1196" /> + <source>Install Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1187" /> + <source>Uninstall Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1190" /> + <source>Generate Requirements...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1194" /> + <source>Generate Constraints...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1201" /> + <source>Cache</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1203" /> <source>Show Cache Info...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1199" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1206" /> <source>Show Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1202" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1209" /> <source>Remove Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1212" /> <source>Purge Cache...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1229" /> + <source>Show Licenses...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1233" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1237" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1241" /> + <source>Create SBOM file</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1248" /> <source>Edit User Configuration...</source> <translation>Éditer la configuration utilisateur...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1251" /> <source>Edit Environment Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1218" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1256" /> <source>Configure...</source> <translation>Configuration...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1426" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1413" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1402" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1475" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1462" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1451" /> <source>Edit Configuration</source> <translation>Éditer la configuration</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1427" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1414" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1403" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1476" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1463" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1452" /> <source>No valid configuration path determined. Aborting</source> <translation>Pas de chemin de configuration déterminé. Annulation</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1587" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1636" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1608" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1657" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1611" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1660" /> <source>Advisory:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1735" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1716" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1784" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1765" /> <source>unknown</source> <translation type="unfinished">inconnu</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1732" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1781" /> <source>any</source> <translation type="unfinished" /> </message>
--- a/src/eric7/i18n/eric7_it.ts Sun Jul 17 17:46:51 2022 +0200 +++ b/src/eric7/i18n/eric7_it.ts Sun Jul 17 18:47:23 2022 +0200 @@ -31248,144 +31248,144 @@ <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2640" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2638" /> <source>Copy Changesets (Continue)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2652" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2648" /> <source>Copy Changesets (Stop)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2664" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2658" /> <source>Copy Changesets (Abort)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2687" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2681" /> <source>Create Unversioned Archive</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2701" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2695" /> <source>Delete All Backups</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2702" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2696" /> <source><p>Do you really want to delete all backup bundles stored in the backup area?<br/><b>{0}</b></p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2791" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2771" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2760" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2785" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2765" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2754" /> <source>Add Sub-repository</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2828" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2761" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2822" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2755" /> <source><p>The sub-repositories file .hgsub could not be read.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2772" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2766" /> <source><p>The sub-repositories file .hgsub already contains an entry <b>{0}</b>. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2848" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2792" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2842" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2786" /> <source><p>The sub-repositories file .hgsub could not be written to.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2847" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2827" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2813" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2841" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2821" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2807" /> <source>Remove Sub-repositories</source> <translation type="unfinished">Rimuovi sotto-archivi</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2814" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2808" /> <source><p>The sub-repositories file .hgsub does not exist. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3064" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2927" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3058" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2921" /> <source>Mercurial Command Server</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2928" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2922" /> <source><p>The Mercurial Command Server could not be restarted.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3065" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3059" /> <source><p>The Mercurial Command Server could not be started.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3181" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3175" /> <source>Mercurial Bookmark</source> <translation type="unfinished">Segnalibro Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3197" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3191" /> <source>Delete Bookmark</source> <translation type="unfinished">Cancella segnalibro</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3198" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3192" /> <source>Select the bookmark to be deleted:</source> <translation type="unfinished">Seleziona il segnalibro da cancellare:</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3208" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3202" /> <source>Delete Mercurial Bookmark</source> <translation type="unfinished">Cancella Segnalibro Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3233" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3227" /> <source>Rename Mercurial Bookmark</source> <translation type="unfinished">Rinomina Segnalibro Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3270" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3264" /> <source>Move Mercurial Bookmark</source> <translation type="unfinished">Sposta Segnalibro Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3343" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3337" /> <source>Pull Bookmark</source> <translation type="unfinished">Estrai Segnalibro</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3344" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3338" /> <source>Select the bookmark to be pulled:</source> <translation type="unfinished">Seleziona il segnalibro da estrarre:</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3356" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3350" /> <source>Pulling bookmark from a remote Mercurial repository</source> <translation type="unfinished">Etrae segnalibro da un repository Mercurial remoto</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3382" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3376" /> <source>Push Bookmark</source> <translation type="unfinished">Inserisce Segnalibro</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3383" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3377" /> <source>Select the bookmark to be push:</source> <translation type="unfinished">Seleziona il segnalibro da inserire:</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3398" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3392" /> <source>Pushing bookmark to a remote Mercurial repository</source> <translation type="unfinished">Inserisce segnalibro in un repository Mercurial remoto</translation> </message> @@ -52288,42 +52288,48 @@ <context> <name>PipFreezeDialog</name> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="44" /> - <source>&Refresh</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="239" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="51" /> - <source>Text Files (*.txt);;All Files (*)</source> - <translation type="unfinished">File Testo(*.txt);;Tutti i file (*)</translation> + <location filename="../PipInterface/PipFreezeDialog.py" line="60" /> + <source>Generate Constraints</source> + <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="237" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="215" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="200" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="121" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="269" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="247" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="229" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="143" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="63" /> <source>Generate Requirements</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="122" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="66" /> + <source>&Refresh</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="271" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="73" /> + <source>Text Files (*.txt);;All Files (*)</source> + <translation type="unfinished">File Testo(*.txt);;Tutti i file (*)</translation> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="144" /> <source>The requirements were changed. Do you want to overwrite these changes?</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="163" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="190" /> <source>No package specifiers generated by 'pip freeze'.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="201" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="230" /> <source>The file <b>{0}</b> already exists. Do you want to overwrite it?</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="216" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="248" /> <source><p>The requirements could not be written to <b>{0}</b>.</p><p>Reason: {1}</p></source> <translation type="unfinished" /> </message> @@ -52354,6 +52360,16 @@ </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Select to include an '--constraint constraints.txt' statement</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Include Constraints</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> <source>Requirements File:</source> <translation type="unfinished" /> </message> @@ -53105,144 +53121,169 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1150" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1152" /> + <source>Pip</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1154" /> <source>Install Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1153" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1157" /> <source>Install Pip to User-Site</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1156" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> <source>Repair Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1300" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> - <source>Install Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1163" /> - <source>Install Local Package</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1167" /> - <source>Install Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1170" /> + <source>Install</source> + <translation type="unfinished">Installa</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1332" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1169" /> + <source>Install Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1172" /> + <source>Install Local Package</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1175" /> <source>Re-Install Selected Packages</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1173" /> - <source>Uninstall Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1176" /> - <source>Generate Requirements...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1180" /> - <source>Show Licenses...</source> + <location filename="../PipInterface/PipPackagesWidget.py" line="1182" /> + <source>Requirements/Constraints</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1184" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1188" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1192" /> - <source>Create SBOM file</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1196" /> + <source>Install Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1187" /> + <source>Uninstall Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1190" /> + <source>Generate Requirements...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1194" /> + <source>Generate Constraints...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1201" /> + <source>Cache</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1203" /> <source>Show Cache Info...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1199" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1206" /> <source>Show Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1202" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1209" /> <source>Remove Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1212" /> <source>Purge Cache...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1229" /> + <source>Show Licenses...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1233" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1237" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1241" /> + <source>Create SBOM file</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1248" /> <source>Edit User Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1251" /> <source>Edit Environment Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1218" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1256" /> <source>Configure...</source> <translation type="unfinished">Configura...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1426" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1413" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1402" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1475" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1462" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1451" /> <source>Edit Configuration</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1427" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1414" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1403" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1476" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1463" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1452" /> <source>No valid configuration path determined. Aborting</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1587" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1636" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished">{0} {1}</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1608" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1657" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1611" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1660" /> <source>Advisory:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1735" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1716" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1784" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1765" /> <source>unknown</source> <translation type="unfinished">sconosciuto</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1732" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1781" /> <source>any</source> <translation type="unfinished" /> </message>
--- a/src/eric7/i18n/eric7_pt.ts Sun Jul 17 17:46:51 2022 +0200 +++ b/src/eric7/i18n/eric7_pt.ts Sun Jul 17 18:47:23 2022 +0200 @@ -31248,144 +31248,144 @@ <translation type="unfinished">Copiar Conjuntos de Alterações</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2640" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2638" /> <source>Copy Changesets (Continue)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2652" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2648" /> <source>Copy Changesets (Stop)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2664" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2658" /> <source>Copy Changesets (Abort)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2687" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2681" /> <source>Create Unversioned Archive</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2701" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2695" /> <source>Delete All Backups</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2702" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2696" /> <source><p>Do you really want to delete all backup bundles stored in the backup area?<br/><b>{0}</b></p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2791" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2771" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2760" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2785" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2765" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2754" /> <source>Add Sub-repository</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2828" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2761" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2822" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2755" /> <source><p>The sub-repositories file .hgsub could not be read.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2772" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2766" /> <source><p>The sub-repositories file .hgsub already contains an entry <b>{0}</b>. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2848" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2792" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2842" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2786" /> <source><p>The sub-repositories file .hgsub could not be written to.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2847" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2827" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2813" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2841" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2821" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2807" /> <source>Remove Sub-repositories</source> <translation>Retirar Sub Repositórios</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2814" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2808" /> <source><p>The sub-repositories file .hgsub does not exist. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3064" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2927" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3058" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2921" /> <source>Mercurial Command Server</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2928" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2922" /> <source><p>The Mercurial Command Server could not be restarted.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3065" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3059" /> <source><p>The Mercurial Command Server could not be started.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3181" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3175" /> <source>Mercurial Bookmark</source> <translation>Marcador de Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3197" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3191" /> <source>Delete Bookmark</source> <translation>Apagar Marcador</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3198" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3192" /> <source>Select the bookmark to be deleted:</source> <translation>Selecionar o marcador a apagar:</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3208" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3202" /> <source>Delete Mercurial Bookmark</source> <translation>Apagar o Marcador de Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3233" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3227" /> <source>Rename Mercurial Bookmark</source> <translation>Renomear o Marcador de Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3270" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3264" /> <source>Move Mercurial Bookmark</source> <translation>Mover o Marcador de Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3343" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3337" /> <source>Pull Bookmark</source> <translation>Puxar Marcador</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3344" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3338" /> <source>Select the bookmark to be pulled:</source> <translation>Selecionar o marcador a puxar:</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3356" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3350" /> <source>Pulling bookmark from a remote Mercurial repository</source> <translation>A puxar marcador desde o repositório remoto de Mercurial</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3382" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3376" /> <source>Push Bookmark</source> <translation>Empurrar Marcador</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3383" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3377" /> <source>Select the bookmark to be push:</source> <translation>Selecione o marcador a empurrar:</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3398" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3392" /> <source>Pushing bookmark to a remote Mercurial repository</source> <translation>A empurrar marcador a um repositório remoto de Mercurial</translation> </message> @@ -52275,42 +52275,48 @@ <context> <name>PipFreezeDialog</name> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="44" /> - <source>&Refresh</source> - <translation type="unfinished">Atualiza&r</translation> - </message> - <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="239" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="51" /> - <source>Text Files (*.txt);;All Files (*)</source> - <translation type="unfinished">Ficheiros de Texto (*.txt);;Ficheiros Todos (*)</translation> + <location filename="../PipInterface/PipFreezeDialog.py" line="60" /> + <source>Generate Constraints</source> + <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="237" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="215" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="200" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="121" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="269" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="247" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="229" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="143" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="63" /> <source>Generate Requirements</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="122" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="66" /> + <source>&Refresh</source> + <translation type="unfinished">Atualiza&r</translation> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="271" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="73" /> + <source>Text Files (*.txt);;All Files (*)</source> + <translation type="unfinished">Ficheiros de Texto (*.txt);;Ficheiros Todos (*)</translation> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="144" /> <source>The requirements were changed. Do you want to overwrite these changes?</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="163" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="190" /> <source>No package specifiers generated by 'pip freeze'.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="201" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="230" /> <source>The file <b>{0}</b> already exists. Do you want to overwrite it?</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="216" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="248" /> <source><p>The requirements could not be written to <b>{0}</b>.</p><p>Reason: {1}</p></source> <translation type="unfinished" /> </message> @@ -52341,6 +52347,16 @@ </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Select to include an '--constraint constraints.txt' statement</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Include Constraints</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> <source>Requirements File:</source> <translation type="unfinished" /> </message> @@ -53092,144 +53108,169 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1150" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1152" /> + <source>Pip</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1154" /> <source>Install Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1153" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1157" /> <source>Install Pip to User-Site</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1156" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> <source>Repair Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1300" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> - <source>Install Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1163" /> - <source>Install Local Package</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1167" /> - <source>Install Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1170" /> + <source>Install</source> + <translation type="unfinished">Instalar</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1332" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1169" /> + <source>Install Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1172" /> + <source>Install Local Package</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1175" /> <source>Re-Install Selected Packages</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1173" /> - <source>Uninstall Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1176" /> - <source>Generate Requirements...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1180" /> - <source>Show Licenses...</source> + <location filename="../PipInterface/PipPackagesWidget.py" line="1182" /> + <source>Requirements/Constraints</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1184" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1188" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1192" /> - <source>Create SBOM file</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1196" /> + <source>Install Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1187" /> + <source>Uninstall Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1190" /> + <source>Generate Requirements...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1194" /> + <source>Generate Constraints...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1201" /> + <source>Cache</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1203" /> <source>Show Cache Info...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1199" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1206" /> <source>Show Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1202" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1209" /> <source>Remove Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1212" /> <source>Purge Cache...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1229" /> + <source>Show Licenses...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1233" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1237" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1241" /> + <source>Create SBOM file</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1248" /> <source>Edit User Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1251" /> <source>Edit Environment Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1218" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1256" /> <source>Configure...</source> <translation type="unfinished">Configurar...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1426" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1413" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1402" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1475" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1462" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1451" /> <source>Edit Configuration</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1427" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1414" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1403" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1476" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1463" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1452" /> <source>No valid configuration path determined. Aborting</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1587" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1636" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1608" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1657" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1611" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1660" /> <source>Advisory:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1735" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1716" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1784" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1765" /> <source>unknown</source> <translation type="unfinished">desconhecido</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1732" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1781" /> <source>any</source> <translation type="unfinished" /> </message>
--- a/src/eric7/i18n/eric7_ru.ts Sun Jul 17 17:46:51 2022 +0200 +++ b/src/eric7/i18n/eric7_ru.ts Sun Jul 17 18:47:23 2022 +0200 @@ -31334,144 +31334,144 @@ <translation>Копировать наборы изменений</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2640" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2638" /> <source>Copy Changesets (Continue)</source> <translation>Копировать наборы изменений (продолжение)</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2652" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2648" /> <source>Copy Changesets (Stop)</source> <translation>Копировать наборы изменений (Stop)</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2664" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2658" /> <source>Copy Changesets (Abort)</source> <translation>Копировать наборы изменений (Abort)</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2687" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2681" /> <source>Create Unversioned Archive</source> <translation>Создать неверсированный архив</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2701" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2695" /> <source>Delete All Backups</source> <translation>Удалить все резервные копии</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2702" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2696" /> <source><p>Do you really want to delete all backup bundles stored in the backup area?<br/><b>{0}</b></p></source> <translation><p>Вы действительно хотите удалить все резервные комплекты, сохраненные в области резервного копирования'?<br/><b>{0}</b></p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2791" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2771" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2760" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2785" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2765" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2754" /> <source>Add Sub-repository</source> <translation>Добавить субрепозиторий</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2828" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2761" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2822" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2755" /> <source><p>The sub-repositories file .hgsub could not be read.</p><p>Reason: {0}</p></source> <translation><p>Невозможно прочитать файл субрепозиториев .hgsub.<b></b>Причина {0}</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2772" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2766" /> <source><p>The sub-repositories file .hgsub already contains an entry <b>{0}</b>. Aborting...</p></source> <translation><p>Файл субрепозиториев .hgsub уже содержит запись <b>{0}</b>. Отмена...</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2848" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2792" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2842" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2786" /> <source><p>The sub-repositories file .hgsub could not be written to.</p><p>Reason: {0}</p></source> <translation><p>Невозможно записать файл субрепозиториев .hgsub.<p><p>Причина: {0}</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2847" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2827" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2813" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2841" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2821" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2807" /> <source>Remove Sub-repositories</source> <translation>Удалить субрепозитории</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2814" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2808" /> <source><p>The sub-repositories file .hgsub does not exist. Aborting...</p></source> <translation><p>Отсутствует файл субрепозиториев .hgsub. Отмена...</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3064" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2927" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3058" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2921" /> <source>Mercurial Command Server</source> <translation>Mercurial: Сервер команд</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2928" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2922" /> <source><p>The Mercurial Command Server could not be restarted.</p><p>Reason: {0}</p></source> <translation><p>Mercurial: Невозможно перезапустить сервер.<br>Причина: {0}.</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3065" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3059" /> <source><p>The Mercurial Command Server could not be started.</p><p>Reason: {0}</p></source> <translation><p>Mercurial: Невозможно запустить сервер.<br>Причина: {0}.</p></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3181" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3175" /> <source>Mercurial Bookmark</source> <translation>Mercurial: Закладка</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3197" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3191" /> <source>Delete Bookmark</source> <translation>Удалить закладку</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3198" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3192" /> <source>Select the bookmark to be deleted:</source> <translation>Выберите закладку для удаления:</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3208" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3202" /> <source>Delete Mercurial Bookmark</source> <translation>Mercurial: Удалить закладку</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3233" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3227" /> <source>Rename Mercurial Bookmark</source> <translation>Mercurial: Переименовать закладку</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3270" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3264" /> <source>Move Mercurial Bookmark</source> <translation>Mercurial: Переместить закладку</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3343" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3337" /> <source>Pull Bookmark</source> <translation>Затянуть закладку</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3344" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3338" /> <source>Select the bookmark to be pulled:</source> <translation>Выберите закладку для затягивания:</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3356" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3350" /> <source>Pulling bookmark from a remote Mercurial repository</source> <translation>Затянуть закладку из удалённого Mercurial репозитория</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3382" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3376" /> <source>Push Bookmark</source> <translation>Протолкнуть закладку</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3383" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3377" /> <source>Select the bookmark to be push:</source> <translation>Выберите закладку для проталкивания:</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3398" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3392" /> <source>Pushing bookmark to a remote Mercurial repository</source> <translation>Mercurial: Проталкивание закладки в удалённый репозиторий</translation> </message> @@ -52437,42 +52437,48 @@ <context> <name>PipFreezeDialog</name> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="44" /> - <source>&Refresh</source> - <translation>&Освежить</translation> - </message> - <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="239" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="51" /> - <source>Text Files (*.txt);;All Files (*)</source> - <translation>Файлы текстовые (*.txt);;Все файлы (*)</translation> + <location filename="../PipInterface/PipFreezeDialog.py" line="60" /> + <source>Generate Constraints</source> + <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="237" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="215" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="200" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="121" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="269" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="247" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="229" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="143" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="63" /> <source>Generate Requirements</source> <translation>Генерация зависимостей</translation> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="122" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="66" /> + <source>&Refresh</source> + <translation>&Освежить</translation> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="271" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="73" /> + <source>Text Files (*.txt);;All Files (*)</source> + <translation>Файлы текстовые (*.txt);;Все файлы (*)</translation> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="144" /> <source>The requirements were changed. Do you want to overwrite these changes?</source> <translation>Зависимости были изменены. Вы действительно хотите записать эти изменения?</translation> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="163" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="190" /> <source>No package specifiers generated by 'pip freeze'.</source> <translation>Нет спецификаторов пакета созданых 'pip freeze'.</translation> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="201" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="230" /> <source>The file <b>{0}</b> already exists. Do you want to overwrite it?</source> <translation>Файл <b>{0}</b> уже существует. Вы хотите перезаписать его?</translation> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="216" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="248" /> <source><p>The requirements could not be written to <b>{0}</b>.</p><p>Reason: {1}</p></source> <translation><p>Невозможно записать зависимости в <b>{0}</b>.</p><p>Причина: {1}</p></translation> </message> @@ -52503,6 +52509,16 @@ </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Select to include an '--constraint constraints.txt' statement</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Include Constraints</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> <source>Requirements File:</source> <translation>Файл зависимостей:</translation> </message> @@ -53255,146 +53271,171 @@ <translation><p>Недоступна подробная информация о пакете <b>{0}</b>.</p></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1150" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1152" /> + <source>Pip</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1154" /> <source>Install Pip</source> <translation>Инсталировать Pip</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1153" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1157" /> <source>Install Pip to User-Site</source> <translation>Инсталировать Pip в User-Site</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1156" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> <source>Repair Pip</source> <translation>Восстановить Pip</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1300" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> - <source>Install Packages</source> - <translation>Установить пакеты</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1163" /> - <source>Install Local Package</source> - <translation>Установить локальный пакет</translation> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1167" /> - <source>Install Requirements</source> - <translation>Установить зависимости</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1170" /> + <source>Install</source> + <translation type="unfinished">Установить</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1332" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1169" /> + <source>Install Packages</source> + <translation>Установить пакеты</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1172" /> + <source>Install Local Package</source> + <translation>Установить локальный пакет</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1175" /> <source>Re-Install Selected Packages</source> <translation>Переинсталировать выбранные пакеты</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1173" /> - <source>Uninstall Requirements</source> - <translation>Деинсталировать зависимости</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1176" /> - <source>Generate Requirements...</source> - <translation>Генерация зависимостей...</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1180" /> - <source>Show Licenses...</source> - <translation>Показать лицензии...</translation> + <location filename="../PipInterface/PipPackagesWidget.py" line="1182" /> + <source>Requirements/Constraints</source> + <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1184" /> - <source>Check Vulnerabilities</source> - <translation>Проверить уязвимости</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1188" /> - <source>Update Vulnerability Database</source> - <translation>Обновить базу уязвимостей</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1192" /> - <source>Create SBOM file</source> - <translation>Создать файл SBOM</translation> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1196" /> + <source>Install Requirements</source> + <translation>Установить зависимости</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1187" /> + <source>Uninstall Requirements</source> + <translation>Деинсталировать зависимости</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1190" /> + <source>Generate Requirements...</source> + <translation>Генерация зависимостей...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1194" /> + <source>Generate Constraints...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1201" /> + <source>Cache</source> + <translation type="unfinished">Кэш</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1203" /> <source>Show Cache Info...</source> <translation>Показать информацию о кэше...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1199" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1206" /> <source>Show Cached Files...</source> <translation>Показать кэшированные файлы...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1202" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1209" /> <source>Remove Cached Files...</source> <translation>Удалить кэшированные файлы...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1212" /> <source>Purge Cache...</source> <translation>Очистить кэш...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1229" /> + <source>Show Licenses...</source> + <translation>Показать лицензии...</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1233" /> + <source>Check Vulnerabilities</source> + <translation>Проверить уязвимости</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1237" /> + <source>Update Vulnerability Database</source> + <translation>Обновить базу уязвимостей</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1241" /> + <source>Create SBOM file</source> + <translation>Создать файл SBOM</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1248" /> <source>Edit User Configuration...</source> <translation>Правка конфигурации пользователя...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1251" /> <source>Edit Environment Configuration...</source> <translation>Правка конфигурации среды окружения...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1218" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1256" /> <source>Configure...</source> <translation>Настроить...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1426" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1413" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1402" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1475" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1462" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1451" /> <source>Edit Configuration</source> <translation>Правка конфигурации</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1427" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1414" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1403" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1476" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1463" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1452" /> <source>No valid configuration path determined. Aborting</source> <translation>Не определен допустимый путь конфигурации. Прерывание</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1587" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1636" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation>{0} {1}</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1608" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1657" /> <source>Affected Version:</source> <translatorcomment>Подверженная уязвимости версия: Пораженная версия Уязвимая</translatorcomment> <translation>Версия с уязвимостью:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1611" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1660" /> <source>Advisory:</source> <translatorcomment>Консультация: Рекомендация</translatorcomment> <translation>Advisory:</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1735" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1716" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1784" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1765" /> <source>unknown</source> <translation>неизвестная</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1732" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1781" /> <source>any</source> <translation>любая</translation> </message>
--- a/src/eric7/i18n/eric7_tr.ts Sun Jul 17 17:46:51 2022 +0200 +++ b/src/eric7/i18n/eric7_tr.ts Sun Jul 17 18:47:23 2022 +0200 @@ -31203,144 +31203,144 @@ <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2640" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2638" /> <source>Copy Changesets (Continue)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2652" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2648" /> <source>Copy Changesets (Stop)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2664" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2658" /> <source>Copy Changesets (Abort)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2687" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2681" /> <source>Create Unversioned Archive</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2701" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2695" /> <source>Delete All Backups</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2702" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2696" /> <source><p>Do you really want to delete all backup bundles stored in the backup area?<br/><b>{0}</b></p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2791" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2771" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2760" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2785" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2765" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2754" /> <source>Add Sub-repository</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2828" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2761" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2822" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2755" /> <source><p>The sub-repositories file .hgsub could not be read.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2772" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2766" /> <source><p>The sub-repositories file .hgsub already contains an entry <b>{0}</b>. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2848" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2792" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2842" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2786" /> <source><p>The sub-repositories file .hgsub could not be written to.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2847" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2827" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2813" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2841" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2821" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2807" /> <source>Remove Sub-repositories</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2814" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2808" /> <source><p>The sub-repositories file .hgsub does not exist. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3064" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2927" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3058" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2921" /> <source>Mercurial Command Server</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2928" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2922" /> <source><p>The Mercurial Command Server could not be restarted.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3065" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3059" /> <source><p>The Mercurial Command Server could not be started.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3181" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3175" /> <source>Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3197" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3191" /> <source>Delete Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3198" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3192" /> <source>Select the bookmark to be deleted:</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3208" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3202" /> <source>Delete Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3233" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3227" /> <source>Rename Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3270" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3264" /> <source>Move Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3343" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3337" /> <source>Pull Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3344" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3338" /> <source>Select the bookmark to be pulled:</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3356" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3350" /> <source>Pulling bookmark from a remote Mercurial repository</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3382" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3376" /> <source>Push Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3383" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3377" /> <source>Select the bookmark to be push:</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3398" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3392" /> <source>Pushing bookmark to a remote Mercurial repository</source> <translation type="unfinished" /> </message> @@ -52234,42 +52234,48 @@ <context> <name>PipFreezeDialog</name> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="44" /> - <source>&Refresh</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="239" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="51" /> - <source>Text Files (*.txt);;All Files (*)</source> - <translation type="unfinished">Metin Dosyaları (*.txt);;Tüm Dosyalar (*)</translation> + <location filename="../PipInterface/PipFreezeDialog.py" line="60" /> + <source>Generate Constraints</source> + <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="237" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="215" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="200" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="121" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="269" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="247" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="229" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="143" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="63" /> <source>Generate Requirements</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="122" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="66" /> + <source>&Refresh</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="271" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="73" /> + <source>Text Files (*.txt);;All Files (*)</source> + <translation type="unfinished">Metin Dosyaları (*.txt);;Tüm Dosyalar (*)</translation> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="144" /> <source>The requirements were changed. Do you want to overwrite these changes?</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="163" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="190" /> <source>No package specifiers generated by 'pip freeze'.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="201" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="230" /> <source>The file <b>{0}</b> already exists. Do you want to overwrite it?</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="216" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="248" /> <source><p>The requirements could not be written to <b>{0}</b>.</p><p>Reason: {1}</p></source> <translation type="unfinished" /> </message> @@ -52300,6 +52306,16 @@ </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Select to include an '--constraint constraints.txt' statement</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Include Constraints</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> <source>Requirements File:</source> <translation type="unfinished" /> </message> @@ -53051,144 +53067,169 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1150" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1152" /> + <source>Pip</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1154" /> <source>Install Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1153" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1157" /> <source>Install Pip to User-Site</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1156" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> <source>Repair Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1300" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> - <source>Install Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1163" /> - <source>Install Local Package</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1167" /> - <source>Install Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1170" /> + <source>Install</source> + <translation type="unfinished">Kur</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1332" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1169" /> + <source>Install Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1172" /> + <source>Install Local Package</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1175" /> <source>Re-Install Selected Packages</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1173" /> - <source>Uninstall Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1176" /> - <source>Generate Requirements...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1180" /> - <source>Show Licenses...</source> + <location filename="../PipInterface/PipPackagesWidget.py" line="1182" /> + <source>Requirements/Constraints</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1184" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1188" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1192" /> - <source>Create SBOM file</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1196" /> + <source>Install Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1187" /> + <source>Uninstall Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1190" /> + <source>Generate Requirements...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1194" /> + <source>Generate Constraints...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1201" /> + <source>Cache</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1203" /> <source>Show Cache Info...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1199" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1206" /> <source>Show Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1202" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1209" /> <source>Remove Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1212" /> <source>Purge Cache...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1229" /> + <source>Show Licenses...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1233" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1237" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1241" /> + <source>Create SBOM file</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1248" /> <source>Edit User Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1251" /> <source>Edit Environment Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1218" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1256" /> <source>Configure...</source> <translation type="unfinished">Ayarlanıyor...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1426" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1413" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1402" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1475" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1462" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1451" /> <source>Edit Configuration</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1427" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1414" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1403" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1476" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1463" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1452" /> <source>No valid configuration path determined. Aborting</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1587" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1636" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1608" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1657" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1611" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1660" /> <source>Advisory:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1735" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1716" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1784" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1765" /> <source>unknown</source> <translation type="unfinished">bilinmeyen</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1732" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1781" /> <source>any</source> <translation type="unfinished" /> </message>
--- a/src/eric7/i18n/eric7_zh_CN.ts Sun Jul 17 17:46:51 2022 +0200 +++ b/src/eric7/i18n/eric7_zh_CN.ts Sun Jul 17 18:47:23 2022 +0200 @@ -31222,144 +31222,144 @@ <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2640" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2638" /> <source>Copy Changesets (Continue)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2652" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2648" /> <source>Copy Changesets (Stop)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2664" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2658" /> <source>Copy Changesets (Abort)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2687" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2681" /> <source>Create Unversioned Archive</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2701" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2695" /> <source>Delete All Backups</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2702" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2696" /> <source><p>Do you really want to delete all backup bundles stored in the backup area?<br/><b>{0}</b></p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2791" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2771" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2760" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2785" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2765" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2754" /> <source>Add Sub-repository</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2828" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2761" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2822" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2755" /> <source><p>The sub-repositories file .hgsub could not be read.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2772" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2766" /> <source><p>The sub-repositories file .hgsub already contains an entry <b>{0}</b>. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2848" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2792" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2842" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2786" /> <source><p>The sub-repositories file .hgsub could not be written to.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2847" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2827" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2813" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2841" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2821" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2807" /> <source>Remove Sub-repositories</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2814" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2808" /> <source><p>The sub-repositories file .hgsub does not exist. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3064" /> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2927" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3058" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2921" /> <source>Mercurial Command Server</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2928" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="2922" /> <source><p>The Mercurial Command Server could not be restarted.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3065" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3059" /> <source><p>The Mercurial Command Server could not be started.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3181" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3175" /> <source>Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3197" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3191" /> <source>Delete Bookmark</source> <translation type="unfinished">删除书签</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3198" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3192" /> <source>Select the bookmark to be deleted:</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3208" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3202" /> <source>Delete Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3233" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3227" /> <source>Rename Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3270" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3264" /> <source>Move Mercurial Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3343" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3337" /> <source>Pull Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3344" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3338" /> <source>Select the bookmark to be pulled:</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3356" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3350" /> <source>Pulling bookmark from a remote Mercurial repository</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3382" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3376" /> <source>Push Bookmark</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3383" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3377" /> <source>Select the bookmark to be push:</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3398" /> + <location filename="../Plugins/VcsPlugins/vcsMercurial/hg.py" line="3392" /> <source>Pushing bookmark to a remote Mercurial repository</source> <translation type="unfinished" /> </message> @@ -52230,42 +52230,48 @@ <context> <name>PipFreezeDialog</name> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="44" /> - <source>&Refresh</source> - <translation type="unfinished">刷新(&R)</translation> - </message> - <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="239" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="51" /> - <source>Text Files (*.txt);;All Files (*)</source> - <translation type="unfinished">文本文件 (*.txt);;所有文件 (*)</translation> + <location filename="../PipInterface/PipFreezeDialog.py" line="60" /> + <source>Generate Constraints</source> + <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="237" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="215" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="200" /> - <location filename="../PipInterface/PipFreezeDialog.py" line="121" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="269" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="247" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="229" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="143" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="63" /> <source>Generate Requirements</source> <translation type="unfinished">生成必要文件</translation> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="122" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="66" /> + <source>&Refresh</source> + <translation type="unfinished">刷新(&R)</translation> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="271" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="73" /> + <source>Text Files (*.txt);;All Files (*)</source> + <translation type="unfinished">文本文件 (*.txt);;所有文件 (*)</translation> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.py" line="144" /> <source>The requirements were changed. Do you want to overwrite these changes?</source> <translation type="unfinished">必要文件已改变。覆盖此更变?</translation> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="163" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="190" /> <source>No package specifiers generated by 'pip freeze'.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="201" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="230" /> <source>The file <b>{0}</b> already exists. Do you want to overwrite it?</source> <translation type="unfinished">文件 <b>{0}</b> 已存在。覆盖?</translation> </message> <message> - <location filename="../PipInterface/PipFreezeDialog.py" line="216" /> + <location filename="../PipInterface/PipFreezeDialog.py" line="248" /> <source><p>The requirements could not be written to <b>{0}</b>.</p><p>Reason: {1}</p></source> <translation type="unfinished"><p>必要文件无法写入<b>{0}</b>。</p><p>原因: {1}</P></translation> </message> @@ -52296,6 +52302,16 @@ </message> <message> <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Select to include an '--constraint constraints.txt' statement</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> + <source>Include Constraints</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipFreezeDialog.ui" line="0" /> <source>Requirements File:</source> <translation type="unfinished">必要文件:</translation> </message> @@ -53046,144 +53062,169 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1150" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1152" /> + <source>Pip</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1154" /> <source>Install Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1153" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1157" /> <source>Install Pip to User-Site</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1156" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> <source>Repair Pip</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1300" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1160" /> - <source>Install Packages</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1163" /> - <source>Install Local Package</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1167" /> - <source>Install Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1170" /> + <source>Install</source> + <translation type="unfinished">安装</translation> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1332" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1169" /> + <source>Install Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1172" /> + <source>Install Local Package</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1175" /> <source>Re-Install Selected Packages</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1173" /> - <source>Uninstall Requirements</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1176" /> - <source>Generate Requirements...</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1180" /> - <source>Show Licenses...</source> + <location filename="../PipInterface/PipPackagesWidget.py" line="1182" /> + <source>Requirements/Constraints</source> <translation type="unfinished" /> </message> <message> <location filename="../PipInterface/PipPackagesWidget.py" line="1184" /> - <source>Check Vulnerabilities</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1188" /> - <source>Update Vulnerability Database</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1192" /> - <source>Create SBOM file</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1196" /> + <source>Install Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1187" /> + <source>Uninstall Requirements</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1190" /> + <source>Generate Requirements...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1194" /> + <source>Generate Constraints...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1201" /> + <source>Cache</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1203" /> <source>Show Cache Info...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1199" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1206" /> <source>Show Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1202" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1209" /> <source>Remove Cached Files...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1205" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1212" /> <source>Purge Cache...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1210" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1229" /> + <source>Show Licenses...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1233" /> + <source>Check Vulnerabilities</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1237" /> + <source>Update Vulnerability Database</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1241" /> + <source>Create SBOM file</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.py" line="1248" /> <source>Edit User Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1213" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1251" /> <source>Edit Environment Configuration...</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1218" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1256" /> <source>Configure...</source> <translation type="unfinished">配置…</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1426" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1413" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1402" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1475" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1462" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1451" /> <source>Edit Configuration</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1427" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1414" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1403" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1476" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1463" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1452" /> <source>No valid configuration path determined. Aborting</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1587" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1636" /> <source>{0} {1}</source> <comment>package name, package version</comment> <translation type="unfinished">{0} {1}</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1608" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1657" /> <source>Affected Version:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1611" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1660" /> <source>Advisory:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1735" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1716" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1784" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1765" /> <source>unknown</source> <translation type="unfinished">未知</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1732" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1781" /> <source>any</source> <translation type="unfinished" /> </message>