Plugin Repository, Web Browser eric7

Mon, 17 Apr 2023 14:25:35 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 17 Apr 2023 14:25:35 +0200
branch
eric7
changeset 9982
5b91f7baffd0
parent 9981
932af5154428
child 9983
2526f3b8c421

Plugin Repository, Web Browser
- Added the capability to enforce the download of plugin packages using the `http://` protocol (in case of missing/non-functional system `SSL` libraries).
- Added the capability to enforce the download of spell check dictionaries using the `http://` protocol (in case of missing/non-functional system `SSL` libraries).

docs/changelog.md file | annotate | diff | comparison | revisions
src/eric7/PluginManager/PluginManager.py file | annotate | diff | comparison | revisions
src/eric7/PluginManager/PluginRepositoryDialog.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/PluginManagerPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/PluginManagerPage.ui file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.py file | annotate | diff | comparison | revisions
src/eric7/Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui file | annotate | diff | comparison | revisions
src/eric7/Preferences/__init__.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/SpellCheck/ManageDictionariesDialog.py file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_cs.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_de.qm file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_de.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_empty.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_en.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_es.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_fr.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_it.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_pt.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_ru.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_tr.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_zh_CN.ts file | annotate | diff | comparison | revisions
--- a/docs/changelog.md	Mon Apr 17 09:29:01 2023 +0200
+++ b/docs/changelog.md	Mon Apr 17 14:25:35 2023 +0200
@@ -13,9 +13,15 @@
       page of the configuration dialog.
     - Added a package installer for devices lacking network connectivity and the `mip`
       package manager.
+- Plugin Repository
+    - Added the capability to enforce the download of plugin packages using the
+      `http://` protocol (in case of missing/non-functional system `SSL` libraries).
 - Translator
     - Added support for the LibreTranslate translator (see
       https://github.com/LibreTranslate/LibreTranslate).
+- Web Browser
+    - Added the capability to enforce the download of spell check dictionaries using
+      the `http://` protocol (in case of missing/non-functional system `SSL` libraries).
 
 ### Version 23.4.2
 - bug fixes
--- a/src/eric7/PluginManager/PluginManager.py	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/PluginManager/PluginManager.py	Mon Apr 17 14:25:35 2023 +0200
@@ -1280,6 +1280,8 @@
 
         if url is None:
             url = Preferences.getUI("PluginRepositoryUrl7")
+            if Preferences.getPluginManager("ForceHttpPluginDownload"):
+                url = url.replace("https://", "http://")
         request = QNetworkRequest(QUrl(url))
         request.setAttribute(
             QNetworkRequest.Attribute.CacheLoadControlAttribute,
--- a/src/eric7/PluginManager/PluginRepositoryDialog.py	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/PluginManager/PluginRepositoryDialog.py	Mon Apr 17 14:25:35 2023 +0200
@@ -606,6 +606,9 @@
                 self.__closeButton.setEnabled(False)
             self.__downloadCancelButton.setEnabled(True)
 
+            if Preferences.getPluginManager("ForceHttpPluginDownload"):
+                url = url.replace("https://", "http://")
+
             self.statusLabel.setText(url)
 
             request = QNetworkRequest(QUrl(url))
--- a/src/eric7/Preferences/ConfigurationPages/PluginManagerPage.py	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/Preferences/ConfigurationPages/PluginManagerPage.py	Mon Apr 17 14:25:35 2023 +0200
@@ -43,6 +43,9 @@
         self.startupCleanupCheckBox.setChecked(
             Preferences.getPluginManager("StartupCleanup")
         )
+        self.unencryptedCheckBox.setChecked(
+            Preferences.getPluginManager("ForceHttpPluginDownload")
+        )
 
         period = Preferences.getPluginManager("UpdatesCheckInterval")
         if period == 0:
@@ -83,6 +86,9 @@
         Preferences.setPluginManager(
             "StartupCleanup", self.startupCleanupCheckBox.isChecked()
         )
+        Preferences.setPluginManager(
+            "ForceHttpPluginDownload", self.unencryptedCheckBox.isChecked()
+        )
 
         if self.noCheckRadioButton.isChecked():
             period = 0
--- a/src/eric7/Preferences/ConfigurationPages/PluginManagerPage.ui	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/Preferences/ConfigurationPages/PluginManagerPage.ui	Mon Apr 17 14:25:35 2023 +0200
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>528</width>
-    <height>520</height>
+    <height>608</height>
    </rect>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_3">
@@ -125,6 +125,16 @@
     </widget>
    </item>
    <item>
+    <widget class="QCheckBox" name="unencryptedCheckBox">
+     <property name="toolTip">
+      <string>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</string>
+     </property>
+     <property name="text">
+      <string>Enforce unencrypted downloads</string>
+     </property>
+    </widget>
+   </item>
+   <item>
     <widget class="QLabel" name="TextLabel1_2_2_2_3">
      <property name="text">
       <string>&lt;font color=&quot;#FF0000&quot;&gt;&lt;b&gt;Note:&lt;/b&gt; The following settings are activated at the next startup of the application.&lt;/font&gt;</string>
@@ -291,6 +301,7 @@
   <tabstop>generationsSpinBox</tabstop>
   <tabstop>keepHiddenCheckBox</tabstop>
   <tabstop>startupCleanupCheckBox</tabstop>
+  <tabstop>unencryptedCheckBox</tabstop>
   <tabstop>activateExternalPluginsCheckBox</tabstop>
   <tabstop>noCheckRadioButton</tabstop>
   <tabstop>alwaysCheckRadioButton</tabstop>
@@ -300,6 +311,7 @@
   <tabstop>downloadedOnlyCheckBox</tabstop>
   <tabstop>repositoryUrlEdit</tabstop>
   <tabstop>repositoryUrlEditButton</tabstop>
+  <tabstop>autoInstallCheckBox</tabstop>
  </tabstops>
  <resources/>
  <connections/>
--- a/src/eric7/Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.py	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.py	Mon Apr 17 14:25:35 2023 +0200
@@ -40,6 +40,9 @@
             Preferences.getWebBrowser("SpellCheckEnabled")
         )
         self.on_spellCheckEnabledCheckBox_clicked()
+        self.unencryptedCheckBox.setChecked(
+            Preferences.getWebBrowser("ForceHttpDictionaryDownload")
+        )
 
         if OSUtilities.isMacPlatform():
             self.__dictionaryDirectories = {
@@ -140,6 +143,9 @@
         Preferences.setWebBrowser(
             "SpellCheckEnabled", self.spellCheckEnabledCheckBox.isChecked()
         )
+        Preferences.setWebBrowser(
+            "ForceHttpDictionaryDownload", self.unencryptedCheckBox.isChecked()
+        )
         Preferences.setWebBrowser("SpellCheckLanguages", languages)
 
     @pyqtSlot()
--- a/src/eric7/Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui	Mon Apr 17 14:25:35 2023 +0200
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>499</width>
-    <height>519</height>
+    <height>608</height>
    </rect>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_3">
@@ -102,6 +102,16 @@
     </widget>
    </item>
    <item>
+    <widget class="QCheckBox" name="unencryptedCheckBox">
+     <property name="toolTip">
+      <string>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</string>
+     </property>
+     <property name="text">
+      <string>Enforce unencrypted downloads</string>
+     </property>
+    </widget>
+   </item>
+   <item>
     <layout class="QHBoxLayout" name="horizontalLayout">
      <item>
       <spacer name="horizontalSpacer">
@@ -160,6 +170,8 @@
   <tabstop>spellCheckEnabledCheckBox</tabstop>
   <tabstop>spellCheckLanguagesList</tabstop>
   <tabstop>spellCheckDictionaryDirectoriesEdit</tabstop>
+  <tabstop>unencryptedCheckBox</tabstop>
+  <tabstop>manageDictionariesButton</tabstop>
  </tabstops>
  <resources/>
  <connections/>
--- a/src/eric7/Preferences/__init__.py	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/Preferences/__init__.py	Mon Apr 17 14:25:35 2023 +0200
@@ -1098,6 +1098,7 @@
             "https://eric-ide.python-projects.org/qwebengine_dictionaries/"
             "dictionaries.xml"
         ),
+        "ForceHttpDictionaryDownload": False,
         # Sync
         "SyncEnabled": False,
         "SyncBookmarks": True,
@@ -1424,6 +1425,7 @@
         "KeepHidden": False,
         "StartupCleanup": True,
         "AutoInstallDependencies": True,
+        "ForceHttpPluginDownload": False,
     }
 
     # defaults for the printer settings
@@ -3117,6 +3119,7 @@
         "PrintElementBackgrounds",
         "AllowRunningInsecureContent",
         "SpellCheckEnabled",
+        "ForceHttpDictionaryDownload",
         "ShowToolbars",
         "MenuBarVisible",
         "BookmarksToolBarVisible",
--- a/src/eric7/WebBrowser/SpellCheck/ManageDictionariesDialog.py	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/WebBrowser/SpellCheck/ManageDictionariesDialog.py	Mon Apr 17 14:25:35 2023 +0200
@@ -176,6 +176,8 @@
         self.downloadProgress.setValue(0)
 
         url = self.dictionariesUrlEdit.text()
+        if Preferences.getWebBrowser("ForceHttpDictionaryDownload"):
+            url = url.replace("https://", "http://")
 
         if self.__online:
             self.__refreshButton.setEnabled(False)
@@ -371,6 +373,8 @@
         if self.__online:
             if self.__dictionariesToDownload:
                 url = self.__dictionariesToDownload.pop(0)
+                if Preferences.getWebBrowser("ForceHttpDictionaryDownload"):
+                    url = url.replace("https://", "http://")
                 self.statusLabel.setText(url)
 
                 self.__downloadCancelled = False
--- a/src/eric7/i18n/eric7_cs.ts	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/i18n/eric7_cs.ts	Mon Apr 17 14:25:35 2023 +0200
@@ -49392,71 +49392,71 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="202" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="204" />
       <source>Error populating list of dictionaries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="231" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="203" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="233" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="205" />
       <source>&lt;p&gt;Could not download the dictionaries list from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="206" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="400" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="208" />
       <source>No connection to Internet.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="230" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="232" />
       <source>Error downloading dictionaries list</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="249" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="251" />
       <source>Dictionaries URL Changed</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="250" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="252" />
       <source>The URL of the spell check dictionaries has changed. Select the "Refresh" button to get the new dictionaries list.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="261" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="263" />
       <source>Error installing dictionaries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="262" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="264" />
       <source>&lt;p&gt;None of the dictionary locations is writable by you. Please download required dictionaries manually and install them as administrator.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="311" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="313" />
       <source>{0} ({1})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="416" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="392" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="420" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
       <source>Error downloading dictionary file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="417" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="393" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="421" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="397" />
       <source>&lt;p&gt;Could not download the requested dictionary file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="431" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="435" />
       <source>Error downloading dictionary</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="432" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="436" />
       <source>&lt;p&gt;The downloaded dictionary archive is invalid. Skipping it.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -57925,12 +57925,12 @@
       <translation>&lt;p&gt;Download plugin adresář &lt;b&gt;{0}&lt;/b&gt; se nepodařilo vytvořit. Prosím, upravte nastavení přes konfigurační dialog.&lt;/p&gt;&lt;p&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1305" />
+      <location filename="../PluginManager/PluginManager.py" line="1307" />
       <source>Error downloading file</source>
       <translation type="unfinished">Chyba při stahování souboru</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1306" />
+      <location filename="../PluginManager/PluginManager.py" line="1308" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished">&lt;p&gt;Nelze stáhnout požadovaný soubor z {0}.&lt;/p&gt;&lt;p&gt;Chyba: {1}&lt;/p&gt;</translation>
     </message>
@@ -57989,6 +57989,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
       <source>&lt;font color="#FF0000"&gt;&lt;b&gt;Note:&lt;/b&gt; The following settings are activated at the next startup of the application.&lt;/font&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -58326,76 +58336,76 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="657" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="625" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="660" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="628" />
       <source>Error downloading file</source>
       <translation>Chyba při stahování souboru</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="658" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="626" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="661" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Nelze stáhnout požadovaný soubor z {0}.&lt;/p&gt;&lt;p&gt;Chyba: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="632" />
       <source>No connection to Internet.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="739" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="742" />
       <source>Stable</source>
       <translation>Stabilní</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="746" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="749" />
       <source>Unstable</source>
       <translation>Nestabilní</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="753" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="756" />
       <source>Obsolete</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="760" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="763" />
       <source>Unknown</source>
       <translation>Neznámý</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="783" />
-      <source>up-to-date</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PluginManager/PluginRepositoryDialog.py" line="786" />
+      <source>up-to-date</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="789" />
       <source>new download available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="790" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="793" />
       <source>update installable</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="794" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="797" />
       <source>updated download available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="798" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="801" />
       <source>error determining status</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1168" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1140" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1171" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
       <source>Cleanup of Plugin Downloads</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1172" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1175" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1146" />
       <source>&lt;p&gt;The plugin download &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -58403,17 +58413,17 @@
   <context>
     <name>PluginRepositoryWindow</name>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1045" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1048" />
       <source>Process Generation Error</source>
       <translation>Chyba v procesu generování</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1046" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1049" />
       <source>&lt;p&gt;Could not start the process.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Nemohu spustit zveřejnění.&lt;br&gt;Ověřte jestli je dostupný jako &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1050" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1053" />
       <source>OK</source>
       <translation>OK</translation>
     </message>
@@ -58760,18 +58770,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1813" />
+      <location filename="../Preferences/__init__.py" line="1815" />
       <source>Export Preferences</source>
       <translation>Předvolby exportu</translation>
     </message>
     <message>
+      <location filename="../Preferences/__init__.py" line="1844" />
+      <location filename="../Preferences/__init__.py" line="1817" />
+      <source>Properties File (*.ini);;All Files (*)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Preferences/__init__.py" line="1842" />
-      <location filename="../Preferences/__init__.py" line="1815" />
-      <source>Properties File (*.ini);;All Files (*)</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Preferences/__init__.py" line="1840" />
       <source>Import Preferences</source>
       <translation>Předvolby importu</translation>
     </message>
@@ -97429,6 +97439,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
       <source>Press to open a dialog to manage spell checking dictionaries</source>
       <translation type="unfinished" />
     </message>
Binary file src/eric7/i18n/eric7_de.qm has changed
--- a/src/eric7/i18n/eric7_de.ts	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/i18n/eric7_de.ts	Mon Apr 17 14:25:35 2023 +0200
@@ -49270,71 +49270,71 @@
       <translation>Interneterreichbarkeitsstatus: nicht erreichbar</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="202" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="204" />
       <source>Error populating list of dictionaries</source>
       <translation>Fehler beim Laden der Wörterbuchliste</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="231" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="203" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="233" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="205" />
       <source>&lt;p&gt;Could not download the dictionaries list from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Wörterbuchliste konnte nicht von {0} heruntergeladen werden.&lt;/p&gt;&lt;p&gt;Fehler: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="206" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="400" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="208" />
       <source>No connection to Internet.</source>
       <translation>Keine Verbindung zum Internet.</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="230" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="232" />
       <source>Error downloading dictionaries list</source>
       <translation>Fehler beim Herunterladen der Wörterbuchliste</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="249" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="251" />
       <source>Dictionaries URL Changed</source>
       <translation>URL der Wörterbücher geändert</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="250" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="252" />
       <source>The URL of the spell check dictionaries has changed. Select the "Refresh" button to get the new dictionaries list.</source>
       <translation>Die URL für die Rechtschreibwörterbücher hat sich geändert. Wählen Sie den „Aktualisieren“-Knopf, um die neue Liste zu erhalten.</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="261" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="263" />
       <source>Error installing dictionaries</source>
       <translation>Fehler beid er Installation von Wörterbücher</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="262" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="264" />
       <source>&lt;p&gt;None of the dictionary locations is writable by you. Please download required dictionaries manually and install them as administrator.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Keines der Wörterbuchverzeichnisse ist durch sie veränderbar. Bitte laden sie die benötigten Wörterbücher manuell herunter und installieren sie sie als Administrator.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="311" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="313" />
       <source>{0} ({1})</source>
       <translation>{0} ({1})</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="416" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="392" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="420" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
       <source>Error downloading dictionary file</source>
       <translation>Fehler beim Herunterladen der Wörterbuchdatei</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="417" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="393" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="421" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="397" />
       <source>&lt;p&gt;Could not download the requested dictionary file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die angefragte Wörterbuchdatei konnte nicht von {0} heruntergeladen werden.&lt;/p&gt;&lt;p&gt;Fehler: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="431" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="435" />
       <source>Error downloading dictionary</source>
       <translation>Fehler beim Herunterladen der Wörterbuchdatei</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="432" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="436" />
       <source>&lt;p&gt;The downloaded dictionary archive is invalid. Skipping it.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Das heruntergeladene Wörterbucharchiv ist fehlerhaft. Überspringe es.&lt;/p&gt;</translation>
     </message>
@@ -57807,12 +57807,12 @@
       <translation>&lt;p&gt;Das Downloadverzeichnis für Plugins &lt;b&gt;{0}&lt;/b&gt; konnte nicht erzeugt werden. Bitte über den Konfigurationsdialog einstellen.&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1305" />
+      <location filename="../PluginManager/PluginManager.py" line="1307" />
       <source>Error downloading file</source>
       <translation>Fehler beim Herunterladen der Datei</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1306" />
+      <location filename="../PluginManager/PluginManager.py" line="1308" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die angefragte Datei konnte nicht von {0} gedownloaded werden.&lt;/p&gt;&lt;p&gt;Fehler: {1}&lt;/p&gt;</translation>
     </message>
@@ -57871,6 +57871,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Auswählen, um die Verwendung von &lt;b&gt;http://&lt;/b&gt; anstelle &lt;b&gt;https://&lt;/b&gt; zu erzwingen.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation>Unverschlüsselte Downloads erzwingen</translation>
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
       <source>&lt;font color="#FF0000"&gt;&lt;b&gt;Note:&lt;/b&gt; The following settings are activated at the next startup of the application.&lt;/font&gt;</source>
       <translation>&lt;font color="#FF0000"&gt;&lt;b&gt;Hinweis:&lt;/b&gt; Alle folgenden Einstellungen werden erst beim nächsten Programmstart aktiv.&lt;/font&gt;</translation>
     </message>
@@ -58208,76 +58218,76 @@
       <translation>Entfernte Aktualisierungen: &lt;b&gt;{0}&lt;/b&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="657" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="625" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="660" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="628" />
       <source>Error downloading file</source>
       <translation>Fehler beim Herunterladen der Datei</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="658" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="626" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="661" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die angefragte Datei konnte nicht von {0} gedownloaded werden.&lt;/p&gt;&lt;p&gt;Fehler: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="632" />
       <source>No connection to Internet.</source>
       <translation>Keine Verbindung zum Internet.</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="739" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="742" />
       <source>Stable</source>
       <translation>Stabil</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="746" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="749" />
       <source>Unstable</source>
       <translation>Instabil</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="753" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="756" />
       <source>Obsolete</source>
       <translation>Überholt</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="760" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="763" />
       <source>Unknown</source>
       <translation>Unbekannt</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="783" />
-      <source>up-to-date</source>
-      <translation>aktuell</translation>
-    </message>
-    <message>
       <location filename="../PluginManager/PluginRepositoryDialog.py" line="786" />
+      <source>up-to-date</source>
+      <translation>aktuell</translation>
+    </message>
+    <message>
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="789" />
       <source>new download available</source>
       <translation>neuer Download verfügbar</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="790" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="793" />
       <source>update installable</source>
       <translation>Aktualisierung installierbar</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="794" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="797" />
       <source>updated download available</source>
       <translation>aktualisiertes Download verfügbar</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="798" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="801" />
       <source>error determining status</source>
       <translation>Fehler bei der Ermittlung des Status</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1168" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1140" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1171" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
       <source>Cleanup of Plugin Downloads</source>
       <translation>Wartung der Plugin Downloads</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1172" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1175" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1146" />
       <source>&lt;p&gt;The plugin download &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Plugindatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelöscht werden.&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
     </message>
@@ -58285,17 +58295,17 @@
   <context>
     <name>PluginRepositoryWindow</name>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1045" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1048" />
       <source>Process Generation Error</source>
       <translation>Fehler beim Prozessstart</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1046" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1049" />
       <source>&lt;p&gt;Could not start the process.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Der Prozess konnte nicht gestartet werden.&lt;br&gt;Stellen Sie sicher, dass er als &lt;b&gt;{0}&lt;/b&gt; verfügbar ist.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1050" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1053" />
       <source>OK</source>
       <translation>OK</translation>
     </message>
@@ -58642,18 +58652,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1813" />
+      <location filename="../Preferences/__init__.py" line="1815" />
       <source>Export Preferences</source>
       <translation>Einstellungen exportieren</translation>
     </message>
     <message>
+      <location filename="../Preferences/__init__.py" line="1844" />
+      <location filename="../Preferences/__init__.py" line="1817" />
+      <source>Properties File (*.ini);;All Files (*)</source>
+      <translation>Properties-Dateien (*.ini);;Alle Dateien (*)</translation>
+    </message>
+    <message>
       <location filename="../Preferences/__init__.py" line="1842" />
-      <location filename="../Preferences/__init__.py" line="1815" />
-      <source>Properties File (*.ini);;All Files (*)</source>
-      <translation>Properties-Dateien (*.ini);;Alle Dateien (*)</translation>
-    </message>
-    <message>
-      <location filename="../Preferences/__init__.py" line="1840" />
       <source>Import Preferences</source>
       <translation>Einstellungen importieren</translation>
     </message>
@@ -97227,6 +97237,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Auswählen, um die Verwendung von &lt;b&gt;http://&lt;/b&gt; anstelle &lt;b&gt;https://&lt;/b&gt; zu erzwingen.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation>Unverschlüsselte Downloads erzwingen</translation>
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
       <source>Press to open a dialog to manage spell checking dictionaries</source>
       <translation>Drücken, um einen Dialog zur Verwaltung der Rechtschreibwörterbücher zu öffnen</translation>
     </message>
--- a/src/eric7/i18n/eric7_empty.ts	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/i18n/eric7_empty.ts	Mon Apr 17 14:25:35 2023 +0200
@@ -49034,71 +49034,71 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="202" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="204" />
       <source>Error populating list of dictionaries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="231" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="203" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="233" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="205" />
       <source>&lt;p&gt;Could not download the dictionaries list from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="206" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="400" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="208" />
       <source>No connection to Internet.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="230" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="232" />
       <source>Error downloading dictionaries list</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="249" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="251" />
       <source>Dictionaries URL Changed</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="250" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="252" />
       <source>The URL of the spell check dictionaries has changed. Select the "Refresh" button to get the new dictionaries list.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="261" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="263" />
       <source>Error installing dictionaries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="262" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="264" />
       <source>&lt;p&gt;None of the dictionary locations is writable by you. Please download required dictionaries manually and install them as administrator.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="311" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="313" />
       <source>{0} ({1})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="416" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="392" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="420" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
       <source>Error downloading dictionary file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="417" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="393" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="421" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="397" />
       <source>&lt;p&gt;Could not download the requested dictionary file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="431" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="435" />
       <source>Error downloading dictionary</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="432" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="436" />
       <source>&lt;p&gt;The downloaded dictionary archive is invalid. Skipping it.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -57543,12 +57543,12 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1305" />
+      <location filename="../PluginManager/PluginManager.py" line="1307" />
       <source>Error downloading file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1306" />
+      <location filename="../PluginManager/PluginManager.py" line="1308" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -57607,6 +57607,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
       <source>&lt;font color="#FF0000"&gt;&lt;b&gt;Note:&lt;/b&gt; The following settings are activated at the next startup of the application.&lt;/font&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -57943,76 +57953,76 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="657" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="625" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="660" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="628" />
       <source>Error downloading file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="658" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="626" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="661" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="632" />
       <source>No connection to Internet.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="739" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="742" />
       <source>Stable</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="746" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="749" />
       <source>Unstable</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="753" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="756" />
       <source>Obsolete</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="760" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="763" />
       <source>Unknown</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="783" />
-      <source>up-to-date</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PluginManager/PluginRepositoryDialog.py" line="786" />
+      <source>up-to-date</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="789" />
       <source>new download available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="790" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="793" />
       <source>update installable</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="794" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="797" />
       <source>updated download available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="798" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="801" />
       <source>error determining status</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1168" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1140" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1171" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
       <source>Cleanup of Plugin Downloads</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1172" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1175" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1146" />
       <source>&lt;p&gt;The plugin download &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -58020,17 +58030,17 @@
   <context>
     <name>PluginRepositoryWindow</name>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1045" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1048" />
       <source>Process Generation Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1046" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1049" />
       <source>&lt;p&gt;Could not start the process.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1050" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1053" />
       <source>OK</source>
       <translation type="unfinished" />
     </message>
@@ -58377,18 +58387,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1813" />
+      <location filename="../Preferences/__init__.py" line="1815" />
       <source>Export Preferences</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Preferences/__init__.py" line="1844" />
+      <location filename="../Preferences/__init__.py" line="1817" />
+      <source>Properties File (*.ini);;All Files (*)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Preferences/__init__.py" line="1842" />
-      <location filename="../Preferences/__init__.py" line="1815" />
-      <source>Properties File (*.ini);;All Files (*)</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Preferences/__init__.py" line="1840" />
       <source>Import Preferences</source>
       <translation type="unfinished" />
     </message>
@@ -96564,6 +96574,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
       <source>Press to open a dialog to manage spell checking dictionaries</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_en.ts	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/i18n/eric7_en.ts	Mon Apr 17 14:25:35 2023 +0200
@@ -49076,71 +49076,71 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="202" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="204" />
       <source>Error populating list of dictionaries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="231" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="203" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="233" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="205" />
       <source>&lt;p&gt;Could not download the dictionaries list from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="206" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="400" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="208" />
       <source>No connection to Internet.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="230" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="232" />
       <source>Error downloading dictionaries list</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="249" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="251" />
       <source>Dictionaries URL Changed</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="250" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="252" />
       <source>The URL of the spell check dictionaries has changed. Select the "Refresh" button to get the new dictionaries list.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="261" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="263" />
       <source>Error installing dictionaries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="262" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="264" />
       <source>&lt;p&gt;None of the dictionary locations is writable by you. Please download required dictionaries manually and install them as administrator.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="311" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="313" />
       <source>{0} ({1})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="416" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="392" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="420" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
       <source>Error downloading dictionary file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="417" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="393" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="421" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="397" />
       <source>&lt;p&gt;Could not download the requested dictionary file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="431" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="435" />
       <source>Error downloading dictionary</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="432" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="436" />
       <source>&lt;p&gt;The downloaded dictionary archive is invalid. Skipping it.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -57592,12 +57592,12 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1305" />
+      <location filename="../PluginManager/PluginManager.py" line="1307" />
       <source>Error downloading file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1306" />
+      <location filename="../PluginManager/PluginManager.py" line="1308" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -57656,6 +57656,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
       <source>&lt;font color="#FF0000"&gt;&lt;b&gt;Note:&lt;/b&gt; The following settings are activated at the next startup of the application.&lt;/font&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -57992,76 +58002,76 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="657" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="625" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="660" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="628" />
       <source>Error downloading file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="658" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="626" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="661" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="632" />
       <source>No connection to Internet.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="739" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="742" />
       <source>Stable</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="746" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="749" />
       <source>Unstable</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="753" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="756" />
       <source>Obsolete</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="760" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="763" />
       <source>Unknown</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="783" />
-      <source>up-to-date</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PluginManager/PluginRepositoryDialog.py" line="786" />
+      <source>up-to-date</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="789" />
       <source>new download available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="790" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="793" />
       <source>update installable</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="794" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="797" />
       <source>updated download available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="798" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="801" />
       <source>error determining status</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1168" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1140" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1171" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
       <source>Cleanup of Plugin Downloads</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1172" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1175" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1146" />
       <source>&lt;p&gt;The plugin download &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -58069,17 +58079,17 @@
   <context>
     <name>PluginRepositoryWindow</name>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1045" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1048" />
       <source>Process Generation Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1046" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1049" />
       <source>&lt;p&gt;Could not start the process.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1050" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1053" />
       <source>OK</source>
       <translation type="unfinished" />
     </message>
@@ -58426,18 +58436,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1813" />
+      <location filename="../Preferences/__init__.py" line="1815" />
       <source>Export Preferences</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Preferences/__init__.py" line="1844" />
+      <location filename="../Preferences/__init__.py" line="1817" />
+      <source>Properties File (*.ini);;All Files (*)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Preferences/__init__.py" line="1842" />
-      <location filename="../Preferences/__init__.py" line="1815" />
-      <source>Properties File (*.ini);;All Files (*)</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Preferences/__init__.py" line="1840" />
       <source>Import Preferences</source>
       <translation type="unfinished" />
     </message>
@@ -96620,6 +96630,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
       <source>Press to open a dialog to manage spell checking dictionaries</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_es.ts	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/i18n/eric7_es.ts	Mon Apr 17 14:25:35 2023 +0200
@@ -49289,71 +49289,71 @@
       <translation>Estado de Alcance de Internet: No Alcanzable</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="202" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="204" />
       <source>Error populating list of dictionaries</source>
       <translation>Error populando lista de diccionarios</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="231" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="203" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="233" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="205" />
       <source>&lt;p&gt;Could not download the dictionaries list from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;No se ha podido descargar la lista de diccionarios desde {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="206" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="400" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="208" />
       <source>No connection to Internet.</source>
       <translation>Sin conexión a Internet.</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="230" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="232" />
       <source>Error downloading dictionaries list</source>
       <translation>Error descargando la lista de diccionarios</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="249" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="251" />
       <source>Dictionaries URL Changed</source>
       <translation>URL de Diccionarios Cambiada</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="250" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="252" />
       <source>The URL of the spell check dictionaries has changed. Select the "Refresh" button to get the new dictionaries list.</source>
       <translation>La URL de los diccionarios de corrección ortográfica ha cambiado. Seleccionar el botón de "Actualizar" para obtener la nueva lista de diccionarios.</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="261" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="263" />
       <source>Error installing dictionaries</source>
       <translation>Error instalando los diccionarios</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="262" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="264" />
       <source>&lt;p&gt;None of the dictionary locations is writable by you. Please download required dictionaries manually and install them as administrator.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Ninguna de las ubicaciones para diccionarios tiene permisos de escritura. Por favor, descargue manualmente los diccionarios requeridos e instálelos como administrador.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="311" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="313" />
       <source>{0} ({1})</source>
       <translation>{0} ({1})</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="416" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="392" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="420" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
       <source>Error downloading dictionary file</source>
       <translation>Error descargando archivo de diccionario</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="417" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="393" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="421" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="397" />
       <source>&lt;p&gt;Could not download the requested dictionary file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;No se ha podido descargar el archivo de diccionario requerido de {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="431" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="435" />
       <source>Error downloading dictionary</source>
       <translation>Error descargando diccionario</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="432" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="436" />
       <source>&lt;p&gt;The downloaded dictionary archive is invalid. Skipping it.&lt;/p&gt;</source>
       <translation>&lt;p&gt;El archivo de diccionario que se ha descargado no es válido. Cancelando.&lt;/p&gt;</translation>
     </message>
@@ -57893,12 +57893,12 @@
       <translation>&lt;p&gt;El directorio de descaga del plugin &lt;b&gt;{0}&lt;/b&gt; no ha podido ser creado. Por favor, configúrelo a través del diálogo de configuración.&lt;/p&gt;&lt;p&gt;Razón: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1305" />
+      <location filename="../PluginManager/PluginManager.py" line="1307" />
       <source>Error downloading file</source>
       <translation>Error al descargar el fichero</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1306" />
+      <location filename="../PluginManager/PluginManager.py" line="1308" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;No se pudo descargar el archivo solicitado desde {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</translation>
     </message>
@@ -57957,6 +57957,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
       <source>&lt;font color="#FF0000"&gt;&lt;b&gt;Note:&lt;/b&gt; The following settings are activated at the next startup of the application.&lt;/font&gt;</source>
       <translation>&lt;font color="#FF0000"&gt;&lt;b&gt;Nota:&lt;/b&gt; Estos ajustes se activarán la siguiente vez que se ejecute la aplicacion.&lt;/font&gt;</translation>
     </message>
@@ -58294,76 +58304,76 @@
       <translation>Actualizaciones Remotas: &lt;b&gt;{0}&lt;/b&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="657" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="625" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="660" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="628" />
       <source>Error downloading file</source>
       <translation>Error al descargar el fichero</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="658" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="626" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="661" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;No se pudo descargar el archivo solicitado desde {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="632" />
       <source>No connection to Internet.</source>
       <translation>Sin conexión a Internet.</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="739" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="742" />
       <source>Stable</source>
       <translation>Estable</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="746" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="749" />
       <source>Unstable</source>
       <translation>Inestable</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="753" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="756" />
       <source>Obsolete</source>
       <translation>Obsoleto</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="760" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="763" />
       <source>Unknown</source>
       <translation>Desconocido</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="783" />
-      <source>up-to-date</source>
-      <translation>al dia</translation>
-    </message>
-    <message>
       <location filename="../PluginManager/PluginRepositoryDialog.py" line="786" />
+      <source>up-to-date</source>
+      <translation>al dia</translation>
+    </message>
+    <message>
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="789" />
       <source>new download available</source>
       <translation>mueva descarga disponible</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="790" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="793" />
       <source>update installable</source>
       <translation>actualización instalable</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="794" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="797" />
       <source>updated download available</source>
       <translation>descarga actualizada disponible</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="798" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="801" />
       <source>error determining status</source>
       <translation>Error al determinar el estado</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1168" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1140" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1171" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
       <source>Cleanup of Plugin Downloads</source>
       <translation>Limpieza de Descargas de Plugins</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1172" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1175" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1146" />
       <source>&lt;p&gt;The plugin download &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;La descarga del plugin &lt;b&gt;{0}&lt;/b&gt; no se ha podido borrar.&lt;/p&gt;&lt;p&gt;Razón: {1}&lt;/p&gt;</translation>
     </message>
@@ -58371,17 +58381,17 @@
   <context>
     <name>PluginRepositoryWindow</name>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1045" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1048" />
       <source>Process Generation Error</source>
       <translation>Error de Generación de Proceso</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1046" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1049" />
       <source>&lt;p&gt;Could not start the process.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;No se ha podido ejecutar el proceso.&lt;br&gt;Asegúrese de que esta disponible como &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1050" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1053" />
       <source>OK</source>
       <translation>Aceptar</translation>
     </message>
@@ -58728,18 +58738,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1813" />
+      <location filename="../Preferences/__init__.py" line="1815" />
       <source>Export Preferences</source>
       <translation>Exportar Preferencias</translation>
     </message>
     <message>
+      <location filename="../Preferences/__init__.py" line="1844" />
+      <location filename="../Preferences/__init__.py" line="1817" />
+      <source>Properties File (*.ini);;All Files (*)</source>
+      <translation>Archivo de Propiedades (*.ini);;Todos los archivos (*)</translation>
+    </message>
+    <message>
       <location filename="../Preferences/__init__.py" line="1842" />
-      <location filename="../Preferences/__init__.py" line="1815" />
-      <source>Properties File (*.ini);;All Files (*)</source>
-      <translation>Archivo de Propiedades (*.ini);;Todos los archivos (*)</translation>
-    </message>
-    <message>
-      <location filename="../Preferences/__init__.py" line="1840" />
       <source>Import Preferences</source>
       <translation>Importar Preferencias</translation>
     </message>
@@ -97302,6 +97312,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
       <source>Press to open a dialog to manage spell checking dictionaries</source>
       <translation>Pulsar para abrir un diálogo para gestionar diccionarios de corrección ortográfica</translation>
     </message>
--- a/src/eric7/i18n/eric7_fr.ts	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/i18n/eric7_fr.ts	Mon Apr 17 14:25:35 2023 +0200
@@ -49516,71 +49516,71 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="202" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="204" />
       <source>Error populating list of dictionaries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="231" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="203" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="233" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="205" />
       <source>&lt;p&gt;Could not download the dictionaries list from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Ne peut télécharger la liste des dictionnaires depuis {0}.&lt;/p&gt;&lt;p&gt;Erreur : {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="206" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="400" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="208" />
       <source>No connection to Internet.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="230" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="232" />
       <source>Error downloading dictionaries list</source>
       <translation>Erreur lors du téléchargement de la liste des dictionnaire</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="249" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="251" />
       <source>Dictionaries URL Changed</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="250" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="252" />
       <source>The URL of the spell check dictionaries has changed. Select the "Refresh" button to get the new dictionaries list.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="261" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="263" />
       <source>Error installing dictionaries</source>
       <translation>Erreur lors de l'installation des dictionnaires</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="262" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="264" />
       <source>&lt;p&gt;None of the dictionary locations is writable by you. Please download required dictionaries manually and install them as administrator.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="311" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="313" />
       <source>{0} ({1})</source>
       <translation>{0} ({1})</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="416" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="392" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="420" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
       <source>Error downloading dictionary file</source>
       <translation>Erreur lors du téléchargement du fichier du dictionnaire</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="417" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="393" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="421" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="397" />
       <source>&lt;p&gt;Could not download the requested dictionary file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="431" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="435" />
       <source>Error downloading dictionary</source>
       <translation>Erreur lors du téléchargement du dictionnaire</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="432" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="436" />
       <source>&lt;p&gt;The downloaded dictionary archive is invalid. Skipping it.&lt;/p&gt;</source>
       <translation>&lt;p&gt;L'archive de dictionnaire téléchargée est non valide. Passer.&lt;/p&gt;</translation>
     </message>
@@ -58174,12 +58174,12 @@
       <translation>&lt;p&gt;Le répertoire de téléchargement de plugin&lt;b&gt;{0}&lt;/b&gt; n'a pas pu être créé. Veuillez le reconfigurer.&lt;/p&gt;&lt;p&gt;Raison : {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1305" />
+      <location filename="../PluginManager/PluginManager.py" line="1307" />
       <source>Error downloading file</source>
       <translation>Erreur de téléchargement du fichier</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1306" />
+      <location filename="../PluginManager/PluginManager.py" line="1308" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Ne peut télécharger le fichier demandé depuis {0}.&lt;/p&gt;&lt;p&gt;Erreur : {1}&lt;/p&gt;</translation>
     </message>
@@ -58238,6 +58238,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
       <source>&lt;font color="#FF0000"&gt;&lt;b&gt;Note:&lt;/b&gt; The following settings are activated at the next startup of the application.&lt;/font&gt;</source>
       <translation>&lt;font color="#FF0000"&gt;&lt;b&gt;Note :&lt;/b&gt; Les paramètres suivants seront activés au prochain démarrage de l'application.&lt;/font&gt;</translation>
     </message>
@@ -58575,76 +58585,76 @@
       <translation>Mises à jour distantes: &lt;b&gt;{0}&lt;/b&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="657" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="625" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="660" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="628" />
       <source>Error downloading file</source>
       <translation>Erreur de téléchargement</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="658" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="626" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="661" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Ne peut télécharger le fichier demandé depuis {0}.&lt;/p&gt;&lt;p&gt;Erreur : {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="632" />
       <source>No connection to Internet.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="739" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="742" />
       <source>Stable</source>
       <translation>Stable</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="746" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="749" />
       <source>Unstable</source>
       <translation>Instable</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="753" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="756" />
       <source>Obsolete</source>
       <translation>Obsolète</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="760" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="763" />
       <source>Unknown</source>
       <translation>Inconnu</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="783" />
-      <source>up-to-date</source>
-      <translation>à jour</translation>
-    </message>
-    <message>
       <location filename="../PluginManager/PluginRepositoryDialog.py" line="786" />
+      <source>up-to-date</source>
+      <translation>à jour</translation>
+    </message>
+    <message>
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="789" />
       <source>new download available</source>
       <translation>nouveau téléchargement disponible</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="790" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="793" />
       <source>update installable</source>
       <translation>mise à jour installable</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="794" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="797" />
       <source>updated download available</source>
       <translation>téléchargement à jour disponible</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="798" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="801" />
       <source>error determining status</source>
       <translation>erreur lors de la détermination du statu</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1168" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1140" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1171" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
       <source>Cleanup of Plugin Downloads</source>
       <translation>Nettoyer les téléchargements de plugin</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1172" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1175" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1146" />
       <source>&lt;p&gt;The plugin download &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Le téléchargement de plugin&lt;b&gt;{0}&lt;/b&gt; ne peut être supprimé.&lt;/p&gt;&lt;p&gt;Raison : {1}&lt;/p&gt;</translation>
     </message>
@@ -58652,17 +58662,17 @@
   <context>
     <name>PluginRepositoryWindow</name>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1045" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1048" />
       <source>Process Generation Error</source>
       <translation>Erreur du processus</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1046" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1049" />
       <source>&lt;p&gt;Could not start the process.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Ne peut démarrer le processus.&lt;br&gt;Vérifier qu'il est disponible en tant que&lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1050" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1053" />
       <source>OK</source>
       <translation>OK</translation>
     </message>
@@ -59017,18 +59027,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1813" />
+      <location filename="../Preferences/__init__.py" line="1815" />
       <source>Export Preferences</source>
       <translation>Export des préférences</translation>
     </message>
     <message>
+      <location filename="../Preferences/__init__.py" line="1844" />
+      <location filename="../Preferences/__init__.py" line="1817" />
+      <source>Properties File (*.ini);;All Files (*)</source>
+      <translation>Fichier propriétés (*.ini);;Tous les fichiers (*)</translation>
+    </message>
+    <message>
       <location filename="../Preferences/__init__.py" line="1842" />
-      <location filename="../Preferences/__init__.py" line="1815" />
-      <source>Properties File (*.ini);;All Files (*)</source>
-      <translation>Fichier propriétés (*.ini);;Tous les fichiers (*)</translation>
-    </message>
-    <message>
-      <location filename="../Preferences/__init__.py" line="1840" />
       <source>Import Preferences</source>
       <translation>Import des préférences</translation>
     </message>
@@ -97903,6 +97913,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
       <source>Press to open a dialog to manage spell checking dictionaries</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_it.ts	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/i18n/eric7_it.ts	Mon Apr 17 14:25:35 2023 +0200
@@ -49454,71 +49454,71 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="202" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="204" />
       <source>Error populating list of dictionaries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="231" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="203" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="233" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="205" />
       <source>&lt;p&gt;Could not download the dictionaries list from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="206" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="400" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="208" />
       <source>No connection to Internet.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="230" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="232" />
       <source>Error downloading dictionaries list</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="249" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="251" />
       <source>Dictionaries URL Changed</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="250" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="252" />
       <source>The URL of the spell check dictionaries has changed. Select the "Refresh" button to get the new dictionaries list.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="261" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="263" />
       <source>Error installing dictionaries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="262" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="264" />
       <source>&lt;p&gt;None of the dictionary locations is writable by you. Please download required dictionaries manually and install them as administrator.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="311" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="313" />
       <source>{0} ({1})</source>
       <translation type="unfinished">{0} ({1})</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="416" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="392" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="420" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
       <source>Error downloading dictionary file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="417" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="393" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="421" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="397" />
       <source>&lt;p&gt;Could not download the requested dictionary file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="431" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="435" />
       <source>Error downloading dictionary</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="432" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="436" />
       <source>&lt;p&gt;The downloaded dictionary archive is invalid. Skipping it.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -58048,12 +58048,12 @@
       <translation>&lt;p&gt;La directory di download dei plugin &lt;b&gt;{0}&lt;/b&gt; non può essere creata. Per favore configurarla con il dialogo di configurazione.&lt;/p&gt;&lt;p&gt;Motivo: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1305" />
+      <location filename="../PluginManager/PluginManager.py" line="1307" />
       <source>Error downloading file</source>
       <translation>Errone nello scaricamento del file</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1306" />
+      <location filename="../PluginManager/PluginManager.py" line="1308" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Non posso scaricare il file richiesto da {0}&lt;/p&gt;&lt;p&gt;Errore: {1}&lt;/p&gt;</translation>
     </message>
@@ -58112,6 +58112,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
       <source>&lt;font color="#FF0000"&gt;&lt;b&gt;Note:&lt;/b&gt; The following settings are activated at the next startup of the application.&lt;/font&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -58449,76 +58459,76 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="657" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="625" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="660" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="628" />
       <source>Error downloading file</source>
       <translation>Errone nello scaricamento del file</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="658" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="626" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="661" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Non posso scaricare il file richiesto da {0}&lt;/p&gt;&lt;p&gt;Errore: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="632" />
       <source>No connection to Internet.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="739" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="742" />
       <source>Stable</source>
       <translation>Stabile</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="746" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="749" />
       <source>Unstable</source>
       <translation>Instabile</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="753" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="756" />
       <source>Obsolete</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="760" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="763" />
       <source>Unknown</source>
       <translation>Sconosciuto</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="783" />
-      <source>up-to-date</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PluginManager/PluginRepositoryDialog.py" line="786" />
+      <source>up-to-date</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="789" />
       <source>new download available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="790" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="793" />
       <source>update installable</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="794" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="797" />
       <source>updated download available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="798" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="801" />
       <source>error determining status</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1168" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1140" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1171" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
       <source>Cleanup of Plugin Downloads</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1172" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1175" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1146" />
       <source>&lt;p&gt;The plugin download &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -58526,17 +58536,17 @@
   <context>
     <name>PluginRepositoryWindow</name>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1045" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1048" />
       <source>Process Generation Error</source>
       <translation>Errore Generazione Processo</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1046" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1049" />
       <source>&lt;p&gt;Could not start the process.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Non posso avviare il processo.&lt;br&gt;Assicurarsi sia disponibile come &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1050" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1053" />
       <source>OK</source>
       <translation>OK</translation>
     </message>
@@ -58883,18 +58893,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1813" />
+      <location filename="../Preferences/__init__.py" line="1815" />
       <source>Export Preferences</source>
       <translation>Esporta Preferenze</translation>
     </message>
     <message>
+      <location filename="../Preferences/__init__.py" line="1844" />
+      <location filename="../Preferences/__init__.py" line="1817" />
+      <source>Properties File (*.ini);;All Files (*)</source>
+      <translation>File proprietà (*.ini);;Tutti i file(*)</translation>
+    </message>
+    <message>
       <location filename="../Preferences/__init__.py" line="1842" />
-      <location filename="../Preferences/__init__.py" line="1815" />
-      <source>Properties File (*.ini);;All Files (*)</source>
-      <translation>File proprietà (*.ini);;Tutti i file(*)</translation>
-    </message>
-    <message>
-      <location filename="../Preferences/__init__.py" line="1840" />
       <source>Import Preferences</source>
       <translation>Importa Preferenze</translation>
     </message>
@@ -97588,6 +97598,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
       <source>Press to open a dialog to manage spell checking dictionaries</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_pt.ts	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/i18n/eric7_pt.ts	Mon Apr 17 14:25:35 2023 +0200
@@ -49447,71 +49447,71 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="202" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="204" />
       <source>Error populating list of dictionaries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="231" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="203" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="233" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="205" />
       <source>&lt;p&gt;Could not download the dictionaries list from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="206" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="400" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="208" />
       <source>No connection to Internet.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="230" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="232" />
       <source>Error downloading dictionaries list</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="249" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="251" />
       <source>Dictionaries URL Changed</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="250" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="252" />
       <source>The URL of the spell check dictionaries has changed. Select the "Refresh" button to get the new dictionaries list.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="261" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="263" />
       <source>Error installing dictionaries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="262" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="264" />
       <source>&lt;p&gt;None of the dictionary locations is writable by you. Please download required dictionaries manually and install them as administrator.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="311" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="313" />
       <source>{0} ({1})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="416" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="392" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="420" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
       <source>Error downloading dictionary file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="417" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="393" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="421" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="397" />
       <source>&lt;p&gt;Could not download the requested dictionary file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="431" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="435" />
       <source>Error downloading dictionary</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="432" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="436" />
       <source>&lt;p&gt;The downloaded dictionary archive is invalid. Skipping it.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -58027,12 +58027,12 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1305" />
+      <location filename="../PluginManager/PluginManager.py" line="1307" />
       <source>Error downloading file</source>
       <translation>Erro ao descarregar ficheiro</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1306" />
+      <location filename="../PluginManager/PluginManager.py" line="1308" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -58091,6 +58091,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
       <source>&lt;font color="#FF0000"&gt;&lt;b&gt;Note:&lt;/b&gt; The following settings are activated at the next startup of the application.&lt;/font&gt;</source>
       <translation>&lt;font color="#FF0000"&gt;&lt;b&gt;Nota:&lt;/b&gt; As definições seguintes serão ativadas no próximo arranque da aplicação.&lt;/font&gt;</translation>
     </message>
@@ -58427,76 +58437,76 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="657" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="625" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="660" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="628" />
       <source>Error downloading file</source>
       <translation type="unfinished">Erro ao descarregar ficheiro</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="658" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="626" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="661" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="632" />
       <source>No connection to Internet.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="739" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="742" />
       <source>Stable</source>
       <translation type="unfinished">Estável</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="746" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="749" />
       <source>Unstable</source>
       <translation type="unfinished">Instável</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="753" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="756" />
       <source>Obsolete</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="760" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="763" />
       <source>Unknown</source>
       <translation>Desconhecido</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="783" />
-      <source>up-to-date</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PluginManager/PluginRepositoryDialog.py" line="786" />
+      <source>up-to-date</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="789" />
       <source>new download available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="790" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="793" />
       <source>update installable</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="794" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="797" />
       <source>updated download available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="798" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="801" />
       <source>error determining status</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1168" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1140" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1171" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
       <source>Cleanup of Plugin Downloads</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1172" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1175" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1146" />
       <source>&lt;p&gt;The plugin download &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -58504,17 +58514,17 @@
   <context>
     <name>PluginRepositoryWindow</name>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1045" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1048" />
       <source>Process Generation Error</source>
       <translation>Erro na Criação de Processo</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1046" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1049" />
       <source>&lt;p&gt;Could not start the process.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Não pode começar o processo. &lt;br&gt; Assegurar de que está disponível como &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1050" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1053" />
       <source>OK</source>
       <translation />
     </message>
@@ -58869,18 +58879,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1813" />
+      <location filename="../Preferences/__init__.py" line="1815" />
       <source>Export Preferences</source>
       <translation>Exportar Preferências</translation>
     </message>
     <message>
+      <location filename="../Preferences/__init__.py" line="1844" />
+      <location filename="../Preferences/__init__.py" line="1817" />
+      <source>Properties File (*.ini);;All Files (*)</source>
+      <translation>Ficheiro de Propriedades (*.ini);;Ficheiros Todos (*)</translation>
+    </message>
+    <message>
       <location filename="../Preferences/__init__.py" line="1842" />
-      <location filename="../Preferences/__init__.py" line="1815" />
-      <source>Properties File (*.ini);;All Files (*)</source>
-      <translation>Ficheiro de Propriedades (*.ini);;Ficheiros Todos (*)</translation>
-    </message>
-    <message>
-      <location filename="../Preferences/__init__.py" line="1840" />
       <source>Import Preferences</source>
       <translation>Importar Preferências</translation>
     </message>
@@ -97378,6 +97388,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
       <source>Press to open a dialog to manage spell checking dictionaries</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_ru.ts	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/i18n/eric7_ru.ts	Mon Apr 17 14:25:35 2023 +0200
@@ -49356,71 +49356,71 @@
       <translation>Статус доступности Интернета: Не доступен</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="202" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="204" />
       <source>Error populating list of dictionaries</source>
       <translation>Ошибка заполнения списка словарей</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="231" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="203" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="233" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="205" />
       <source>&lt;p&gt;Could not download the dictionaries list from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удалось загрузить список словарей из {0}.&lt;/p&gt;&lt;p&gt; Ошибка: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="206" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="400" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="208" />
       <source>No connection to Internet.</source>
       <translation>Нет подключения к Интернету.</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="230" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="232" />
       <source>Error downloading dictionaries list</source>
       <translation>Ошибка загрузки списка словарей</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="249" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="251" />
       <source>Dictionaries URL Changed</source>
       <translation>URL-адрес словарей изменен</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="250" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="252" />
       <source>The URL of the spell check dictionaries has changed. Select the "Refresh" button to get the new dictionaries list.</source>
       <translation>URL-адрес словарей проверки орфографии изменился. Выберите кнопку «Обновить», чтобы получить список новых словарей.</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="261" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="263" />
       <source>Error installing dictionaries</source>
       <translation>Ошибка установки словарей</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="262" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="264" />
       <source>&lt;p&gt;None of the dictionary locations is writable by you. Please download required dictionaries manually and install them as administrator.&lt;/p&gt;</source>
       <translation>&lt;p&gt; Ни одно из мест размещения в словаре не доступно для записи. Загрузите необходимые словари вручную и установите их как администратор.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="311" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="313" />
       <source>{0} ({1})</source>
       <translation>{0} ({1})</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="416" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="392" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="420" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
       <source>Error downloading dictionary file</source>
       <translation>Ошибка загрузки файла словаря</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="417" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="393" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="421" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="397" />
       <source>&lt;p&gt;Could not download the requested dictionary file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удалось загрузить запрошенный файл слова из {0}.&lt;/p&gt;&lt;p&gt; Ошибка: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="431" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="435" />
       <source>Error downloading dictionary</source>
       <translation>Ошибка загрузки словаря</translation>
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="432" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="436" />
       <source>&lt;p&gt;The downloaded dictionary archive is invalid. Skipping it.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Загруженный архив словаря недействителен. Пропущен.&lt;/p&gt;</translation>
     </message>
@@ -57984,12 +57984,12 @@
       <translation>&lt;p&gt;Директория для загрузки плагинов &lt;b&gt;{0}&lt;/b&gt; не может быть создана. Задайте её посредством диалога конфигурации.&lt;/p&gt;&lt;p&gt;Причина:{1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1305" />
+      <location filename="../PluginManager/PluginManager.py" line="1307" />
       <source>Error downloading file</source>
       <translation>Ошибка загрузки файла</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1306" />
+      <location filename="../PluginManager/PluginManager.py" line="1308" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удалось загрузить запрашиваемый файл из {0}.&lt;/p&gt;&lt;p&gt;Ошибка: {1}&lt;/p&gt;</translation>
     </message>
@@ -58048,6 +58048,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
       <source>&lt;font color="#FF0000"&gt;&lt;b&gt;Note:&lt;/b&gt; The following settings are activated at the next startup of the application.&lt;/font&gt;</source>
       <translation>&lt;font color="#FF0000"&gt;&lt;b&gt;Примечание:&lt;/b&gt; Эти изменения вступят в силу при следующем запуске приложения.&lt;/font&gt;</translation>
     </message>
@@ -58386,76 +58396,76 @@
       <translation>Удаленные обновления: &lt;b&gt;{0}&lt;/b&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="657" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="625" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="660" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="628" />
       <source>Error downloading file</source>
       <translation>Ошибка загрузки файла</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="658" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="626" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="661" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удалось загрузить запрашиваемый файл из {0}.&lt;/p&gt;&lt;p&gt;Ошибка: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="632" />
       <source>No connection to Internet.</source>
       <translation>Нет подключения к интернету.</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="739" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="742" />
       <source>Stable</source>
       <translation>Стабильные</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="746" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="749" />
       <source>Unstable</source>
       <translation>Нестабильные</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="753" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="756" />
       <source>Obsolete</source>
       <translation>Устаревшие</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="760" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="763" />
       <source>Unknown</source>
       <translation>Неизвестный</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="783" />
-      <source>up-to-date</source>
-      <translation>новейший</translation>
-    </message>
-    <message>
       <location filename="../PluginManager/PluginRepositoryDialog.py" line="786" />
+      <source>up-to-date</source>
+      <translation>новейший</translation>
+    </message>
+    <message>
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="789" />
       <source>new download available</source>
       <translation>имеются обновления для загрузки</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="790" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="793" />
       <source>update installable</source>
       <translation>обновления готовы к установке</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="794" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="797" />
       <source>updated download available</source>
       <translation>имеется обновление</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="798" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="801" />
       <source>error determining status</source>
       <translation>статус определения ошибки</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1168" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1140" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1171" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
       <source>Cleanup of Plugin Downloads</source>
       <translation>Очистить загруженные плагины</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1172" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1175" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1146" />
       <source>&lt;p&gt;The plugin download &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Невозможно удалить обновление для плагина &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Причина: {1}&lt;/p&gt;</translation>
     </message>
@@ -58463,17 +58473,17 @@
   <context>
     <name>PluginRepositoryWindow</name>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1045" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1048" />
       <source>Process Generation Error</source>
       <translation>Ошибка при запуске процесса</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1046" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1049" />
       <source>&lt;p&gt;Could not start the process.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Невозможно запустить процесс.&lt;br&gt;Убедитесь, что он доступен как &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1050" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1053" />
       <source>OK</source>
       <translation>ОК</translation>
     </message>
@@ -58820,18 +58830,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1813" />
+      <location filename="../Preferences/__init__.py" line="1815" />
       <source>Export Preferences</source>
       <translation>Экспорт Preferences</translation>
     </message>
     <message>
+      <location filename="../Preferences/__init__.py" line="1844" />
+      <location filename="../Preferences/__init__.py" line="1817" />
+      <source>Properties File (*.ini);;All Files (*)</source>
+      <translation>Файлы Preferences (*.ini);;Все файлы (*)</translation>
+    </message>
+    <message>
       <location filename="../Preferences/__init__.py" line="1842" />
-      <location filename="../Preferences/__init__.py" line="1815" />
-      <source>Properties File (*.ini);;All Files (*)</source>
-      <translation>Файлы Preferences (*.ini);;Все файлы (*)</translation>
-    </message>
-    <message>
-      <location filename="../Preferences/__init__.py" line="1840" />
       <source>Import Preferences</source>
       <translation>Импорт Preferences</translation>
     </message>
@@ -97537,6 +97547,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
       <source>Press to open a dialog to manage spell checking dictionaries</source>
       <translation>Открыть диалог управления словарями проверки орфографии</translation>
     </message>
--- a/src/eric7/i18n/eric7_tr.ts	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/i18n/eric7_tr.ts	Mon Apr 17 14:25:35 2023 +0200
@@ -49379,71 +49379,71 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="202" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="204" />
       <source>Error populating list of dictionaries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="231" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="203" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="233" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="205" />
       <source>&lt;p&gt;Could not download the dictionaries list from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="206" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="400" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="208" />
       <source>No connection to Internet.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="230" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="232" />
       <source>Error downloading dictionaries list</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="249" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="251" />
       <source>Dictionaries URL Changed</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="250" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="252" />
       <source>The URL of the spell check dictionaries has changed. Select the "Refresh" button to get the new dictionaries list.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="261" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="263" />
       <source>Error installing dictionaries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="262" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="264" />
       <source>&lt;p&gt;None of the dictionary locations is writable by you. Please download required dictionaries manually and install them as administrator.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="311" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="313" />
       <source>{0} ({1})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="416" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="392" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="420" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
       <source>Error downloading dictionary file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="417" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="393" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="421" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="397" />
       <source>&lt;p&gt;Could not download the requested dictionary file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="431" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="435" />
       <source>Error downloading dictionary</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="432" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="436" />
       <source>&lt;p&gt;The downloaded dictionary archive is invalid. Skipping it.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -57905,12 +57905,12 @@
       <translation>&lt;p&gt;eklenti dizini &lt;b&gt;{0}&lt;/b&gt; oluşturulamıyor. Lütfen ayarlama diyaloğu aracılığı ile düzenleyin.&lt;/p&gt;&lt;p&gt;Sebep: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1305" />
+      <location filename="../PluginManager/PluginManager.py" line="1307" />
       <source>Error downloading file</source>
       <translation type="unfinished">Dosya yüklenirken hata</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1306" />
+      <location filename="../PluginManager/PluginManager.py" line="1308" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -57969,6 +57969,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
       <source>&lt;font color="#FF0000"&gt;&lt;b&gt;Note:&lt;/b&gt; The following settings are activated at the next startup of the application.&lt;/font&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -58305,76 +58315,76 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="657" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="625" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="660" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="628" />
       <source>Error downloading file</source>
       <translation>Dosya yüklenirken hata</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="658" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="626" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="661" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="632" />
       <source>No connection to Internet.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="739" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="742" />
       <source>Stable</source>
       <translation>Dengeli</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="746" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="749" />
       <source>Unstable</source>
       <translation>Dengesiz</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="753" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="756" />
       <source>Obsolete</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="760" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="763" />
       <source>Unknown</source>
       <translation>Bilinmeyen</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="783" />
-      <source>up-to-date</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PluginManager/PluginRepositoryDialog.py" line="786" />
+      <source>up-to-date</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="789" />
       <source>new download available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="790" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="793" />
       <source>update installable</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="794" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="797" />
       <source>updated download available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="798" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="801" />
       <source>error determining status</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1168" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1140" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1171" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
       <source>Cleanup of Plugin Downloads</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1172" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1175" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1146" />
       <source>&lt;p&gt;The plugin download &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -58382,17 +58392,17 @@
   <context>
     <name>PluginRepositoryWindow</name>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1045" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1048" />
       <source>Process Generation Error</source>
       <translation>İşlem Üretecinde Hata</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1046" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1049" />
       <source>&lt;p&gt;Could not start the process.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;İşlem başlatılamıyor.&lt;br&gt;Bu durum büyük olasılıkla şundan kaynaklanıyto &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1050" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1053" />
       <source>OK</source>
       <translation>TAMAM</translation>
     </message>
@@ -58739,18 +58749,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1813" />
+      <location filename="../Preferences/__init__.py" line="1815" />
       <source>Export Preferences</source>
       <translation>Seçenekleri Dışa Aktar</translation>
     </message>
     <message>
+      <location filename="../Preferences/__init__.py" line="1844" />
+      <location filename="../Preferences/__init__.py" line="1817" />
+      <source>Properties File (*.ini);;All Files (*)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Preferences/__init__.py" line="1842" />
-      <location filename="../Preferences/__init__.py" line="1815" />
-      <source>Properties File (*.ini);;All Files (*)</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Preferences/__init__.py" line="1840" />
       <source>Import Preferences</source>
       <translation>Seçenekleri İçe Aktar</translation>
     </message>
@@ -97286,6 +97296,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
       <source>Press to open a dialog to manage spell checking dictionaries</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_zh_CN.ts	Mon Apr 17 09:29:01 2023 +0200
+++ b/src/eric7/i18n/eric7_zh_CN.ts	Mon Apr 17 14:25:35 2023 +0200
@@ -49426,71 +49426,71 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="202" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="204" />
       <source>Error populating list of dictionaries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="231" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="203" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="233" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="205" />
       <source>&lt;p&gt;Could not download the dictionaries list from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="206" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="400" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="208" />
       <source>No connection to Internet.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="230" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="232" />
       <source>Error downloading dictionaries list</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="249" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="251" />
       <source>Dictionaries URL Changed</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="250" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="252" />
       <source>The URL of the spell check dictionaries has changed. Select the "Refresh" button to get the new dictionaries list.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="261" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="263" />
       <source>Error installing dictionaries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="262" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="264" />
       <source>&lt;p&gt;None of the dictionary locations is writable by you. Please download required dictionaries manually and install them as administrator.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="311" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="313" />
       <source>{0} ({1})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="416" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="392" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="420" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="396" />
       <source>Error downloading dictionary file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="417" />
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="393" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="421" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="397" />
       <source>&lt;p&gt;Could not download the requested dictionary file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="431" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="435" />
       <source>Error downloading dictionary</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="432" />
+      <location filename="../WebBrowser/SpellCheck/ManageDictionariesDialog.py" line="436" />
       <source>&lt;p&gt;The downloaded dictionary archive is invalid. Skipping it.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -58033,12 +58033,12 @@
       <translation>&lt;p&gt;插件下载目录 &lt;b&gt;{0}&lt;/b&gt; 无法创建。请使用配置对话框进行配置。&lt;/p&gt;&lt;p&gt;原因:{1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1305" />
+      <location filename="../PluginManager/PluginManager.py" line="1307" />
       <source>Error downloading file</source>
       <translation>下载文件出错</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1306" />
+      <location filename="../PluginManager/PluginManager.py" line="1308" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;无法从 {0} 下载指定文件。&lt;/p&gt;&lt;p&gt;错误:{1}&lt;/p&gt;</translation>
     </message>
@@ -58097,6 +58097,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/PluginManagerPage.ui" line="0" />
       <source>&lt;font color="#FF0000"&gt;&lt;b&gt;Note:&lt;/b&gt; The following settings are activated at the next startup of the application.&lt;/font&gt;</source>
       <translation>&lt;font color="#FF0000"&gt;&lt;b&gt;注意:&lt;/b&gt; 以下设置将在下次启动应用程序时生效。&lt;/font&gt;</translation>
     </message>
@@ -58434,76 +58444,76 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="657" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="625" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="660" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="628" />
       <source>Error downloading file</source>
       <translation>下载文件出错</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="658" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="626" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="661" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
       <source>&lt;p&gt;Could not download the requested file from {0}.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;无法从 {0} 下载指定文件。&lt;/p&gt;&lt;p&gt;错误:{1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="629" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="632" />
       <source>No connection to Internet.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="739" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="742" />
       <source>Stable</source>
       <translation>稳定</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="746" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="749" />
       <source>Unstable</source>
       <translation>不稳定</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="753" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="756" />
       <source>Obsolete</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="760" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="763" />
       <source>Unknown</source>
       <translation>未知</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="783" />
-      <source>up-to-date</source>
-      <translation>最新</translation>
-    </message>
-    <message>
       <location filename="../PluginManager/PluginRepositoryDialog.py" line="786" />
+      <source>up-to-date</source>
+      <translation>最新</translation>
+    </message>
+    <message>
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="789" />
       <source>new download available</source>
       <translation>新的下载可用</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="790" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="793" />
       <source>update installable</source>
       <translation>更新可安装</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="794" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="797" />
       <source>updated download available</source>
       <translation>更新下载可用</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="798" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="801" />
       <source>error determining status</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1168" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1140" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1171" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
       <source>Cleanup of Plugin Downloads</source>
       <translation>清理插件安装</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1172" />
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1143" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1175" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1146" />
       <source>&lt;p&gt;The plugin download &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;插件下载 &lt;b&gt;{0}&lt;/b&gt; 无法删除。&lt;/p&gt;&lt;p&gt;原因:{1}&lt;/p&gt;</translation>
     </message>
@@ -58511,17 +58521,17 @@
   <context>
     <name>PluginRepositoryWindow</name>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1045" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1048" />
       <source>Process Generation Error</source>
       <translation>进程生成错误</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1046" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1049" />
       <source>&lt;p&gt;Could not start the process.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;无法启动进程。&lt;br&gt;请确保它作为 &lt;b&gt;{0}&lt;/b&gt; 可用。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1050" />
+      <location filename="../PluginManager/PluginRepositoryDialog.py" line="1053" />
       <source>OK</source>
       <translation>确定</translation>
     </message>
@@ -58868,18 +58878,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1813" />
+      <location filename="../Preferences/__init__.py" line="1815" />
       <source>Export Preferences</source>
       <translation>导出首选项</translation>
     </message>
     <message>
+      <location filename="../Preferences/__init__.py" line="1844" />
+      <location filename="../Preferences/__init__.py" line="1817" />
+      <source>Properties File (*.ini);;All Files (*)</source>
+      <translation>属性文件 (*.ini);;所有文件 (*)</translation>
+    </message>
+    <message>
       <location filename="../Preferences/__init__.py" line="1842" />
-      <location filename="../Preferences/__init__.py" line="1815" />
-      <source>Properties File (*.ini);;All Files (*)</source>
-      <translation>属性文件 (*.ini);;所有文件 (*)</translation>
-    </message>
-    <message>
-      <location filename="../Preferences/__init__.py" line="1840" />
       <source>Import Preferences</source>
       <translation>导入首选项</translation>
     </message>
@@ -97632,6 +97642,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>&lt;p&gt;Select to force the use of &lt;b&gt;http://&lt;/b&gt; instead of &lt;b&gt;https://&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
+      <source>Enforce unencrypted downloads</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui" line="0" />
       <source>Press to open a dialog to manage spell checking dictionaries</source>
       <translation type="unfinished" />
     </message>

eric ide

mercurial