src/eric7/i18n/eric7_pt.ts

branch
eric7-maintenance
changeset 10079
0222a480e93d
parent 10004
983477114d3c
parent 10066
251638443e17
child 10101
34f74c19ed7a
--- a/src/eric7/i18n/eric7_pt.ts	Tue May 02 10:20:23 2023 +0200
+++ b/src/eric7/i18n/eric7_pt.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>Acerca {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/PluginAbout.py" line="81" />
+      <location filename="../Plugins/PluginAbout.py" line="83" />
       <source>&amp;About {0}</source>
       <translation>&amp;Acerca {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/PluginAbout.py" line="87" />
-      <source>Display information about this software</source>
-      <translation>Mostra a informação acerca deste software</translation>
-    </message>
-    <message>
       <location filename="../Plugins/PluginAbout.py" line="89" />
+      <source>Display information about this software</source>
+      <translation>Mostra a informação acerca deste software</translation>
+    </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>&lt;b&gt; Acerca {0}&lt;/b&gt;&lt;p&gt;Mostra alguma informação acerca deste software.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Plugins/PluginAbout.py" line="99" />
-      <source>About Qt</source>
-      <translation>Acerca de Qt</translation>
-    </message>
-    <message>
       <location filename="../Plugins/PluginAbout.py" line="101" />
+      <source>About Qt</source>
+      <translation>Acerca de Qt</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/PluginAbout.py" line="103" />
       <source>About &amp;Qt</source>
       <translation>Acerca de &amp;Qt</translation>
     </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>Mostra informação acerca das Ferramentas de Qt</translation>
     </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>&lt;b&gt;Acerca de Qt&lt;/b&gt;&lt;p&gt;Mostra alguma informação acerca das Ferramentas de Qt.&lt;/p&gt;</translation>
     </message>
@@ -1295,36 +1295,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>
@@ -1804,77 +1809,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">Sim</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1772" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1820" />
       <source>No</source>
       <translation type="unfinished">Não</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1774" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1822" />
       <source>yes</source>
       <translation type="unfinished">sim</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1774" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1822" />
       <source>no</source>
       <translation type="unfinished">não</translation>
     </message>
@@ -2418,7 +2423,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">Versão</translation>
@@ -2477,12 +2481,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>
@@ -3928,21 +3974,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>
-      <translation type="unfinished">Segurança</translation>
+      <source>'pathlib' Usage</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="93" />
-      <source>Warnings</source>
-      <translation type="unfinished">Avisos</translation>
+      <source>Security</source>
+      <translation type="unfinished">Segurança</translation>
     </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">Avisos</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="96" />
       <source>Simplify Code</source>
       <translation type="unfinished" />
     </message>
@@ -4229,14 +4285,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>
@@ -4249,94 +4305,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">Ativo</translation>
     </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 type="unfinished">Nome</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>
@@ -5040,7 +5096,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>
@@ -5048,57 +5104,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>Corrigir: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="126" />
-      <source>PEP-257</source>
-      <translation />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="127" />
-      <source>Eric</source>
-      <translation />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="128" />
+      <source>PEP-257</source>
+      <translation />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129" />
+      <source>Eric</source>
+      <translation />
+    </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>Erros</translation>
     </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>Erro: {0}</translation>
     </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>{0} (ignorado)</translation>
     </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>Não se encontraram problemas.</translation>
     </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>
@@ -5554,6 +5610,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>
@@ -5743,7 +5809,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>
@@ -5778,6 +5849,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>
@@ -5798,6 +5874,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>Pressionar para começar a verficação de estilo do código</translation>
     </message>
@@ -5981,33 +6177,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>Verificar Estilo do Código</translation>
     </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>Estilo do &amp;Código...</translation>
     </message>
     <message>
-      <location filename="../Plugins/PluginCodeStyleChecker.py" line="257" />
+      <location filename="../Plugins/PluginCodeStyleChecker.py" line="259" />
       <source>Check code style.</source>
       <translation>Verificar o Estilo do código.</translation>
     </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>&lt;b&gt;Verificar Estilo do Código...&lt;/b&gt;&lt;p&gt;Verifica se os ficheiros Python cumprem com as convenções de estilo de código dadas em vários PEPs.&lt;/p&gt;</translation>
     </message>
@@ -6043,146 +6239,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>Três aspas simples convertidas a três aspas duplas.</translation>
     </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>Corrigidas as aspas introdutórias para ser {0}"""</translation>
     </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>Docstring de linha única posta numa linha.</translation>
     </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>Ponto adicionado à linha sumário.</translation>
     </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>Retirada a linha vazia antes da docstring de função/método.</translation>
     </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>Linha branca inserida antes da docstring de classe.</translation>
     </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>Inserida linha vazia depois da docstring de classe.</translation>
     </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>Inserida linha vazia depois da docstring de sumário.</translation>
     </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>Inserida linha vazia depois do último parágrafo da docstring.</translation>
     </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>Aspas iniciais postas numa linha separada.</translation>
     </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>Aspas finais postas numa linha separada.</translation>
     </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>Retirada linha vazia antes da docstring de classe.</translation>
     </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>Retirada linha vazia depois da docstring de classe.</translation>
     </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>Retirada a linha vazia depois da docstring de função/método.</translation>
     </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>Retirada linha vazia depois do último parágrafo.</translation>
     </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>Tabulação convertida a 4 espaços.</translation>
     </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>Ajustada a indentação a múltiplos de quatro.</translation>
     </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>Corrigida a indentação da linha de continuação.</translation>
     </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>Corrigida a indentação de parêntesis de fecho.</translation>
     </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>Corrigida falta de indentação na linha de continuação.</translation>
     </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>Parêntesis de fecho alinhado com parêntesis de abertura.</translation>
     </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>Alterado o nível da indentação.</translation>
     </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>Alterado o nível da indentação pendente.</translation>
     </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>Indentação visual corrigida.</translation>
     </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>Espaço estranho retirado.</translation>
     </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>Adicionado espaço branco em falta.</translation>
     </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>Corrigido espaço em volta do símbolo de comentário.</translation>
     </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>inserida uma linha vazia.</numerusform>
@@ -6190,7 +6386,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>retirada uma linha desnecessária</numerusform>
@@ -6198,73 +6394,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>Retiradas linhas vazias desnecessárias.</translation>
     </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>Retiradas linhas vazias desnecessárias após o decorador de função.</translation>
     </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>Imports foram postos em linhas separadas.</translation>
     </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>Foram encolhidas as linhas compridas.</translation>
     </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>Retirada barra invertida redundante entre parêntesis.</translation>
     </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>Instrução composta corrigida.</translation>
     </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>Corrigida a comparação a None/True/False.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="380" />
-      <source>'{0}' argument added.</source>
-      <translation>Adicionado o argumento '{0}'.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="381" />
-      <source>'{0}' argument removed.</source>
-      <translation>Removido o argumento '{0}'.</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="382" />
+      <source>'{0}' argument added.</source>
+      <translation>Adicionado o argumento '{0}'.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="383" />
+      <source>'{0}' argument removed.</source>
+      <translation>Removido o argumento '{0}'.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="384" />
       <source>Whitespace stripped from end of line.</source>
       <translation>Eliminado o espaço no fim de linha.</translation>
     </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>adicionada uma linha nova ao fim do ficheiro.</translation>
     </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>Retiradas linhas vazias desnecessárias do fim do ficheiro.</translation>
     </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>'&lt;&gt;' substituido por '!='.</translation>
     </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>Não se pode gravar ficheiro! Saltando-o. Motivo: {0}</translation>
     </message>
@@ -6348,7 +6544,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>A codificação '{0}' é incorreta para o texto indicado.</translation>
     </message>
@@ -6356,28 +6552,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>Assistente para QColorDialog</translation>
     </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>&lt;b&gt;Assistente para QColorDialog&lt;/b&gt;&lt;p&gt;Este assistente abre uma caixa de diálogo para introduzir todos os parâmetros necessários para criar um QColorDialog. O código gerado é inserido na posição atual do cursor.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQColorDialog.py" line="133" />
+      <location filename="../Plugins/PluginWizardQColorDialog.py" line="135" />
       <source>No current editor</source>
       <translation>Não há um editor atual</translation>
     </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>Por favor, primeiro abra ou crie um ficheiro.</translation>
     </message>
@@ -6776,35 +6972,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" />
@@ -9044,21 +9240,21 @@
 </translation>
     </message>
     <message>
-      <location filename="../Debugger/DebugServer.py" line="2056" />
+      <location filename="../Debugger/DebugServer.py" line="2058" />
       <source>Passive debug connection received
 </source>
       <translation>Conexão de depuração passiva recebida
 </translation>
     </message>
     <message>
-      <location filename="../Debugger/DebugServer.py" line="2070" />
+      <location filename="../Debugger/DebugServer.py" line="2072" />
       <source>Passive debug connection closed
 </source>
       <translation>Conexão de depuração passiva fechada
 </translation>
     </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>
@@ -9071,7 +9267,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>Executar Script</translation>
@@ -9092,8 +9288,8 @@
       <translation>&lt;b&gt;Executar Script&lt;/b&gt;&lt;p&gt;Definir os argumentos da linha de comandos e executar o script fora do depurador. Poderão gravar-se primeiro as alterações que estejam por gravar.&lt;/p&gt;</translation>
     </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>Executar Projeto</translation>
@@ -9194,7 +9390,7 @@
       <translation>&lt;b&gt;Perfilar Projeto&lt;/b&gt;&lt;p&gt;Define os argumentos da linha de comandos e perfila o projeto atual. Poderá gravar antes os ficheiros alterados por gravar.&lt;/p&gt;</translation>
     </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>Depurar Script</translation>
@@ -9215,8 +9411,8 @@
       <translation>&lt;b&gt;Depurar Script&lt;/b&gt;&lt;p&gt;Definir os argumentos da linha de comandos e definir a linha atual para que seja a primeira instrução Python executável da janela do editor atual. Poderão gravar-se primeiro as alterações que estejam por gravar.&lt;/p&gt;</translation>
     </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>Depurar projeto</translation>
@@ -9645,86 +9841,86 @@
       <translation>&lt;p&gt;O programa depurado provocou a exceção &lt;b&gt;{0}&lt;/b&gt;&lt;br&gt;"&lt;b&gt;{1}&lt;/b&gt;"&lt;/p&gt;</translation>
     </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>O programa a depurar acabou inesperadamente.</translation>
     </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>Erro de Condição de Ponto de Interrupção</translation>
     </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>&lt;p&gt;A condição do ponto de interrupção &lt;b&gt;{0}, {1}&lt;/b&gt;tem um erro de sintaxe.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="1733" />
+      <location filename="../Debugger/DebugUI.py" line="1735" />
       <source>Watch Expression Error</source>
       <translation>Observar Erro de Expressão</translation>
     </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" />
-      <source>Coverage of Project</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
+      <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="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>O projeto atual não tem um script principal definido. A cancelar</translation>
     </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>Perfil de Projeto</translation>
     </message>
     <message>
-      <location filename="../Debugger/DebugUI.py" line="2134" />
+      <location filename="../Debugger/DebugUI.py" line="2136" />
       <source>Profile of Script</source>
       <translation>Perfil do Script</translation>
     </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>O projeto atual não tem um script principal definido. Impossível depurar.</translation>
     </message>
@@ -9843,13 +10039,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>
@@ -11333,34 +11529,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">Não há um editor atual</translation>
     </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">Por favor, primeiro abra ou crie um ficheiro.</translation>
     </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>
@@ -18439,28 +18635,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">Não há um editor atual</translation>
     </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">Por favor, primeiro abra ou crie um ficheiro.</translation>
     </message>
@@ -20046,27 +20242,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>
@@ -20452,32 +20648,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>Ferramentas de Ajuda de Qt</translation>
     </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>
@@ -20683,8 +20879,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" />
@@ -20695,7 +20891,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" />
@@ -20746,8 +20942,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" />
@@ -20813,68 +21009,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">Ativo</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1210" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1290" />
       <source>Name</source>
       <translation type="unfinished">Nome</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">Público</translation>
     </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" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
+      <source>MTU</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>{0} Bytes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1221" />
-      <source>MTU</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1491" />
+      <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>
@@ -21196,17 +21386,17 @@
       <translation>Configurar...</translation>
     </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">{0}: {1}</translation>
     </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>
@@ -21786,44 +21976,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>Assistente para QFileDialog</translation>
     </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>&lt;b&gt;Assistente para QFileDialog&lt;/b&gt;&lt;p&gt;Este assistente abre uma caixa de diálogo para introduzir todos os parâmetros necessários para criar um QFileDialog. O código gerado é inserido na posição atual do cursor.&lt;/p&gt;</translation>
     </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>Não há um editor atual</translation>
     </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>Por favor, primeiro abra ou crie um ficheiro.</translation>
     </message>
@@ -22749,28 +22939,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>Assistente para QFontDialog</translation>
     </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>&lt;b&gt;Assistente para QFontDialog&lt;/b&gt;&lt;p&gt;Este assistente abre uma caixa de diálogo para introduzir todos os parâmetros necessários para criar um QFontDialog. O código gerado é inserido na posição atual do cursor.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQFontDialog.py" line="133" />
+      <location filename="../Plugins/PluginWizardQFontDialog.py" line="135" />
       <source>No current editor</source>
       <translation>Não há um editor atual</translation>
     </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>Por favor, primeiro abra ou crie um ficheiro.</translation>
     </message>
@@ -31293,37 +31483,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>Abrir Vínculo</translation>
     </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>Abrir Vínculo Num Separador Novo</translation>
-    </message>
-    <message>
       <location filename="../QtHelpInterface/HelpTocWidget.py" line="180" />
-      <source>Open Link in Background Tab</source>
-      <translation type="unfinished" />
+      <source>Open Link in New Tab</source>
+      <translation>Abrir Vínculo Num Separador Novo</translation>
     </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>
@@ -43337,41 +43527,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>
@@ -43417,28 +43587,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>Assistente para QInputDialog</translation>
     </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>&lt;b&gt;Assistente para QInputDialog&lt;/b&gt;&lt;p&gt;Este assistente abre uma caixa de diálogo para introduzir todos os parâmetros necessários para criar um QInputDialog. O código gerado é inserido na posição atual do cursor.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQInputDialog.py" line="133" />
+      <location filename="../Plugins/PluginWizardQInputDialog.py" line="135" />
       <source>No current editor</source>
       <translation>Não há um editor atual</translation>
     </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>Por favor, primeiro abra ou crie um ficheiro.</translation>
     </message>
@@ -49820,28 +49990,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>Assistente para QMessageBox</translation>
     </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>&lt;b&gt;Assistente para QMessageBox&lt;/b&gt;&lt;p&gt;Este assistente abre uma caixa de diálogo para introduzir todos os parâmetros necessarios para criar uma QMessageBox. O código gerado é inserido na posição atual do cursor.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQMessageBox.py" line="133" />
+      <location filename="../Plugins/PluginWizardQMessageBox.py" line="135" />
       <source>No current editor</source>
       <translation>Não há um editor atual</translation>
     </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>Por favor, primeiro abra ou crie um ficheiro.</translation>
     </message>
@@ -50144,50 +50314,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>
@@ -50531,15 +50701,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" />
@@ -50547,11 +50718,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>
@@ -50644,8 +50826,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>
@@ -50987,8 +51169,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>
@@ -51002,38 +51184,326 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonReplEdit</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonReplWidget.py" line="322" />
+      <source>Clear</source>
+      <translation type="unfinished">Limpar</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonReplWidget.py" line="327" />
+      <source>Copy</source>
+      <translation type="unfinished">Copiar</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonReplWidget.py" line="333" />
+      <source>Paste</source>
+      <translation type="unfinished">Colar</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonReplWidget.py" line="340" />
+      <source>Select All</source>
+      <translation type="unfinished">Selecionar Tudo</translation>
+    </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">Anfitrião:</translation>
+    </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">Porto:</translation>
+    </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">Senha:</translation>
+    </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">Nome:</translation>
+    </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">Descrição:</translation>
+    </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">Anfitrião:</translation>
+    </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">Porto:</translation>
+    </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">Senha:</translation>
+    </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">Nome</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplUrlsConfigDialog.ui" line="0" />
+      <source>Description</source>
+      <translation type="unfinished">Descrição</translation>
+    </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">Adicionar...</translation>
+    </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">Editar...</translation>
+    </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">Retirar</translation>
+    </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 type="unfinished">
         <numerusform />
-        <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 type="unfinished">
@@ -51042,70 +51512,63 @@
       </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 type="unfinished">
+        <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">Limpar</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="597" />
-      <source>Copy</source>
-      <translation type="unfinished">Copiar</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="603" />
-      <source>Paste</source>
-      <translation type="unfinished">Colar</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="610" />
-      <source>Select All</source>
-      <translation type="unfinished">Selecionar Tudo</translation>
-    </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.
@@ -51114,353 +51577,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">Executar Script</translation>
     </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">Descargas</translation>
     </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">Configurar</translation>
+    </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">desconhecido</translation>
+    </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">Data e Hora</translation>
+    </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">Ficheiros Python (*.py);;Ficheiros Todos (*)</translation>
+    </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">Configurar</translation>
-    </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">desconhecido</translation>
-    </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">Data e Hora</translation>
-    </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">Ficheiros Python (*.py);;Ficheiros Todos (*)</translation>
-    </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>
@@ -51483,6 +51951,29 @@
       <source>Press to open a chart window to display data receive from the selected device</source>
       <translation type="unfinished" />
     </message>
+    <message numerus="yes">
+      <source>%n supported device(s) detected.</source>
+      <translation type="vanished">
+        <numerusform />
+        <numerusform />
+      </translation>
+    </message>
+    <message>
+      <source>Clear</source>
+      <translation type="vanished">Limpar</translation>
+    </message>
+    <message>
+      <source>Copy</source>
+      <translation type="vanished">Copiar</translation>
+    </message>
+    <message>
+      <source>Paste</source>
+      <translation type="vanished">Colar</translation>
+    </message>
+    <message>
+      <source>Select All</source>
+      <translation type="vanished">Selecionar Tudo</translation>
+    </message>
   </context>
   <context>
     <name>MicrobitDevice</name>
@@ -51646,29 +52137,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>
@@ -52839,282 +53330,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>
@@ -53602,6 +54123,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" />
@@ -56079,7 +56628,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" />
@@ -57954,32 +58503,32 @@
       <translation>&lt;p&gt;Não se pode escrever no diretório de destino &lt;b&gt;{0}&lt;/b&gt;. Cancelar...&lt;/p&gt;</translation>
     </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>&lt;p&gt;O módulo do complemento &lt;b&gt;{0}&lt;/b&gt; não contém o atributo 'packageName'. Cancelar...&lt;/p&gt;</translation>
     </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>&lt;p&gt;O módulo do complemento &lt;b&gt;{0}&lt;/b&gt; não está conforme com a API de PyQt v2. A cancelar...&lt;/p&gt;</translation>
     </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>&lt;p&gt;Existe o pacote de complementos &lt;b&gt;{0}&lt;/b&gt;. A cancelar...&lt;/p&gt;</translation>
     </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>&lt;p&gt;Existe o módulo de complemento &lt;b&gt;{0}&lt;/b&gt;. A cancelar...&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="490" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="502" />
       <source>Error installing plugin. Reason: {0}</source>
       <translation>Erro ao instalar complemento. Motivo: {0}</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginInstallDialog.py" line="496" />
+      <location filename="../PluginManager/PluginInstallDialog.py" line="508" />
       <source>Unspecific exception installing plugin.</source>
       <translation>Exceção não especificada ao instalar complemento.</translation>
     </message>
@@ -57987,52 +58536,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>Não se pôde criar o pacote para {0}.</translation>
     </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>Falho na carga de módulo. Erro: {0}</translation>
     </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>Erro do Gestor de Complementos</translation>
     </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>Erro ao descarregar ficheiro</translation>
     </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>
@@ -58570,42 +59119,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>Diretório de plugins do usuário</translation>
     </message>
     <message>
-      <location filename="../PluginManager/PluginUninstallDialog.py" line="63" />
+      <location filename="../PluginManager/PluginUninstallDialog.py" line="64" />
       <source>Global plugins directory</source>
       <translation>Diretório de plugins do global</translation>
     </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>Desinstalação de Plugins</translation>
     </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>&lt;p&gt;O complemento &lt;b&gt;{0}&lt;/b&gt; não tem atributo 'packageName'. A cancelar...&lt;/p&gt;</translation>
     </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>&lt;p&gt;O pacote complemento &lt;b&gt;{0}&lt;/b&gt; não pode ser apagado. A cancelar...&lt;/p&gt;&lt;p&gt;Motivo: {1}&lt;/p&gt;</translation>
     </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>&lt;p&gt;O complemento &lt;b&gt;{0}&lt;/b&gt; foi desinstalado de {1} com êxito.&lt;/p&gt;</translation>
     </message>
@@ -58879,18 +59428,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>Exportar Preferências</translation>
     </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>Ficheiro de Propriedades (*.ini);;Ficheiros Todos (*)</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1842" />
+      <location filename="../Preferences/__init__.py" line="1849" />
       <source>Import Preferences</source>
       <translation>Importar Preferências</translation>
     </message>
@@ -61362,22 +61911,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>
@@ -64321,28 +64870,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>Assistente para Python re</translation>
     </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>&lt;b&gt;Assistente para Python re&lt;/b&gt;&lt;p&gt;Este assistente abre uma caixa de diálogo para introduzir todos os parâmetros necessários para criar uma string Python re. O código gerado é inserido na posição atual do cursor.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardPyRegExp.py" line="133" />
+      <location filename="../Plugins/PluginWizardPyRegExp.py" line="135" />
       <source>No current editor</source>
       <translation>Não há um editor atual</translation>
     </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>Por favor, primeiro abra ou crie um ficheiro.</translation>
     </message>
@@ -65990,28 +66539,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>Assistente para QRegularExpression</translation>
     </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>&lt;b&gt;Assistente para QRegularExpression&lt;/b&gt;&lt;p&gt;Este assistente abre uma caixa de diálogo para introduzir todos os parâmetros necessários para criar uma string QRegularExpression. O código gerado é inserido na posição atual do cursor.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardQRegularExpression.py" line="133" />
+      <location filename="../Plugins/PluginWizardQRegularExpression.py" line="135" />
       <source>No current editor</source>
       <translation>Não há um editor atual</translation>
     </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>Por favor, primeiro abra ou crie um ficheiro.</translation>
     </message>
@@ -69139,88 +69688,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">Ativo</translation>
     </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">Estado</translation>
     </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>
@@ -70061,7 +70615,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.
@@ -70071,7 +70625,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
@@ -70120,49 +70674,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>
@@ -71067,60 +71646,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">Não há um editor atual</translation>
     </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">Por favor, primeiro abra ou crie um ficheiro.</translation>
     </message>
@@ -73055,6 +73634,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" />
@@ -74956,53 +75536,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>Limpar Historiais</translation>
     </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">Directório de Trabalho</translation>
     </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>
@@ -82176,28 +82756,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>Verificar Sintaxe</translation>
     </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>&amp;Sintaxe...</translation>
     </message>
     <message>
-      <location filename="../Plugins/PluginSyntaxChecker.py" line="191" />
+      <location filename="../Plugins/PluginSyntaxChecker.py" line="193" />
       <source>Check syntax.</source>
       <translation>Verificar sintaxe.</translation>
     </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>&lt;b&gt;Verificar Sintaxe...&lt;/b&gt;&lt;b&gt;Verifica erros de  sintaxe nos ficheiros Python.&lt;/p&gt;</translation>
     </message>
@@ -83276,7 +83856,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" />
@@ -83317,17 +83897,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>
@@ -83773,19 +84353,19 @@
       <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 type="unfinished">
         <numerusform />
       </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 type="unfinished">
         <numerusform />
@@ -83795,29 +84375,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">Mostrar Fonte</translation>
     </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>
@@ -84124,87 +84704,87 @@
       <translation type="unfinished">A executar</translation>
     </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">Ficheiros Python (*.py);;Ficheiros Todos (*)</translation>
     </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">A preparar Suite de Testes</translation>
     </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">a executar</translation>
     </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 type="unfinished">
         <numerusform />
       </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 type="unfinished">
         <numerusform />
       </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>
@@ -85528,7 +86108,7 @@
   <context>
     <name>TranslatorPlugin</name>
     <message>
-      <location filename="../Plugins/PluginTranslator.py" line="72" />
+      <location filename="../Plugins/PluginTranslator.py" line="74" />
       <source>Translator</source>
       <translation>Tradutor</translation>
     </message>
@@ -86796,6 +87376,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" />
@@ -89575,7 +90169,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>&lt;p&gt;Pode usar códigos % como espaços reservados dentro da string. Os códigos suportados são:&lt;table&gt;&lt;tr&gt;&lt;td&gt;%C&lt;/td&gt;&lt;td&gt;coluna do cursor do editor atual&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%D&lt;/td&gt;&lt;td&gt;directório do editor atual&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%F&lt;/td&gt;&lt;td&gt;nome do ficheiro do editor atual&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%H&lt;/td&gt;&lt;td&gt;diretório home do usuário atual&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%L&lt;/td&gt;&lt;td&gt;linha do cursor do editor atual&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%P&lt;/td&gt;&lt;td&gt;rota do projeto atual&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%S&lt;/td&gt;&lt;td&gt;texto selecionado do editor atual&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%U&lt;/td&gt;&lt;td&gt;nome de usuário do usuário atual&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%%&lt;/td&gt;&lt;td&gt;sinal de percentagem&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;</translation>
     </message>
@@ -89912,40 +90506,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>Mostrar Detalhes...</translation>
     </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">Atualizar</translation>
-    </message>
-    <message>
       <location filename="../Debugger/VariablesViewer.py" line="1054" />
       <location filename="../Debugger/VariablesViewer.py" line="1048" />
-      <source>Configure...</source>
-      <translation>Configurar...</translation>
+      <source>Refresh</source>
+      <translation type="unfinished">Atualizar</translation>
     </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>Configurar...</translation>
+    </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>
@@ -90159,13 +90753,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>
@@ -90173,13 +90767,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>Controlo de Versão - Mercurial</translation>
     </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 />
     </message>
@@ -90536,17 +91130,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>Control de Versão - Subversion (pysvn)</translation>
     </message>
     <message>
-      <location filename="../Plugins/PluginVcsPySvn.py" line="92" />
+      <location filename="../Plugins/PluginVcsPySvn.py" line="94" />
       <source>Subversion (pysvn)</source>
       <translation>Subversion (pysvn)</translation>
     </message>
     <message>
-      <location filename="../Plugins/PluginVcsPySvn.py" line="128" />
+      <location filename="../Plugins/PluginVcsPySvn.py" line="130" />
       <source>Subversion</source>
       <translation>Subversion</translation>
     </message>
@@ -90585,17 +91179,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>Control de Versão - Subversion (pysvn)</translation>
     </message>
     <message>
-      <location filename="../Plugins/PluginVcsSubversion.py" line="98" />
+      <location filename="../Plugins/PluginVcsSubversion.py" line="102" />
       <source>Subversion (svn)</source>
       <translation>Subversion (pysvn)</translation>
     </message>
     <message>
-      <location filename="../Plugins/PluginVcsSubversion.py" line="133" />
+      <location filename="../Plugins/PluginVcsSubversion.py" line="137" />
       <source>Subversion</source>
       <translation>Subversion</translation>
     </message>
@@ -95916,7 +96510,7 @@
   <context>
     <name>VmListspacePlugin</name>
     <message>
-      <location filename="../Plugins/PluginVmListspace.py" line="25" />
+      <location filename="../Plugins/PluginVmListspace.py" line="26" />
       <source>Listspace</source>
       <translation>Espaço de lista</translation>
     </message>
@@ -95924,7 +96518,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>Vista de Separadores</translation>
     </message>
@@ -100350,22 +100944,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" />
@@ -100376,214 +100970,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">desconhecido</translation>
+    </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">desconhecido</translation>
-    </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>
@@ -100845,44 +101481,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">Assistente para Complementos eric</translation>
     </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">&lt;b&gt;Assistente para Complemento eric&lt;/b&gt;&lt;p&gt;Este assistente abre uma caixa de diálogo para introduzir todos os parâmetros necessários para criar os conteúdos básicos dum ficheiro de complemento eric. O codigo gerado é inserido na posição atual do cursor.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Plugins/PluginWizardEricPlugin.py" line="142" />
+      <location filename="../Plugins/PluginWizardEricPlugin.py" line="144" />
       <source>No current editor</source>
       <translation type="unfinished">Não há um editor atual</translation>
     </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">Por favor, primeiro abra ou crie um ficheiro.</translation>
     </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">Criar Pacote</translation>
     </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">&lt;p&gt;O diretório do pacote &lt;b&gt;{0}&lt;/b&gt; não se pôde criar. A terminar...&lt;/p&gt;&lt;p&gt;Motivo: {1}&lt;/p&gt;</translation>
     </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">&lt;p&gt;O ficheiro &lt;b&gt;{0}&lt;/b&gt; do pacote não se pôde criar. A terminar...&lt;/p&gt;&lt;p&gt;Motivo: {1}&lt;/p&gt;</translation>
     </message>
@@ -101497,421 +102133,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">indentação com espaços misturados com tabulações</translation>
     </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">indentação não é multipla de quatro</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="42" />
-      <source>expected an indented block</source>
-      <translation type="unfinished">esperado um bloque de indentação</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="43" />
-      <source>unexpected indentation</source>
-      <translation type="unfinished">indentação inesperada</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="44" />
+      <source>expected an indented block</source>
+      <translation type="unfinished">esperado um bloque de indentação</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="45" />
+      <source>unexpected indentation</source>
+      <translation type="unfinished">indentação inesperada</translation>
+    </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">espaço depois de '{0}'</translation>
     </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">espaço antes de '{0}</translation>
     </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">espaços múltiplos antes do operador</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="95" />
-      <source>multiple spaces after operator</source>
-      <translation type="unfinished">espaços múltiplos depois do operador</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="96" />
-      <source>tab before operator</source>
-      <translation type="unfinished">tabulação antes do operador</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="97" />
-      <source>tab after operator</source>
-      <translation type="unfinished">tabulação depois do operador</translation>
+      <source>multiple spaces after operator</source>
+      <translation type="unfinished">espaços múltiplos depois do operador</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="98" />
+      <source>tab before operator</source>
+      <translation type="unfinished">tabulação antes do operador</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="99" />
+      <source>tab after operator</source>
+      <translation type="unfinished">tabulação depois do operador</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="100" />
       <source>missing whitespace around operator</source>
       <translation type="unfinished">falta espaço à volta do operador</translation>
     </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">falta espaço à volta do operador aritmético</translation>
     </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">falta espaço depois de '{0}'</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="111" />
-      <source>multiple spaces after '{0}'</source>
-      <translation type="unfinished">múltiplos espaços depois de '{0}'</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="112" />
-      <source>tab after '{0}'</source>
-      <translation type="unfinished">tabulação depois de '{0}'</translation>
+      <source>missing whitespace after '{0}'</source>
+      <translation type="unfinished">falta espaço depois de '{0}'</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="113" />
+      <source>multiple spaces after '{0}'</source>
+      <translation type="unfinished">múltiplos espaços depois de '{0}'</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="114" />
+      <source>tab after '{0}'</source>
+      <translation type="unfinished">tabulação depois de '{0}'</translation>
+    </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">múltiplos espaços depois da palavra-chave</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="132" />
-      <source>multiple spaces before keyword</source>
-      <translation type="unfinished">múltiplos espaços antes da palavra-chave</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="133" />
-      <source>tab after keyword</source>
-      <translation type="unfinished">tabulação depois da palavra-chave</translation>
+      <source>multiple spaces after keyword</source>
+      <translation type="unfinished">múltiplos espaços depois da palavra-chave</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="134" />
-      <source>tab before keyword</source>
-      <translation type="unfinished">tabulação antes da palavra-chave</translation>
+      <source>multiple spaces before keyword</source>
+      <translation type="unfinished">múltiplos espaços antes da palavra-chave</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="135" />
+      <source>tab after keyword</source>
+      <translation type="unfinished">tabulação depois da palavra-chave</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="136" />
+      <source>tab before keyword</source>
+      <translation type="unfinished">tabulação antes da palavra-chave</translation>
+    </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">encontradas linhas vazias depois do decorador de função</translation>
     </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">demasiadas linhas vazias ({0})</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="162" />
-      <source>multiple imports on one line</source>
-      <translation type="unfinished">múltiplos imports numa linha</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="163" />
+      <source>too many blank lines ({0})</source>
+      <translation type="unfinished">demasiadas linhas vazias ({0})</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="164" />
+      <source>multiple imports on one line</source>
+      <translation type="unfinished">múltiplos imports numa linha</translation>
+    </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">linha demasiado comprida ({0} &gt; {1} caráteres)</translation>
     </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">barra invertida é redundante entre parêntesis</translation>
     </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">não comparar tipos, usar 'isinstance()'</translation>
     </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">{0}: {1}</translation>
     </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">indentação com tabluações</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="220" />
-      <source>trailing whitespace</source>
-      <translation type="unfinished">espaço ao final</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="221" />
-      <source>no newline at end of file</source>
-      <translation type="unfinished">não há linha nova no final do ficheiro</translation>
+      <source>indentation contains tabs</source>
+      <translation type="unfinished">indentação com tabluações</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="222" />
-      <source>blank line contains whitespace</source>
-      <translation type="unfinished">esperada 1 linha vazia, encontradas 0</translation>
+      <source>trailing whitespace</source>
+      <translation type="unfinished">espaço ao final</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="223" />
-      <source>blank line at end of file</source>
-      <translation type="unfinished">linha vazia no fim do ficheiro</translation>
+      <source>no newline at end of file</source>
+      <translation type="unfinished">não há linha nova no final do ficheiro</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="224" />
+      <source>blank line contains whitespace</source>
+      <translation type="unfinished">esperada 1 linha vazia, encontradas 0</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="225" />
+      <source>blank line at end of file</source>
+      <translation type="unfinished">linha vazia no fim do ficheiro</translation>
+    </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">.has_key  está obsoleto, usar 'in'</translation>
     </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">'&lt;&gt;' está obsoleto, usar '!='</translation>
     </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">acentos graves estão obsoletos, usar 'repr()'</translation>
     </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