src/eric7/i18n/eric7_en.ts

branch
eric7-maintenance
changeset 10079
0222a480e93d
parent 10004
983477114d3c
parent 10066
251638443e17
child 10101
34f74c19ed7a
--- a/src/eric7/i18n/eric7_en.ts	Tue May 02 10:20:23 2023 +0200
+++ b/src/eric7/i18n/eric7_en.ts	Sat May 27 19:02:58 2023 +0200
@@ -37,42 +37,42 @@
   <context>
     <name>AboutPlugin</name>
     <message>
-      <location filename="../Plugins/PluginAbout.py" line="79" />
+      <location filename="../Plugins/PluginAbout.py" line="81" />
       <source>About {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginAbout.py" line="81" />
+      <location filename="../Plugins/PluginAbout.py" line="83" />
       <source>&amp;About {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginAbout.py" line="87" />
-      <source>Display information about this software</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/PluginAbout.py" line="89" />
+      <source>Display information about this software</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/PluginAbout.py" line="91" />
       <source>&lt;b&gt;About {0}&lt;/b&gt;&lt;p&gt;Display some information about this software.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginAbout.py" line="99" />
-      <source>About Qt</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/PluginAbout.py" line="101" />
+      <source>About Qt</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/PluginAbout.py" line="103" />
       <source>About &amp;Qt</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginAbout.py" line="108" />
+      <location filename="../Plugins/PluginAbout.py" line="110" />
       <source>Display information about the Qt toolkit</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginAbout.py" line="111" />
+      <location filename="../Plugins/PluginAbout.py" line="113" />
       <source>&lt;b&gt;About Qt&lt;/b&gt;&lt;p&gt;Display some information about the Qt toolkit.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -1207,36 +1207,41 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Annotations/translations.py" line="48" />
-      <source>PEP 484 disallows both type annotations and type comments</source>
+      <source>Dynamically typed expressions (typing.Any) are disallowed</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Annotations/translations.py" line="52" />
-      <source>Dynamically typed expressions (typing.Any) are disallowed</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Annotations/translations.py" line="56" />
+      <source>Type comments are disallowed</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Annotations/translations.py" line="55" />
       <source>missing 'from __future__ import annotations' but imports: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Annotations/translations.py" line="60" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Annotations/translations.py" line="59" />
       <source>missing 'from __future__ import annotations'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Annotations/translations.py" line="63" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Annotations/translations.py" line="62" />
+      <source>missing 'from __future__ import annotations' but uses simplified type annotations: {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Annotations/translations.py" line="67" />
       <source>type annotation coverage of {0}% is too low</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Annotations/translations.py" line="66" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Annotations/translations.py" line="70" />
       <source>type annotation is too complex ({0} &gt; {1})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Annotations/translations.py" line="69" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Annotations/translations.py" line="73" />
       <source>type annotation is too long ({0} &gt; {1})</source>
       <translation type="unfinished" />
     </message>
@@ -1716,77 +1721,77 @@
   <context>
     <name>BaseDevice</name>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="196" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="210" />
       <source>Device Data Not Available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="197" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="211" />
       <source>&lt;p&gt;The device data is not available. Try to connect to the device again. Aborting...&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="250" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="264" />
       <source>Unsupported Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="260" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="274" />
       <source>REPL is not supported by this device.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="279" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="293" />
       <source>Plotter is not supported by this device.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="298" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="312" />
       <source>Running scripts is not supported by this device.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="317" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="331" />
       <source>File Manager is not supported by this device.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="372" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="386" />
       <source>Select Device Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="373" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="387" />
       <source>Select the directory for the connected device:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="519" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="539" />
       <source>Detected an error without indications.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1464" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1490" />
       <source>Operation not supported.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1772" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1820" />
       <source>Yes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1772" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1820" />
       <source>No</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1774" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1822" />
       <source>yes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1774" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1822" />
       <source>no</source>
       <translation type="unfinished" />
     </message>
@@ -2324,7 +2329,6 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="169" />
       <location filename="../MicroPython/BoardDataDialog.py" line="98" />
       <source>Version</source>
       <translation type="unfinished" />
@@ -2383,12 +2387,54 @@
     </message>
     <message>
       <location filename="../MicroPython/BoardDataDialog.py" line="167" />
-      <source>µLab</source>
+      <source>Features</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/BoardDataDialog.py" line="171" />
-      <source>µLab is not available</source>
+      <source>Bluetooth</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/BoardDataDialog.py" line="193" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="186" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="179" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="172" />
+      <source>available</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/BoardDataDialog.py" line="208" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="193" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="186" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="179" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="172" />
+      <source>not available</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/BoardDataDialog.py" line="178" />
+      <source>WiFi</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/BoardDataDialog.py" line="185" />
+      <source>Ethernet</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/BoardDataDialog.py" line="192" />
+      <source>Network Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/BoardDataDialog.py" line="203" />
+      <source>Package Installer</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/BoardDataDialog.py" line="207" />
+      <source>µLab</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -3822,21 +3868,31 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91" />
-      <source>'pathlib' Usage</source>
+      <source>Name Order</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="92" />
-      <source>Security</source>
+      <source>'pathlib' Usage</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="93" />
-      <source>Warnings</source>
+      <source>Security</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="94" />
+      <source>Unused</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="95" />
+      <source>Warnings</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="96" />
       <source>Simplify Code</source>
       <translation type="unfinished" />
     </message>
@@ -4123,14 +4179,14 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1128" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1126" />
       <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="865" />
       <source>unknown ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1577" />
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1500" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1567" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1490" />
       <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1040" />
       <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="961" />
       <source>The device volume is not available.</source>
@@ -4143,94 +4199,94 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1539" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1529" />
       <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1005" />
       <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="977" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; exists already. Shall it be replaced?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1546" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1536" />
       <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1012" />
       <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="984" />
       <source>Aborted</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1195" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1193" />
       <source>CircuitPython does not support setting the IPv4 parameters of the WiFi access point.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1266" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1262" />
       <source>CircuitPython does not support reporting of connected clients.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1675" />
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1350" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1663" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1342" />
       <source>Active</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1681" />
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1351" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1669" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1343" />
       <source>Connected</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1352" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1344" />
       <source>IPv4 Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1353" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1345" />
       <source>Netmask</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1354" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1346" />
       <source>Gateway</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1355" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1347" />
       <source>DNS</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1677" />
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1356" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1665" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1348" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1357" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1349" />
       <source>Chip Type</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1358" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1350" />
       <source>max. Sockets</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1538" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1528" />
       <source>Write Connect Script</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1676" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1664" />
       <source>Name</source>
       <translation>Name</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1679" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1667" />
       <source>Address Type</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1682" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1670" />
       <source>Advertising</source>
       <translation type="unfinished" />
     </message>
@@ -4931,7 +4987,7 @@
   <context>
     <name>CodeStyleChecker</name>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="510" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="516" />
       <source>No message defined for code '{0}'.</source>
       <translation type="unfinished" />
     </message>
@@ -4939,57 +4995,57 @@
   <context>
     <name>CodeStyleCheckerDialog</name>
     <message>
-      <location filename="../Plugins/PluginCodeStyleChecker.py" line="234" />
+      <location filename="../Plugins/PluginCodeStyleChecker.py" line="236" />
       <source>Fix: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="126" />
-      <source>PEP-257</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="127" />
-      <source>Eric</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="128" />
+      <source>PEP-257</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
+      <source>Eric</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="130" />
       <source>Eric (Blacked)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="230" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="232" />
       <source>Errors</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="255" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="257" />
       <source>Error: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1140" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1210" />
       <source>{0} (ignored)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1215" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1285" />
       <source>No issues found.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1219" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1289" />
       <source>No files found (check your ignore list).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2601" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2891" />
       <source>Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2602" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2892" />
       <source>Enter a Commented Code Whitelist Pattern</source>
       <translation type="unfinished" />
     </message>
@@ -5445,6 +5501,16 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Verifies &amp;lt;3.10 code with simplified types uses 'from __future__ import annotations'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Check use of simplified types</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
       <source>Dispatch Decorators:</source>
       <translation type="unfinished" />
     </message>
@@ -5634,7 +5700,12 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
-      <source>Imports Sorting</source>
+      <source>Name Order</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Name Sorting</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -5669,6 +5740,11 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Imports Sorting</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
       <source>Select to place from imports first then straight ones</source>
       <translation type="unfinished" />
     </message>
@@ -5689,6 +5765,126 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Unused</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Ignore Warnings For</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Ignore unused arguments for methods decorated with '@abstractmethod'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Abstract Methods</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Ignore unused arguments for methods decorated with '@overload'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Overload Methods</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Ignore unused arguments for methods decorated with '@override'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Override Methods</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Ignore unused arguments for methods consisting of a pass statement only.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Stub Methods</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Ignore unused *args and **kwargs.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>*args and **kwargs</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Ignore unused arguments for lambda functions.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Lambda Functions</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Ignore unused arguments for methods decorated with '@pyqtSlot' or '@Slot'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Qt Slot Methods</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Ignore unused arguments for Qt event handler methods.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Qt Event Handler Methods</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Ignore unused arguments for methods starting and ending with double underscores.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Special Methods</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Ignore unused global variables starting and ending with double underscores.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Special Global Variables</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Ignore unused arguments for nested functions.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
+      <source>Nested Functions</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="0" />
       <source>Press to start the code style check run</source>
       <translation type="unfinished" />
     </message>
@@ -5849,33 +6045,33 @@
   <context>
     <name>CodeStyleCheckerPlugin</name>
     <message>
-      <location filename="../Plugins/PluginCodeStyleChecker.py" line="113" />
+      <location filename="../Plugins/PluginCodeStyleChecker.py" line="115" />
       <source>Python 3 batch check</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginCodeStyleChecker.py" line="351" />
-      <location filename="../Plugins/PluginCodeStyleChecker.py" line="270" />
-      <location filename="../Plugins/PluginCodeStyleChecker.py" line="250" />
+      <location filename="../Plugins/PluginCodeStyleChecker.py" line="353" />
+      <location filename="../Plugins/PluginCodeStyleChecker.py" line="272" />
+      <location filename="../Plugins/PluginCodeStyleChecker.py" line="252" />
       <source>Check Code Style</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginCodeStyleChecker.py" line="352" />
-      <location filename="../Plugins/PluginCodeStyleChecker.py" line="270" />
-      <location filename="../Plugins/PluginCodeStyleChecker.py" line="251" />
+      <location filename="../Plugins/PluginCodeStyleChecker.py" line="354" />
+      <location filename="../Plugins/PluginCodeStyleChecker.py" line="272" />
+      <location filename="../Plugins/PluginCodeStyleChecker.py" line="253" />
       <source>&amp;Code Style...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginCodeStyleChecker.py" line="257" />
+      <location filename="../Plugins/PluginCodeStyleChecker.py" line="259" />
       <source>Check code style.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginCodeStyleChecker.py" line="359" />
-      <location filename="../Plugins/PluginCodeStyleChecker.py" line="273" />
-      <location filename="../Plugins/PluginCodeStyleChecker.py" line="259" />
+      <location filename="../Plugins/PluginCodeStyleChecker.py" line="361" />
+      <location filename="../Plugins/PluginCodeStyleChecker.py" line="275" />
+      <location filename="../Plugins/PluginCodeStyleChecker.py" line="261" />
       <source>&lt;b&gt;Check Code Style...&lt;/b&gt;&lt;p&gt;This checks Python files for compliance to the code style conventions given in various PEPs.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -5911,146 +6107,146 @@
   <context>
     <name>CodeStyleFixer</name>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="257" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="259" />
       <source>Triple single quotes converted to triple double quotes.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="260" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="262" />
       <source>Introductory quotes corrected to be {0}"""</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="263" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="265" />
       <source>Single line docstring put on one line.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="266" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="268" />
       <source>Period added to summary line.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="293" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="269" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="295" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="271" />
       <source>Blank line before function/method docstring removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="272" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="274" />
       <source>Blank line inserted before class docstring.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="275" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="277" />
       <source>Blank line inserted after class docstring.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="278" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="280" />
       <source>Blank line inserted after docstring summary.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="281" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="283" />
       <source>Blank line inserted after last paragraph of docstring.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="284" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="286" />
       <source>Leading quotes put on separate line.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="287" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="289" />
       <source>Trailing quotes put on separate line.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="290" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="292" />
       <source>Blank line before class docstring removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="296" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="298" />
       <source>Blank line after class docstring removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="299" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="301" />
       <source>Blank line after function/method docstring removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="302" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="304" />
       <source>Blank line after last paragraph removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="305" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="307" />
       <source>Tab converted to 4 spaces.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="308" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="310" />
       <source>Indentation adjusted to be a multiple of four.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="311" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="313" />
       <source>Indentation of continuation line corrected.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="314" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="316" />
       <source>Indentation of closing bracket corrected.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="317" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="319" />
       <source>Missing indentation of continuation line corrected.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="320" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="322" />
       <source>Closing bracket aligned to opening bracket.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="323" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="325" />
       <source>Indentation level changed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="326" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="328" />
       <source>Indentation level of hanging indentation changed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="329" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="331" />
       <source>Visual indentation corrected.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="344" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="338" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="332" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="346" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="340" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="334" />
       <source>Extraneous whitespace removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="341" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="335" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="343" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="337" />
       <source>Missing whitespace added.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="347" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="349" />
       <source>Whitespace around comment sign corrected.</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="350" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="352" />
       <source>%n blank line(s) inserted.</source>
       <translation>
         <numerusform>%n blank line inserted.</numerusform>
@@ -6058,7 +6254,7 @@
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="353" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="355" />
       <source>%n superfluous lines removed</source>
       <translation>
         <numerusform>%n superfluous line removed</numerusform>
@@ -6066,73 +6262,73 @@
       </translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="356" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="358" />
       <source>Superfluous blank lines removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="359" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="361" />
       <source>Superfluous blank lines after function decorator removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="362" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="364" />
       <source>Imports were put on separate lines.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="365" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="367" />
       <source>Long lines have been shortened.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="368" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="370" />
       <source>Redundant backslash in brackets removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="374" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="371" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="376" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="373" />
       <source>Compound statement corrected.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="377" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="379" />
       <source>Comparison to None/True/False corrected.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="380" />
-      <source>'{0}' argument added.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="381" />
-      <source>'{0}' argument removed.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="382" />
+      <source>'{0}' argument added.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="383" />
+      <source>'{0}' argument removed.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="384" />
       <source>Whitespace stripped from end of line.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="385" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="387" />
       <source>newline added to end of file.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="388" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="390" />
       <source>Superfluous trailing blank lines removed from end of file.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="391" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="393" />
       <source>'&lt;&gt;' replaced by '!='.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="392" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="394" />
       <source>Could not save the file! Skipping it. Reason: {0}</source>
       <translation type="unfinished" />
     </message>
@@ -6216,7 +6412,7 @@
   <context>
     <name>CodingError</name>
     <message>
-      <location filename="../Utilities/__init__.py" line="176" />
+      <location filename="../Utilities/__init__.py" line="174" />
       <source>The coding '{0}' is wrong for the given text.</source>
       <translation type="unfinished" />
     </message>
@@ -6224,28 +6420,28 @@
   <context>
     <name>ColorDialogWizard</name>
     <message>
-      <location filename="../Plugins/PluginWizardQColorDialog.py" line="80" />
-      <location filename="../Plugins/PluginWizardQColorDialog.py" line="73" />
+      <location filename="../Plugins/PluginWizardQColorDialog.py" line="82" />
+      <location filename="../Plugins/PluginWizardQColorDialog.py" line="75" />
       <source>QColorDialog Wizard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQColorDialog.py" line="74" />
+      <location filename="../Plugins/PluginWizardQColorDialog.py" line="76" />
       <source>QColorDialog Wizard...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQColorDialog.py" line="82" />
+      <location filename="../Plugins/PluginWizardQColorDialog.py" line="84" />
       <source>&lt;b&gt;QColorDialog Wizard&lt;/b&gt;&lt;p&gt;This wizard opens a dialog for entering all the parameters needed to create a QColorDialog. The generated code is inserted at the current cursor position.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQColorDialog.py" line="133" />
+      <location filename="../Plugins/PluginWizardQColorDialog.py" line="135" />
       <source>No current editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQColorDialog.py" line="134" />
+      <location filename="../Plugins/PluginWizardQColorDialog.py" line="136" />
       <source>Please open or create a file first.</source>
       <translation type="unfinished" />
     </message>
@@ -6644,35 +6840,35 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../CondaInterface/CondaExecDialog.py" line="138" />
+      <location filename="../CondaInterface/CondaExecDialog.py" line="137" />
       <source>Operation finished.
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../CondaInterface/CondaExecDialog.py" line="158" />
+      <location filename="../CondaInterface/CondaExecDialog.py" line="157" />
       <source>Conda command '{0}' did not return success.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../CondaInterface/CondaExecDialog.py" line="170" />
-      <location filename="../CondaInterface/CondaExecDialog.py" line="165" />
+      <location filename="../CondaInterface/CondaExecDialog.py" line="169" />
+      <location filename="../CondaInterface/CondaExecDialog.py" line="164" />
       <source>
 Conda Message: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../CondaInterface/CondaExecDialog.py" line="208" />
+      <location filename="../CondaInterface/CondaExecDialog.py" line="207" />
       <source>{0} (Size: {1})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../CondaInterface/CondaExecDialog.py" line="213" />
+      <location filename="../CondaInterface/CondaExecDialog.py" line="212" />
       <source>Fetching {0} ...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../CondaInterface/CondaExecDialog.py" line="216" />
+      <location filename="../CondaInterface/CondaExecDialog.py" line="215" />
       <source> Done.
 </source>
       <translation type="unfinished" />
@@ -8869,19 +9065,19 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugServer.py" line="2056" />
+      <location filename="../Debugger/DebugServer.py" line="2058" />
       <source>Passive debug connection received
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugServer.py" line="2070" />
+      <location filename="../Debugger/DebugServer.py" line="2072" />
       <source>Passive debug connection closed
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugServer.py" line="2200" />
+      <location filename="../Debugger/DebugServer.py" line="2202" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -8894,7 +9090,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="2335" />
+      <location filename="../Debugger/DebugUI.py" line="2337" />
       <location filename="../Debugger/DebugUI.py" line="231" />
       <source>Run Script</source>
       <translation type="unfinished" />
@@ -8915,8 +9111,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="2379" />
-      <location filename="../Debugger/DebugUI.py" line="2335" />
+      <location filename="../Debugger/DebugUI.py" line="2343" />
+      <location filename="../Debugger/DebugUI.py" line="2337" />
       <location filename="../Debugger/DebugUI.py" line="252" />
       <source>Run Project</source>
       <translation type="unfinished" />
@@ -9017,7 +9213,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="2530" />
+      <location filename="../Debugger/DebugUI.py" line="2532" />
       <location filename="../Debugger/DebugUI.py" line="362" />
       <source>Debug Script</source>
       <translation type="unfinished" />
@@ -9038,8 +9234,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="2584" />
-      <location filename="../Debugger/DebugUI.py" line="2530" />
+      <location filename="../Debugger/DebugUI.py" line="2538" />
+      <location filename="../Debugger/DebugUI.py" line="2532" />
       <location filename="../Debugger/DebugUI.py" line="384" />
       <source>Debug Project</source>
       <translation type="unfinished" />
@@ -9468,86 +9664,86 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="1550" />
+      <location filename="../Debugger/DebugUI.py" line="1552" />
       <source>&lt;p&gt;The program generate the signal "{0}".&lt;br/&gt;File: &lt;b&gt;{1}&lt;/b&gt;, Line: &lt;b&gt;{2}&lt;/b&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="1567" />
+      <location filename="../Debugger/DebugUI.py" line="1569" />
       <source>The program being debugged has terminated unexpectedly.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="1628" />
+      <location filename="../Debugger/DebugUI.py" line="1630" />
       <source>No locals available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="1675" />
+      <location filename="../Debugger/DebugUI.py" line="1677" />
       <source>Breakpoint Condition Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="1676" />
+      <location filename="../Debugger/DebugUI.py" line="1678" />
       <source>&lt;p&gt;The condition of the breakpoint &lt;b&gt;{0}, {1}&lt;/b&gt; contains a syntax error.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="1733" />
+      <location filename="../Debugger/DebugUI.py" line="1735" />
       <source>Watch Expression Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="1734" />
+      <location filename="../Debugger/DebugUI.py" line="1736" />
       <source>&lt;p&gt;The watch expression &lt;b&gt;{0}&lt;/b&gt; contains a syntax error.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="1762" />
+      <location filename="../Debugger/DebugUI.py" line="1764" />
       <source>&lt;p&gt;A watch expression '&lt;b&gt;{0}&lt;/b&gt;' already exists.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="1767" />
+      <location filename="../Debugger/DebugUI.py" line="1769" />
       <source>&lt;p&gt;A watch expression '&lt;b&gt;{0}&lt;/b&gt;' for the variable &lt;b&gt;{1}&lt;/b&gt; already exists.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="1773" />
+      <location filename="../Debugger/DebugUI.py" line="1775" />
       <source>Watch expression already exists</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="1976" />
-      <location filename="../Debugger/DebugUI.py" line="1928" />
+      <location filename="../Debugger/DebugUI.py" line="1939" />
+      <location filename="../Debugger/DebugUI.py" line="1930" />
       <source>Coverage of Project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="1930" />
+      <location filename="../Debugger/DebugUI.py" line="1932" />
       <source>Coverage of Script</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="2380" />
-      <location filename="../Debugger/DebugUI.py" line="2181" />
-      <location filename="../Debugger/DebugUI.py" line="1977" />
+      <location filename="../Debugger/DebugUI.py" line="2344" />
+      <location filename="../Debugger/DebugUI.py" line="2144" />
+      <location filename="../Debugger/DebugUI.py" line="1940" />
       <source>There is no main script defined for the current project. Aborting</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="2180" />
-      <location filename="../Debugger/DebugUI.py" line="2132" />
+      <location filename="../Debugger/DebugUI.py" line="2143" />
+      <location filename="../Debugger/DebugUI.py" line="2134" />
       <source>Profile of Project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="2134" />
+      <location filename="../Debugger/DebugUI.py" line="2136" />
       <source>Profile of Script</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="2585" />
+      <location filename="../Debugger/DebugUI.py" line="2539" />
       <source>There is no main script defined for the current project. No debugging possible.</source>
       <translation type="unfinished" />
     </message>
@@ -9666,13 +9862,13 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugViewer.py" line="793" />
+      <location filename="../Debugger/DebugViewer.py" line="804" />
       <source>&lt;p&gt;Debugger with ID &lt;b&gt;{0}&lt;/b&gt; has been connected.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugViewer.py" line="1036" />
-      <location filename="../Debugger/DebugViewer.py" line="908" />
+      <location filename="../Debugger/DebugViewer.py" line="1047" />
+      <location filename="../Debugger/DebugViewer.py" line="919" />
       <source>unknown state ({0})</source>
       <translation type="unfinished" />
     </message>
@@ -11120,34 +11316,34 @@
   <context>
     <name>DotDesktopWizard</name>
     <message>
-      <location filename="../Plugins/PluginWizardDotDesktop.py" line="128" />
-      <location filename="../Plugins/PluginWizardDotDesktop.py" line="90" />
-      <location filename="../Plugins/PluginWizardDotDesktop.py" line="83" />
+      <location filename="../Plugins/PluginWizardDotDesktop.py" line="130" />
+      <location filename="../Plugins/PluginWizardDotDesktop.py" line="92" />
+      <location filename="../Plugins/PluginWizardDotDesktop.py" line="85" />
       <source>.desktop Wizard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardDotDesktop.py" line="84" />
+      <location filename="../Plugins/PluginWizardDotDesktop.py" line="86" />
       <source>.desktop Wizard...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardDotDesktop.py" line="92" />
+      <location filename="../Plugins/PluginWizardDotDesktop.py" line="94" />
       <source>&lt;b&gt;.desktop Wizard&lt;/b&gt;&lt;p&gt;This wizard opens a dialog for entering all the parameters needed to create the contents of a .desktop file. The generated code replaces the text of the current editor. Alternatively a new editor is opened.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardDotDesktop.py" line="121" />
+      <location filename="../Plugins/PluginWizardDotDesktop.py" line="123" />
       <source>No current editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardDotDesktop.py" line="122" />
+      <location filename="../Plugins/PluginWizardDotDesktop.py" line="124" />
       <source>Please open or create a file first.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardDotDesktop.py" line="129" />
+      <location filename="../Plugins/PluginWizardDotDesktop.py" line="131" />
       <source>The current editor contains text. Shall this be replaced?</source>
       <translation type="unfinished" />
     </message>
@@ -18198,28 +18394,28 @@
   <context>
     <name>EricMessageBoxWizard</name>
     <message>
-      <location filename="../Plugins/PluginWizardEricMessageBox.py" line="80" />
-      <location filename="../Plugins/PluginWizardEricMessageBox.py" line="73" />
+      <location filename="../Plugins/PluginWizardEricMessageBox.py" line="82" />
+      <location filename="../Plugins/PluginWizardEricMessageBox.py" line="75" />
       <source>EricMessageBox Wizard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardEricMessageBox.py" line="74" />
+      <location filename="../Plugins/PluginWizardEricMessageBox.py" line="76" />
       <source>EricMessageBox Wizard...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardEricMessageBox.py" line="82" />
+      <location filename="../Plugins/PluginWizardEricMessageBox.py" line="84" />
       <source>&lt;b&gt;EricMessageBox Wizard&lt;/b&gt;&lt;p&gt;This wizard opens a dialog for entering all the parameters needed to create an EricMessageBox. The generated code is inserted at the current cursor position.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardEricMessageBox.py" line="133" />
+      <location filename="../Plugins/PluginWizardEricMessageBox.py" line="135" />
       <source>No current editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardEricMessageBox.py" line="134" />
+      <location filename="../Plugins/PluginWizardEricMessageBox.py" line="136" />
       <source>Please open or create a file first.</source>
       <translation type="unfinished" />
     </message>
@@ -19795,27 +19991,27 @@
   <context>
     <name>EricapiPlugin</name>
     <message>
-      <location filename="../Plugins/PluginEricapi.py" line="75" />
+      <location filename="../Plugins/PluginEricapi.py" line="77" />
       <source>eric API File Generator</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginEricapi.py" line="119" />
+      <location filename="../Plugins/PluginEricapi.py" line="121" />
       <source>Generate API file (eric7_api)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginEricapi.py" line="120" />
+      <location filename="../Plugins/PluginEricapi.py" line="122" />
       <source>Generate &amp;API file (eric7_api)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginEricapi.py" line="127" />
+      <location filename="../Plugins/PluginEricapi.py" line="129" />
       <source>Generate an API file using eric7_api</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginEricapi.py" line="130" />
+      <location filename="../Plugins/PluginEricapi.py" line="132" />
       <source>&lt;b&gt;Generate API file&lt;/b&gt;&lt;p&gt;Generate an API file using eric7_api.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -20197,32 +20393,32 @@
   <context>
     <name>EricdocPlugin</name>
     <message>
-      <location filename="../Plugins/PluginEricdoc.py" line="85" />
+      <location filename="../Plugins/PluginEricdoc.py" line="87" />
       <source>eric Documentation Generator</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginEricdoc.py" line="120" />
+      <location filename="../Plugins/PluginEricdoc.py" line="122" />
       <source>Qt Help Tools</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginEricdoc.py" line="163" />
+      <location filename="../Plugins/PluginEricdoc.py" line="165" />
       <source>Generate documentation (eric7_doc)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginEricdoc.py" line="164" />
+      <location filename="../Plugins/PluginEricdoc.py" line="166" />
       <source>Generate &amp;documentation (eric7_doc)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginEricdoc.py" line="171" />
+      <location filename="../Plugins/PluginEricdoc.py" line="173" />
       <source>Generate API documentation using eric7_doc</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginEricdoc.py" line="174" />
+      <location filename="../Plugins/PluginEricdoc.py" line="176" />
       <source>&lt;b&gt;Generate documentation&lt;/b&gt;&lt;p&gt;Generate API documentation using eric7_doc.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -20428,8 +20624,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1506" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1490" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1589" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1573" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="196" />
       <source>Erase Flash</source>
       <translation type="unfinished" />
@@ -20440,7 +20636,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1591" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1674" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="203" />
       <source>Flash Additional Firmware</source>
       <translation type="unfinished" />
@@ -20491,8 +20687,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1590" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1549" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1673" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1632" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="363" />
       <source>'esptool write_flash' Output</source>
       <translation type="unfinished" />
@@ -20558,68 +20754,62 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="980" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="978" />
       <source>unknown ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1289" />
       <source>Active</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1210" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1290" />
       <source>Name</source>
       <translation>Name</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1211" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1291" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1214" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1294" />
       <source>Address Type</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1215" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Public</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1215" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Random</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1219" />
-      <source>Rx-Buffer</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1221" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1219" />
-      <source>{0} Bytes</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1221" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>MTU</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1491" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
+      <source>{0} Bytes</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1574" />
       <source>Shall the flash of the selected device really be erased?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1505" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1588" />
       <source>'esptool erase_flash' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1550" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1633" />
       <source>Flash µPy/CPy Firmware</source>
       <translation type="unfinished" />
     </message>
@@ -20941,17 +21131,17 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/ExceptionLogger.py" line="111" />
+      <location filename="../Debugger/ExceptionLogger.py" line="112" />
       <source>{0}: An unhandled exception occured. See the shell window for details.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/ExceptionLogger.py" line="119" />
+      <location filename="../Debugger/ExceptionLogger.py" line="120" />
       <source>{0}: {1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/ExceptionLogger.py" line="121" />
+      <location filename="../Debugger/ExceptionLogger.py" line="122" />
       <source>{0}: {1}, {2}</source>
       <translation type="unfinished" />
     </message>
@@ -21529,44 +21719,44 @@
   <context>
     <name>FileDialogWizard</name>
     <message>
-      <location filename="../Plugins/PluginWizardQFileDialog.py" line="88" />
-      <location filename="../Plugins/PluginWizardQFileDialog.py" line="81" />
+      <location filename="../Plugins/PluginWizardQFileDialog.py" line="90" />
+      <location filename="../Plugins/PluginWizardQFileDialog.py" line="83" />
       <source>QFileDialog Wizard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQFileDialog.py" line="82" />
+      <location filename="../Plugins/PluginWizardQFileDialog.py" line="84" />
       <source>QFileDialog Wizard...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQFileDialog.py" line="90" />
+      <location filename="../Plugins/PluginWizardQFileDialog.py" line="92" />
       <source>&lt;b&gt;QFileDialog Wizard&lt;/b&gt;&lt;p&gt;This wizard opens a dialog for entering all the parameters needed to create a QFileDialog. The generated code is inserted at the current cursor position.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQFileDialog.py" line="107" />
-      <location filename="../Plugins/PluginWizardQFileDialog.py" line="100" />
-      <source>EricFileDialog Wizard</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/PluginWizardQFileDialog.py" line="101" />
-      <source>EricFileDialog Wizard...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/PluginWizardQFileDialog.py" line="109" />
+      <location filename="../Plugins/PluginWizardQFileDialog.py" line="102" />
+      <source>EricFileDialog Wizard</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/PluginWizardQFileDialog.py" line="103" />
+      <source>EricFileDialog Wizard...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/PluginWizardQFileDialog.py" line="111" />
       <source>&lt;b&gt;EricFileDialog Wizard&lt;/b&gt;&lt;p&gt;This wizard opens a dialog for entering all the parameters needed to create an EricFileDialog. The generated code is inserted at the current cursor position.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQFileDialog.py" line="172" />
+      <location filename="../Plugins/PluginWizardQFileDialog.py" line="174" />
       <source>No current editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQFileDialog.py" line="173" />
+      <location filename="../Plugins/PluginWizardQFileDialog.py" line="175" />
       <source>Please open or create a file first.</source>
       <translation type="unfinished" />
     </message>
@@ -22434,28 +22624,28 @@
   <context>
     <name>FontDialogWizard</name>
     <message>
-      <location filename="../Plugins/PluginWizardQFontDialog.py" line="80" />
-      <location filename="../Plugins/PluginWizardQFontDialog.py" line="73" />
+      <location filename="../Plugins/PluginWizardQFontDialog.py" line="82" />
+      <location filename="../Plugins/PluginWizardQFontDialog.py" line="75" />
       <source>QFontDialog Wizard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQFontDialog.py" line="74" />
+      <location filename="../Plugins/PluginWizardQFontDialog.py" line="76" />
       <source>QFontDialog Wizard...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQFontDialog.py" line="82" />
+      <location filename="../Plugins/PluginWizardQFontDialog.py" line="84" />
       <source>&lt;b&gt;QFontDialog Wizard&lt;/b&gt;&lt;p&gt;This wizard opens a dialog for entering all the parameters needed to create a QFontDialog. The generated code is inserted at the current cursor position.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQFontDialog.py" line="133" />
+      <location filename="../Plugins/PluginWizardQFontDialog.py" line="135" />
       <source>No current editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQFontDialog.py" line="134" />
+      <location filename="../Plugins/PluginWizardQFontDialog.py" line="136" />
       <source>Please open or create a file first.</source>
       <translation type="unfinished" />
     </message>
@@ -30968,37 +31158,37 @@
   <context>
     <name>HelpTocWidget</name>
     <message>
-      <location filename="../QtHelpInterface/HelpTocWidget.py" line="174" />
+      <location filename="../QtHelpInterface/HelpTocWidget.py" line="175" />
       <source>Open Link</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QtHelpInterface/HelpTocWidget.py" line="176" />
-      <source>Open Link in New Page</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QtHelpInterface/HelpTocWidget.py" line="177" />
+      <source>Open Link in New Page</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QtHelpInterface/HelpTocWidget.py" line="178" />
       <source>Open Link in Background Page</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QtHelpInterface/HelpTocWidget.py" line="179" />
-      <source>Open Link in New Tab</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QtHelpInterface/HelpTocWidget.py" line="180" />
-      <source>Open Link in Background Tab</source>
+      <source>Open Link in New Tab</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../QtHelpInterface/HelpTocWidget.py" line="181" />
+      <source>Open Link in Background Tab</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QtHelpInterface/HelpTocWidget.py" line="182" />
       <source>Open Link in New Window</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QtHelpInterface/HelpTocWidget.py" line="183" />
+      <location filename="../QtHelpInterface/HelpTocWidget.py" line="184" />
       <source>Copy URL to Clipboard</source>
       <translation type="unfinished" />
     </message>
@@ -42970,41 +43160,21 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Imports/translations.py" line="25" />
-      <source>Import statements are in the wrong order. '{0}' should be before '{1}'</source>
+      <source>unnecessary import alias - rewrite as '{0}'</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Imports/translations.py" line="28" />
+      <source>banned import '{0}' used</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Imports/translations.py" line="29" />
-      <source>Imported names are in the wrong order. Should be '{0}'</source>
+      <source>relative imports from parent modules are banned</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Imports/translations.py" line="32" />
-      <source>Import statements should be combined. '{0}' should be combined with '{1}'</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Imports/translations.py" line="36" />
-      <source>The names in __all__ are in the wrong order. The order should be '{0}'</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Imports/translations.py" line="40" />
-      <source>unnecessary import alias - rewrite as '{0}'</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Imports/translations.py" line="43" />
-      <source>banned import '{0}' used</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Imports/translations.py" line="44" />
-      <source>relative imports from parent modules are banned</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Imports/translations.py" line="47" />
       <source>relative imports are banned</source>
       <translation type="unfinished" />
     </message>
@@ -43050,28 +43220,28 @@
   <context>
     <name>InputDialogWizard</name>
     <message>
-      <location filename="../Plugins/PluginWizardQInputDialog.py" line="80" />
-      <location filename="../Plugins/PluginWizardQInputDialog.py" line="73" />
+      <location filename="../Plugins/PluginWizardQInputDialog.py" line="82" />
+      <location filename="../Plugins/PluginWizardQInputDialog.py" line="75" />
       <source>QInputDialog Wizard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQInputDialog.py" line="74" />
+      <location filename="../Plugins/PluginWizardQInputDialog.py" line="76" />
       <source>QInputDialog Wizard...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQInputDialog.py" line="82" />
+      <location filename="../Plugins/PluginWizardQInputDialog.py" line="84" />
       <source>&lt;b&gt;QInputDialog Wizard&lt;/b&gt;&lt;p&gt;This wizard opens a dialog for entering all the parameters needed to create a QInputDialog. The generated code is inserted at the current cursor position.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQInputDialog.py" line="133" />
+      <location filename="../Plugins/PluginWizardQInputDialog.py" line="135" />
       <source>No current editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQInputDialog.py" line="134" />
+      <location filename="../Plugins/PluginWizardQInputDialog.py" line="136" />
       <source>Please open or create a file first.</source>
       <translation type="unfinished" />
     </message>
@@ -49389,28 +49559,28 @@
   <context>
     <name>MessageBoxWizard</name>
     <message>
-      <location filename="../Plugins/PluginWizardQMessageBox.py" line="80" />
-      <location filename="../Plugins/PluginWizardQMessageBox.py" line="73" />
+      <location filename="../Plugins/PluginWizardQMessageBox.py" line="82" />
+      <location filename="../Plugins/PluginWizardQMessageBox.py" line="75" />
       <source>QMessageBox Wizard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQMessageBox.py" line="74" />
+      <location filename="../Plugins/PluginWizardQMessageBox.py" line="76" />
       <source>QMessageBox Wizard...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQMessageBox.py" line="82" />
+      <location filename="../Plugins/PluginWizardQMessageBox.py" line="84" />
       <source>&lt;b&gt;QMessageBox Wizard&lt;/b&gt;&lt;p&gt;This wizard opens a dialog for entering all the parameters needed to create a QMessageBox. The generated code is inserted at the current cursor position.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQMessageBox.py" line="133" />
+      <location filename="../Plugins/PluginWizardQMessageBox.py" line="135" />
       <source>No current editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQMessageBox.py" line="134" />
+      <location filename="../Plugins/PluginWizardQMessageBox.py" line="136" />
       <source>Please open or create a file first.</source>
       <translation type="unfinished" />
     </message>
@@ -49713,50 +49883,50 @@
   <context>
     <name>MicroPythonFileManager</name>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="291" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="293" />
       <source>The given name '{0}' is not a directory or does not exist.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="298" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="300" />
       <source>{1}Synchronizing &lt;b&gt;{0}&lt;/b&gt;.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="301" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="303" />
       <source>{1}Done synchronizing &lt;b&gt;{0}&lt;/b&gt;.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="429" />
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="349" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="431" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="351" />
       <source>{1}Adding &lt;b&gt;{0}&lt;/b&gt;...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="491" />
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="398" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="493" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="400" />
       <source>Source &lt;b&gt;{0}&lt;/b&gt; is a directory and destination &lt;b&gt;{1}&lt;/b&gt; is a file. Ignoring it.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="500" />
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="407" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="502" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="409" />
       <source>Source &lt;b&gt;{0}&lt;/b&gt; is a file and destination &lt;b&gt;{1}&lt;/b&gt; is a directory. Ignoring it.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="416" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="418" />
       <source>Updating &lt;b&gt;{0}&lt;/b&gt;...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="457" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="459" />
       <source>{1}Removing &lt;b&gt;{0}&lt;/b&gt;...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="509" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="511" />
       <source>{1}Updating &lt;b&gt;{0}&lt;/b&gt;...</source>
       <translation type="unfinished" />
     </message>
@@ -50100,15 +50270,16 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
-      <source>Serial Link</source>
+      <source>Device Communication</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
-      <source>Timeout for Serial Link Communication:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
+      <source>Serial Link Timeout:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
       <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
       <source>Enter the timout value</source>
       <translation type="unfinished" />
@@ -50116,11 +50287,22 @@
     <message>
       <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
       <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
       <source> s</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
+      <source>WebRepl Timeout:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
+      <source>Device Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
       <source>Select to synchronize the time after connection is established</source>
       <translation type="unfinished" />
     </message>
@@ -50213,8 +50395,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.py" line="354" />
-      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.py" line="337" />
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.py" line="364" />
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.py" line="347" />
       <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
       <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
       <source>Press to show the password</source>
@@ -50556,8 +50738,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.py" line="350" />
-      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.py" line="333" />
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.py" line="360" />
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.py" line="343" />
       <source>Press to hide the password</source>
       <translation type="unfinished" />
     </message>
@@ -50571,38 +50753,327 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonReplEdit</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonReplWidget.py" line="322" />
+      <source>Clear</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonReplWidget.py" line="327" />
+      <source>Copy</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonReplWidget.py" line="333" />
+      <source>Paste</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonReplWidget.py" line="340" />
+      <source>Select All</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
+    <name>MicroPythonWebreplConnectionDialog</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplConnectionDialog.py" line="97" />
+      <source>Press to hide the password.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplConnectionDialog.ui" line="0" />
+      <location filename="../MicroPython/MicroPythonWebreplConnectionDialog.py" line="101" />
+      <source>Press to show the password.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplConnectionDialog.ui" line="0" />
+      <source>WebREPL Connection</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplConnectionDialog.ui" line="0" />
+      <source>Host:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplConnectionDialog.ui" line="0" />
+      <source>Enter the host name or IPv4 address of the device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplConnectionDialog.ui" line="0" />
+      <source>Port:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplConnectionDialog.ui" line="0" />
+      <source>Enter the port of the WebREPL (empty for default port 8266).</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplConnectionDialog.ui" line="0" />
+      <source>Password:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplConnectionDialog.ui" line="0" />
+      <source>Enter the password for this device connection.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplConnectionDialog.ui" line="0" />
+      <source>Device Type:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplConnectionDialog.ui" line="0" />
+      <source>Select the device type</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
+    <name>MicroPythonWebreplDeviceInterface</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
+      <source>WebREPL Password</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="81" />
+      <source>Enter the WebREPL password:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="100" />
+      <source>WebREPL Login</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="101" />
+      <source>The login to the selected device 'webrepl' failed. The given password may be incorrect.</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
+    <name>MicroPythonWebreplParametersDialog</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>WebREPL Server Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Password (4-9 characters):</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Enter the password for the device WebREPL server.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Confirm Password:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Repeat the WebREPL server password.</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
+    <name>MicroPythonWebreplUrlAddEditDialog</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
+      <source>WebREPL URL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
+      <source>Name:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
+      <source>Enter a unique name for the WebREPL connection.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
+      <source>Description:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
+      <source>Enter a short description to be shown in the selector.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
+      <source>Host:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
+      <source>Enter the host name or IPv4 address of the device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
+      <source>Port:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
+      <source>Enter the port of the WebREPL (empty for default port 8266).</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
+      <source>Password:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
+      <source>Enter the password for this device connection.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
+      <source>Device Type:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
+      <source>Select the device type</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
+    <name>MicroPythonWebreplUrlsConfigDialog</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.py" line="138" />
+      <source>Remove Selected WebREPL URLs</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.py" line="139" />
+      <source>Shall the selected WebREPL URLs really be removed?</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.py" line="155" />
+      <source>Remove All WebREPL URLs</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.py" line="156" />
+      <source>Shall all WebREPL URLs really be removed?</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.ui" line="0" />
+      <source>WebREPL URLs</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.ui" line="0" />
+      <source>Name</source>
+      <translation type="unfinished">Name</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.ui" line="0" />
+      <source>Description</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.ui" line="0" />
+      <source>URL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.ui" line="0" />
+      <source>Press to add a new entry.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.ui" line="0" />
+      <source>Add...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.ui" line="0" />
+      <source>Press to edit the selected entry.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.ui" line="0" />
+      <source>Edit...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.ui" line="0" />
+      <source>Press to remove the selected entries.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.ui" line="0" />
+      <source>Remove</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.ui" line="0" />
+      <source>Press to remove all entries.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.ui" line="0" />
+      <source>Remove All</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.ui" line="0" />
+      <source>&lt;b&gt;Note:&lt;/b&gt; The name of an entry must be unique amongst the list.</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWidget</name>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="247" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="109" />
       <source>MicroPython Menu</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="306" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="145" />
       <source>&lt;h3&gt;The QtSerialPort package is not available.&lt;br/&gt;MicroPython support is deactivated.&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../MicroPython/MicroPythonWidget.py" line="347" />
-      <source>%n supported device(s) detected.</source>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="173" />
+      <source>%n supported serial device(s) detected.</source>
       <translation>
-        <numerusform>%n supported device detected.</numerusform>
-        <numerusform>%n supported devices detected.</numerusform>
+        <numerusform>%n supported serial device detected.</numerusform>
+        <numerusform>%n supported serial devices detected.</numerusform>
       </translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="361" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="187" />
       <source>{0} - {1} ({2})</source>
       <comment>board name, description, port name</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="381" />
-      <source>No supported devices detected.</source>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="210" />
+      <source>No supported serial devices detected.</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../MicroPython/MicroPythonWidget.py" line="385" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="214" />
       <source>
 %n unknown device(s) for manual selection.</source>
       <translation>
@@ -50613,70 +51084,66 @@
       </translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="392" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="221" />
       <source>Manual Selection</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="456" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="427" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="232" />
+      <source>WebREPL (manual)</source>
+      <translation type="unfinished" />
+    </message>
+    <message numerus="yes">
+      <location filename="../MicroPython/MicroPythonWidget.py" line="251" />
+      <source>
+%n WebREPL connection(s) defined.</source>
+      <translation>
+        <numerusform>
+%n WebREPL connection defined.</numerusform>
+        <numerusform>
+%n WebREPL connections defined.</numerusform>
+      </translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="311" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="282" />
       <source>Unknown MicroPython Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="428" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="283" />
       <source>&lt;p&gt;Detected these unknown serial devices&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please report them together with the board name and a short description to &lt;a href="mailto:{1}"&gt; the eric bug reporting address&lt;/a&gt; if it is a MicroPython board.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="440" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="295" />
       <source>{0} (0x{1:04x}/0x{2:04x})</source>
       <comment>description, VId, PId</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="457" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="312" />
       <source>Would you like to add them to the list of manually configured devices?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="592" />
-      <source>Clear</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="597" />
-      <source>Copy</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="603" />
-      <source>Paste</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="610" />
-      <source>Select All</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="636" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="451" />
       <source>Press to disconnect the current device</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/MicroPythonWidget.ui" line="0" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="641" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="456" />
       <source>Press to connect the selected device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="673" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="488" />
       <source>No device attached</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="674" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="489" />
       <source>Please ensure the device is plugged into your computer and selected.
 
 It must have a version of MicroPython (or CircuitPython) flashed onto it before anything will work.
@@ -50685,353 +51152,358 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="703" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="518" />
       <source>Start REPL</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="704" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="519" />
       <source>&lt;p&gt;The REPL cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1232" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1221" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="716" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="705" />
       <source>Serial Device Connect</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1222" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
       <source>&lt;p&gt;The device at serial port &lt;b&gt;{0}&lt;/b&gt; does not respond. It may not have a MicroPython firmware flashed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1233" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="717" />
       <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1291" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1282" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1273" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="780" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="771" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="762" />
       <source>Run Script</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1274" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="763" />
       <source>There is no editor open. Abort...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1283" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="772" />
       <source>The current editor does not contain a script. Abort...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1292" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="781" />
       <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1328" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="817" />
       <source>Start Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1329" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="818" />
       <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1344" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="833" />
       <source>µPy Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1361" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="850" />
       <source>Unsaved Chart Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1362" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="851" />
       <source>The chart contains unsaved data.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1410" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="899" />
       <source>Start File Manager</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1411" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="900" />
       <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1431" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="920" />
       <source>µPy Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1496" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="985" />
       <source>Downloads</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1543" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1032" />
       <source>Show Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1546" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1035" />
       <source>Show Implementation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1549" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1038" />
       <source>Show Board Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1735" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1554" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1229" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1043" />
       <source>Synchronize Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1557" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1046" />
       <source>Show Device Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1559" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1048" />
       <source>Show Local Time</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1051" />
+      <source>Show Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1055" />
+      <source>Show Builtin Modules</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1638" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1067" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1059" />
+      <source>Install Package</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1677" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1674" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1063" />
+      <source>Install Packages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1453" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1073" />
+      <source>Compile Python File</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1477" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1468" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1077" />
+      <source>Compile Current Editor</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1098" />
+      <source>Download Firmware</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1105" />
+      <source>Show Documentation</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1108" />
+      <source>Convert To UF2</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1109" />
+      <source>Flash UF2 Device</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1112" />
+      <source>Manage Unknown Devices</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1115" />
+      <source>Ignored Serial Devices</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1118" />
+      <source>Configure</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1127" />
+      <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1138" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1134" />
+      <source>Device Version Information</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1139" />
+      <source>No version information available.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1163" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1155" />
+      <source>unknown</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1169" />
+      <source> ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1185" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1176" />
+      <source>Device Implementation Information</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1177" />
+      <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}{2}&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1186" />
+      <source>No device implementation information available.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1230" />
+      <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1252" />
+      <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1260" />
+      <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1276" />
+      <source>Device Date and Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1288" />
+      <source>Local Date and Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1289" />
+      <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1330" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1313" />
+      <source>Date and Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1314" />
+      <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1331" />
+      <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1355" />
+      <source>Error handling device</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1356" />
+      <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1398" />
+      <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1424" />
+      <source>Python Files (*.py);;All Files (*)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1434" />
+      <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1443" />
+      <source>'mpy-cross' Output</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1469" />
+      <source>The current editor does not contain a Python file. Aborting...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1561" />
+      <source>Add Unknown Devices</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1562" />
-      <source>Show Time</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1566" />
-      <source>Show Builtin Modules</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="2144" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1578" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1570" />
-      <source>Install Package</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="2183" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="2180" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1574" />
-      <source>Install Packages</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1959" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1584" />
-      <source>Compile Python File</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1983" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1974" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1588" />
-      <source>Compile Current Editor</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1609" />
-      <source>Download Firmware</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1616" />
-      <source>Show Documentation</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1619" />
-      <source>Convert To UF2</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1620" />
-      <source>Flash UF2 Device</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1623" />
-      <source>Manage Unknown Devices</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1626" />
-      <source>Ignored Serial Devices</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1629" />
-      <source>Configure</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1638" />
-      <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1649" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1645" />
-      <source>Device Version Information</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1650" />
-      <source>No version information available.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1674" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1666" />
-      <source>unknown</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1680" />
-      <source> ({0})</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1696" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1687" />
-      <source>Device Implementation Information</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1688" />
-      <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}{2}&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1697" />
-      <source>No device implementation information available.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1736" />
-      <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1758" />
-      <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1766" />
-      <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1782" />
-      <source>Device Date and Time</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1794" />
-      <source>Local Date and Time</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1795" />
-      <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1836" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1819" />
-      <source>Date and Time</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1820" />
-      <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1837" />
-      <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1861" />
-      <source>Error handling device</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1862" />
-      <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1904" />
-      <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1930" />
-      <source>Python Files (*.py);;All Files (*)</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1940" />
-      <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1949" />
-      <source>'mpy-cross' Output</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1975" />
-      <source>The current editor does not contain a Python file. Aborting...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="2067" />
-      <source>Add Unknown Devices</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="2068" />
       <source>Select the devices to be added:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="2117" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1611" />
       <source>Plus any modules on the filesystem.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="2169" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1663" />
       <source>Package '{0}' was installed successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="2184" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1678" />
       <source>Enter the packages to be installed separated by whitespace:</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/MicroPythonWidget.ui" line="0" />
-      <source>Press to check for connected devices</source>
+      <source>Press to detect connected devices and repopulate the device selector.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.ui" line="0" />
+      <source>Press to edit the list of configured WebREPL connections.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -51217,29 +51689,29 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="569" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="571" />
       <source>MicroPython Firmware for BBC micro:bit V1</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="601" />
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="588" />
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="573" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="603" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="590" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="575" />
       <source>DAPLink Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="580" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="582" />
       <source>MicroPython Firmware for BBC micro:bit V2</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="584" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="586" />
       <source>CircuitPython Firmware for BBC micro:bit V2</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="597" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="599" />
       <source>MicroPython Firmware</source>
       <translation type="unfinished" />
     </message>
@@ -52406,282 +52878,312 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="210" />
-      <source>Do not use 'except (){0}:', it also catches unexpected events. Prefer 'except Exception:'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="215" />
+      <source>Do not use bare 'except:', it also catches unexpected events like memory errors, interrupts, system exit, and so on. Prefer 'except Exception:'. If you're sure what you're doing, be explicit and write 'except BaseException:'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="217" />
       <source>Python does not support the unary prefix increment</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="218" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="220" />
       <source>assigning to 'os.environ' does not clear the environment - use 'os.environ.clear()'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="223" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="225" />
       <source>using 'hasattr(x, "__call__")' to test if 'x' is callable is unreliable. Use 'callable(x)' for consistent results.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="228" />
-      <source>using .strip() with multi-character strings is misleading. Use .replace() or regular expressions to remove string fragments.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="233" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="230" />
+      <source>using .strip() with multi-character strings is misleading. Use .replace(), .removeprefix(), .removesuffix(), or regular expressions to remove string fragments.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="236" />
       <source>loop control variable {0} not used within the loop body - start the name with an underscore</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="238" />
-      <source>do not call getattr with a constant attribute value</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="241" />
-      <source>do not call setattr with a constant attribute value</source>
+      <source>do not call getattr with a constant attribute value</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="244" />
+      <source>do not call setattr with a constant attribute value</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="247" />
       <source>do not call assert False since python -O removes these calls</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="248" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="251" />
       <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="254" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="257" />
       <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="259" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="262" />
       <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="264" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="267" />
       <source>Result of comparison is not used. This line doesn't do anything. Did you intend to prepend it with assert?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="269" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="272" />
       <source>Cannot raise a literal. Did you intend to return it or raise an Exception?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="273" />
-      <source>'assertRaises(Exception):' should be considered evil. It can lead to your test passing even if the code being tested is never executed due to a typo. Either assert for a more specific exception (builtin or custom), use 'assertRaisesRegex', or use the context manager form of 'assertRaises'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="280" />
-      <source>Found useless expression. Consider either assigning it to a variable or removing it.</source>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="276" />
+      <source>'assertRaises(Exception)' and 'pytest.raises(Exception)' should be considered evil. They can lead to your test passing even if the code being tested is never executed due to a typo. Assert for a more specific exception (builtin or custom), or use 'assertRaisesRegex' (if using 'assertRaises'), or add the 'match' keyword argument (if using 'pytest.raises'), or use the context manager form with a target.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="285" />
+      <source>Found useless expression. Consider either assigning it to a variable or removing it.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="290" />
       <source>Use of 'functools.lru_cache' or 'functools.cache' on methods can lead to memory leaks. The cache may retain instance references, preventing garbage collection.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="291" />
-      <source>Found for loop that reassigns the iterable it is iterating with each iterable value.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="296" />
-      <source>f-string used as docstring. This will be interpreted by python as a joined string rather than a docstring.</source>
+      <source>Found for loop that reassigns the iterable it is iterating with each iterable value.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="301" />
-      <source>No arguments passed to 'contextlib.suppress'. No exceptions will be suppressed and therefore this context manager is redundant.</source>
+      <source>f-string used as docstring. This will be interpreted by python as a joined string rather than a docstring.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="306" />
+      <source>No arguments passed to 'contextlib.suppress'. No exceptions will be suppressed and therefore this context manager is redundant.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="311" />
       <source>Function definition does not bind loop variable '{0}'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="310" />
-      <source>{0} is an abstract base class, but it has no abstract methods. Remember to use the @abstractmethod decorator, potentially in conjunction with @classmethod, @property and/or @staticmethod.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="316" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="315" />
+      <source>{0} is an abstract base class, but none of the methods it defines are abstract. This is not necessarily an error, but you might have forgotten to add the @abstractmethod decorator, potentially in conjunction with @classmethod, @property and/or @staticmethod.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="322" />
       <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="321" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="327" />
       <source>Star-arg unpacking after a keyword argument is strongly discouraged, because it only works when the keyword parameter is declared after all parameters supplied by the unpacked sequence, and this change of ordering can surprise and mislead readers.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="328" />
-      <source>{0} is an empty method in an abstract base class, but has no abstract decorator. Consider adding @abstractmethod.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="333" />
-      <source>unncessary f-string</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="334" />
-      <source>cannot use 'self.__class__' as first argument of 'super()' call</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="338" />
-      <source>found {0} formatter</source>
+      <source>{0} is an empty method in an abstract base class, but has no abstract decorator. Consider adding @abstractmethod.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="339" />
-      <source>format string does contain unindexed parameters</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="342" />
-      <source>docstring does contain unindexed parameters</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="345" />
-      <source>other string does contain unindexed parameters</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="348" />
-      <source>format call uses too large index ({0})</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="351" />
-      <source>format call uses missing keyword ({0})</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="354" />
-      <source>format call uses keyword arguments but no named entries</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="358" />
-      <source>format call uses variable arguments but no numbered entries</source>
+      <source>No explicit stacklevel argument found. The warn method from the warnings module uses a stacklevel of 1 by default. This will only show a stack trace for the line on which the warn method is called. It is therefore recommended to use a stacklevel of 2 or greater to provide more information to the user.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="347" />
+      <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="352" />
+      <source>Except handlers should only be names of exception classes</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="356" />
+      <source>Using the generator returned from 'itertools.groupby()' more than once will do nothing on the second usage. Save the result to a list, if the result is needed multiple times.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="362" />
-      <source>format call uses implicit and explicit indexes together</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="366" />
-      <source>format call provides unused index ({0})</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="369" />
-      <source>format call provides unused keyword ({0})</source>
+      <source>Possible unintentional type annotation (using ':'). Did you mean to assign (using '=')?</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="367" />
+      <source>Sets should not contain duplicate items. Duplicate items will be replaced with a single item at runtime.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="372" />
-      <source>logging statement uses string.format()</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="375" />
-      <source>logging statement uses '%'</source>
+      <source>unncessary f-string</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="373" />
+      <source>cannot use 'self.__class__' as first argument of 'super()' call</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="377" />
+      <source>found {0} formatter</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="378" />
-      <source>logging statement uses '+'</source>
+      <source>format string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="381" />
-      <source>logging statement uses f-string</source>
+      <source>docstring does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="384" />
-      <source>logging statement uses 'warn' instead of 'warning'</source>
+      <source>other string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="387" />
-      <source>expected these __future__ imports: {0}; but only got: {1}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="391" />
-      <source>expected these __future__ imports: {0}; but got none</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="394" />
-      <source>gettext import with alias _ found: {0}</source>
+      <source>format call uses too large index ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="390" />
+      <source>format call uses missing keyword ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="393" />
+      <source>format call uses keyword arguments but no named entries</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="397" />
-      <source>print statement found</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="398" />
-      <source>one element tuple found</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="404" />
+      <source>format call uses variable arguments but no numbered entries</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="401" />
-      <source>mutable default argument of type {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="407" />
-      <source>mutable default argument of function call '{0}'</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="410" />
-      <source>None should not be added at any return if function has no return value except None</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="415" />
-      <source>an explicit value at every return should be added if function has a return value except None</source>
+      <source>format call uses implicit and explicit indexes together</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="405" />
+      <source>format call provides unused index ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="408" />
+      <source>format call provides unused keyword ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="411" />
+      <source>logging statement uses string.format()</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="414" />
+      <source>logging statement uses '%'</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="417" />
+      <source>logging statement uses '+'</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="420" />
-      <source>an explicit return at the end of the function should be added if it has a return value except None</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="425" />
-      <source>a value should not be assigned to a variable if it will be used as a return value only</source>
+      <source>logging statement uses f-string</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="423" />
+      <source>logging statement uses 'warn' instead of 'warning'</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="426" />
+      <source>expected these __future__ imports: {0}; but only got: {1}</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="430" />
+      <source>expected these __future__ imports: {0}; but got none</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="433" />
+      <source>gettext import with alias _ found: {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="436" />
+      <source>print statement found</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="437" />
+      <source>one element tuple found</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="443" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="440" />
+      <source>mutable default argument of type {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="446" />
+      <source>mutable default argument of function call '{0}'</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="449" />
+      <source>None should not be added at any return if function has no return value except None</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="454" />
+      <source>an explicit value at every return should be added if function has a return value except None</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="459" />
+      <source>an explicit return at the end of the function should be added if it has a return value except None</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="464" />
+      <source>a value should not be assigned to a variable if it will be used as a return value only</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="469" />
       <source>prefer implied line continuation inside parentheses, brackets and braces as opposed to a backslash</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="435" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="474" />
       <source>commented code lines should be removed</source>
       <translation type="unfinished" />
     </message>
@@ -53169,6 +53671,34 @@
     </message>
   </context>
   <context>
+    <name>NameOrderChecker</name>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/NameOrder/translations.py" line="14" />
+      <source>Import statements are in the wrong order. '{0}' should be before '{1}'</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/NameOrder/translations.py" line="18" />
+      <source>Imported names are in the wrong order. Should be '{0}'</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/NameOrder/translations.py" line="21" />
+      <source>Import statements should be combined. '{0}' should be combined with '{1}'</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/NameOrder/translations.py" line="25" />
+      <source>The names in __all__ are in the wrong order. The order should be '{0}'</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/NameOrder/translations.py" line="29" />
+      <source>The names in the exception handler list are in the wrong order. The order should be '{0}'</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>NamingStyleChecker</name>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Naming/translations.py" line="15" />
@@ -55648,7 +56178,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PdfViewer/PdfZoomSelector.py" line="115" />
+      <location filename="../PdfViewer/PdfZoomSelector.py" line="116" />
       <location filename="../PdfViewer/PdfZoomSelector.py" line="62" />
       <source>{0}%</source>
       <translation type="unfinished" />
@@ -57519,32 +58049,32 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="372" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="384" />
       <source>&lt;p&gt;The plugin module &lt;b&gt;{0}&lt;/b&gt; does not contain a 'packageName' attribute. Aborting...&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="382" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="394" />
       <source>&lt;p&gt;The plugin module &lt;b&gt;{0}&lt;/b&gt; does not conform with the PyQt v2 API. Aborting...&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="397" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="409" />
       <source>&lt;p&gt;The plugin package &lt;b&gt;{0}&lt;/b&gt; exists. Aborting...&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="411" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="423" />
       <source>&lt;p&gt;The plugin module &lt;b&gt;{0}&lt;/b&gt; exists. Aborting...&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="490" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="502" />
       <source>Error installing plugin. Reason: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="496" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="508" />
       <source>Unspecific exception installing plugin.</source>
       <translation type="unfinished" />
     </message>
@@ -57552,52 +58082,52 @@
   <context>
     <name>PluginManager</name>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="218" />
+      <location filename="../PluginManager/PluginManager.py" line="219" />
       <source>Could not create a package for {0}.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="250" />
+      <location filename="../PluginManager/PluginManager.py" line="251" />
       <source>The internal plugin directory &lt;b&gt;{0}&lt;/b&gt; does not exits.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="422" />
+      <location filename="../PluginManager/PluginManager.py" line="423" />
       <source>Module is missing the 'autoactivate' attribute.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="433" />
+      <location filename="../PluginManager/PluginManager.py" line="434" />
       <source>Module is missing the 'pluginType' and/or 'pluginTypename' attributes.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="461" />
+      <location filename="../PluginManager/PluginManager.py" line="462" />
       <source>Module failed to load. Error: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="636" />
+      <location filename="../PluginManager/PluginManager.py" line="637" />
       <source>Incompatible plugin activation method.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1219" />
+      <location filename="../PluginManager/PluginManager.py" line="1222" />
       <source>Plugin Manager Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1220" />
+      <location filename="../PluginManager/PluginManager.py" line="1223" />
       <source>&lt;p&gt;The plugin download directory &lt;b&gt;{0}&lt;/b&gt; could not be created. Please configure it via the configuration dialog.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1307" />
+      <location filename="../PluginManager/PluginManager.py" line="1310" />
       <source>Error downloading file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginManager.py" line="1308" />
+      <location filename="../PluginManager/PluginManager.py" line="1311" />
       <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>
@@ -58135,42 +58665,42 @@
   <context>
     <name>PluginUninstallWidget</name>
     <message>
-      <location filename="../PluginManager/PluginUninstallDialog.py" line="57" />
+      <location filename="../PluginManager/PluginUninstallDialog.py" line="58" />
       <source>User plugins directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginUninstallDialog.py" line="63" />
+      <location filename="../PluginManager/PluginUninstallDialog.py" line="64" />
       <source>Global plugins directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginUninstallDialog.py" line="237" />
-      <location filename="../PluginManager/PluginUninstallDialog.py" line="227" />
-      <location filename="../PluginManager/PluginUninstallDialog.py" line="214" />
-      <location filename="../PluginManager/PluginUninstallDialog.py" line="156" />
-      <location filename="../PluginManager/PluginUninstallDialog.py" line="140" />
+      <location filename="../PluginManager/PluginUninstallDialog.py" line="241" />
+      <location filename="../PluginManager/PluginUninstallDialog.py" line="231" />
+      <location filename="../PluginManager/PluginUninstallDialog.py" line="218" />
+      <location filename="../PluginManager/PluginUninstallDialog.py" line="157" />
+      <location filename="../PluginManager/PluginUninstallDialog.py" line="141" />
       <source>Plugin Uninstallation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginUninstallDialog.py" line="141" />
+      <location filename="../PluginManager/PluginUninstallDialog.py" line="142" />
       <source>&lt;p&gt;The plugin &lt;b&gt;{0}&lt;/b&gt; could not be unloaded. Aborting...&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginUninstallDialog.py" line="157" />
+      <location filename="../PluginManager/PluginUninstallDialog.py" line="158" />
       <source>&lt;p&gt;The plugin &lt;b&gt;{0}&lt;/b&gt; has no 'packageName' attribute. Aborting...&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginUninstallDialog.py" line="215" />
+      <location filename="../PluginManager/PluginUninstallDialog.py" line="219" />
       <source>&lt;p&gt;The plugin package &lt;b&gt;{0}&lt;/b&gt; could not be removed. Aborting...&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PluginManager/PluginUninstallDialog.py" line="238" />
-      <location filename="../PluginManager/PluginUninstallDialog.py" line="228" />
+      <location filename="../PluginManager/PluginUninstallDialog.py" line="242" />
+      <location filename="../PluginManager/PluginUninstallDialog.py" line="232" />
       <source>&lt;p&gt;The plugin &lt;b&gt;{0}&lt;/b&gt; was uninstalled successfully from {1}.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -58436,18 +58966,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1815" />
+      <location filename="../Preferences/__init__.py" line="1822" />
       <source>Export Preferences</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1844" />
-      <location filename="../Preferences/__init__.py" line="1817" />
+      <location filename="../Preferences/__init__.py" line="1851" />
+      <location filename="../Preferences/__init__.py" line="1824" />
       <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="1849" />
       <source>Import Preferences</source>
       <translation type="unfinished" />
     </message>
@@ -60859,22 +61389,22 @@
   <context>
     <name>ProjectFile</name>
     <message>
-      <location filename="../Project/ProjectFile.py" line="109" />
+      <location filename="../Project/ProjectFile.py" line="99" />
       <source>Save Project File</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/ProjectFile.py" line="110" />
+      <location filename="../Project/ProjectFile.py" line="100" />
       <source>&lt;p&gt;The project file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/ProjectFile.py" line="135" />
+      <location filename="../Project/ProjectFile.py" line="125" />
       <source>Read Project File</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/ProjectFile.py" line="136" />
+      <location filename="../Project/ProjectFile.py" line="126" />
       <source>&lt;p&gt;The project file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -63660,28 +64190,28 @@
   <context>
     <name>PyRegExpWizard</name>
     <message>
-      <location filename="../Plugins/PluginWizardPyRegExp.py" line="80" />
-      <location filename="../Plugins/PluginWizardPyRegExp.py" line="73" />
+      <location filename="../Plugins/PluginWizardPyRegExp.py" line="82" />
+      <location filename="../Plugins/PluginWizardPyRegExp.py" line="75" />
       <source>Python re Wizard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardPyRegExp.py" line="74" />
+      <location filename="../Plugins/PluginWizardPyRegExp.py" line="76" />
       <source>Python re Wizard...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardPyRegExp.py" line="82" />
+      <location filename="../Plugins/PluginWizardPyRegExp.py" line="84" />
       <source>&lt;b&gt;Python re Wizard&lt;/b&gt;&lt;p&gt;This wizard opens a dialog for entering all the parameters needed to create a Python re string. The generated code is inserted at the current cursor position.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardPyRegExp.py" line="133" />
+      <location filename="../Plugins/PluginWizardPyRegExp.py" line="135" />
       <source>No current editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardPyRegExp.py" line="134" />
+      <location filename="../Plugins/PluginWizardPyRegExp.py" line="136" />
       <source>Please open or create a file first.</source>
       <translation type="unfinished" />
     </message>
@@ -65325,28 +65855,28 @@
   <context>
     <name>QRegularExpressionWizard</name>
     <message>
-      <location filename="../Plugins/PluginWizardQRegularExpression.py" line="80" />
-      <location filename="../Plugins/PluginWizardQRegularExpression.py" line="73" />
+      <location filename="../Plugins/PluginWizardQRegularExpression.py" line="82" />
+      <location filename="../Plugins/PluginWizardQRegularExpression.py" line="75" />
       <source>QRegularExpression Wizard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQRegularExpression.py" line="74" />
+      <location filename="../Plugins/PluginWizardQRegularExpression.py" line="76" />
       <source>QRegularExpression Wizard...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQRegularExpression.py" line="82" />
+      <location filename="../Plugins/PluginWizardQRegularExpression.py" line="84" />
       <source>&lt;b&gt;QRegularExpression Wizard&lt;/b&gt;&lt;p&gt;This wizard opens a dialog for entering all the parameters needed to create a QRegularExpression string. The generated code is inserted at the current cursor position.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQRegularExpression.py" line="133" />
+      <location filename="../Plugins/PluginWizardQRegularExpression.py" line="135" />
       <source>No current editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQRegularExpression.py" line="134" />
+      <location filename="../Plugins/PluginWizardQRegularExpression.py" line="136" />
       <source>Please open or create a file first.</source>
       <translation type="unfinished" />
     </message>
@@ -68470,88 +69000,93 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="364" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="365" />
       <source>MicroPython Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="368" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="369" />
       <source>Pimoroni Pico Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="371" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="372" />
       <source>CircuitPython Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="375" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="376" />
       <source>CircuitPython Libraries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="427" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="428" />
       <source>Set Country</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="983" />
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="618" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="978" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="617" />
       <source>unknown ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1093" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1088" />
       <source>Pico Wireless does not support setting the IPv4 parameters of the WiFi access point.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1168" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1161" />
       <source>Pico Wireless does not support reporting of connected clients.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1259" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1215" />
+      <source>WebREPL is not supported on this device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1341" />
       <source>Active</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1260" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1342" />
       <source>Connected</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1263" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1345" />
       <source>Status</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1267" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1349" />
       <source>Hostname</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1268" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1350" />
       <source>IPv4 Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1269" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1351" />
       <source>Netmask</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1270" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1352" />
       <source>Gateway</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1271" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1353" />
       <source>DNS</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1272" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1354" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
@@ -69357,7 +69892,7 @@
   <context>
     <name>SearchReplaceWidget</name>
     <message>
-      <location filename="../QScintilla/SearchReplaceWidget.py" line="64" />
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="65" />
       <source>&lt;b&gt;Find and Replace&lt;/b&gt;
 &lt;p&gt;This dialog is used to find some text and replace it with another text.
 By checking the various checkboxes, the search can be made more specific.
@@ -69367,7 +69902,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/SearchReplaceWidget.py" line="72" />
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="73" />
       <source>&lt;table border="0"&gt;
 &lt;tr&gt;&lt;td&gt;&lt;code&gt;.&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Matches any character&lt;/td&gt;&lt;/tr&gt;
 &lt;tr&gt;&lt;td&gt;&lt;code&gt;(&lt;/code&gt;&lt;/td&gt;&lt;td&gt;This marks the start of a region for tagging a
@@ -69416,49 +69951,74 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/SearchReplaceWidget.py" line="151" />
-      <location filename="../QScintilla/SearchReplaceWidget.py" line="150" />
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="155" />
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="154" />
       <source>Find Next</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/SearchReplaceWidget.py" line="164" />
-      <location filename="../QScintilla/SearchReplaceWidget.py" line="163" />
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="168" />
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="167" />
       <source>Find Prev</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/SearchReplaceWidget.py" line="177" />
-      <location filename="../QScintilla/SearchReplaceWidget.py" line="176" />
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="181" />
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="180" />
       <source>Replace and Search</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/SearchReplaceWidget.py" line="191" />
-      <location filename="../QScintilla/SearchReplaceWidget.py" line="190" />
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="195" />
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="194" />
       <source>Replace Occurrence</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/SearchReplaceWidget.py" line="205" />
-      <location filename="../QScintilla/SearchReplaceWidget.py" line="204" />
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="209" />
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="208" />
       <source>Replace All</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/SearchReplaceWidget.py" line="1045" />
-      <location filename="../QScintilla/SearchReplaceWidget.py" line="597" />
-      <location filename="../QScintilla/SearchReplaceWidget.py" line="559" />
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="297" />
+      <source>Press to find the next occurrence ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="304" />
+      <source>Press to find the previous occurrence ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="311" />
+      <source>Press to replace the selection and search for the next occurence ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="321" />
+      <source>Press to replace the selection ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="328" />
+      <source>Press to replace all occurrences ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="1114" />
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="665" />
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="627" />
       <source>'{0}' was not found.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/SearchReplaceWidget.py" line="1198" />
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="1267" />
       <source>Replaced {0} occurrences.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/SearchReplaceWidget.py" line="1204" />
+      <location filename="../QScintilla/SearchReplaceWidget.py" line="1273" />
       <source>Nothing replaced because '{0}' was not found.</source>
       <translation type="unfinished" />
     </message>
@@ -70351,60 +70911,60 @@
   <context>
     <name>SetupWizard</name>
     <message>
-      <location filename="../Plugins/PluginWizardSetup.py" line="90" />
-      <location filename="../Plugins/PluginWizardSetup.py" line="83" />
+      <location filename="../Plugins/PluginWizardSetup.py" line="92" />
+      <location filename="../Plugins/PluginWizardSetup.py" line="85" />
       <source>setup.py Wizard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardSetup.py" line="84" />
+      <location filename="../Plugins/PluginWizardSetup.py" line="86" />
       <source>setup.py Wizard...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardSetup.py" line="92" />
+      <location filename="../Plugins/PluginWizardSetup.py" line="94" />
       <source>&lt;b&gt;setup.py Wizard&lt;/b&gt;&lt;p&gt;This wizard opens a dialog for entering all the parameters needed to create the basic contents of a setup.py file. The generated code is inserted at the current cursor position.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardSetup.py" line="112" />
-      <location filename="../Plugins/PluginWizardSetup.py" line="105" />
-      <source>setup.cfg Wizard</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/PluginWizardSetup.py" line="106" />
-      <source>setup.cfg Wizard...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/PluginWizardSetup.py" line="114" />
+      <location filename="../Plugins/PluginWizardSetup.py" line="107" />
+      <source>setup.cfg Wizard</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/PluginWizardSetup.py" line="108" />
+      <source>setup.cfg Wizard...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/PluginWizardSetup.py" line="116" />
       <source>&lt;b&gt;setup.cfg Wizard&lt;/b&gt;&lt;p&gt;This wizard opens a dialog for entering all the parameters needed to create the basic contents of a setup.cfg file. The generated code is inserted at the current cursor position.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardSetup.py" line="134" />
-      <location filename="../Plugins/PluginWizardSetup.py" line="127" />
-      <source>pyproject.toml Wizard</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/PluginWizardSetup.py" line="128" />
-      <source>pyproject.toml Wizard...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/PluginWizardSetup.py" line="136" />
+      <location filename="../Plugins/PluginWizardSetup.py" line="129" />
+      <source>pyproject.toml Wizard</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/PluginWizardSetup.py" line="130" />
+      <source>pyproject.toml Wizard...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/PluginWizardSetup.py" line="138" />
       <source>&lt;b&gt;pyproject.toml Wizard&lt;/b&gt;&lt;p&gt;This wizard opens a dialog for entering all the parameters needed to create the basic contents of a pyproject.toml file. The generated code is inserted at the current cursor position.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardSetup.py" line="173" />
+      <location filename="../Plugins/PluginWizardSetup.py" line="175" />
       <source>No current editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardSetup.py" line="174" />
+      <location filename="../Plugins/PluginWizardSetup.py" line="176" />
       <source>Please open or create a file first.</source>
       <translation type="unfinished" />
     </message>
@@ -72335,6 +72895,7 @@
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="175" />
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="166" />
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="163" />
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="157" />
@@ -74236,53 +74797,53 @@
   <context>
     <name>StartDialog</name>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="154" />
+      <location filename="../Debugger/StartDialog.py" line="155" />
       <source>Python Files (*.py *.py3);;Python GUI Files (*.pyw *.pyw3);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="172" />
+      <location filename="../Debugger/StartDialog.py" line="173" />
       <source>Clear Histories</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="388" />
-      <location filename="../Debugger/StartDialog.py" line="175" />
+      <location filename="../Debugger/StartDialog.py" line="393" />
+      <location filename="../Debugger/StartDialog.py" line="176" />
       <source>Edit History</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="215" />
+      <location filename="../Debugger/StartDialog.py" line="216" />
       <source>Enter the list of programs or program patterns not to be debugged separated by '{0}'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="371" />
+      <location filename="../Debugger/StartDialog.py" line="376" />
       <source>Script Name</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="372" />
+      <location filename="../Debugger/StartDialog.py" line="377" />
       <source>Script Parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="373" />
+      <location filename="../Debugger/StartDialog.py" line="378" />
       <source>Working Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="374" />
+      <location filename="../Debugger/StartDialog.py" line="379" />
       <source>Environment</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="384" />
-      <source>No Debug Programs</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Debugger/StartDialog.py" line="389" />
+      <source>No Debug Programs</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="394" />
       <source>Select the history list to be edited:</source>
       <translation type="unfinished" />
     </message>
@@ -81440,28 +82001,28 @@
   <context>
     <name>SyntaxCheckerPlugin</name>
     <message>
-      <location filename="../Plugins/PluginSyntaxChecker.py" line="285" />
-      <location filename="../Plugins/PluginSyntaxChecker.py" line="203" />
-      <location filename="../Plugins/PluginSyntaxChecker.py" line="184" />
+      <location filename="../Plugins/PluginSyntaxChecker.py" line="287" />
+      <location filename="../Plugins/PluginSyntaxChecker.py" line="205" />
+      <location filename="../Plugins/PluginSyntaxChecker.py" line="186" />
       <source>Check Syntax</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginSyntaxChecker.py" line="285" />
-      <location filename="../Plugins/PluginSyntaxChecker.py" line="203" />
-      <location filename="../Plugins/PluginSyntaxChecker.py" line="185" />
+      <location filename="../Plugins/PluginSyntaxChecker.py" line="287" />
+      <location filename="../Plugins/PluginSyntaxChecker.py" line="205" />
+      <location filename="../Plugins/PluginSyntaxChecker.py" line="187" />
       <source>&amp;Syntax...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginSyntaxChecker.py" line="191" />
+      <location filename="../Plugins/PluginSyntaxChecker.py" line="193" />
       <source>Check syntax.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginSyntaxChecker.py" line="288" />
-      <location filename="../Plugins/PluginSyntaxChecker.py" line="206" />
-      <location filename="../Plugins/PluginSyntaxChecker.py" line="193" />
+      <location filename="../Plugins/PluginSyntaxChecker.py" line="290" />
+      <location filename="../Plugins/PluginSyntaxChecker.py" line="208" />
+      <location filename="../Plugins/PluginSyntaxChecker.py" line="195" />
       <source>&lt;b&gt;Check Syntax...&lt;/b&gt;&lt;p&gt;This checks Python files for syntax errors.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -82539,7 +83100,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/TeensyDevices.py" line="315" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="316" />
       <location filename="../MicroPython/Devices/TeensyDevices.py" line="154" />
       <source>Flash MicroPython Firmware</source>
       <translation type="unfinished" />
@@ -82580,17 +83141,17 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/TeensyDevices.py" line="316" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="317" />
       <source>&lt;p&gt;Teensy 4.0 and Teensy 4.1 are flashed using the 'Teensy Loader' application. Make sure you downloaded the MicroPython or CircuitPython .hex file.&lt;/p&gt;&lt;p&gt;See &lt;a href="{0}"&gt;the PJRC Teensy web site&lt;/a&gt; for details.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/TeensyDevices.py" line="338" />
-      <source>Start 'Teensy Loader'</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/Devices/TeensyDevices.py" line="339" />
+      <source>Start 'Teensy Loader'</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="340" />
       <source>&lt;p&gt;The 'Teensy Loader' application &lt;b&gt;teensy&lt;/b&gt; could not be started. Ensure it is in the application search path or start it manually.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -83036,12 +83597,12 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="392" />
+      <location filename="../Testing/TestResultsTree.py" line="400" />
       <source>No results to show</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="403" />
+      <location filename="../Testing/TestResultsTree.py" line="411" />
       <source>Collected %n test(s)</source>
       <translation>
         <numerusform>Collected %n test</numerusform>
@@ -83049,7 +83610,7 @@
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="405" />
+      <location filename="../Testing/TestResultsTree.py" line="413" />
       <source>%n test(s)/subtest(s) total, {0} failed, {1} passed, {2} skipped, {3} pending</source>
       <translation>
         <numerusform>%n test)/subtest total, {0} failed, {1} passed, {2} skipped, {3} pending</numerusform>
@@ -83060,29 +83621,29 @@
   <context>
     <name>TestResultsTreeView</name>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="591" />
+      <location filename="../Testing/TestResultsTree.py" line="597" />
       <source>Collapse</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="593" />
+      <location filename="../Testing/TestResultsTree.py" line="599" />
       <source>Expand</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="598" />
+      <location filename="../Testing/TestResultsTree.py" line="604" />
       <source>Show Source</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="616" />
-      <location filename="../Testing/TestResultsTree.py" line="603" />
+      <location filename="../Testing/TestResultsTree.py" line="622" />
+      <location filename="../Testing/TestResultsTree.py" line="609" />
       <source>Collapse All</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="617" />
-      <location filename="../Testing/TestResultsTree.py" line="604" />
+      <location filename="../Testing/TestResultsTree.py" line="623" />
+      <location filename="../Testing/TestResultsTree.py" line="610" />
       <source>Expand All</source>
       <translation type="unfinished" />
     </message>
@@ -83389,68 +83950,68 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="637" />
+      <location filename="../Testing/TestingWidget.py" line="639" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="642" />
+      <location filename="../Testing/TestingWidget.py" line="644" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="800" />
+      <location filename="../Testing/TestingWidget.py" line="802" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="814" />
+      <location filename="../Testing/TestingWidget.py" line="816" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="823" />
+      <location filename="../Testing/TestingWidget.py" line="825" />
       <source>No version information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="826" />
+      <location filename="../Testing/TestingWidget.py" line="828" />
       <source>Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="863" />
+      <location filename="../Testing/TestingWidget.py" line="865" />
       <source>Preparing Testsuite</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="926" />
+      <location filename="../Testing/TestingWidget.py" line="928" />
       <source>pending</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="954" />
+      <location filename="../Testing/TestingWidget.py" line="957" />
       <source>Failure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="964" />
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="967" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Collection Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="965" />
+      <location filename="../Testing/TestingWidget.py" line="968" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="986" />
+      <location filename="../Testing/TestingWidget.py" line="990" />
       <source>running</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1037" />
+      <location filename="../Testing/TestingWidget.py" line="1041" />
       <source>Ran %n test(s) in {0}s</source>
       <translation>
         <numerusform>Ran %n test in {0}s</numerusform>
@@ -83458,7 +84019,7 @@
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1049" />
+      <location filename="../Testing/TestingWidget.py" line="1053" />
       <source>Ran %n test(s)</source>
       <translation>
         <numerusform>Ran %n test</numerusform>
@@ -83466,12 +84027,12 @@
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1070" />
+      <location filename="../Testing/TestingWidget.py" line="1074" />
       <source>not run</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1113" />
+      <location filename="../Testing/TestingWidget.py" line="1117" />
       <source>Test Run Output</source>
       <translation type="unfinished" />
     </message>
@@ -84777,7 +85338,7 @@
   <context>
     <name>TranslatorPlugin</name>
     <message>
-      <location filename="../Plugins/PluginTranslator.py" line="72" />
+      <location filename="../Plugins/PluginTranslator.py" line="74" />
       <source>Translator</source>
       <translation type="unfinished" />
     </message>
@@ -86045,6 +86606,20 @@
     </message>
   </context>
   <context>
+    <name>UnusedChecker</name>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Unused/translations.py" line="15" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Unused/translations.py" line="14" />
+      <source>Unused argument '{0}'</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Unused/translations.py" line="17" />
+      <source>Unused global variable '{0}'</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>UrlBar</name>
     <message>
       <location filename="../WebBrowser/UrlBar/UrlBar.py" line="46" />
@@ -88818,7 +89393,7 @@
   <context>
     <name>Utilities</name>
     <message>
-      <location filename="../Utilities/__init__.py" line="991" />
+      <location filename="../Utilities/__init__.py" line="989" />
       <source>&lt;p&gt;You may use %-codes as placeholders in the string. Supported codes are:&lt;table&gt;&lt;tr&gt;&lt;td&gt;%C&lt;/td&gt;&lt;td&gt;column of the cursor of the current editor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%D&lt;/td&gt;&lt;td&gt;directory of the current editor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%F&lt;/td&gt;&lt;td&gt;filename of the current editor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%H&lt;/td&gt;&lt;td&gt;home directory of the current user&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%L&lt;/td&gt;&lt;td&gt;line of the cursor of the current editor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%P&lt;/td&gt;&lt;td&gt;path of the current project&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%S&lt;/td&gt;&lt;td&gt;selected text of the current editor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%U&lt;/td&gt;&lt;td&gt;username of the current user&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%%&lt;/td&gt;&lt;td&gt;the percent sign&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -89155,40 +89730,40 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/VariablesViewer.py" line="1040" />
+      <location filename="../Debugger/VariablesViewer.py" line="1042" />
       <source>Show Details...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/VariablesViewer.py" line="1042" />
-      <source>Expand</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/VariablesViewer.py" line="1043" />
-      <source>Collapse</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Debugger/VariablesViewer.py" line="1044" />
+      <source>Expand</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/VariablesViewer.py" line="1045" />
+      <source>Collapse</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/VariablesViewer.py" line="1046" />
       <source>Collapse All</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/VariablesViewer.py" line="1052" />
-      <location filename="../Debugger/VariablesViewer.py" line="1046" />
-      <source>Refresh</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Debugger/VariablesViewer.py" line="1054" />
       <location filename="../Debugger/VariablesViewer.py" line="1048" />
-      <source>Configure...</source>
+      <source>Refresh</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Debugger/VariablesViewer.py" line="1056" />
-      <location filename="../Debugger/VariablesViewer.py" line="1049" />
+      <location filename="../Debugger/VariablesViewer.py" line="1050" />
+      <source>Configure...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/VariablesViewer.py" line="1058" />
+      <location filename="../Debugger/VariablesViewer.py" line="1051" />
       <source>Variables Type Filter...</source>
       <translation type="unfinished" />
     </message>
@@ -89402,13 +89977,13 @@
   <context>
     <name>VcsGitPlugin</name>
     <message>
-      <location filename="../Plugins/PluginVcsGit.py" line="53" />
+      <location filename="../Plugins/PluginVcsGit.py" line="55" />
       <source>Version Control - Git</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginVcsGit.py" line="127" />
-      <location filename="../Plugins/PluginVcsGit.py" line="93" />
+      <location filename="../Plugins/PluginVcsGit.py" line="129" />
+      <location filename="../Plugins/PluginVcsGit.py" line="95" />
       <source>Git</source>
       <translation type="unfinished" />
     </message>
@@ -89416,13 +89991,13 @@
   <context>
     <name>VcsMercurialPlugin</name>
     <message>
-      <location filename="../Plugins/PluginVcsMercurial.py" line="52" />
+      <location filename="../Plugins/PluginVcsMercurial.py" line="56" />
       <source>Version Control - Mercurial</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginVcsMercurial.py" line="126" />
-      <location filename="../Plugins/PluginVcsMercurial.py" line="90" />
+      <location filename="../Plugins/PluginVcsMercurial.py" line="130" />
+      <location filename="../Plugins/PluginVcsMercurial.py" line="94" />
       <source>Mercurial</source>
       <translation type="unfinished" />
     </message>
@@ -89779,17 +90354,17 @@
   <context>
     <name>VcsPySvnPlugin</name>
     <message>
-      <location filename="../Plugins/PluginVcsPySvn.py" line="59" />
+      <location filename="../Plugins/PluginVcsPySvn.py" line="61" />
       <source>Version Control - Subversion (pysvn)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginVcsPySvn.py" line="92" />
+      <location filename="../Plugins/PluginVcsPySvn.py" line="94" />
       <source>Subversion (pysvn)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginVcsPySvn.py" line="128" />
+      <location filename="../Plugins/PluginVcsPySvn.py" line="130" />
       <source>Subversion</source>
       <translation type="unfinished" />
     </message>
@@ -89828,17 +90403,17 @@
   <context>
     <name>VcsSubversionPlugin</name>
     <message>
-      <location filename="../Plugins/PluginVcsSubversion.py" line="56" />
+      <location filename="../Plugins/PluginVcsSubversion.py" line="60" />
       <source>Version Control - Subversion (svn)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginVcsSubversion.py" line="98" />
+      <location filename="../Plugins/PluginVcsSubversion.py" line="102" />
       <source>Subversion (svn)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginVcsSubversion.py" line="133" />
+      <location filename="../Plugins/PluginVcsSubversion.py" line="137" />
       <source>Subversion</source>
       <translation type="unfinished" />
     </message>
@@ -95159,7 +95734,7 @@
   <context>
     <name>VmListspacePlugin</name>
     <message>
-      <location filename="../Plugins/PluginVmListspace.py" line="25" />
+      <location filename="../Plugins/PluginVmListspace.py" line="26" />
       <source>Listspace</source>
       <translation type="unfinished" />
     </message>
@@ -95167,7 +95742,7 @@
   <context>
     <name>VmTabviewPlugin</name>
     <message>
-      <location filename="../Plugins/PluginVmTabview.py" line="25" />
+      <location filename="../Plugins/PluginVmTabview.py" line="26" />
       <source>Tabbed View</source>
       <translation type="unfinished" />
     </message>
@@ -99592,22 +100167,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="120" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="112" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="123" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="115" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="49" />
       <source>Connect WiFi</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="168" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="162" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="165" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="50" />
       <source>Check Internet Connection</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="142" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="136" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="139" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="51" />
       <source>Disconnect WiFi</source>
       <translation type="unfinished" />
@@ -99618,214 +100193,256 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="236" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="227" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="217" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="207" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="239" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="230" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="220" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="210" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="55" />
       <source>Write WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="274" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="264" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="253" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="277" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="267" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="256" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="56" />
       <source>Remove WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="315" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="304" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="489" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="480" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="58" />
+      <source>Enable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="523" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="514" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="506" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="59" />
+      <source>Disable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="318" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="307" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="61" />
       <source>Start WiFi Access Point</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="63" />
       <source>Start WiFi Access Point with IP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="369" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="63" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="372" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="66" />
       <source>Show Connected Clients</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="345" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="336" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
-      <source>Stop WiFi Access Point</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="348" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="339" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="68" />
+      <source>Stop WiFi Access Point</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="71" />
       <source>Deactivate Client Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="72" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="75" />
       <source>Deactivate Access Point Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="455" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="439" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="419" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="410" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="76" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="458" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="442" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="422" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="413" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="79" />
       <source>Set Network Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="113" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="116" />
       <source>&lt;p&gt;The device was connected to &lt;b&gt;{0}&lt;/b&gt; successfully.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="121" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="124" />
       <source>&lt;p&gt;The device could not connect to &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="527" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="493" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="281" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="243" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="174" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="148" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="127" />
+      <source>unknown</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="140" />
+      <source>&lt;p&gt;The device was disconnected from the WiFi network.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="146" />
+      <source>&lt;p&gt;The device could not be disconnected.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="159" />
+      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="161" />
+      <source>&lt;p&gt;The internet connection is &lt;b&gt;not available&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="172" />
+      <source>&lt;p&gt;The internet is not available.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="231" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="211" />
+      <source>&lt;p&gt;The WiFi credentials were saved on the device. The device will connect to the WiFi network at boot time.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="221" />
+      <source>&lt;p&gt;The WiFi credentials and a connect script were saved on the device. Use the script by simply importing it.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="240" />
+      <source>&lt;p&gt;The WiFi credentials could not be saved on the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="257" />
+      <source>Shall the saved WiFi credentials really be removed from the connected device?</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="268" />
+      <source>&lt;p&gt;The WiFi credentials were removed from the device. The device will not connect to the WiFi network at boot time anymore.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="278" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="240" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="124" />
-      <source>unknown</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="137" />
-      <source>&lt;p&gt;The device was disconnected from the WiFi network.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="143" />
-      <source>&lt;p&gt;The device could not be disconnected.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="156" />
-      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="158" />
-      <source>&lt;p&gt;The internet connection is &lt;b&gt;not available&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="169" />
-      <source>&lt;p&gt;The internet is not available.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="228" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="208" />
-      <source>&lt;p&gt;The WiFi credentials were saved on the device. The device will connect to the WiFi network at boot time.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="218" />
-      <source>&lt;p&gt;The WiFi credentials and a connect script were saved on the device. Use the script by simply importing it.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="237" />
-      <source>&lt;p&gt;The WiFi credentials could not be saved on the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="254" />
-      <source>Shall the saved WiFi credentials really be removed from the connected device?</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="265" />
-      <source>&lt;p&gt;The WiFi credentials were removed from the device. The device will not connect to the WiFi network at boot time anymore.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="275" />
       <source>&lt;p&gt;The WiFi credentials could not be removed from the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="305" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="308" />
       <source>The WiFi Access Point interface was started successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="310" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="313" />
       <source>&lt;p&gt;The WiFi Access Point could not be started.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="391" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="394" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="345" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="315" />
       <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="337" />
-      <source>The WiFi Access Point interface was stopped successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="340" />
+      <source>The WiFi Access Point interface was stopped successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="343" />
       <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="370" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="373" />
       <source>No clients are connected to the access point.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="394" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="385" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="397" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="388" />
       <source>Deactivate WiFi Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="386" />
-      <source>The WiFi interface was deactivated successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="389" />
+      <source>The WiFi interface was deactivated successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="392" />
       <source>&lt;p&gt;The WiFi interface could not be deactivated.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="411" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="414" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;adafruit_ntp&lt;/b&gt; is not installed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="420" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="423" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;ntptime&lt;/b&gt; is not available.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="440" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="443" />
       <source>The device time was synchronized successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="444" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="447" />
       <source>&lt;p&gt;The device time could not be synchronized.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="449" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="452" />
       <source>&lt;p&gt;The device time could not be synchronized. Is the device connected to a WiFi network?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="481" />
+      <source>&lt;p&gt;The WebREPL server of the device will be activated after a reboot.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="490" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be enabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="507" />
+      <source>Shall the WebREPL server of the device really be disabled?</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="515" />
+      <source>&lt;p&gt;The WebREPL server of the device will not be enabled at boot time anymore.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="524" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be disabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>WifiCountryDialog</name>
@@ -100088,44 +100705,44 @@
   <context>
     <name>WizardEricPluginWizard</name>
     <message>
-      <location filename="../Plugins/PluginWizardEricPlugin.py" line="93" />
-      <location filename="../Plugins/PluginWizardEricPlugin.py" line="86" />
+      <location filename="../Plugins/PluginWizardEricPlugin.py" line="95" />
+      <location filename="../Plugins/PluginWizardEricPlugin.py" line="88" />
       <source>eric Plug-in Wizard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardEricPlugin.py" line="87" />
+      <location filename="../Plugins/PluginWizardEricPlugin.py" line="89" />
       <source>eric Plug-in Wizard...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardEricPlugin.py" line="95" />
+      <location filename="../Plugins/PluginWizardEricPlugin.py" line="97" />
       <source>&lt;b&gt;eric Plug-in Wizard&lt;/b&gt;&lt;p&gt;This wizard opens a dialog for entering all the parameters needed to create the basic contents of an eric plug-in file. The generated code is inserted at the current cursor position.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardEricPlugin.py" line="142" />
+      <location filename="../Plugins/PluginWizardEricPlugin.py" line="144" />
       <source>No current editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardEricPlugin.py" line="143" />
+      <location filename="../Plugins/PluginWizardEricPlugin.py" line="145" />
       <source>Please open or create a file first.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardEricPlugin.py" line="181" />
-      <location filename="../Plugins/PluginWizardEricPlugin.py" line="165" />
+      <location filename="../Plugins/PluginWizardEricPlugin.py" line="183" />
+      <location filename="../Plugins/PluginWizardEricPlugin.py" line="167" />
       <source>Create Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardEricPlugin.py" line="166" />
+      <location filename="../Plugins/PluginWizardEricPlugin.py" line="168" />
       <source>&lt;p&gt;The package directory &lt;b&gt;{0}&lt;/b&gt; could not be created. Aborting...&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardEricPlugin.py" line="182" />
+      <location filename="../Plugins/PluginWizardEricPlugin.py" line="184" />
       <source>&lt;p&gt;The package file &lt;b&gt;{0}&lt;/b&gt; could not be created. Aborting...&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -100712,421 +101329,421 @@
   <context>
     <name>pycodestyle</name>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="36" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="38" />
       <source>indentation contains mixed spaces and tabs</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="39" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="41" />
       <source>indentation is not a multiple of four</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="42" />
-      <source>expected an indented block</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="43" />
-      <source>unexpected indentation</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="44" />
+      <source>expected an indented block</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="45" />
+      <source>unexpected indentation</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="46" />
       <source>indentation is not a multiple of four (comment)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="47" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="49" />
       <source>expected an indented block (comment)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="50" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="52" />
       <source>unexpected indentation (comment)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="53" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="55" />
       <source>over-indented</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="54" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="56" />
       <source>continuation line indentation is not a multiple of four</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="57" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="59" />
       <source>continuation line missing indentation or outdented</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="60" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="62" />
       <source>closing bracket does not match indentation of opening bracket's line</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="64" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="66" />
       <source>closing bracket does not match visual indentation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="67" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="69" />
       <source>continuation line with same indent as next logical line</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="70" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="72" />
       <source>continuation line over-indented for hanging indent</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="73" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="75" />
       <source>continuation line over-indented for visual indent</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="76" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="78" />
       <source>continuation line under-indented for visual indent</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="79" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="81" />
       <source>visually indented line with same indent as next logical line</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="82" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="84" />
       <source>continuation line unaligned for hanging indent</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="85" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="87" />
       <source>closing bracket is missing indentation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="88" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="90" />
       <source>whitespace after '{0}'</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="93" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="92" />
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="91" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="90" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="89" />
       <source>whitespace before '{0}'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="92" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="94" />
       <source>multiple spaces before operator</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="95" />
-      <source>multiple spaces after operator</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="96" />
-      <source>tab before operator</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="97" />
-      <source>tab after operator</source>
+      <source>multiple spaces after operator</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="98" />
+      <source>tab before operator</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="99" />
+      <source>tab after operator</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="100" />
       <source>missing whitespace around operator</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="101" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="103" />
       <source>missing whitespace around arithmetic operator</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="104" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="106" />
       <source>missing whitespace around bitwise or shift operator</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="107" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="109" />
       <source>missing whitespace around modulo operator</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="110" />
-      <source>missing whitespace after '{0}'</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="111" />
-      <source>multiple spaces after '{0}'</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="112" />
-      <source>tab after '{0}'</source>
+      <source>missing whitespace after '{0}'</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="113" />
+      <source>multiple spaces after '{0}'</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="114" />
+      <source>tab after '{0}'</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="115" />
       <source>unexpected spaces around keyword / parameter equals</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="116" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="118" />
       <source>missing whitespace around parameter equals</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="119" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="121" />
       <source>at least two spaces before inline comment</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="122" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="124" />
       <source>inline comment should start with '# '</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="125" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="127" />
       <source>block comment should start with '# '</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="128" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="130" />
       <source>too many leading '#' for block comment</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="131" />
-      <source>multiple spaces after keyword</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="132" />
-      <source>multiple spaces before keyword</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="133" />
-      <source>tab after keyword</source>
+      <source>multiple spaces after keyword</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="134" />
-      <source>tab before keyword</source>
+      <source>multiple spaces before keyword</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="135" />
+      <source>tab after keyword</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="136" />
+      <source>tab before keyword</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="137" />
       <source>missing whitespace after keyword</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="141" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="138" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="143" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="140" />
       <source>expected {0} blank lines, found {1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="144" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="146" />
       <source>too many blank lines ({0}), expected {1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="147" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="149" />
       <source>blank lines found after function decorator</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="150" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="152" />
       <source>expected {0} blank lines after class or function definition, found {1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="154" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="156" />
       <source>expected {0} blank lines before a nested definition, found {1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="157" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="159" />
       <source>too many blank lines ({0}) before a nested definition, expected {1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="161" />
-      <source>too many blank lines ({0})</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="162" />
-      <source>multiple imports on one line</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="163" />
+      <source>too many blank lines ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="164" />
+      <source>multiple imports on one line</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="165" />
       <source>module level import not at top of file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="166" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="168" />
       <source>line too long ({0} &gt; {1} characters)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="169" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="171" />
       <source>the backslash is redundant between brackets</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="172" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="174" />
       <source>multiple statements on one line (colon)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="175" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="177" />
       <source>multiple statements on one line (semicolon)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="178" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="180" />
       <source>statement ends with a semicolon</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="181" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="183" />
       <source>multiple statements on one line (def)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="187" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="184" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="189" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="186" />
       <source>comparison to {0} should be {1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="190" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="192" />
       <source>test for membership should be 'not in'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="193" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="195" />
       <source>test for object identity should be 'is not'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="196" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="198" />
       <source>do not compare types, use 'isinstance()'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="199" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="201" />
       <source>do not use bare except</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="200" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="202" />
       <source>do not assign a lambda expression, use a def</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="203" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="205" />
       <source>ambiguous variable name '{0}'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="204" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="206" />
       <source>ambiguous class definition '{0}'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="207" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="209" />
       <source>ambiguous function definition '{0}'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="210" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="212" />
       <source>{0}: {1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="211" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="213" />
       <source>{0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="219" />
-      <source>indentation contains tabs</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="220" />
-      <source>trailing whitespace</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="221" />
-      <source>no newline at end of file</source>
+      <source>indentation contains tabs</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="222" />
-      <source>blank line contains whitespace</source>
+      <source>trailing whitespace</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="223" />
-      <source>blank line at end of file</source>
+      <source>no newline at end of file</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="224" />
+      <source>blank line contains whitespace</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="225" />
+      <source>blank line at end of file</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="226" />
       <source>line break before binary operator</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="227" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="229" />
       <source>line break after binary operator</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="230" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="232" />
       <source>doc line too long ({0} &gt; {1} characters)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="233" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="235" />
       <source>.has_key() is deprecated, use 'in'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="236" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="238" />
       <source>deprecated form of raising exception</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="239" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="241" />
       <source>'&lt;&gt;' is deprecated, use '!='</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="240" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="242" />
       <source>backticks are deprecated, use 'repr()'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="243" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="245" />
       <source>invalid escape sequence '\{0}'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="246" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="248" />
       <source>'async' and 'await' are reserved keywords starting with Python 3.7</source>
       <translation type="unfinished" />
     </message>

eric ide

mercurial