Translator eric7

Sun, 12 Jun 2022 15:48:24 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 12 Jun 2022 15:48:24 +0200
branch
eric7
changeset 9145
520a70c5437f
parent 9144
135240382a3e
child 9146
409d93549d61

Translator
- changed DeepL support to the v2 API and added support for the Free API next to the Pro API

docs/changelog file | annotate | diff | comparison | revisions
eric7.epj file | annotate | diff | comparison | revisions
eric7/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py file | annotate | diff | comparison | revisions
eric7/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui file | annotate | diff | comparison | revisions
eric7/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py file | annotate | diff | comparison | revisions
eric7/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py file | annotate | diff | comparison | revisions
eric7/Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py file | annotate | diff | comparison | revisions
eric7/Plugins/UiExtensionPlugins/Translator/icons/flags/zh.svg file | annotate | diff | comparison | revisions
eric7/i18n/eric7_cs.ts file | annotate | diff | comparison | revisions
eric7/i18n/eric7_de.qm file | annotate | diff | comparison | revisions
eric7/i18n/eric7_de.ts file | annotate | diff | comparison | revisions
eric7/i18n/eric7_empty.ts file | annotate | diff | comparison | revisions
eric7/i18n/eric7_en.ts file | annotate | diff | comparison | revisions
eric7/i18n/eric7_es.ts file | annotate | diff | comparison | revisions
eric7/i18n/eric7_fr.ts file | annotate | diff | comparison | revisions
eric7/i18n/eric7_it.ts file | annotate | diff | comparison | revisions
eric7/i18n/eric7_pt.ts file | annotate | diff | comparison | revisions
eric7/i18n/eric7_ru.ts file | annotate | diff | comparison | revisions
eric7/i18n/eric7_tr.ts file | annotate | diff | comparison | revisions
eric7/i18n/eric7_zh_CN.ts file | annotate | diff | comparison | revisions
--- a/docs/changelog	Fri Jun 10 18:13:47 2022 +0200
+++ b/docs/changelog	Sun Jun 12 15:48:24 2022 +0200
@@ -10,6 +10,9 @@
 - Project
   -- added SBOM capability
   -- added License to project properties
+- Translator
+  -- changed DeepL support to the v2 API and added support for the Free API
+     next to the Pro API
 - Virtual Environments
   -- added the capability to upgrade a virtual environment
 
--- a/eric7.epj	Fri Jun 10 18:13:47 2022 +0200
+++ b/eric7.epj	Sun Jun 12 15:48:24 2022 +0200
@@ -867,6 +867,7 @@
       "eric7/Plugins/UiExtensionPlugins/Translator/icons/flags/vi.svg",
       "eric7/Plugins/UiExtensionPlugins/Translator/icons/flags/zh-CN.svg",
       "eric7/Plugins/UiExtensionPlugins/Translator/icons/flags/zh-TW.svg",
+      "eric7/Plugins/UiExtensionPlugins/Translator/icons/flags/zh.svg",
       "eric7/Plugins/UiExtensionPlugins/Translator/icons/pronounce-dark.svg",
       "eric7/Plugins/UiExtensionPlugins/Translator/icons/pronounce-light.svg",
       "eric7/Plugins/UiExtensionPlugins/Translator/icons/sbTranslator96.svg",
--- a/eric7/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py	Fri Jun 10 18:13:47 2022 +0200
+++ b/eric7/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py	Sun Jun 12 15:48:24 2022 +0200
@@ -40,8 +40,8 @@
         
         self.deeplLabel.setText(self.tr(
             """<p>A key is <b>required</b> to use this service."""
-            """ <a href="{0}">Get a commercial API key.</a></p>""").format(
-                TranslatorEngines.getKeyUrl("deepl")))
+            """ <a href="{0}">Get a commercial or free API key.</a></p>"""
+        ).format(TranslatorEngines.getKeyUrl("deepl")))
         self.googlev2Label.setText(self.tr(
             """<p>A key is <b>required</b> to use this service."""
             """ <a href="{0}">Get a commercial API key.</a></p>""").format(
--- a/eric7/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui	Fri Jun 10 18:13:47 2022 +0200
+++ b/eric7/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui	Sun Jun 12 15:48:24 2022 +0200
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>500</width>
-    <height>1125</height>
+    <height>1200</height>
    </rect>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_3">
@@ -45,6 +45,9 @@
           <height>250</height>
          </size>
         </property>
+        <property name="horizontalScrollBarPolicy">
+         <enum>Qt::ScrollBarAlwaysOn</enum>
+        </property>
         <property name="iconSize">
          <size>
           <width>22</width>
@@ -125,7 +128,7 @@
    <item>
     <widget class="QGroupBox" name="groupBox_8">
      <property name="title">
-      <string>DeepL Pro</string>
+      <string>DeepL</string>
      </property>
      <layout class="QGridLayout" name="gridLayout_6">
       <item row="0" column="0">
@@ -138,7 +141,7 @@
       <item row="0" column="1">
        <widget class="QLineEdit" name="deeplKeyEdit">
         <property name="toolTip">
-         <string>Enter your DeepL Pro key</string>
+         <string>Enter your DeepL Pro or DeepL Free API key</string>
         </property>
        </widget>
       </item>
--- a/eric7/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py	Fri Jun 10 18:13:47 2022 +0200
+++ b/eric7/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py	Sun Jun 12 15:48:24 2022 +0200
@@ -21,7 +21,10 @@
     Class implementing the translation engine for the DeepL
     translation service.
     """
-    TranslatorUrl = "https://api.deepl.com/v1/translate"
+    TranslatorUrls = {
+        "pro": "https://api.deepl.com/v2/translate",
+        "free": "https://api-free.deepl.com/v2/translate",
+    }
     MaxTranslationTextLen = 30 * 1024
     
     def __init__(self, plugin, parent=None):
@@ -53,7 +56,9 @@
         @return list of supported language codes
         @rtype list of str
         """
-        return ["de", "en", "es", "fr", "it", "nl", "pl", ]
+        return ["bg", "cs", "da", "de", "el", "en", "es", "et", "fi", "fr",
+                "hu", "id", "it", "ja", "lt", "lv", "nl", "pl", "pt", "ro",
+                "ru", "sk", "sl", "sv", "tr", "zh"]
     
     def getTranslation(self, requestObject, text, originalLanguage,
                        translationLanguage):
@@ -89,7 +94,12 @@
             .toPercentEncoding()
         )
         request = params + encodedText
-        response, ok = requestObject.post(QUrl(self.TranslatorUrl), request)
+        translatorUrl = (
+            DeepLEngine.TranslatorUrls["free"]
+            if apiKey.endswith(":fx") else
+            DeepLEngine.TranslatorUrls["pro"]
+        )
+        response, ok = requestObject.post(QUrl(translatorUrl), request)
         if ok:
             try:
                 responseDict = json.loads(response)
--- a/eric7/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py	Fri Jun 10 18:13:47 2022 +0200
+++ b/eric7/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py	Sun Jun 12 15:48:24 2022 +0200
@@ -50,7 +50,7 @@
         "microsoft":
             QCoreApplication.translate("TranslatorEngines", "Microsoft"),
         "deepl":
-            QCoreApplication.translate("TranslatorEngines", "DeepL Pro"),
+            QCoreApplication.translate("TranslatorEngines", "DeepL"),
         "ibm_watson":
             QCoreApplication.translate("TranslatorEngines", "IBM Watson")
     }.get(
@@ -143,7 +143,7 @@
         "microsoft":
             "https://portal.azure.com",
         "deepl":
-            "https://www.deepl.com/pro-registration.html",
+            "https://www.deepl.com/de/pro-api",
         "ibm_watson":
             "https://www.ibm.com/watson/services/language-translator/"
     }.get(name, "")
--- a/eric7/Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py	Fri Jun 10 18:13:47 2022 +0200
+++ b/eric7/Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py	Sun Jun 12 15:48:24 2022 +0200
@@ -75,6 +75,7 @@
             "tr": self.tr("Turkish"),
             "uk": self.tr("Ukrainian"),
             "vi": self.tr("Vietnamese"),
+            "zh": self.tr("Chinese"),
             "zh-CN": self.tr("Chinese (China)"),
             "zh-TW": self.tr("Chinese (Taiwan)"),
         }
@@ -128,6 +129,7 @@
             "tr": "tur",
             "uk": "ukr",
             "vi": "vie",
+            "zh": "zho",
             "zh-CN": "zho",
             "zh-TW": "zho",
         }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/Plugins/UiExtensionPlugins/Translator/icons/flags/zh.svg	Sun Jun 12 15:48:24 2022 +0200
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="48" height="48" enable-background="new 0 0 512 512" version="1.1" viewBox="0 0 48 48" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
+<rect y="8" width="48" height="32" fill="#d80027" stroke-width=".093749"/>
+<g transform="matrix(.09375 0 0 .093748 -9.0788 -6.2874)" fill="#ffda44">
+	<polygon points="241.01 234.67 202.64 262.55 217.29 307.66 178.92 279.78 140.55 307.66 155.21 262.55 116.84 234.67 164.27 234.67 178.92 189.57 193.58 234.67"/>
+	<polygon points="242.52 339.59 248.02 322.68 233.63 312.22 251.41 312.22 256.91 295.31 262.41 312.22 280.19 312.22 265.8 322.68 271.3 339.59 256.91 329.14"/>
+	<polygon points="285.56 304.84 280.06 287.93 262.27 287.93 276.66 277.47 271.17 260.56 285.56 271.01 299.94 260.56 294.45 277.47 308.84 287.93 291.05 287.93"/>
+	<polygon points="299.94 251.43 285.56 240.98 271.17 251.43 276.66 234.52 262.27 224.06 280.06 224.06 285.56 207.15 291.05 224.06 308.84 224.06 294.45 234.52"/>
+	<polygon points="280.19 199.77 262.41 199.77 256.91 216.68 251.41 199.77 233.63 199.77 248.02 189.31 242.52 172.4 256.91 182.85 271.3 172.4 265.8 189.31"/>
+</g>
+</svg>
--- a/eric7/i18n/eric7_cs.ts	Fri Jun 10 18:13:47 2022 +0200
+++ b/eric7/i18n/eric7_cs.ts	Sun Jun 12 15:48:24 2022 +0200
@@ -9279,27 +9279,27 @@
   <context>
     <name>DeepLEngine</name>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="73" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="78" />
       <source>DeepL: Text to be translated exceeds the translation limit of {0} characters.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="81" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="86" />
       <source>A valid DeepL Pro key is required.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="97" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="107" />
       <source>Invalid response received from DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="100" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="110" />
       <source>DeepL call returned an unknown result</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="104" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="114" />
       <source>&lt;p&gt;DeepL: No translation found&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -79195,7 +79195,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="53" />
-      <source>DeepL Pro</source>
+      <source>DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79453,11 +79453,16 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78" />
-      <source>Chinese (China)</source>
+      <source>Chinese</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79" />
+      <source>Chinese (China)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80" />
       <source>Chinese (Taiwan)</source>
       <translation type="unfinished" />
     </message>
@@ -79497,7 +79502,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>DeepL Pro</source>
+      <source>DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79510,7 +79515,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>Enter your DeepL Pro key</source>
+      <source>Enter your DeepL Pro or DeepL Free API key</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79609,8 +79614,12 @@
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
+      <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial or free API key.&lt;/a&gt;&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="45" />
-      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
       <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial API key.&lt;/a&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
Binary file eric7/i18n/eric7_de.qm has changed
--- a/eric7/i18n/eric7_de.ts	Fri Jun 10 18:13:47 2022 +0200
+++ b/eric7/i18n/eric7_de.ts	Sun Jun 12 15:48:24 2022 +0200
@@ -9315,27 +9315,27 @@
   <context>
     <name>DeepLEngine</name>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="73" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="78" />
       <source>DeepL: Text to be translated exceeds the translation limit of {0} characters.</source>
       <translation>DeepL: Der zu übersetzende Text überschreitet das Längenlimit von {0} Zeichen.</translation>
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="81" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="86" />
       <source>A valid DeepL Pro key is required.</source>
       <translation>Ein gülter DeepL Pro Schlüssel ist erforderlich.</translation>
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="97" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="107" />
       <source>Invalid response received from DeepL</source>
       <translation>Ungültige Antwort von DeepL erhalten</translation>
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="100" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="110" />
       <source>DeepL call returned an unknown result</source>
       <translation>DeepL Aufruf lieferte ein unbekanntes Resultat</translation>
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="104" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="114" />
       <source>&lt;p&gt;DeepL: No translation found&lt;/p&gt;</source>
       <translation>&lt;p&gt;DeepL: Keine Übersetzung gefunden&lt;/p&gt;</translation>
     </message>
@@ -79494,8 +79494,8 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="53" />
-      <source>DeepL Pro</source>
-      <translation>DeepL Pro</translation>
+      <source>DeepL</source>
+      <translation>DeepL</translation>
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="55" />
@@ -79752,11 +79752,16 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78" />
-      <source>Chinese (China)</source>
-      <translation>Chinesisch (China)</translation>
+      <source>Chinese</source>
+      <translation>Chinesisch</translation>
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79" />
+      <source>Chinese (China)</source>
+      <translation>Chinesisch (China)</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80" />
       <source>Chinese (Taiwan)</source>
       <translation>Chinesisch (Taiwan)</translation>
     </message>
@@ -79796,8 +79801,8 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>DeepL Pro</source>
-      <translation>DeepL Pro</translation>
+      <source>DeepL</source>
+      <translation>DeepL</translation>
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
@@ -79809,8 +79814,8 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>Enter your DeepL Pro key</source>
-      <translation>Gib den DeepL Pro Schlüssel ein</translation>
+      <source>Enter your DeepL Pro or DeepL Free API key</source>
+      <translation>Gib den DeepL Pro oder DeepL Free API Schlüssel ein</translation>
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
@@ -79908,8 +79913,12 @@
       <translation>Gib den Yandex Schlüssel ein</translation>
     </message>
     <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
+      <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial or free API key.&lt;/a&gt;&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Ein Schlüssel ist für die Nutzung dieses Dienstes &lt;b&gt;erforderlich&lt;/b&gt;. &lt;a href="{0}"&gt;Hole einen kommerziellen oder freien API Schlüssel.&lt;/a&gt;&lt;/p&gt;</translation>
+    </message>
+    <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="45" />
-      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
       <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial API key.&lt;/a&gt;&lt;/p&gt;</source>
       <translation>&lt;p&gt;Ein Schlüssel ist für die Nutzung dieses Dienstes &lt;b&gt;erforderlich&lt;/b&gt;. &lt;a href="{0}"&gt;Hole einen kostenpflichtigen API Schlüssel.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
--- a/eric7/i18n/eric7_empty.ts	Fri Jun 10 18:13:47 2022 +0200
+++ b/eric7/i18n/eric7_empty.ts	Sun Jun 12 15:48:24 2022 +0200
@@ -9238,27 +9238,27 @@
   <context>
     <name>DeepLEngine</name>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="73" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="78" />
       <source>DeepL: Text to be translated exceeds the translation limit of {0} characters.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="81" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="86" />
       <source>A valid DeepL Pro key is required.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="97" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="107" />
       <source>Invalid response received from DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="100" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="110" />
       <source>DeepL call returned an unknown result</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="104" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="114" />
       <source>&lt;p&gt;DeepL: No translation found&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -78914,7 +78914,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="53" />
-      <source>DeepL Pro</source>
+      <source>DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79172,11 +79172,16 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78" />
-      <source>Chinese (China)</source>
+      <source>Chinese</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79" />
+      <source>Chinese (China)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80" />
       <source>Chinese (Taiwan)</source>
       <translation type="unfinished" />
     </message>
@@ -79216,7 +79221,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>DeepL Pro</source>
+      <source>DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79229,7 +79234,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>Enter your DeepL Pro key</source>
+      <source>Enter your DeepL Pro or DeepL Free API key</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79328,8 +79333,12 @@
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
+      <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial or free API key.&lt;/a&gt;&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="45" />
-      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
       <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial API key.&lt;/a&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
--- a/eric7/i18n/eric7_en.ts	Fri Jun 10 18:13:47 2022 +0200
+++ b/eric7/i18n/eric7_en.ts	Sun Jun 12 15:48:24 2022 +0200
@@ -9246,27 +9246,27 @@
   <context>
     <name>DeepLEngine</name>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="73" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="78" />
       <source>DeepL: Text to be translated exceeds the translation limit of {0} characters.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="81" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="86" />
       <source>A valid DeepL Pro key is required.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="97" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="107" />
       <source>Invalid response received from DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="100" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="110" />
       <source>DeepL call returned an unknown result</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="104" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="114" />
       <source>&lt;p&gt;DeepL: No translation found&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -78967,7 +78967,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="53" />
-      <source>DeepL Pro</source>
+      <source>DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79225,11 +79225,16 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78" />
-      <source>Chinese (China)</source>
+      <source>Chinese</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79" />
+      <source>Chinese (China)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80" />
       <source>Chinese (Taiwan)</source>
       <translation type="unfinished" />
     </message>
@@ -79269,7 +79274,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>DeepL Pro</source>
+      <source>DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79282,7 +79287,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>Enter your DeepL Pro key</source>
+      <source>Enter your DeepL Pro or DeepL Free API key</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79381,8 +79386,12 @@
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
+      <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial or free API key.&lt;/a&gt;&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="45" />
-      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
       <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial API key.&lt;/a&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
--- a/eric7/i18n/eric7_es.ts	Fri Jun 10 18:13:47 2022 +0200
+++ b/eric7/i18n/eric7_es.ts	Sun Jun 12 15:48:24 2022 +0200
@@ -9311,27 +9311,27 @@
   <context>
     <name>DeepLEngine</name>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="73" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="78" />
       <source>DeepL: Text to be translated exceeds the translation limit of {0} characters.</source>
       <translation>DeepL: El texto a traducir excede el límite de traducción de {0} carácteres.</translation>
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="81" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="86" />
       <source>A valid DeepL Pro key is required.</source>
       <translation>Se necesita una clave válida de DeepL Pro.</translation>
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="97" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="107" />
       <source>Invalid response received from DeepL</source>
       <translation>Respuesta no válida recibida de DeepL</translation>
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="100" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="110" />
       <source>DeepL call returned an unknown result</source>
       <translation>La llamada a DeepL ha retornado un resultado desconocido</translation>
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="104" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="114" />
       <source>&lt;p&gt;DeepL: No translation found&lt;/p&gt;</source>
       <translation>&lt;p&gt;DeepL: No se ha encontrado una traducción&lt;/p&gt;</translation>
     </message>
@@ -79479,8 +79479,8 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="53" />
-      <source>DeepL Pro</source>
-      <translation>DeepL Pro</translation>
+      <source>DeepL</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="55" />
@@ -79492,6 +79492,10 @@
       <source>Unknow translation service name ({0})</source>
       <translation>Nombre de servicio de traducción desconocido ({0})</translation>
     </message>
+    <message>
+      <source>DeepL Pro</source>
+      <translation type="vanished">DeepL Pro</translation>
+    </message>
   </context>
   <context>
     <name>TranslatorLanguagesDb</name>
@@ -79737,11 +79741,16 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78" />
-      <source>Chinese (China)</source>
-      <translation>Chino (China)</translation>
+      <source>Chinese</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79" />
+      <source>Chinese (China)</source>
+      <translation>Chino (China)</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80" />
       <source>Chinese (Taiwan)</source>
       <translation>Chino (Taiwan)</translation>
     </message>
@@ -79781,8 +79790,8 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>DeepL Pro</source>
-      <translation>DeepL Pro</translation>
+      <source>DeepL</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
@@ -79794,8 +79803,8 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>Enter your DeepL Pro key</source>
-      <translation>Introducir clave DeepL Pro</translation>
+      <source>Enter your DeepL Pro or DeepL Free API key</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
@@ -79893,8 +79902,12 @@
       <translation>Introducir clave Yandex</translation>
     </message>
     <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
+      <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial or free API key.&lt;/a&gt;&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="45" />
-      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
       <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial API key.&lt;/a&gt;&lt;/p&gt;</source>
       <translation>&lt;p&gt;Una clave es &lt;b&gt;necesaria&lt;/b&gt; para utilizar este servicio. &lt;a href="{0}"&gt;Obtener una API key comercial.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
@@ -79923,6 +79936,14 @@
       <source>At least two languages should be selected to work correctly.</source>
       <translation>Se deben seleccionar al menos dos idiomas para que esta herramienta funcione correctamente.</translation>
     </message>
+    <message>
+      <source>DeepL Pro</source>
+      <translation type="vanished">DeepL Pro</translation>
+    </message>
+    <message>
+      <source>Enter your DeepL Pro key</source>
+      <translation type="vanished">Introducir clave DeepL Pro</translation>
+    </message>
   </context>
   <context>
     <name>TranslatorPlugin</name>
--- a/eric7/i18n/eric7_fr.ts	Fri Jun 10 18:13:47 2022 +0200
+++ b/eric7/i18n/eric7_fr.ts	Sun Jun 12 15:48:24 2022 +0200
@@ -9297,27 +9297,27 @@
   <context>
     <name>DeepLEngine</name>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="73" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="78" />
       <source>DeepL: Text to be translated exceeds the translation limit of {0} characters.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="81" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="86" />
       <source>A valid DeepL Pro key is required.</source>
       <translation>Une clef Deepl Pro est nécessaire.</translation>
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="97" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="107" />
       <source>Invalid response received from DeepL</source>
       <translation>Réponse non valide reçu de DeepL</translation>
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="100" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="110" />
       <source>DeepL call returned an unknown result</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="104" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="114" />
       <source>&lt;p&gt;DeepL: No translation found&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -79315,8 +79315,8 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="53" />
-      <source>DeepL Pro</source>
-      <translation type="unfinished">DeepL Pro</translation>
+      <source>DeepL</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="55" />
@@ -79328,6 +79328,10 @@
       <source>Unknow translation service name ({0})</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <source>DeepL Pro</source>
+      <translation type="vanished">DeepL Pro</translation>
+    </message>
   </context>
   <context>
     <name>TranslatorLanguagesDb</name>
@@ -79573,11 +79577,16 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78" />
-      <source>Chinese (China)</source>
+      <source>Chinese</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79" />
+      <source>Chinese (China)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80" />
       <source>Chinese (Taiwan)</source>
       <translation type="unfinished" />
     </message>
@@ -79617,8 +79626,8 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>DeepL Pro</source>
-      <translation>DeepL Pro</translation>
+      <source>DeepL</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
@@ -79630,7 +79639,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>Enter your DeepL Pro key</source>
+      <source>Enter your DeepL Pro or DeepL Free API key</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79729,8 +79738,12 @@
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
+      <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial or free API key.&lt;/a&gt;&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="45" />
-      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
       <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial API key.&lt;/a&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -79759,6 +79772,10 @@
       <source>At least two languages should be selected to work correctly.</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <source>DeepL Pro</source>
+      <translation type="vanished">DeepL Pro</translation>
+    </message>
   </context>
   <context>
     <name>TranslatorPlugin</name>
--- a/eric7/i18n/eric7_it.ts	Fri Jun 10 18:13:47 2022 +0200
+++ b/eric7/i18n/eric7_it.ts	Sun Jun 12 15:48:24 2022 +0200
@@ -9289,27 +9289,27 @@
   <context>
     <name>DeepLEngine</name>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="73" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="78" />
       <source>DeepL: Text to be translated exceeds the translation limit of {0} characters.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="81" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="86" />
       <source>A valid DeepL Pro key is required.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="97" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="107" />
       <source>Invalid response received from DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="100" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="110" />
       <source>DeepL call returned an unknown result</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="104" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="114" />
       <source>&lt;p&gt;DeepL: No translation found&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -79279,7 +79279,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="53" />
-      <source>DeepL Pro</source>
+      <source>DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79537,11 +79537,16 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78" />
-      <source>Chinese (China)</source>
+      <source>Chinese</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79" />
+      <source>Chinese (China)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80" />
       <source>Chinese (Taiwan)</source>
       <translation type="unfinished" />
     </message>
@@ -79581,7 +79586,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>DeepL Pro</source>
+      <source>DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79594,7 +79599,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>Enter your DeepL Pro key</source>
+      <source>Enter your DeepL Pro or DeepL Free API key</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79693,8 +79698,12 @@
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
+      <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial or free API key.&lt;/a&gt;&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="45" />
-      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
       <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial API key.&lt;/a&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
--- a/eric7/i18n/eric7_pt.ts	Fri Jun 10 18:13:47 2022 +0200
+++ b/eric7/i18n/eric7_pt.ts	Sun Jun 12 15:48:24 2022 +0200
@@ -9293,27 +9293,27 @@
   <context>
     <name>DeepLEngine</name>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="73" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="78" />
       <source>DeepL: Text to be translated exceeds the translation limit of {0} characters.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="81" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="86" />
       <source>A valid DeepL Pro key is required.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="97" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="107" />
       <source>Invalid response received from DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="100" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="110" />
       <source>DeepL call returned an unknown result</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="104" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="114" />
       <source>&lt;p&gt;DeepL: No translation found&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -79123,8 +79123,8 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="53" />
-      <source>DeepL Pro</source>
-      <translation type="unfinished">DeepL</translation>
+      <source>DeepL</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="55" />
@@ -79136,6 +79136,10 @@
       <source>Unknow translation service name ({0})</source>
       <translation>Nome de serviço de tradução desconhecido ({0})</translation>
     </message>
+    <message>
+      <source>DeepL Pro</source>
+      <translation type="vanished">DeepL</translation>
+    </message>
   </context>
   <context>
     <name>TranslatorLanguagesDb</name>
@@ -79381,11 +79385,16 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78" />
-      <source>Chinese (China)</source>
+      <source>Chinese</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79" />
+      <source>Chinese (China)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80" />
       <source>Chinese (Taiwan)</source>
       <translation type="unfinished" />
     </message>
@@ -79425,7 +79434,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>DeepL Pro</source>
+      <source>DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79438,7 +79447,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>Enter your DeepL Pro key</source>
+      <source>Enter your DeepL Pro or DeepL Free API key</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79537,8 +79546,12 @@
       <translation>Introduza a sua chave Yandex</translation>
     </message>
     <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
+      <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial or free API key.&lt;/a&gt;&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="45" />
-      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
       <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial API key.&lt;/a&gt;&lt;/p&gt;</source>
       <translation>&lt;p&gt;É &lt;b&gt;necessária&lt;/b&gt; uma chave para usar este serviço. &lt;a href="{0}"&gt;Obtenha uma chave API comercial.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
--- a/eric7/i18n/eric7_ru.ts	Fri Jun 10 18:13:47 2022 +0200
+++ b/eric7/i18n/eric7_ru.ts	Sun Jun 12 15:48:24 2022 +0200
@@ -9341,27 +9341,27 @@
   <context>
     <name>DeepLEngine</name>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="73" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="78" />
       <source>DeepL: Text to be translated exceeds the translation limit of {0} characters.</source>
       <translation>DeepL: Текст, подлежащий переводу, превышает лимит перевода в {0} символов.</translation>
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="81" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="86" />
       <source>A valid DeepL Pro key is required.</source>
       <translation>Требуется действительный ключ DeepL Pro.</translation>
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="97" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="107" />
       <source>Invalid response received from DeepL</source>
       <translation>От DeepL получен недопустимый ответ</translation>
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="100" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="110" />
       <source>DeepL call returned an unknown result</source>
       <translation>Вызов DeepL вернул неизвестный результат</translation>
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="104" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="114" />
       <source>&lt;p&gt;DeepL: No translation found&lt;/p&gt;</source>
       <translation>&lt;p&gt;DeepL: &lt;p&gt;Перевод не найден&lt;/p&gt;</translation>
     </message>
@@ -79655,8 +79655,8 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="53" />
-      <source>DeepL Pro</source>
-      <translation>DeepL Pro</translation>
+      <source>DeepL</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="55" />
@@ -79668,6 +79668,10 @@
       <source>Unknow translation service name ({0})</source>
       <translation>Имя неизвестного сервиса перевода ({0})</translation>
     </message>
+    <message>
+      <source>DeepL Pro</source>
+      <translation type="vanished">DeepL Pro</translation>
+    </message>
   </context>
   <context>
     <name>TranslatorLanguagesDb</name>
@@ -79913,11 +79917,16 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78" />
-      <source>Chinese (China)</source>
-      <translation>Chinese (China)</translation>
+      <source>Chinese</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79" />
+      <source>Chinese (China)</source>
+      <translation>Chinese (China)</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80" />
       <source>Chinese (Taiwan)</source>
       <translation>Chinese (Taiwan)</translation>
     </message>
@@ -79957,8 +79966,8 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>DeepL Pro</source>
-      <translation>DeepL Pro</translation>
+      <source>DeepL</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
@@ -79970,8 +79979,8 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>Enter your DeepL Pro key</source>
-      <translation>Введите ваш DeepL Pro ключ</translation>
+      <source>Enter your DeepL Pro or DeepL Free API key</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
@@ -80069,8 +80078,12 @@
       <translation>Введите ваш Yandex ключ</translation>
     </message>
     <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
+      <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial or free API key.&lt;/a&gt;&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="45" />
-      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
       <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial API key.&lt;/a&gt;&lt;/p&gt;</source>
       <translation>&lt;p&gt;Для использования данного сервиса &lt;b&gt;требуется&lt;/b&gt; ключ. &lt;a href="{0}"&gt;Получить коммерческий API ключ.&lt;/a&gt;&lt;/p&gt;</translation>
     </message>
@@ -80099,6 +80112,14 @@
       <source>At least two languages should be selected to work correctly.</source>
       <translation>Для корректной работы должны быть выбраны по крайней мере два языка.</translation>
     </message>
+    <message>
+      <source>DeepL Pro</source>
+      <translation type="vanished">DeepL Pro</translation>
+    </message>
+    <message>
+      <source>Enter your DeepL Pro key</source>
+      <translation type="vanished">Введите ваш DeepL Pro ключ</translation>
+    </message>
   </context>
   <context>
     <name>TranslatorPlugin</name>
--- a/eric7/i18n/eric7_tr.ts	Fri Jun 10 18:13:47 2022 +0200
+++ b/eric7/i18n/eric7_tr.ts	Sun Jun 12 15:48:24 2022 +0200
@@ -9275,27 +9275,27 @@
   <context>
     <name>DeepLEngine</name>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="73" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="78" />
       <source>DeepL: Text to be translated exceeds the translation limit of {0} characters.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="81" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="86" />
       <source>A valid DeepL Pro key is required.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="97" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="107" />
       <source>Invalid response received from DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="100" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="110" />
       <source>DeepL call returned an unknown result</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="104" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="114" />
       <source>&lt;p&gt;DeepL: No translation found&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -79081,7 +79081,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="53" />
-      <source>DeepL Pro</source>
+      <source>DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79339,11 +79339,16 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78" />
-      <source>Chinese (China)</source>
+      <source>Chinese</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79" />
+      <source>Chinese (China)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80" />
       <source>Chinese (Taiwan)</source>
       <translation type="unfinished" />
     </message>
@@ -79383,7 +79388,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>DeepL Pro</source>
+      <source>DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79396,7 +79401,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>Enter your DeepL Pro key</source>
+      <source>Enter your DeepL Pro or DeepL Free API key</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79495,8 +79500,12 @@
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
+      <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial or free API key.&lt;/a&gt;&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="45" />
-      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
       <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial API key.&lt;/a&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
--- a/eric7/i18n/eric7_zh_CN.ts	Fri Jun 10 18:13:47 2022 +0200
+++ b/eric7/i18n/eric7_zh_CN.ts	Sun Jun 12 15:48:24 2022 +0200
@@ -9291,27 +9291,27 @@
   <context>
     <name>DeepLEngine</name>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="73" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="78" />
       <source>DeepL: Text to be translated exceeds the translation limit of {0} characters.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="81" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="86" />
       <source>A valid DeepL Pro key is required.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="97" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="107" />
       <source>Invalid response received from DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="100" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="110" />
       <source>DeepL call returned an unknown result</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="104" />
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="114" />
       <source>&lt;p&gt;DeepL: No translation found&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -79221,7 +79221,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="53" />
-      <source>DeepL Pro</source>
+      <source>DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79479,11 +79479,16 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78" />
-      <source>Chinese (China)</source>
+      <source>Chinese</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79" />
+      <source>Chinese (China)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80" />
       <source>Chinese (Taiwan)</source>
       <translation type="unfinished" />
     </message>
@@ -79523,7 +79528,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>DeepL Pro</source>
+      <source>DeepL</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79536,7 +79541,7 @@
     </message>
     <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="0" />
-      <source>Enter your DeepL Pro key</source>
+      <source>Enter your DeepL Pro or DeepL Free API key</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -79635,8 +79640,12 @@
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
+      <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial or free API key.&lt;/a&gt;&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="45" />
-      <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="41" />
       <source>&lt;p&gt;A key is &lt;b&gt;required&lt;/b&gt; to use this service. &lt;a href="{0}"&gt;Get a commercial API key.&lt;/a&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>

eric ide

mercurial