Fri, 20 Aug 2021 19:56:17 +0200
Plugin Uninstall Dialog: added capability to uninstall several plugins with one invocation of the dialog.
--- a/docs/changelog Fri Aug 20 19:54:49 2021 +0200 +++ b/docs/changelog Fri Aug 20 19:56:17 2021 +0200 @@ -9,6 +9,9 @@ - Editor -- added the capability to suppress syntax highlighting by associating the file type 'Text' +- Plugin Uninstall Dialog + -- added capability to uninstall several plugins with one invocation of the + dialog - Shell -- added capability to save the contents of the shell window into a file
--- a/eric7/Documentation/Help/source.qhp Fri Aug 20 19:54:49 2021 +0200 +++ b/eric7/Documentation/Help/source.qhp Fri Aug 20 19:56:17 2021 +0200 @@ -11208,7 +11208,9 @@ <keyword name="PluginUninstallDialog (Module)" id="PluginUninstallDialog (Module)" ref="eric7.PluginManager.PluginUninstallDialog.html" /> <keyword name="PluginUninstallWidget" id="PluginUninstallWidget" ref="eric7.PluginManager.PluginUninstallDialog.html#PluginUninstallWidget" /> <keyword name="PluginUninstallWidget (Constructor)" id="PluginUninstallWidget (Constructor)" ref="eric7.PluginManager.PluginUninstallDialog.html#PluginUninstallWidget.__init__" /> + <keyword name="PluginUninstallWidget.__getCheckedPlugins" id="PluginUninstallWidget.__getCheckedPlugins" ref="eric7.PluginManager.PluginUninstallDialog.html#PluginUninstallWidget.__getCheckedPlugins" /> <keyword name="PluginUninstallWidget.__uninstallPlugin" id="PluginUninstallWidget.__uninstallPlugin" ref="eric7.PluginManager.PluginUninstallDialog.html#PluginUninstallWidget.__uninstallPlugin" /> + <keyword name="PluginUninstallWidget.__uninstallPlugins" id="PluginUninstallWidget.__uninstallPlugins" ref="eric7.PluginManager.PluginUninstallDialog.html#PluginUninstallWidget.__uninstallPlugins" /> <keyword name="PluginUninstallWidget.on_buttonBox_accepted" id="PluginUninstallWidget.on_buttonBox_accepted" ref="eric7.PluginManager.PluginUninstallDialog.html#PluginUninstallWidget.on_buttonBox_accepted" /> <keyword name="PluginUninstallWidget.on_pluginDirectoryCombo_currentIndexChanged" id="PluginUninstallWidget.on_pluginDirectoryCombo_currentIndexChanged" ref="eric7.PluginManager.PluginUninstallDialog.html#PluginUninstallWidget.on_pluginDirectoryCombo_currentIndexChanged" /> <keyword name="PluginUninstallWindow" id="PluginUninstallWindow" ref="eric7.PluginManager.PluginUninstallDialog.html#PluginUninstallWindow" />
--- a/eric7/Documentation/Source/eric7.PluginManager.PluginUninstallDialog.html Fri Aug 20 19:54:49 2021 +0200 +++ b/eric7/Documentation/Source/eric7.PluginManager.PluginUninstallDialog.html Fri Aug 20 19:56:17 2021 +0200 @@ -143,8 +143,16 @@ <td>Constructor</td> </tr> <tr> +<td><a href="#PluginUninstallWidget.__getCheckedPlugins">__getCheckedPlugins</a></td> +<td>Private method to get the list of plugins to be uninstalled.</td> +</tr> +<tr> <td><a href="#PluginUninstallWidget.__uninstallPlugin">__uninstallPlugin</a></td> -<td>Private slot to uninstall the selected plugin.</td> +<td>Private method to uninstall a given plugin.</td> +</tr> +<tr> +<td><a href="#PluginUninstallWidget.__uninstallPlugins">__uninstallPlugins</a></td> +<td>Private method to uninstall the selected plugins.</td> </tr> <tr> <td><a href="#PluginUninstallWidget.on_buttonBox_accepted">on_buttonBox_accepted</a></td> @@ -179,17 +187,72 @@ parent of this dialog (QWidget) </dd> </dl> -<a NAME="PluginUninstallWidget.__uninstallPlugin" ID="PluginUninstallWidget.__uninstallPlugin"></a> -<h4>PluginUninstallWidget.__uninstallPlugin</h4> -<b>__uninstallPlugin</b>(<i></i>) +<a NAME="PluginUninstallWidget.__getCheckedPlugins" ID="PluginUninstallWidget.__getCheckedPlugins"></a> +<h4>PluginUninstallWidget.__getCheckedPlugins</h4> +<b>__getCheckedPlugins</b>(<i></i>) <p> - Private slot to uninstall the selected plugin. + Private method to get the list of plugins to be uninstalled. </p> <dl> <dt>Return:</dt> <dd> -flag indicating success (boolean) +list of tuples with the plugin name and plugin file name +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +list of tuples of (str, str) +</dd> +</dl> +<a NAME="PluginUninstallWidget.__uninstallPlugin" ID="PluginUninstallWidget.__uninstallPlugin"></a> +<h4>PluginUninstallWidget.__uninstallPlugin</h4> +<b>__uninstallPlugin</b>(<i>pluginName, pluginFile</i>) + +<p> + Private method to uninstall a given plugin. +</p> +<dl> + +<dt><i>pluginName</i> (str)</dt> +<dd> +name of the plugin +</dd> +<dt><i>pluginFile</i> (str)</dt> +<dd> +file name of the plugin +</dd> +</dl> +<dl> +<dt>Return:</dt> +<dd> +flag indicating success +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl> +<a NAME="PluginUninstallWidget.__uninstallPlugins" ID="PluginUninstallWidget.__uninstallPlugins"></a> +<h4>PluginUninstallWidget.__uninstallPlugins</h4> +<b>__uninstallPlugins</b>(<i></i>) + +<p> + Private method to uninstall the selected plugins. +</p> +<dl> +<dt>Return:</dt> +<dd> +flag indicating success +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +bool </dd> </dl> <a NAME="PluginUninstallWidget.on_buttonBox_accepted" ID="PluginUninstallWidget.on_buttonBox_accepted"></a>
--- a/eric7/PluginManager/PluginUninstallDialog.py Fri Aug 20 19:54:49 2021 +0200 +++ b/eric7/PluginManager/PluginUninstallDialog.py Fri Aug 20 19:56:17 2021 +0200 @@ -13,8 +13,8 @@ import shutil import glob -from PyQt6.QtCore import pyqtSlot, pyqtSignal -from PyQt6.QtWidgets import QWidget, QDialog, QDialogButtonBox, QVBoxLayout +from PyQt6.QtCore import pyqtSlot, pyqtSignal, Qt +from PyQt6.QtWidgets import QWidget, QDialog, QVBoxLayout, QListWidgetItem from EricWidgets import EricMessageBox from EricWidgets.EricMainWindow import EricMainWindow @@ -26,7 +26,6 @@ import UI.PixmapCache -# TODO: extend to be able to uninstall several plugins class PluginUninstallWidget(QWidget, Ui_PluginUninstallDialog): """ Class implementing a dialog for plugin deinstallation. @@ -63,9 +62,6 @@ self.pluginDirectoryCombo.addItem( self.tr("Global plugins directory"), globalDir) - - msh = self.minimumSizeHint() - self.resize(max(self.width(), msh.width()), msh.height()) @pyqtSlot(int) def on_pluginDirectoryCombo_currentIndexChanged(self, index): @@ -78,32 +74,67 @@ pluginDirectory = self.pluginDirectoryCombo.itemData(index) pluginNames = sorted(self.__pluginManager.getPluginModules( pluginDirectory)) - self.pluginNameCombo.clear() + + self.pluginsList.clear() for pluginName in pluginNames: fname = "{0}.py".format(os.path.join(pluginDirectory, pluginName)) - self.pluginNameCombo.addItem(pluginName, fname) - self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled( - self.pluginNameCombo.currentText() != "") + itm = QListWidgetItem(pluginName) + itm.setData(Qt.ItemDataRole.UserRole, fname) + itm.setFlags(Qt.ItemFlag.ItemIsEnabled | + Qt.ItemFlag.ItemIsUserCheckable) + itm.setCheckState(Qt.CheckState.Unchecked) + self.pluginsList.addItem(itm) @pyqtSlot() def on_buttonBox_accepted(self): """ Private slot to handle the accepted signal of the button box. """ - if self.__uninstallPlugin(): + if self.__uninstallPlugins(): self.accepted.emit() - def __uninstallPlugin(self): + def __getCheckedPlugins(self): + """ + Private method to get the list of plugins to be uninstalled. + + @return list of tuples with the plugin name and plugin file name + @rtype list of tuples of (str, str) + """ + plugins = [] + for row in range(self.pluginsList.count()): + itm = self.pluginsList.item(row) + if itm.checkState() == Qt.CheckState.Checked: + plugins.append((itm.text(), + itm.data(Qt.ItemDataRole.UserRole))) + return plugins + + def __uninstallPlugins(self): """ - Private slot to uninstall the selected plugin. + Private method to uninstall the selected plugins. - @return flag indicating success (boolean) + @return flag indicating success + @rtype bool + """ + checkedPlugins = self.__getCheckedPlugins() + uninstallCount = 0 + for pluginName, pluginFile in checkedPlugins: + if self.__uninstallPlugin(pluginName, pluginFile): + uninstallCount += 1 + return uninstallCount == len(checkedPlugins) + + def __uninstallPlugin(self, pluginName, pluginFile): + """ + Private method to uninstall a given plugin. + + @param pluginName name of the plugin + @type str + @param pluginFile file name of the plugin + @type str + @return flag indicating success + @rtype bool """ pluginDirectory = self.pluginDirectoryCombo.itemData( self.pluginDirectoryCombo.currentIndex()) - pluginName = self.pluginNameCombo.currentText() - pluginFile = self.pluginNameCombo.itemData( - self.pluginNameCombo.currentIndex()) if not self.__pluginManager.unloadPlugin(pluginName): EricMessageBox.critical(
--- a/eric7/PluginManager/PluginUninstallDialog.ui Fri Aug 20 19:54:49 2021 +0200 +++ b/eric7/PluginManager/PluginUninstallDialog.ui Fri Aug 20 19:56:17 2021 +0200 @@ -7,7 +7,7 @@ <x>0</x> <y>0</y> <width>400</width> - <height>186</height> + <height>450</height> </rect> </property> <property name="windowTitle"> @@ -31,14 +31,20 @@ <item> <widget class="QLabel" name="label_2"> <property name="text"> - <string>Plugin:</string> + <string>Plugins:</string> </property> </widget> </item> <item> - <widget class="QComboBox" name="pluginNameCombo"> + <widget class="QListWidget" name="pluginsList"> <property name="toolTip"> - <string>Select the plugin to uninstall</string> + <string>Check the plugins to be uninstalled</string> + </property> + <property name="alternatingRowColors"> + <bool>true</bool> + </property> + <property name="sortingEnabled"> + <bool>true</bool> </property> </widget> </item> @@ -66,8 +72,8 @@ </widget> <tabstops> <tabstop>pluginDirectoryCombo</tabstop> - <tabstop>pluginNameCombo</tabstop> - <tabstop>buttonBox</tabstop> + <tabstop>pluginsList</tabstop> + <tabstop>keepConfigurationCheckBox</tabstop> </tabstops> <resources/> <connections/>
--- a/eric7/i18n/eric7_cs.ts Fri Aug 20 19:54:49 2021 +0200 +++ b/eric7/i18n/eric7_cs.ts Fri Aug 20 19:56:17 2021 +0200 @@ -54815,13 +54815,13 @@ </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Plugin:</source> - <translation>Plugin:</translation> + <source>Plugins:</source> + <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Select the plugin to uninstall</source> - <translation>Vybrat plugin pro odinstalaci</translation> + <source>Check the plugins to be uninstalled</source> + <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> @@ -54833,46 +54833,54 @@ <source>Keep configuration data</source> <translation type="unfinished" /> </message> + <message> + <source>Plugin:</source> + <translation type="vanished">Plugin:</translation> + </message> + <message> + <source>Select the plugin to uninstall</source> + <translation type="vanished">Vybrat plugin pro odinstalaci</translation> + </message> </context> <context> <name>PluginUninstallWidget</name> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="58" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="57" /> <source>User plugins directory</source> <translation>Uživatelský adresář s pluginy</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="64" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="63" /> <source>Global plugins directory</source> <translation>Globální adresář s pluginy</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="201" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="192" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="181" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="125" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="111" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="232" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="223" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="212" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="156" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="142" /> <source>Plugin Uninstallation</source> <translation>Odinstalace pluginu</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="112" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="143" /> <source><p>The plugin <b>{0}</b> could not be unloaded. Aborting...</p></source> <translation><p>Plugin <b>{0}</b> nemůže být nenačten. Zrušeno...</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="126" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="157" /> <source><p>The plugin <b>{0}</b> has no 'packageName' attribute. Aborting...</p></source> <translation><p>Pluginu <b>{0}</b> chybí atribut 'packageName'. Zrušeno...</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="182" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="213" /> <source><p>The plugin package <b>{0}</b> could not be removed. Aborting...</p><p>Reason: {1}</p></source> <translation><p>Plugin balíček <b>{0}</b> nelze odebrat. Zrušeno...</p><p>Důvod: {1}</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="202" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="193" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="233" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="224" /> <source><p>The plugin <b>{0}</b> was uninstalled successfully from {1}.</p></source> <translation><p>Plugin <b>{0}</b> byl úspěšně odinstalován z {1}.</p></translation> </message> @@ -67738,24 +67746,24 @@ <translation><p><b>{0}</b> není soubor.</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2424" /> - <location filename="../QScintilla/Shell.py" line="2411" /> - <location filename="../QScintilla/Shell.py" line="2392" /> + <location filename="../QScintilla/Shell.py" line="2423" /> + <location filename="../QScintilla/Shell.py" line="2410" /> + <location filename="../QScintilla/Shell.py" line="2391" /> <source>Save Shell Contents</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Shell.py" line="2394" /> + <location filename="../QScintilla/Shell.py" line="2393" /> <source>Text Files (*.txt);;All Files (*)</source> <translation type="unfinished">Textové soubory (*.txt);;Všechny soubory (*)</translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2412" /> + <location filename="../QScintilla/Shell.py" line="2411" /> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished"><p>Soubor <b>{0}</b> již existuje.</p><p>Má se přepsat?</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2425" /> + <location filename="../QScintilla/Shell.py" line="2424" /> <source><p>The file <b>{0}</b> could not be saved.<br/>Reason: {1}</p></source> <translation type="unfinished"><p>Soubor <b>{0}</b> nelze uložit.<br />Důvod: {1}</p></translation> </message> @@ -95847,12 +95855,12 @@ <context> <name>eric7</name> <message> - <location filename="../eric7.py" line="387" /> + <location filename="../eric7.py" line="386" /> <source>Starting...</source> <translation type="unfinished" /> </message> <message> - <location filename="../eric7.py" line="393" /> + <location filename="../eric7.py" line="392" /> <source>Generating Main Window...</source> <translation type="unfinished">Generování hlavního okna...</translation> </message>
--- a/eric7/i18n/eric7_de.ts Fri Aug 20 19:54:49 2021 +0200 +++ b/eric7/i18n/eric7_de.ts Fri Aug 20 19:56:17 2021 +0200 @@ -51530,13 +51530,13 @@ </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Plugin:</source> - <translation>Plugin:</translation> + <source>Plugins:</source> + <translation>Plugins:</translation> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Select the plugin to uninstall</source> - <translation>Wähle das zu deinstallierende Plugin</translation> + <source>Check the plugins to be uninstalled</source> + <translation>Wähle die zu deinstallierenden Plugins aus</translation> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> @@ -51552,42 +51552,42 @@ <context> <name>PluginUninstallWidget</name> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="58" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="57" /> <source>User plugins directory</source> <translation>Nutzer-Pluginverzeichnis</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="64" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="63" /> <source>Global plugins directory</source> <translation>Globales Pluginverzeichnis</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="201" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="192" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="181" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="125" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="111" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="232" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="223" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="212" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="156" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="142" /> <source>Plugin Uninstallation</source> <translation>Plugin-Deinstallation</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="112" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="143" /> <source><p>The plugin <b>{0}</b> could not be unloaded. Aborting...</p></source> <translation><p>Das Plugin <b>{0}</b> konnte nicht entladen werden. Abbruch...</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="126" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="157" /> <source><p>The plugin <b>{0}</b> has no 'packageName' attribute. Aborting...</p></source> <translation><p>Das Plugin <b>{0}</b> hat kein Attribut „packageName“. Abbruch...</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="182" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="213" /> <source><p>The plugin package <b>{0}</b> could not be removed. Aborting...</p><p>Reason: {1}</p></source> <translation><p>Das Pluginpacket <b>{0}</b> konnte nicht gelöscht werden. Abbruch...</p><p>Ursache: {1}</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="202" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="193" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="233" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="224" /> <source><p>The plugin <b>{0}</b> was uninstalled successfully from {1}.</p></source> <translation><p>Das Plugin <b>{0}</b> wurde erfolgreich von {1} deinstalliert.</p></translation> </message> @@ -63805,24 +63805,24 @@ <translation><p><b>{0}</b> ist keine Datei.</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2424" /> - <location filename="../QScintilla/Shell.py" line="2411" /> - <location filename="../QScintilla/Shell.py" line="2392" /> + <location filename="../QScintilla/Shell.py" line="2423" /> + <location filename="../QScintilla/Shell.py" line="2410" /> + <location filename="../QScintilla/Shell.py" line="2391" /> <source>Save Shell Contents</source> <translation>Shellinhalt speichern</translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2394" /> + <location filename="../QScintilla/Shell.py" line="2393" /> <source>Text Files (*.txt);;All Files (*)</source> <translation>Textdateien (*.txt);;Alle Dateien (*)</translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2412" /> + <location filename="../QScintilla/Shell.py" line="2411" /> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation><p>Die Datei <b>{0}</b> existiert bereits. Überschreiben?</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2425" /> + <location filename="../QScintilla/Shell.py" line="2424" /> <source><p>The file <b>{0}</b> could not be saved.<br/>Reason: {1}</p></source> <translation><p>Die Datei <b>{0}</b> konnte nicht gesichert werden.<br/>Grund: {1}</p></translation> </message> @@ -91376,12 +91376,12 @@ <context> <name>eric7</name> <message> - <location filename="../eric7.py" line="387" /> + <location filename="../eric7.py" line="386" /> <source>Starting...</source> <translation>Starte...</translation> </message> <message> - <location filename="../eric7.py" line="393" /> + <location filename="../eric7.py" line="392" /> <source>Generating Main Window...</source> <translation>Erzeuge das Hauptfenster...</translation> </message>
--- a/eric7/i18n/eric7_empty.ts Fri Aug 20 19:54:49 2021 +0200 +++ b/eric7/i18n/eric7_empty.ts Fri Aug 20 19:56:17 2021 +0200 @@ -51285,12 +51285,12 @@ </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Plugin:</source> + <source>Plugins:</source> <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Select the plugin to uninstall</source> + <source>Check the plugins to be uninstalled</source> <translation type="unfinished" /> </message> <message> @@ -51307,42 +51307,42 @@ <context> <name>PluginUninstallWidget</name> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="58" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="57" /> <source>User plugins directory</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="64" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="63" /> <source>Global plugins directory</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="201" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="192" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="181" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="125" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="111" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="232" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="223" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="212" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="156" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="142" /> <source>Plugin Uninstallation</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="112" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="143" /> <source><p>The plugin <b>{0}</b> could not be unloaded. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="126" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="157" /> <source><p>The plugin <b>{0}</b> has no 'packageName' attribute. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="182" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="213" /> <source><p>The plugin package <b>{0}</b> could not be removed. Aborting...</p><p>Reason: {1}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="202" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="193" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="233" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="224" /> <source><p>The plugin <b>{0}</b> was uninstalled successfully from {1}.</p></source> <translation type="unfinished" /> </message> @@ -63364,24 +63364,24 @@ <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Shell.py" line="2424" /> - <location filename="../QScintilla/Shell.py" line="2411" /> - <location filename="../QScintilla/Shell.py" line="2392" /> + <location filename="../QScintilla/Shell.py" line="2423" /> + <location filename="../QScintilla/Shell.py" line="2410" /> + <location filename="../QScintilla/Shell.py" line="2391" /> <source>Save Shell Contents</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Shell.py" line="2394" /> + <location filename="../QScintilla/Shell.py" line="2393" /> <source>Text Files (*.txt);;All Files (*)</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Shell.py" line="2412" /> + <location filename="../QScintilla/Shell.py" line="2411" /> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Shell.py" line="2425" /> + <location filename="../QScintilla/Shell.py" line="2424" /> <source><p>The file <b>{0}</b> could not be saved.<br/>Reason: {1}</p></source> <translation type="unfinished" /> </message> @@ -90743,12 +90743,12 @@ <context> <name>eric7</name> <message> - <location filename="../eric7.py" line="387" /> + <location filename="../eric7.py" line="386" /> <source>Starting...</source> <translation type="unfinished" /> </message> <message> - <location filename="../eric7.py" line="393" /> + <location filename="../eric7.py" line="392" /> <source>Generating Main Window...</source> <translation type="unfinished" /> </message>
--- a/eric7/i18n/eric7_en.ts Fri Aug 20 19:54:49 2021 +0200 +++ b/eric7/i18n/eric7_en.ts Fri Aug 20 19:56:17 2021 +0200 @@ -51324,12 +51324,12 @@ </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Plugin:</source> + <source>Plugins:</source> <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Select the plugin to uninstall</source> + <source>Check the plugins to be uninstalled</source> <translation type="unfinished" /> </message> <message> @@ -51346,42 +51346,42 @@ <context> <name>PluginUninstallWidget</name> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="58" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="57" /> <source>User plugins directory</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="64" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="63" /> <source>Global plugins directory</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="201" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="192" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="181" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="125" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="111" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="232" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="223" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="212" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="156" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="142" /> <source>Plugin Uninstallation</source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="112" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="143" /> <source><p>The plugin <b>{0}</b> could not be unloaded. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="126" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="157" /> <source><p>The plugin <b>{0}</b> has no 'packageName' attribute. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="182" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="213" /> <source><p>The plugin package <b>{0}</b> could not be removed. Aborting...</p><p>Reason: {1}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="202" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="193" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="233" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="224" /> <source><p>The plugin <b>{0}</b> was uninstalled successfully from {1}.</p></source> <translation type="unfinished" /> </message> @@ -63405,24 +63405,24 @@ <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Shell.py" line="2424" /> - <location filename="../QScintilla/Shell.py" line="2411" /> - <location filename="../QScintilla/Shell.py" line="2392" /> + <location filename="../QScintilla/Shell.py" line="2423" /> + <location filename="../QScintilla/Shell.py" line="2410" /> + <location filename="../QScintilla/Shell.py" line="2391" /> <source>Save Shell Contents</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Shell.py" line="2394" /> + <location filename="../QScintilla/Shell.py" line="2393" /> <source>Text Files (*.txt);;All Files (*)</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Shell.py" line="2412" /> + <location filename="../QScintilla/Shell.py" line="2411" /> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Shell.py" line="2425" /> + <location filename="../QScintilla/Shell.py" line="2424" /> <source><p>The file <b>{0}</b> could not be saved.<br/>Reason: {1}</p></source> <translation type="unfinished" /> </message> @@ -90790,12 +90790,12 @@ <context> <name>eric7</name> <message> - <location filename="../eric7.py" line="387" /> + <location filename="../eric7.py" line="386" /> <source>Starting...</source> <translation type="unfinished" /> </message> <message> - <location filename="../eric7.py" line="393" /> + <location filename="../eric7.py" line="392" /> <source>Generating Main Window...</source> <translation type="unfinished" /> </message>
--- a/eric7/i18n/eric7_es.ts Fri Aug 20 19:54:49 2021 +0200 +++ b/eric7/i18n/eric7_es.ts Fri Aug 20 19:56:17 2021 +0200 @@ -51564,13 +51564,13 @@ </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Plugin:</source> - <translation>Plugin:</translation> + <source>Plugins:</source> + <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Select the plugin to uninstall</source> - <translation>Seleccione el plugin a desinstalar</translation> + <source>Check the plugins to be uninstalled</source> + <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> @@ -51582,46 +51582,54 @@ <source>Keep configuration data</source> <translation>Conservar datos de configuración</translation> </message> + <message> + <source>Plugin:</source> + <translation type="vanished">Plugin:</translation> + </message> + <message> + <source>Select the plugin to uninstall</source> + <translation type="vanished">Seleccione el plugin a desinstalar</translation> + </message> </context> <context> <name>PluginUninstallWidget</name> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="58" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="57" /> <source>User plugins directory</source> <translation>Directorio de plugins del usuario</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="64" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="63" /> <source>Global plugins directory</source> <translation>Directorio de plugins global</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="201" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="192" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="181" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="125" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="111" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="232" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="223" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="212" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="156" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="142" /> <source>Plugin Uninstallation</source> <translation>Desinstalación de Plugin</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="112" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="143" /> <source><p>The plugin <b>{0}</b> could not be unloaded. Aborting...</p></source> <translation><p>El plugin <b>{0}</b> no ha podido descargarse. Abortando...</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="126" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="157" /> <source><p>The plugin <b>{0}</b> has no 'packageName' attribute. Aborting...</p></source> <translation><p>El plugin <b>{0}</b> no tiene atributo 'packageName'. Abortando...</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="182" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="213" /> <source><p>The plugin package <b>{0}</b> could not be removed. Aborting...</p><p>Reason: {1}</p></source> <translation><p>El paquete de plugin <b>{0}</b> no ha podido ser eliminado. Abortando...</p><p>Razón: {1}</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="202" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="193" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="233" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="224" /> <source><p>The plugin <b>{0}</b> was uninstalled successfully from {1}.</p></source> <translation><p>El plugin <b>{0}</b> se ha desinstalado de {1} satisfactoriamente.</p></translation> </message> @@ -63820,24 +63828,24 @@ <translation><p><b>{0}</b> no es un archivo.</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2424" /> - <location filename="../QScintilla/Shell.py" line="2411" /> - <location filename="../QScintilla/Shell.py" line="2392" /> + <location filename="../QScintilla/Shell.py" line="2423" /> + <location filename="../QScintilla/Shell.py" line="2410" /> + <location filename="../QScintilla/Shell.py" line="2391" /> <source>Save Shell Contents</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Shell.py" line="2394" /> + <location filename="../QScintilla/Shell.py" line="2393" /> <source>Text Files (*.txt);;All Files (*)</source> <translation type="unfinished">Archivos de Texto (*.txt);;Todos los Archivos (*)</translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2412" /> + <location filename="../QScintilla/Shell.py" line="2411" /> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished"><p>El archivo <b>{0}</b> ya existe. ¿Desea sobreescribirlo?</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2425" /> + <location filename="../QScintilla/Shell.py" line="2424" /> <source><p>The file <b>{0}</b> could not be saved.<br/>Reason: {1}</p></source> <translation type="unfinished"><p>El archivo <b>{0}</b> no puede ser guardado.<br>Causa: {1}</p></translation> </message> @@ -91380,12 +91388,12 @@ <context> <name>eric7</name> <message> - <location filename="../eric7.py" line="387" /> + <location filename="../eric7.py" line="386" /> <source>Starting...</source> <translation>Comenzando...</translation> </message> <message> - <location filename="../eric7.py" line="393" /> + <location filename="../eric7.py" line="392" /> <source>Generating Main Window...</source> <translation>Generando Ventana Principal...</translation> </message>
--- a/eric7/i18n/eric7_fr.ts Fri Aug 20 19:54:49 2021 +0200 +++ b/eric7/i18n/eric7_fr.ts Fri Aug 20 19:56:17 2021 +0200 @@ -54970,13 +54970,13 @@ </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Plugin:</source> - <translation>Plugin:</translation> + <source>Plugins:</source> + <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Select the plugin to uninstall</source> - <translation>Sélectionner le plugin à désinstaller</translation> + <source>Check the plugins to be uninstalled</source> + <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> @@ -54988,46 +54988,54 @@ <source>Keep configuration data</source> <translation>Conserver les données de configuration</translation> </message> + <message> + <source>Plugin:</source> + <translation type="vanished">Plugin:</translation> + </message> + <message> + <source>Select the plugin to uninstall</source> + <translation type="vanished">Sélectionner le plugin à désinstaller</translation> + </message> </context> <context> <name>PluginUninstallWidget</name> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="58" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="57" /> <source>User plugins directory</source> <translation>Répertoire utilisateur pour les plugins</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="64" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="63" /> <source>Global plugins directory</source> <translation>Répertoire global pour les plugins</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="201" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="192" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="181" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="125" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="111" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="232" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="223" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="212" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="156" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="142" /> <source>Plugin Uninstallation</source> <translation>Désinstallation de plugin</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="112" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="143" /> <source><p>The plugin <b>{0}</b> could not be unloaded. Aborting...</p></source> <translation><p>Le plugin <b>{0}</b> n'a pas pu être déchargé. Annulation...</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="126" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="157" /> <source><p>The plugin <b>{0}</b> has no 'packageName' attribute. Aborting...</p></source> <translation><p>Le plugin <b>{0}</b> n'a pas d'attribut 'packageName' . Annulation...</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="182" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="213" /> <source><p>The plugin package <b>{0}</b> could not be removed. Aborting...</p><p>Reason: {1}</p></source> <translation><p>Le package plugin<b>{0}</b> ne peut être supprimé. Annulation...</p><p>Raison : {1}</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="202" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="193" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="233" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="224" /> <source><p>The plugin <b>{0}</b> was uninstalled successfully from {1}.</p></source> <translation><p>Le plugin <b>{0}</b> a été désinstaller avec succès depuis {1}.</p></translation> </message> @@ -68052,24 +68060,24 @@ <translation><p><b>{0}</b> n'est pas un fichier.</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2424" /> - <location filename="../QScintilla/Shell.py" line="2411" /> - <location filename="../QScintilla/Shell.py" line="2392" /> + <location filename="../QScintilla/Shell.py" line="2423" /> + <location filename="../QScintilla/Shell.py" line="2410" /> + <location filename="../QScintilla/Shell.py" line="2391" /> <source>Save Shell Contents</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Shell.py" line="2394" /> + <location filename="../QScintilla/Shell.py" line="2393" /> <source>Text Files (*.txt);;All Files (*)</source> <translation type="unfinished">Fichiers texte (*.txt);;Tous les fichiers (*)</translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2412" /> + <location filename="../QScintilla/Shell.py" line="2411" /> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished"><p>Le fichier <b>{0}</b>existe déjà. Écraser ?</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2425" /> + <location filename="../QScintilla/Shell.py" line="2424" /> <source><p>The file <b>{0}</b> could not be saved.<br/>Reason: {1}</p></source> <translation type="unfinished"><p>Le fichier <b>{0}</b> ne peut être enregistré.</p><p>Raison : {1}</p></translation> </message> @@ -96310,12 +96318,12 @@ <context> <name>eric7</name> <message> - <location filename="../eric7.py" line="387" /> + <location filename="../eric7.py" line="386" /> <source>Starting...</source> <translation type="unfinished">Démarrage...</translation> </message> <message> - <location filename="../eric7.py" line="393" /> + <location filename="../eric7.py" line="392" /> <source>Generating Main Window...</source> <translation type="unfinished">Création de la fenêtre principale...</translation> </message>
--- a/eric7/i18n/eric7_it.ts Fri Aug 20 19:54:49 2021 +0200 +++ b/eric7/i18n/eric7_it.ts Fri Aug 20 19:56:17 2021 +0200 @@ -56887,13 +56887,13 @@ </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Plugin:</source> - <translation>Plugin:</translation> + <source>Plugins:</source> + <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Select the plugin to uninstall</source> - <translation>Seleziona il plugin da rimuovere</translation> + <source>Check the plugins to be uninstalled</source> + <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> @@ -56905,46 +56905,54 @@ <source>Keep configuration data</source> <translation type="unfinished" /> </message> + <message> + <source>Plugin:</source> + <translation type="vanished">Plugin:</translation> + </message> + <message> + <source>Select the plugin to uninstall</source> + <translation type="vanished">Seleziona il plugin da rimuovere</translation> + </message> </context> <context> <name>PluginUninstallWidget</name> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="58" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="57" /> <source>User plugins directory</source> <translation>Directgory dei plugin dell'utente</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="64" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="63" /> <source>Global plugins directory</source> <translation>Directory dei plugin di sistema</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="201" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="192" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="181" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="125" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="111" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="232" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="223" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="212" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="156" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="142" /> <source>Plugin Uninstallation</source> <translation>Rimozione plugin</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="112" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="143" /> <source><p>The plugin <b>{0}</b> could not be unloaded. Aborting...</p></source> <translation><p>Il plugin <b>{0}</b> non può essere rimosso. Uscita...</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="126" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="157" /> <source><p>The plugin <b>{0}</b> has no 'packageName' attribute. Aborting...</p></source> <translation><p>Il plugin <b>{0}</b> non ha un attributo 'packageName'. Uscita...</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="182" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="213" /> <source><p>The plugin package <b>{0}</b> could not be removed. Aborting...</p><p>Reason: {1}</p></source> <translation><p>Il pacchetto del plugin <b>{0}</b> non può essere rimosso. Uscita...</p><p>Motivo: {1}</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="202" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="193" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="233" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="224" /> <source><p>The plugin <b>{0}</b> was uninstalled successfully from {1}.</p></source> <translation><p>Il plugin <b>{0}</b> è stato rimosso correttamente da {1}.</p></translation> </message> @@ -70178,24 +70186,24 @@ <translation><p><b>{0}</b> non è un file.</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2424" /> - <location filename="../QScintilla/Shell.py" line="2411" /> - <location filename="../QScintilla/Shell.py" line="2392" /> + <location filename="../QScintilla/Shell.py" line="2423" /> + <location filename="../QScintilla/Shell.py" line="2410" /> + <location filename="../QScintilla/Shell.py" line="2391" /> <source>Save Shell Contents</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Shell.py" line="2394" /> + <location filename="../QScintilla/Shell.py" line="2393" /> <source>Text Files (*.txt);;All Files (*)</source> <translation type="unfinished">File Testo(*.txt);;Tutti i file (*)</translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2412" /> + <location filename="../QScintilla/Shell.py" line="2411" /> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished"><p>Il file <b>{0}</b> esiste già. Sovrascriverlo ?</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2425" /> + <location filename="../QScintilla/Shell.py" line="2424" /> <source><p>The file <b>{0}</b> could not be saved.<br/>Reason: {1}</p></source> <translation type="unfinished"><p>Il file <b>{0}</b> non può essere salvato.<br />Motivo: {1}</p></translation> </message> @@ -98451,12 +98459,12 @@ <context> <name>eric7</name> <message> - <location filename="../eric7.py" line="387" /> + <location filename="../eric7.py" line="386" /> <source>Starting...</source> <translation type="unfinished">Inizio...</translation> </message> <message> - <location filename="../eric7.py" line="393" /> + <location filename="../eric7.py" line="392" /> <source>Generating Main Window...</source> <translation type="unfinished">Generazione Main Window...</translation> </message>
--- a/eric7/i18n/eric7_pt.ts Fri Aug 20 19:54:49 2021 +0200 +++ b/eric7/i18n/eric7_pt.ts Fri Aug 20 19:56:17 2021 +0200 @@ -56379,13 +56379,13 @@ </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Plugin:</source> - <translation /> + <source>Plugins:</source> + <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Select the plugin to uninstall</source> - <translation>Selecionar o plugin a desinstalar</translation> + <source>Check the plugins to be uninstalled</source> + <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> @@ -56397,46 +56397,50 @@ <source>Keep configuration data</source> <translation type="unfinished" /> </message> + <message> + <source>Select the plugin to uninstall</source> + <translation type="vanished">Selecionar o plugin a desinstalar</translation> + </message> </context> <context> <name>PluginUninstallWidget</name> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="58" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="57" /> <source>User plugins directory</source> <translation>Diretório de plugins do usuário</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="64" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="63" /> <source>Global plugins directory</source> <translation>Diretório de plugins do global</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="201" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="192" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="181" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="125" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="111" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="232" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="223" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="212" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="156" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="142" /> <source>Plugin Uninstallation</source> <translation>Desinstalação de Plugins</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="112" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="143" /> <source><p>The plugin <b>{0}</b> could not be unloaded. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="126" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="157" /> <source><p>The plugin <b>{0}</b> has no 'packageName' attribute. Aborting...</p></source> <translation><p>O complemento <b>{0}</b> não tem atributo 'packageName'. A cancelar...</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="182" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="213" /> <source><p>The plugin package <b>{0}</b> could not be removed. Aborting...</p><p>Reason: {1}</p></source> <translation><p>O pacote complemento <b>{0}</b> não pode ser apagado. A cancelar...</p><p>Motivo: {1}</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="202" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="193" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="233" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="224" /> <source><p>The plugin <b>{0}</b> was uninstalled successfully from {1}.</p></source> <translation><p>O complemento <b>{0}</b> foi desinstalado de {1} com êxito.</p></translation> </message> @@ -68989,24 +68993,24 @@ <translation type="unfinished"><p><b>{0}</b> não é um ficheiro.</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2424" /> - <location filename="../QScintilla/Shell.py" line="2411" /> - <location filename="../QScintilla/Shell.py" line="2392" /> + <location filename="../QScintilla/Shell.py" line="2423" /> + <location filename="../QScintilla/Shell.py" line="2410" /> + <location filename="../QScintilla/Shell.py" line="2391" /> <source>Save Shell Contents</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Shell.py" line="2394" /> + <location filename="../QScintilla/Shell.py" line="2393" /> <source>Text Files (*.txt);;All Files (*)</source> <translation type="unfinished">Ficheiros de Texto (*.txt);;Ficheiros Todos (*)</translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2412" /> + <location filename="../QScintilla/Shell.py" line="2411" /> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished"><p>O ficheiro <b>{0}</b> já existe. Sobreescrever?</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2425" /> + <location filename="../QScintilla/Shell.py" line="2424" /> <source><p>The file <b>{0}</b> could not be saved.<br/>Reason: {1}</p></source> <translation type="unfinished"><p>O ficheiro <b>{0}</b> não se pôde gravar. <br/>Motivo: {1}</p></translation> </message> @@ -96970,12 +96974,12 @@ <context> <name>eric7</name> <message> - <location filename="../eric7.py" line="387" /> + <location filename="../eric7.py" line="386" /> <source>Starting...</source> <translation type="unfinished">A iniciar...</translation> </message> <message> - <location filename="../eric7.py" line="393" /> + <location filename="../eric7.py" line="392" /> <source>Generating Main Window...</source> <translation type="unfinished">A criar a Janela Principal...</translation> </message>
--- a/eric7/i18n/eric7_ru.ts Fri Aug 20 19:54:49 2021 +0200 +++ b/eric7/i18n/eric7_ru.ts Fri Aug 20 19:56:17 2021 +0200 @@ -51607,13 +51607,13 @@ </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Plugin:</source> - <translation>Плагин:</translation> + <source>Plugins:</source> + <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Select the plugin to uninstall</source> - <translation>Выберите плагин для деинсталляции</translation> + <source>Check the plugins to be uninstalled</source> + <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> @@ -51625,46 +51625,54 @@ <source>Keep configuration data</source> <translation>Сохранять данные конфигурации</translation> </message> + <message> + <source>Plugin:</source> + <translation type="vanished">Плагин:</translation> + </message> + <message> + <source>Select the plugin to uninstall</source> + <translation type="vanished">Выберите плагин для деинсталляции</translation> + </message> </context> <context> <name>PluginUninstallWidget</name> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="58" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="57" /> <source>User plugins directory</source> <translation>Директория плагинов пользователя</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="64" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="63" /> <source>Global plugins directory</source> <translation>Глобальная директория плагинов</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="201" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="192" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="181" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="125" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="111" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="232" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="223" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="212" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="156" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="142" /> <source>Plugin Uninstallation</source> <translation>Деинсталляция плагинов</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="112" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="143" /> <source><p>The plugin <b>{0}</b> could not be unloaded. Aborting...</p></source> <translation><p>Невозможно выгрузить плагин <b>{0}</b>. Прерывание...</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="126" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="157" /> <source><p>The plugin <b>{0}</b> has no 'packageName' attribute. Aborting...</p></source> <translation><p>Плагин <b>{0}</b> не содержит атрибута 'packageName'. Прерывание...</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="182" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="213" /> <source><p>The plugin package <b>{0}</b> could not be removed. Aborting...</p><p>Reason: {1}</p></source> <translation><p>Невозможно удалить пакет плагина <b>{0}</b>. Отмена...</p><p>Причина: {1}</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="202" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="193" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="233" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="224" /> <source><p>The plugin <b>{0}</b> was uninstalled successfully from {1}.</p></source> <translation><p>Плагин <b>{0}</b> был успешно деинсталлирован из {1}.</p></translation> </message> @@ -63937,24 +63945,24 @@ <translation><p><b>{0}</b> не является файлом</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2424" /> - <location filename="../QScintilla/Shell.py" line="2411" /> - <location filename="../QScintilla/Shell.py" line="2392" /> + <location filename="../QScintilla/Shell.py" line="2423" /> + <location filename="../QScintilla/Shell.py" line="2410" /> + <location filename="../QScintilla/Shell.py" line="2391" /> <source>Save Shell Contents</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Shell.py" line="2394" /> + <location filename="../QScintilla/Shell.py" line="2393" /> <source>Text Files (*.txt);;All Files (*)</source> <translation type="unfinished">Текстовые файлы (*.txt);;Все файлы (*)</translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2412" /> + <location filename="../QScintilla/Shell.py" line="2411" /> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished"><p>Файл <b>{0}</b> уже существует. Переписать?</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2425" /> + <location filename="../QScintilla/Shell.py" line="2424" /> <source><p>The file <b>{0}</b> could not be saved.<br/>Reason: {1}</p></source> <translation type="unfinished"><p>Невозможно сохранить файл <b>{0}</b>.<br/>Причина: {1}.</p></translation> </message> @@ -91575,12 +91583,12 @@ <context> <name>eric7</name> <message> - <location filename="../eric7.py" line="387" /> + <location filename="../eric7.py" line="386" /> <source>Starting...</source> <translation>Запуск...</translation> </message> <message> - <location filename="../eric7.py" line="393" /> + <location filename="../eric7.py" line="392" /> <source>Generating Main Window...</source> <translation>Создание главного окна...</translation> </message>
--- a/eric7/i18n/eric7_tr.ts Fri Aug 20 19:54:49 2021 +0200 +++ b/eric7/i18n/eric7_tr.ts Fri Aug 20 19:56:17 2021 +0200 @@ -55139,13 +55139,13 @@ </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Plugin:</source> - <translation>Eklenti:</translation> + <source>Plugins:</source> + <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Select the plugin to uninstall</source> - <translation>Eklentiyi kaldırma için seç</translation> + <source>Check the plugins to be uninstalled</source> + <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> @@ -55157,46 +55157,54 @@ <source>Keep configuration data</source> <translation type="unfinished" /> </message> + <message> + <source>Plugin:</source> + <translation type="vanished">Eklenti:</translation> + </message> + <message> + <source>Select the plugin to uninstall</source> + <translation type="vanished">Eklentiyi kaldırma için seç</translation> + </message> </context> <context> <name>PluginUninstallWidget</name> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="58" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="57" /> <source>User plugins directory</source> <translation>Kullanıcı eklentiler dizini</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="64" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="63" /> <source>Global plugins directory</source> <translation>Evrensel eklentiler dizini</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="201" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="192" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="181" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="125" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="111" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="232" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="223" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="212" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="156" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="142" /> <source>Plugin Uninstallation</source> <translation>Eklenti Kaldırımı</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="112" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="143" /> <source><p>The plugin <b>{0}</b> could not be unloaded. Aborting...</p></source> <translation><p>Eklenti <b>{0}</b> kaldırılamıyor. İptal ediliyor...</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="126" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="157" /> <source><p>The plugin <b>{0}</b> has no 'packageName' attribute. Aborting...</p></source> <translation><p>eklenti <b>{0}</b> 'packageName' özniteliğine sahip değil. İptal ediliyor...</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="182" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="213" /> <source><p>The plugin package <b>{0}</b> could not be removed. Aborting...</p><p>Reason: {1}</p></source> <translation><p>Eklenti paketi <b>{0}</b> kaldırılamadı. İptal ediliyor...</p><p>Sebep: {1}</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="202" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="193" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="233" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="224" /> <source><p>The plugin <b>{0}</b> was uninstalled successfully from {1}.</p></source> <translation><p>Eklenti <b>{0}</b> {1}den tam olarak kaldırıldı.</p></translation> </message> @@ -67804,24 +67812,24 @@ <translation><p><b>{0}</b> bir dosya değil.</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2424" /> - <location filename="../QScintilla/Shell.py" line="2411" /> - <location filename="../QScintilla/Shell.py" line="2392" /> + <location filename="../QScintilla/Shell.py" line="2423" /> + <location filename="../QScintilla/Shell.py" line="2410" /> + <location filename="../QScintilla/Shell.py" line="2391" /> <source>Save Shell Contents</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Shell.py" line="2394" /> + <location filename="../QScintilla/Shell.py" line="2393" /> <source>Text Files (*.txt);;All Files (*)</source> <translation type="unfinished">Metin Dosyaları (*.txt);;Tüm Dosyalar (*)</translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2412" /> + <location filename="../QScintilla/Shell.py" line="2411" /> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished"><p><b>{0}</b> dosyası halen mevcut. Üzerine yazılsın mı?</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2425" /> + <location filename="../QScintilla/Shell.py" line="2424" /> <source><p>The file <b>{0}</b> could not be saved.<br/>Reason: {1}</p></source> <translation type="unfinished"><p>Dosya <b>{0}</b> kaydedilemiyor.</p><p>Sebep: {1}</p></translation> </message> @@ -95731,12 +95739,12 @@ <context> <name>eric7</name> <message> - <location filename="../eric7.py" line="387" /> + <location filename="../eric7.py" line="386" /> <source>Starting...</source> <translation type="unfinished" /> </message> <message> - <location filename="../eric7.py" line="393" /> + <location filename="../eric7.py" line="392" /> <source>Generating Main Window...</source> <translation type="unfinished">Anapencere üretiliyor...</translation> </message>
--- a/eric7/i18n/eric7_zh_CN.ts Fri Aug 20 19:54:49 2021 +0200 +++ b/eric7/i18n/eric7_zh_CN.ts Fri Aug 20 19:56:17 2021 +0200 @@ -56012,13 +56012,13 @@ </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Plugin:</source> - <translation>插件:</translation> + <source>Plugins:</source> + <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> - <source>Select the plugin to uninstall</source> - <translation>选择要卸载的插件</translation> + <source>Check the plugins to be uninstalled</source> + <translation type="unfinished" /> </message> <message> <location filename="../PluginManager/PluginUninstallDialog.ui" line="0" /> @@ -56030,46 +56030,54 @@ <source>Keep configuration data</source> <translation type="unfinished" /> </message> + <message> + <source>Plugin:</source> + <translation type="vanished">插件:</translation> + </message> + <message> + <source>Select the plugin to uninstall</source> + <translation type="vanished">选择要卸载的插件</translation> + </message> </context> <context> <name>PluginUninstallWidget</name> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="58" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="57" /> <source>User plugins directory</source> <translation>用户插件文件夹</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="64" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="63" /> <source>Global plugins directory</source> <translation>全局插件文件夹</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="201" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="192" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="181" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="125" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="111" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="232" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="223" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="212" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="156" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="142" /> <source>Plugin Uninstallation</source> <translation>插件卸载</translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="112" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="143" /> <source><p>The plugin <b>{0}</b> could not be unloaded. Aborting...</p></source> <translation><p>插件 <b>{0}</b> 无法反加载。放弃操作…</p></translation> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="126" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="157" /> <source><p>The plugin <b>{0}</b> has no 'packageName' attribute. Aborting...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="182" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="213" /> <source><p>The plugin package <b>{0}</b> could not be removed. Aborting...</p><p>Reason: {1}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PluginManager/PluginUninstallDialog.py" line="202" /> - <location filename="../PluginManager/PluginUninstallDialog.py" line="193" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="233" /> + <location filename="../PluginManager/PluginUninstallDialog.py" line="224" /> <source><p>The plugin <b>{0}</b> was uninstalled successfully from {1}.</p></source> <translation type="unfinished" /> </message> @@ -69272,24 +69280,24 @@ <translation type="unfinished"><p><b>{0}</b> 不是一个文件。</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2424" /> - <location filename="../QScintilla/Shell.py" line="2411" /> - <location filename="../QScintilla/Shell.py" line="2392" /> + <location filename="../QScintilla/Shell.py" line="2423" /> + <location filename="../QScintilla/Shell.py" line="2410" /> + <location filename="../QScintilla/Shell.py" line="2391" /> <source>Save Shell Contents</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Shell.py" line="2394" /> + <location filename="../QScintilla/Shell.py" line="2393" /> <source>Text Files (*.txt);;All Files (*)</source> <translation type="unfinished">文本文件 (*.txt);;所有文件 (*)</translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2412" /> + <location filename="../QScintilla/Shell.py" line="2411" /> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished"><p>文件 <b>{0}</b> 已经存在。是否覆盖?</p></translation> </message> <message> - <location filename="../QScintilla/Shell.py" line="2425" /> + <location filename="../QScintilla/Shell.py" line="2424" /> <source><p>The file <b>{0}</b> could not be saved.<br/>Reason: {1}</p></source> <translation type="unfinished"><p>文件 <b>{0}</b> 无法保存。<br />原因:{1}</p></translation> </message> @@ -97536,12 +97544,12 @@ <context> <name>eric7</name> <message> - <location filename="../eric7.py" line="387" /> + <location filename="../eric7.py" line="386" /> <source>Starting...</source> <translation type="unfinished">正在启动…</translation> </message> <message> - <location filename="../eric7.py" line="393" /> + <location filename="../eric7.py" line="392" /> <source>Generating Main Window...</source> <translation type="unfinished">正在产生主窗口…</translation> </message>