src/eric7/i18n/eric7_it.ts

branch
eric7
changeset 9761
296b0223716b
parent 9755
1a09700229e7
child 9765
6378da868bb0
--- a/src/eric7/i18n/eric7_it.ts	Mon Feb 13 17:55:13 2023 +0100
+++ b/src/eric7/i18n/eric7_it.ts	Mon Feb 13 17:59:56 2023 +0100
@@ -1792,6 +1792,54 @@
     </message>
   </context>
   <context>
+    <name>BaseDevice</name>
+    <message>
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="92" />
+      <source>Show MicroPython Versions</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="93" />
+      <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="125" />
+      <source>Unsupported Device</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="135" />
+      <source>REPL is not supported by this device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="154" />
+      <source>Plotter is not supported by this device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="173" />
+      <source>Running scripts is not supported by this device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="192" />
+      <source>File Manager is not supported by this device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="237" />
+      <source>Select Device Directory</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="238" />
+      <source>Select the directory for the connected device:</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>BlackConfigurationDialog</name>
     <message>
       <location filename="../CodeFormatting/BlackConfigurationDialog.py" line="64" />
@@ -3784,121 +3832,121 @@
   <context>
     <name>CircuitPythonDevice</name>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="88" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="89" />
       <source>CircuitPython</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="214" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="215" />
       <source>Workspace Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="215" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="216" />
       <source>Python files for CircuitPython can be edited in place, if the device volume is locally available. Such a volume was not found. In place editing will not be available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="245" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="246" />
       <source>Library Management</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="249" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="250" />
       <source>CircuitPython Functions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="252" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="253" />
       <source>Show CircuitPython Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="260" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="262" />
       <source>CircuitPython Flash Instructions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="342" />
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="273" />
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="264" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="344" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="275" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="266" />
       <source>Flash CircuitPython Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="267" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="269" />
       <source>Start the 'Teensy Loader' application to flash the Teensy device.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="440" />
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="302" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="442" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="304" />
       <source>Install Library Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="438" />
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="306" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="440" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="308" />
       <source>Install Library Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="312" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="314" />
       <source>Install 'circup' Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="343" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="345" />
       <source>&lt;p&gt;Teensy 4.0 and Teensy 4.1 do not support the UF2 bootloader. Please use the 'Teensy Loader' application to flash CircuitPython. Make sure you downloaded the 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/CircuitPythonDevices.py" line="363" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="365" />
       <source>Start 'Teensy Loader'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="364" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="366" />
       <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>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="393" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="395" />
       <source>unknown</source>
       <translation type="unfinished">sconosciuto</translation>
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="412" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="414" />
       <source>&lt;h4&gt;CircuitPython Version Information&lt;/h4&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;Installed:&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Available:&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/CircuitPythonDevices.py" line="420" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="422" />
       <source>&lt;p&gt;&lt;b&gt;Update available!&lt;/b&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="424" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="426" />
       <source>CircuitPython Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="446" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="448" />
       <source>The device volume "&lt;b&gt;{0}&lt;/b&gt;" is not available. Ensure it is mounted properly and try again.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="474" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="476" />
       <source>Compiled Python Files (*.mpy);;Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="504" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="506" />
       <source>CircuitPython Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonDevices.py" line="508" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="510" />
       <source>CircuitPython Libraries</source>
       <translation type="unfinished" />
     </message>
@@ -3906,251 +3954,251 @@
   <context>
     <name>CircuitPythonUpdaterInterface</name>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="595" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="587" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="574" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="543" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="514" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="504" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="484" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="467" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="458" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="444" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="54" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="595" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="587" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="574" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="543" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="514" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="504" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="484" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="467" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="458" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="444" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="54" />
       <source>Install Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="57" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="57" />
       <source>Select from Available Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="60" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="60" />
       <source>Install Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="63" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="63" />
       <source>Install based on 'code.py'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="67" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="67" />
       <source>Install Python Source</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="87" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="87" />
       <source>circup</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="93" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="93" />
       <source>List Outdated Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="383" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="373" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="363" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="344" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="95" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="383" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="373" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="363" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="344" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="95" />
       <source>Update Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="99" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="99" />
       <source>Update All Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="102" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="102" />
       <source>Show Available Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="104" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="104" />
       <source>Show Installed Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="636" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="615" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="108" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="636" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="615" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="108" />
       <source>Uninstall Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="112" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="112" />
       <source>Generate Requirements ...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="115" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="115" />
       <source>Show Bundles</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="116" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="116" />
       <source>Show Bundles with Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="247" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="234" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="223" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="211" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="199" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="186" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="118" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="247" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="234" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="223" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="211" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="199" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="186" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="118" />
       <source>Add Bundle</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="282" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="267" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="119" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="282" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="267" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="119" />
       <source>Remove Bundles</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="128" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="128" />
       <source>unknown</source>
       <translation type="unfinished">sconosciuto</translation>
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="132" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="132" />
       <source>About circup</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="133" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="133" />
       <source>&lt;p&gt;&lt;b&gt;circup Version {0}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;circup&lt;/i&gt; is a tool to manage and update libraries on a CircuitPython device.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="187" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="187" />
       <source>Enter Bundle by 'User/Repo' Github String:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="200" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="200" />
       <source>&lt;p&gt;The bundle &lt;b&gt;{0}&lt;/b&gt; is already in the list.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="212" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="212" />
       <source>&lt;p&gt;The bundle string is invalid, expecting github URL or 'user/repository' string.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="224" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="224" />
       <source>&lt;p&gt;The bundle string is invalid. The repository doesn't exist (error code 404).&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="235" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="235" />
       <source>&lt;p&gt;The bundle string is invalid. Is the repository a valid circup bundle?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="248" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="248" />
       <source>&lt;p&gt;Added bundle &lt;b&gt;{0}&lt;/b&gt; ({1}).&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="268" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="268" />
       <source>Select the bundles to be removed:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="283" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="283" />
       <source>&lt;p&gt;These bundles were removed from the local bundles list.{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="345" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="345" />
       <source>All modules are already up-to-date.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="364" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="364" />
       <source>&lt;p&gt;There was an error updating &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="374" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="374" />
       <source>&lt;p&gt;These modules were updated on the connected device.{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="384" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="384" />
       <source>No modules could be updated.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="446" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="446" />
       <source>Text Files (*.txt);;All Files (*)</source>
       <translation type="unfinished">File Testo(*.txt);;Tutti i file (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="459" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="459" />
       <source>&lt;p&gt;The given requirements file &lt;b&gt;{0}&lt;/b&gt; does not contain valid modules.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="468" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="468" />
       <source>&lt;p&gt;The given requirements file &lt;b&gt;{0}&lt;/b&gt; does not exist.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="486" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="486" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished">File Python (*.py);;Tutti i File (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="505" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="505" />
       <source>&lt;p&gt;The given code file &lt;b&gt;{0}&lt;/b&gt; does not contain valid import statements or does not import external modules.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="515" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="515" />
       <source>&lt;p&gt;The given code file &lt;b&gt;{0}&lt;/b&gt; does not exist.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="544" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="544" />
       <source>&lt;p&gt;Ready to install these modules?{0}{1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="548" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="548" />
       <source>Dependencies:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="575" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="575" />
       <source>&lt;p&gt;Installation complete. These modules were installed successfully.{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="588" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="588" />
       <source>&lt;p&gt;Installation complete. No modules were installed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="596" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="596" />
       <source>&lt;p&gt;No modules installation is required.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="616" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="616" />
       <source>Select the modules/packages to be uninstalled:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="637" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="637" />
       <source>&lt;p&gt;These modules/packages were uninstalled from the connected device.{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -4158,44 +4206,44 @@
   <context>
     <name>CircupFunctions</name>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="70" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircupFunctions.py" line="70" />
       <source>Find Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="71" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircupFunctions.py" line="71" />
       <source>&lt;p&gt;There was an error: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="143" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="104" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircupFunctions.py" line="143" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircupFunctions.py" line="104" />
       <source>Download Bundle</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="105" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircupFunctions.py" line="105" />
       <source>&lt;p&gt;There was a problem downloading the bundle. Please try again in a moment.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="144" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircupFunctions.py" line="144" />
       <source>&lt;p&gt;Missing file &lt;b&gt;boot_out.txt&lt;/b&gt; on the device: wrong path or drive corrupted.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="238" />
-      <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="227" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircupFunctions.py" line="238" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircupFunctions.py" line="227" />
       <source>Install Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="228" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircupFunctions.py" line="228" />
       <source>&lt;p&gt;The compiled version of module &lt;b&gt;{0}&lt;/b&gt; cannot be found.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="239" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircupFunctions.py" line="239" />
       <source>&lt;p&gt;The module name &lt;b&gt;{0}&lt;/b&gt; is not known.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -11662,986 +11710,986 @@
   <context>
     <name>Editor</name>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3280" />
-      <location filename="../QScintilla/Editor.py" line="426" />
-      <location filename="../QScintilla/Editor.py" line="411" />
+      <location filename="../QScintilla/Editor.py" line="3297" />
+      <location filename="../QScintilla/Editor.py" line="427" />
+      <location filename="../QScintilla/Editor.py" line="412" />
       <source>Open File</source>
       <translation>Apri File</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="412" />
+      <location filename="../QScintilla/Editor.py" line="413" />
       <source>&lt;p&gt;The size of the file &lt;b&gt;{0}&lt;/b&gt; is &lt;b&gt;{1} KB&lt;/b&gt; and exceeds the configured limit of &lt;b&gt;{2} KB&lt;/b&gt;. It will not be opened!&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="427" />
+      <location filename="../QScintilla/Editor.py" line="428" />
       <source>&lt;p&gt;The size of the file &lt;b&gt;{0}&lt;/b&gt; is &lt;b&gt;{1} KB&lt;/b&gt;. Do you really want to load it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;La dimensione del file &lt;b&gt;{0}&lt;/b&gt; è &lt;b&gt;{1} KB&lt;/b&gt;. Sei sicuro di volerlo caricare ?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="523" />
+      <location filename="../QScintilla/Editor.py" line="525" />
       <source>&lt;b&gt;A Source Editor Window&lt;/b&gt;&lt;p&gt;This window is used to display and edit a source file.  You can open as many of these as you like. The name of the file is displayed in the window's titlebar.&lt;/p&gt;&lt;p&gt;In order to set breakpoints just click in the space between the line numbers and the fold markers. Via the context menu of the margins they may be edited.&lt;/p&gt;&lt;p&gt;In order to set bookmarks just Shift click in the space between the line numbers and the fold markers.&lt;/p&gt;&lt;p&gt;These actions can be reversed via the context menu.&lt;/p&gt;&lt;p&gt;Ctrl clicking on a syntax error marker shows some info about this error.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Una finesta di edit&lt;/b&gt;&lt;p&gt;Questa finestra è usata per visualizzare e modificare un file sorgente. Si possono aprire quante finestre si vogliono. Il nome del file è mostrato nella barra dei titolo della finestra.&lt;/p&gt;&lt;p&gt;Per impostare dei breakpoint basta cliccare nello spazio tra i numeri di riga e i marcatori di compressione. Con il menù contestuale del margine possono essere modificati.&lt;/p&gt;&lt;p&gt;Per impostare un segnalibro basta cliccare con lo Shift premuto nello spazio tra il numero di linea e i marcatori di compressione.&lt;/p&gt;&lt;p&gt;Queste azioni possono essere invertite con il menù contestuale.&lt;/p&gt;&lt;p&gt; Cliccare con il tasto Ctrl premuto un  marcatore di errore della sintassi mostra delle informazioni sull'errore.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="855" />
+      <location filename="../QScintilla/Editor.py" line="866" />
       <source>Undo</source>
       <translation>Annulla</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="858" />
+      <location filename="../QScintilla/Editor.py" line="869" />
       <source>Redo</source>
       <translation>Rifai</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="861" />
+      <location filename="../QScintilla/Editor.py" line="872" />
       <source>Revert to last saved state</source>
       <translation>Ritorna all'ultimo stato salvato</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="865" />
+      <location filename="../QScintilla/Editor.py" line="876" />
       <source>Cut</source>
       <translation>Taglia</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="868" />
+      <location filename="../QScintilla/Editor.py" line="879" />
       <source>Copy</source>
       <translation>Copia</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="871" />
-      <source>Paste</source>
-      <translation>Incolla</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="877" />
-      <source>Indent</source>
-      <translation>Identa</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="882" />
+      <source>Paste</source>
+      <translation>Incolla</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="888" />
+      <source>Indent</source>
+      <translation>Identa</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="893" />
       <source>Unindent</source>
       <translation>Annulla identazione</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="887" />
+      <location filename="../QScintilla/Editor.py" line="898" />
       <source>Comment</source>
       <translation>Commenta</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="892" />
+      <location filename="../QScintilla/Editor.py" line="903" />
       <source>Uncomment</source>
       <translation>Annulla commenta</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8987" />
-      <location filename="../QScintilla/Editor.py" line="897" />
+      <location filename="../QScintilla/Editor.py" line="9017" />
+      <location filename="../QScintilla/Editor.py" line="908" />
       <source>Generate Docstring</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="900" />
+      <location filename="../QScintilla/Editor.py" line="911" />
       <source>Select to brace</source>
       <translation>Seleziona per parentesizzare</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="901" />
+      <location filename="../QScintilla/Editor.py" line="912" />
       <source>Select all</source>
       <translation>Seleziona tutti</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="902" />
+      <location filename="../QScintilla/Editor.py" line="913" />
       <source>Deselect all</source>
       <translation>Deseleziona tutti</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="904" />
+      <location filename="../QScintilla/Editor.py" line="915" />
       <source>Execute Selection In Console</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="916" />
+      <location filename="../QScintilla/Editor.py" line="927" />
       <source>Use Monospaced Font</source>
       <translation>Usa un font Monospaced</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="921" />
+      <location filename="../QScintilla/Editor.py" line="932" />
       <source>Autosave enabled</source>
       <translation>Salvataggio automatico abilitato</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="926" />
+      <location filename="../QScintilla/Editor.py" line="937" />
       <source>Typing aids enabled</source>
       <translation>Aiuti alla digitazione abilitati</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="934" />
+      <location filename="../QScintilla/Editor.py" line="945" />
       <source>Automatic Completion enabled</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="943" />
+      <location filename="../QScintilla/Editor.py" line="954" />
       <source>Calltip</source>
       <translation>Calltip</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="946" />
+      <location filename="../QScintilla/Editor.py" line="957" />
       <source>Code Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="961" />
+      <location filename="../QScintilla/Editor.py" line="972" />
       <source>New Document View</source>
       <translation>Nuova vista Documento</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="966" />
+      <location filename="../QScintilla/Editor.py" line="977" />
       <source>New Document View (with new split)</source>
       <translation>Nuova vista Documento (con nuova divisione)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="974" />
+      <location filename="../QScintilla/Editor.py" line="985" />
       <source>Save</source>
       <translation>Salva</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="978" />
+      <location filename="../QScintilla/Editor.py" line="989" />
       <source>Save As...</source>
       <translation>Salva come...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="983" />
+      <location filename="../QScintilla/Editor.py" line="994" />
       <source>Save Copy...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1005" />
-      <location filename="../QScintilla/Editor.py" line="1002" />
+      <location filename="../QScintilla/Editor.py" line="1016" />
+      <location filename="../QScintilla/Editor.py" line="1013" />
       <source>Complete</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1009" />
+      <location filename="../QScintilla/Editor.py" line="1020" />
       <source>Clear Completions Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1012" />
+      <location filename="../QScintilla/Editor.py" line="1023" />
       <source>Complete from Document</source>
       <translation type="unfinished">dal Documento</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1014" />
+      <location filename="../QScintilla/Editor.py" line="1025" />
       <source>Complete from APIs</source>
       <translation type="unfinished">dalle APIs</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1017" />
+      <location filename="../QScintilla/Editor.py" line="1028" />
       <source>Complete from Document and APIs</source>
       <translation type="unfinished">dal Documento e dalle APIs</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1031" />
-      <source>Check</source>
-      <translation>Controlla</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="1042" />
-      <source>Code Formatting</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="1048" />
-      <source>Black</source>
-      <translation type="unfinished" />
+      <source>Check</source>
+      <translation>Controlla</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="1053" />
+      <source>Code Formatting</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1059" />
+      <source>Black</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1064" />
       <source>Format Code</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1057" />
+      <location filename="../QScintilla/Editor.py" line="1068" />
       <source>Check Formatting</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1061" />
+      <location filename="../QScintilla/Editor.py" line="1072" />
       <source>Formatting Diff</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1070" />
+      <location filename="../QScintilla/Editor.py" line="1081" />
       <source>isort</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1075" />
+      <location filename="../QScintilla/Editor.py" line="1086" />
       <source>Sort Imports</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1079" />
+      <location filename="../QScintilla/Editor.py" line="1090" />
       <source>Imports Sorting Diff</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1095" />
-      <source>Tools</source>
-      <translation>Strumenti</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="1106" />
+      <source>Tools</source>
+      <translation>Strumenti</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1117" />
       <source>Show</source>
       <translation>Mostra</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1108" />
+      <location filename="../QScintilla/Editor.py" line="1119" />
       <source>Code metrics...</source>
       <translation>Statistiche codice...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1110" />
+      <location filename="../QScintilla/Editor.py" line="1121" />
       <source>Code coverage...</source>
       <translation>Analisi codice...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1113" />
+      <location filename="../QScintilla/Editor.py" line="1124" />
       <source>Show code coverage annotations</source>
       <translation>Mostra le annotazioni dell'analisi del codice</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1116" />
+      <location filename="../QScintilla/Editor.py" line="1127" />
       <source>Hide code coverage annotations</source>
       <translation>Nascondi le annotazioni dell'analisi del codice</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1120" />
+      <location filename="../QScintilla/Editor.py" line="1131" />
       <source>Profile data...</source>
       <translation>Profilazione dati...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1134" />
-      <source>Diagrams</source>
-      <translation>Diagrammi</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="1136" />
-      <source>Class Diagram...</source>
-      <translation>Diagrammi di classe...</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="1137" />
-      <source>Package Diagram...</source>
-      <translation>Diagrammi del package...</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="1138" />
-      <source>Imports Diagram...</source>
-      <translation>Importa diagrammi...</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="1140" />
-      <source>Application Diagram...</source>
-      <translation>Diagrammi dell'applicazione...</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="1145" />
+      <source>Diagrams</source>
+      <translation>Diagrammi</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1147" />
+      <source>Class Diagram...</source>
+      <translation>Diagrammi di classe...</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1148" />
+      <source>Package Diagram...</source>
+      <translation>Diagrammi del package...</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1149" />
+      <source>Imports Diagram...</source>
+      <translation>Importa diagrammi...</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1151" />
+      <source>Application Diagram...</source>
+      <translation>Diagrammi dell'applicazione...</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1156" />
       <source>Load Diagram...</source>
       <translation>Carica Diagramma...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1160" />
+      <location filename="../QScintilla/Editor.py" line="1171" />
       <source>Languages</source>
       <translation>Linguaggi</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1164" />
+      <location filename="../QScintilla/Editor.py" line="1175" />
       <source>Text</source>
       <translation type="unfinished">Testo</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1187" />
+      <location filename="../QScintilla/Editor.py" line="1198" />
       <source>Guessed</source>
       <translation>Indovinato</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1516" />
-      <location filename="../QScintilla/Editor.py" line="1191" />
+      <location filename="../QScintilla/Editor.py" line="1527" />
+      <location filename="../QScintilla/Editor.py" line="1202" />
       <source>Alternatives</source>
       <translation>Alternative</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1208" />
+      <location filename="../QScintilla/Editor.py" line="1219" />
       <source>Encodings</source>
       <translation>Codifica</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1231" />
+      <location filename="../QScintilla/Editor.py" line="1242" />
       <source>Re-Open With Encoding</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1251" />
+      <location filename="../QScintilla/Editor.py" line="1262" />
       <source>End-of-Line Type</source>
       <translation>Tipo di fine-linea</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1255" />
+      <location filename="../QScintilla/Editor.py" line="1266" />
       <source>Unix</source>
       <translation>Unix</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1261" />
+      <location filename="../QScintilla/Editor.py" line="1272" />
       <source>Windows</source>
       <translation>Windows</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1267" />
+      <location filename="../QScintilla/Editor.py" line="1278" />
       <source>Macintosh</source>
       <translation>Macintosh</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1285" />
+      <location filename="../QScintilla/Editor.py" line="1296" />
       <source>Spelling</source>
       <translation type="unfinished">Spelling</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8105" />
-      <location filename="../QScintilla/Editor.py" line="1293" />
+      <location filename="../QScintilla/Editor.py" line="8135" />
+      <location filename="../QScintilla/Editor.py" line="1304" />
       <source>Check spelling...</source>
       <translation>Controllo sillabazione...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1298" />
+      <location filename="../QScintilla/Editor.py" line="1309" />
       <source>Check spelling of selection...</source>
       <translation>Controllo sillabazione della selezione...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1302" />
+      <location filename="../QScintilla/Editor.py" line="1313" />
       <source>Remove from dictionary</source>
       <translation>Rimuovi dal dizionario</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1319" />
+      <location filename="../QScintilla/Editor.py" line="1330" />
       <source>Spell Check Languages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1323" />
+      <location filename="../QScintilla/Editor.py" line="1334" />
       <source>No Language</source>
       <translation>Nessun linguaggio</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1350" />
+      <location filename="../QScintilla/Editor.py" line="1361" />
       <source>Toggle bookmark</source>
       <translation>Inverti bookmark</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1352" />
+      <location filename="../QScintilla/Editor.py" line="1363" />
       <source>Next bookmark</source>
       <translation>Prossimo segnalibro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1355" />
+      <location filename="../QScintilla/Editor.py" line="1366" />
       <source>Previous bookmark</source>
       <translation>Segnalibro precedente</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1358" />
-      <source>Clear all bookmarks</source>
-      <translation>Pulisci di tutti di segnalibri</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="1369" />
+      <source>Clear all bookmarks</source>
+      <translation>Pulisci di tutti di segnalibri</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1380" />
       <source>Toggle breakpoint</source>
       <translation>Abilita/Disabilita breakpoint</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1372" />
+      <location filename="../QScintilla/Editor.py" line="1383" />
       <source>Toggle temporary breakpoint</source>
       <translation>Abilita/Disabilita breakpoint temporaneo</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1375" />
+      <location filename="../QScintilla/Editor.py" line="1386" />
       <source>Edit breakpoint...</source>
       <translation>Modifica Breakpoint...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5794" />
-      <location filename="../QScintilla/Editor.py" line="1378" />
+      <location filename="../QScintilla/Editor.py" line="5812" />
+      <location filename="../QScintilla/Editor.py" line="1389" />
       <source>Enable breakpoint</source>
       <translation>Abilita breakpoint</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1381" />
+      <location filename="../QScintilla/Editor.py" line="1392" />
       <source>Next breakpoint</source>
       <translation>Prossimo breakpoint</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1384" />
+      <location filename="../QScintilla/Editor.py" line="1395" />
       <source>Previous breakpoint</source>
       <translation>Breakpoint precedente</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1387" />
-      <source>Clear all breakpoints</source>
-      <translation>Elimina tutti i breakpoint</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="1398" />
+      <source>Clear all breakpoints</source>
+      <translation>Elimina tutti i breakpoint</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1409" />
       <source>Toggle all folds</source>
       <translation type="unfinished">Abilita/Disabilita tutti i raggruppamenti</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1403" />
-      <source>Toggle all folds (including children)</source>
-      <translation type="unfinished">Abilita/Disabilita tutti i raggruppamenti (inclusi i figli)</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="1406" />
-      <source>Toggle current fold</source>
-      <translation type="unfinished">Abilita/Disabilita il raggruppamento corrente</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="1410" />
-      <source>Expand (including children)</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="1414" />
+      <source>Toggle all folds (including children)</source>
+      <translation type="unfinished">Abilita/Disabilita tutti i raggruppamenti (inclusi i figli)</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1417" />
+      <source>Toggle current fold</source>
+      <translation type="unfinished">Abilita/Disabilita il raggruppamento corrente</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1421" />
+      <source>Expand (including children)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1425" />
       <source>Collapse (including children)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1419" />
-      <source>Clear all folds</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="1430" />
+      <source>Clear all folds</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1441" />
       <source>Goto syntax error</source>
       <translation>Vai all'errore di sintassi</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1433" />
+      <location filename="../QScintilla/Editor.py" line="1444" />
       <source>Show syntax error message</source>
       <translation>Mostra i messaggi degli errori di sintassi</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1436" />
+      <location filename="../QScintilla/Editor.py" line="1447" />
       <source>Clear syntax error</source>
       <translation>Elimina errori di sintassi</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1440" />
+      <location filename="../QScintilla/Editor.py" line="1451" />
       <source>Next warning</source>
       <translation>Warning successivo</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1443" />
+      <location filename="../QScintilla/Editor.py" line="1454" />
       <source>Previous warning</source>
       <translation>Warning precedente</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1446" />
+      <location filename="../QScintilla/Editor.py" line="1457" />
       <source>Show warning message</source>
       <translation>Mostra Warning</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1449" />
-      <source>Clear warnings</source>
-      <translation>Pulisci warning</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="1453" />
-      <source>Next uncovered line</source>
-      <translation>Prossimo file non analizzato</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="1456" />
-      <source>Previous uncovered line</source>
-      <translation>File non analizzato precedente</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="1460" />
-      <source>Next task</source>
-      <translation>Prossimo task</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="1463" />
-      <source>Previous task</source>
-      <translation>Task precedente</translation>
+      <source>Clear warnings</source>
+      <translation>Pulisci warning</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1464" />
+      <source>Next uncovered line</source>
+      <translation>Prossimo file non analizzato</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="1467" />
+      <source>Previous uncovered line</source>
+      <translation>File non analizzato precedente</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1471" />
+      <source>Next task</source>
+      <translation>Prossimo task</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1474" />
+      <source>Previous task</source>
+      <translation>Task precedente</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1478" />
       <source>Next change</source>
       <translation>Modifica successiva</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1470" />
+      <location filename="../QScintilla/Editor.py" line="1481" />
       <source>Previous change</source>
       <translation>Modifica precedente</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1473" />
+      <location filename="../QScintilla/Editor.py" line="1484" />
       <source>Clear changes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1502" />
-      <location filename="../QScintilla/Editor.py" line="1493" />
-      <source>Export source</source>
-      <translation>Esporta sorgenti</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="1494" />
-      <source>&lt;p&gt;No exporter available for the export format &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Nessun esportatore disponibile per il formato di export&lt;b&gt;{0}&lt;/b&gt;. Termino...&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="1503" />
-      <source>No export format given. Aborting...</source>
-      <translation>Nessun formato di export impostato. Annullamento...</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="1513" />
+      <location filename="../QScintilla/Editor.py" line="1504" />
+      <source>Export source</source>
+      <translation>Esporta sorgenti</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1505" />
+      <source>&lt;p&gt;No exporter available for the export format &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Nessun esportatore disponibile per il formato di export&lt;b&gt;{0}&lt;/b&gt;. Termino...&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1514" />
+      <source>No export format given. Aborting...</source>
+      <translation>Nessun formato di export impostato. Annullamento...</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1524" />
       <source>Alternatives ({0})</source>
       <translation>Alternative ({0})</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1536" />
+      <location filename="../QScintilla/Editor.py" line="1547" />
       <source>Pygments Lexer</source>
       <translation>Analizzatore lessicale Pygments</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1537" />
+      <location filename="../QScintilla/Editor.py" line="1548" />
       <source>Select the Pygments lexer to apply.</source>
       <translation>Selezione l'analizzatore lessicale di Pygments da applicare.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="2087" />
+      <location filename="../QScintilla/Editor.py" line="2098" />
       <source>Modification of Read Only file</source>
       <translation>Modifica di un file di sola lettura</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="2088" />
+      <location filename="../QScintilla/Editor.py" line="2099" />
       <source>You are attempting to change a read only file. Please save to a different file first.</source>
       <translation>Stai tentando di modificare un file in sola lettura. Per favore prima salva come un file diverso.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="2509" />
+      <location filename="../QScintilla/Editor.py" line="2520" />
       <source>Add Breakpoint</source>
       <translation type="unfinished">Aggiungi un breakpoint</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="2510" />
+      <location filename="../QScintilla/Editor.py" line="2521" />
       <source>No Python byte code will be created for the selected line. No break point will be set!</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="2843" />
+      <location filename="../QScintilla/Editor.py" line="2854" />
       <source>Printing...</source>
       <translation>In stampa...</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="2860" />
+      <location filename="../QScintilla/Editor.py" line="2871" />
       <source>Printing completed</source>
       <translation>Stampa completata</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="2862" />
+      <location filename="../QScintilla/Editor.py" line="2873" />
       <source>Error while printing</source>
       <translation>Errore durante la stampa</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="2865" />
+      <location filename="../QScintilla/Editor.py" line="2876" />
       <source>Printing aborted</source>
       <translation>Stampa annullata</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3222" />
+      <location filename="../QScintilla/Editor.py" line="3239" />
       <source>File Modified</source>
       <translation>File modificato</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3223" />
+      <location filename="../QScintilla/Editor.py" line="3240" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has unsaved changes.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Il file &lt;b&gt;{0}&lt;/b&gt; contiene modifiche non salvate.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3281" />
+      <location filename="../QScintilla/Editor.py" line="3298" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be opened.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Il file &lt;b&gt;{0}&lt;/b&gt; non può essere aperto.&lt;br /&gt;Motivo: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3457" />
-      <location filename="../QScintilla/Editor.py" line="3438" />
-      <location filename="../QScintilla/Editor.py" line="3400" />
+      <location filename="../QScintilla/Editor.py" line="3474" />
+      <location filename="../QScintilla/Editor.py" line="3455" />
+      <location filename="../QScintilla/Editor.py" line="3417" />
       <source>Save File</source>
       <translation>Salva file</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3401" />
+      <location filename="../QScintilla/Editor.py" line="3418" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be saved.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Il file &lt;b&gt;{0}&lt;/b&gt; non può essere salvato.&lt;br /&gt;Motivo: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3458" />
+      <location filename="../QScintilla/Editor.py" line="3475" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Il file &lt;b&gt;{0}&lt;/b&gt; esiste già. Sovrascriverlo ?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="4968" />
+      <location filename="../QScintilla/Editor.py" line="4986" />
       <source>Autocompletion</source>
       <translation>Autocompletamento</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="4969" />
+      <location filename="../QScintilla/Editor.py" line="4987" />
       <source>Autocompletion is not available because there is no autocompletion source set.</source>
       <translation>L'autocomplentamento non è disponibile perchè non ci sono fonti impostate.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5097" />
+      <location filename="../QScintilla/Editor.py" line="5115" />
       <source>Auto-Completion Provider</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5098" />
+      <location filename="../QScintilla/Editor.py" line="5116" />
       <source>The completion list provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5390" />
+      <location filename="../QScintilla/Editor.py" line="5408" />
       <source>Call-Tips Provider</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5391" />
+      <location filename="../QScintilla/Editor.py" line="5409" />
       <source>The call-tips provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5798" />
+      <location filename="../QScintilla/Editor.py" line="5816" />
       <source>Disable breakpoint</source>
       <translation>Disabilita breakpoint</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6159" />
+      <location filename="../QScintilla/Editor.py" line="6177" />
       <source>Code Coverage</source>
       <translation>Analisi codice</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6160" />
+      <location filename="../QScintilla/Editor.py" line="6178" />
       <source>Please select a coverage file</source>
       <translation>Per favore seleziona un file per l'analisi</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6235" />
-      <location filename="../QScintilla/Editor.py" line="6227" />
+      <location filename="../QScintilla/Editor.py" line="6253" />
+      <location filename="../QScintilla/Editor.py" line="6245" />
       <source>Show Code Coverage Annotations</source>
       <translation>Mostra le annotazioni dell'analisi del codice</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6228" />
+      <location filename="../QScintilla/Editor.py" line="6246" />
       <source>All lines have been covered.</source>
       <translation>Tutte le linee sono state analizzate.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6236" />
+      <location filename="../QScintilla/Editor.py" line="6254" />
       <source>There is no coverage file available.</source>
       <translation>Non ci sono file di analisi disponibili.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6340" />
+      <location filename="../QScintilla/Editor.py" line="6358" />
       <source>Profile Data</source>
       <translation>Profilazione dati</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6341" />
+      <location filename="../QScintilla/Editor.py" line="6359" />
       <source>Please select a profile file</source>
       <translation>Per favore seleziona un file per la profilazione</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6502" />
-      <location filename="../QScintilla/Editor.py" line="6496" />
+      <location filename="../QScintilla/Editor.py" line="6520" />
+      <location filename="../QScintilla/Editor.py" line="6514" />
       <source>Syntax Error</source>
       <translation>Errore di sintassi</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6503" />
+      <location filename="../QScintilla/Editor.py" line="6521" />
       <source>No syntax error message available.</source>
       <translation>Nessun messaggio degli errori di sintassi disponibile.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6714" />
-      <location filename="../QScintilla/Editor.py" line="6708" />
+      <location filename="../QScintilla/Editor.py" line="6732" />
+      <location filename="../QScintilla/Editor.py" line="6726" />
       <source>Warning</source>
       <translation>Attenzione</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6714" />
+      <location filename="../QScintilla/Editor.py" line="6732" />
       <source>No warning messages available.</source>
       <translation>Nessun messaggio di attenzione disponibile.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6778" />
+      <location filename="../QScintilla/Editor.py" line="6796" />
       <source>Style: {0}</source>
       <translation>Stile: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6781" />
+      <location filename="../QScintilla/Editor.py" line="6799" />
       <source>Warning: {0}</source>
       <translation>Attenzione: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6788" />
+      <location filename="../QScintilla/Editor.py" line="6806" />
       <source>Error: {0}</source>
       <translation>Errore: {0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6895" />
+      <location filename="../QScintilla/Editor.py" line="6913" />
       <source>Macro Name</source>
       <translation>Nome Macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6895" />
+      <location filename="../QScintilla/Editor.py" line="6913" />
       <source>Select a macro name:</source>
       <translation>Seleziona un nome per la macro:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6921" />
+      <location filename="../QScintilla/Editor.py" line="6939" />
       <source>Load macro file</source>
       <translation>Carica un file di macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6967" />
-      <location filename="../QScintilla/Editor.py" line="6923" />
+      <location filename="../QScintilla/Editor.py" line="6985" />
+      <location filename="../QScintilla/Editor.py" line="6941" />
       <source>Macro files (*.macro)</source>
       <translation>File Macro (*.macro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6945" />
-      <location filename="../QScintilla/Editor.py" line="6935" />
+      <location filename="../QScintilla/Editor.py" line="6963" />
+      <location filename="../QScintilla/Editor.py" line="6953" />
       <source>Error loading macro</source>
       <translation>Errore nel caricamento della macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6936" />
+      <location filename="../QScintilla/Editor.py" line="6954" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Il file macro &lt;b&gt;{0}&lt;/b&gt; non può essere letto.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6946" />
+      <location filename="../QScintilla/Editor.py" line="6964" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Il file macro &lt;b&gt;{0}&lt;/b&gt; è danneggiato.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6965" />
-      <source>Save macro file</source>
-      <translation>Salva un file di macro</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="6983" />
+      <source>Save macro file</source>
+      <translation>Salva un file di macro</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7001" />
       <source>Save macro</source>
       <translation>Salva macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6984" />
+      <location filename="../QScintilla/Editor.py" line="7002" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Il file  delle macro &lt;b&gt;{0}&lt;/b&gt; esiste già.Sovrascriverlo ?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6999" />
+      <location filename="../QScintilla/Editor.py" line="7017" />
       <source>Error saving macro</source>
       <translation>Errore nel salvataggio della macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7000" />
+      <location filename="../QScintilla/Editor.py" line="7018" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Il file macro &lt;b&gt;{0}&lt;/b&gt; non può essere scritto.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7013" />
+      <location filename="../QScintilla/Editor.py" line="7031" />
       <source>Start Macro Recording</source>
       <translation>Avvia registrazione della macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7014" />
+      <location filename="../QScintilla/Editor.py" line="7032" />
       <source>Macro recording is already active. Start new?</source>
       <translation>Registrazione macro già attiva. Avvia nuovamente ?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7040" />
+      <location filename="../QScintilla/Editor.py" line="7058" />
       <source>Macro Recording</source>
       <translation>Registrazione Macro</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7041" />
+      <location filename="../QScintilla/Editor.py" line="7059" />
       <source>Enter name of the macro:</source>
       <translation>Inserisci un nome per la macro:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7192" />
+      <location filename="../QScintilla/Editor.py" line="7210" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric. Reread it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7198" />
+      <location filename="../QScintilla/Editor.py" line="7216" />
       <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
       <translation>&lt;br&gt;&lt;b&gt;Attenzione:&lt;/b&gt; con la riapertura le modifiche andranno perse.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7205" />
+      <location filename="../QScintilla/Editor.py" line="7223" />
       <source>File changed</source>
       <translation>File modificato</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7255" />
+      <location filename="../QScintilla/Editor.py" line="7273" />
       <source>{0} (ro)</source>
       <translation>{0} (ro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7549" />
-      <source>Drop Error</source>
-      <translation>Errore Drop</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7550" />
-      <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; non è un file.&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7570" />
-      <source>Resources</source>
-      <translation>Risorse</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7572" />
-      <source>Add file...</source>
-      <translation>Aggiungi file...</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7573" />
-      <source>Add files...</source>
-      <translation>Aggiungi files...</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7574" />
-      <source>Add aliased file...</source>
-      <translation>Aggiungi file sinonimo...</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7576" />
-      <source>Add localized resource...</source>
-      <translation>Aggiungi una risorsa localizzata...</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="7579" />
+      <source>Drop Error</source>
+      <translation>Errore Drop</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7580" />
+      <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; non è un file.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7600" />
+      <source>Resources</source>
+      <translation>Risorse</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7602" />
+      <source>Add file...</source>
+      <translation>Aggiungi file...</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7603" />
+      <source>Add files...</source>
+      <translation>Aggiungi files...</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7604" />
+      <source>Add aliased file...</source>
+      <translation>Aggiungi file sinonimo...</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7606" />
+      <source>Add localized resource...</source>
+      <translation>Aggiungi una risorsa localizzata...</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7609" />
       <source>Add resource frame</source>
       <translation>Aggiungi riquadro delle risorse</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7598" />
+      <location filename="../QScintilla/Editor.py" line="7628" />
       <source>Add file resource</source>
       <translation>Aggiungi un file risorse</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7612" />
+      <location filename="../QScintilla/Editor.py" line="7642" />
       <source>Add file resources</source>
       <translation>Aggiundi dei file risorse</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7636" />
-      <location filename="../QScintilla/Editor.py" line="7630" />
+      <location filename="../QScintilla/Editor.py" line="7666" />
+      <location filename="../QScintilla/Editor.py" line="7660" />
       <source>Add aliased file resource</source>
       <translation>Aggiungi file sinonimo delle risorse</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7637" />
+      <location filename="../QScintilla/Editor.py" line="7667" />
       <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
       <translation>Alias per il file &lt;b&gt;{0}&lt;/b&gt;:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7712" />
+      <location filename="../QScintilla/Editor.py" line="7742" />
       <source>Package Diagram</source>
       <translation>Diagrammi del package</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7713" />
+      <location filename="../QScintilla/Editor.py" line="7743" />
       <source>Include class attributes?</source>
       <translation>Includi gli attributi della classe ?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7733" />
+      <location filename="../QScintilla/Editor.py" line="7763" />
       <source>Imports Diagram</source>
       <translation>Importa diagrammi</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7734" />
+      <location filename="../QScintilla/Editor.py" line="7764" />
       <source>Include imports from external modules?</source>
       <translation>Includi gli import dai moduli esterni ?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7753" />
+      <location filename="../QScintilla/Editor.py" line="7783" />
       <source>Application Diagram</source>
       <translation>Diagrammi dell'applicazione</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7754" />
+      <location filename="../QScintilla/Editor.py" line="7784" />
       <source>Include module names?</source>
       <translation>Includi i nomi dei moduli ?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8109" />
+      <location filename="../QScintilla/Editor.py" line="8139" />
       <source>Add to dictionary</source>
       <translation>Aggiungi al dizionario</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8111" />
+      <location filename="../QScintilla/Editor.py" line="8141" />
       <source>Ignore All</source>
       <translation>Ignora tutto</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8529" />
+      <location filename="../QScintilla/Editor.py" line="8559" />
       <source>Sort Lines</source>
       <translation>Righe ordinate</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8530" />
+      <location filename="../QScintilla/Editor.py" line="8560" />
       <source>The selection contains illegal data for a numerical sort.</source>
       <translation>La selezione contiene dati non validi per un ordinamento numerico.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8623" />
+      <location filename="../QScintilla/Editor.py" line="8653" />
       <source>Register Mouse Click Handler</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8624" />
+      <location filename="../QScintilla/Editor.py" line="8654" />
       <source>A mouse click handler for "{0}" was already registered by "{1}". Aborting request by "{2}"...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8720" />
+      <location filename="../QScintilla/Editor.py" line="8750" />
       <source>{0:4d}    {1}</source>
       <comment>line number, source code</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8726" />
+      <location filename="../QScintilla/Editor.py" line="8756" />
       <source>{0:4d}    {1}
     =&gt;  {2}</source>
       <comment>line number, source code, file name</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8794" />
+      <location filename="../QScintilla/Editor.py" line="8824" />
       <source>EditorConfig Properties</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8795" />
+      <location filename="../QScintilla/Editor.py" line="8825" />
       <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -19959,21 +20007,6 @@
   <context>
     <name>EspBackupRestoreFirmwareDialog</name>
     <message>
-      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="107" />
-      <source>Firmware Files (*.img);;All Files (*)</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="115" />
-      <source>Backup Firmware</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="120" />
-      <source>Restore Firmware</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="0" />
       <source>ESP Chip Type:</source>
       <translation type="unfinished" />
@@ -20033,143 +20066,158 @@
       <source>Enter the path of the firmware file</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../MicroPython/Devices/EspDialogs/EspBackupRestoreFirmwareDialog.py" line="107" />
+      <source>Firmware Files (*.img);;All Files (*)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/EspDialogs/EspBackupRestoreFirmwareDialog.py" line="115" />
+      <source>Backup Firmware</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/EspDialogs/EspBackupRestoreFirmwareDialog.py" line="120" />
+      <source>Restore Firmware</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>EspDevice</name>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="71" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="72" />
       <source>ESP8266, ESP32</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="127" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="128" />
       <source>ESP32 Functions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="400" />
-      <location filename="../MicroPython/EspDevices.py" line="130" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="405" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="131" />
       <source>Show MicroPython Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="220" />
-      <location filename="../MicroPython/EspDevices.py" line="206" />
-      <location filename="../MicroPython/EspDevices.py" line="134" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="221" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="207" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="135" />
       <source>Erase Flash</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="257" />
-      <location filename="../MicroPython/EspDevices.py" line="137" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="258" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="138" />
       <source>Flash MicroPython Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="294" />
-      <location filename="../MicroPython/EspDevices.py" line="141" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="295" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="142" />
       <source>Flash Additional Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="328" />
-      <location filename="../MicroPython/EspDevices.py" line="145" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="331" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="146" />
       <source>Backup Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="379" />
-      <location filename="../MicroPython/EspDevices.py" line="148" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="384" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="149" />
       <source>Restore Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="470" />
-      <location filename="../MicroPython/EspDevices.py" line="152" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="475" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="153" />
       <source>Show Chip ID</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="490" />
-      <location filename="../MicroPython/EspDevices.py" line="155" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="495" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="156" />
       <source>Show Flash ID</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="510" />
-      <location filename="../MicroPython/EspDevices.py" line="158" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="515" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="159" />
       <source>Show MAC Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="162" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="163" />
       <source>Reset Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="165" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="166" />
       <source>Install 'esptool.py'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="207" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="208" />
       <source>Shall the flash of the selected device really be erased?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="219" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="220" />
       <source>'esptool erase_flash' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="378" />
-      <location filename="../MicroPython/EspDevices.py" line="293" />
-      <location filename="../MicroPython/EspDevices.py" line="256" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="383" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="294" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="257" />
       <source>'esptool write_flash' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="327" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="330" />
       <source>'esptool read_flash' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="401" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="406" />
       <source>The firmware of the connected device cannot be determined or the board does not run MicroPython or CircuitPython. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="429" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="434" />
       <source>unknown</source>
       <translation type="unfinished">sconosciuto</translation>
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="440" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="445" />
       <source>&lt;h4&gt;{0} Version Information&lt;/h4&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;Installed:&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Available:&lt;/td&gt;&lt;td&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="448" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="453" />
       <source>&lt;p&gt;&lt;b&gt;Update available!&lt;/b&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="452" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="457" />
       <source>{0} Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="470" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="475" />
       <source>'esptool chip_id' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="490" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="495" />
       <source>'esptool flash_id' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/EspDevices.py" line="510" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="515" />
       <source>'esptool read_mac' Output</source>
       <translation type="unfinished" />
     </message>
@@ -20177,11 +20225,6 @@
   <context>
     <name>EspFirmwareSelectionDialog</name>
     <message>
-      <location filename="../MicroPython/EspFirmwareSelectionDialog.py" line="68" />
-      <source>Firmware Files (*.bin);;All Files (*)</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/EspFirmwareSelectionDialog.ui" line="0" />
       <source>Flash MicroPython Firmware</source>
       <translation type="unfinished" />
@@ -20251,6 +20294,11 @@
       <source>Firmware is CircuitPython</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../MicroPython/Devices/EspDialogs/EspFirmwareSelectionDialog.py" line="68" />
+      <source>Firmware Files (*.bin);;All Files (*)</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>ExceptionLogger</name>
@@ -22003,12 +22051,12 @@
   <context>
     <name>GenericMicroPythonDevice</name>
     <message>
-      <location filename="../MicroPython/GenericMicroPythonDevices.py" line="196" />
+      <location filename="../MicroPython/Devices/GenericMicroPythonDevices.py" line="196" />
       <source>Workspace Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/GenericMicroPythonDevices.py" line="197" />
+      <location filename="../MicroPython/Devices/GenericMicroPythonDevices.py" line="197" />
       <source>Python files for this generic board can be edited in place, if the device volume is locally available. A volume named '{0}' was not found. In place editing will not be available.</source>
       <translation type="unfinished" />
     </message>
@@ -49066,114 +49114,69 @@
   <context>
     <name>MicroPythonDevice</name>
     <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="271" />
+      <location filename="../MicroPython/Devices/__init__.py" line="260" />
+      <source>Generic Board</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/__init__.py" line="280" />
       <source>RP2040 based</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="286" />
-      <source>Generic Board</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="424" />
-      <location filename="../MicroPython/MicroPythonDevices.py" line="413" />
+      <location filename="../MicroPython/Devices/__init__.py" line="428" />
+      <location filename="../MicroPython/Devices/__init__.py" line="417" />
       <source>Unknown Device</source>
       <translation type="unfinished" />
     </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="566" />
-      <source>Show MicroPython Versions</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="567" />
-      <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/MicroPythonDevices.py" line="599" />
-      <source>Unsupported Device</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="609" />
-      <source>REPL is not supported by this device.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="628" />
-      <source>Plotter is not supported by this device.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="647" />
-      <source>Running scripts is not supported by this device.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="666" />
-      <source>File Manager is not supported by this device.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="711" />
-      <source>Select Device Directory</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="712" />
-      <source>Select the directory for the connected device:</source>
-      <translation type="unfinished" />
-    </message>
   </context>
   <context>
     <name>MicroPythonFileManager</name>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="212" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="246" />
       <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="219" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="253" />
       <source>{1}Synchronizing &lt;b&gt;{0}&lt;/b&gt;.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="222" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="256" />
       <source>{1}Done synchronizing &lt;b&gt;{0}&lt;/b&gt;.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="352" />
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="272" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="386" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="306" />
       <source>{1}Adding &lt;b&gt;{0}&lt;/b&gt;...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="416" />
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="321" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="450" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="355" />
       <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="425" />
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="330" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="459" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="364" />
       <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="339" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="373" />
       <source>Updating &lt;b&gt;{0}&lt;/b&gt;...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="380" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="414" />
       <source>{1}Removing &lt;b&gt;{0}&lt;/b&gt;...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="434" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="468" />
       <source>{1}Updating &lt;b&gt;{0}&lt;/b&gt;...</source>
       <translation type="unfinished" />
     </message>
@@ -49241,6 +49244,21 @@
     </message>
     <message>
       <location filename="../MicroPython/MicroPythonFileManagerWidget.ui" line="0" />
+      <source>Press to open the selected file of the device in an editor.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.ui" line="0" />
+      <source>Press to save the current editor to the selected file on the device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.ui" line="0" />
+      <source>Press to save the current editor to a new file on the device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.ui" line="0" />
       <location filename="../MicroPython/MicroPythonFileManagerWidget.ui" line="0" />
       <source>Press to move one directory level up</source>
       <translation type="unfinished" />
@@ -49262,163 +49280,171 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="861" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="690" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="141" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="120" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="977" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="806" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="148" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="127" />
       <source>Change Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="881" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="726" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="714" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="144" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="123" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="997" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="842" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="830" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="151" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="130" />
       <source>Create Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="936" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="764" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="753" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="151" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="126" />
-      <source>Delete Directory Tree</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="963" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="802" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="791" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="155" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="130" />
-      <source>Delete File</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="1052" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="880" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="869" />
       <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="158" />
       <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="133" />
-      <source>Show Hidden Files</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="908" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="148" />
-      <source>Delete Directory</source>
+      <source>Delete Directory Tree</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="1079" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="918" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="907" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="162" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="137" />
+      <source>Delete File</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="165" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="140" />
+      <source>Show Hidden Files</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="1024" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="155" />
+      <source>Delete Directory</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="172" />
       <source>Show Filesystem Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="212" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="219" />
       <source>Error handling device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="213" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="220" />
       <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/MicroPythonFileManagerWidget.py" line="466" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="486" />
       <source>Put File As</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="534" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="467" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="723" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="554" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="487" />
       <source>Enter a new name for the file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="480" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="500" />
       <source>Copy File to Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="481" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="735" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="501" />
       <source>The given file exists already (Enter file name only).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="533" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="553" />
       <source>Get File As</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="547" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="567" />
       <source>Copy File from Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="548" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="568" />
       <source>The given file exists already.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="691" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="734" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="722" />
+      <source>Save File As</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="807" />
       <source>Select Directory</source>
       <translation type="unfinished">Seleziona Directory</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="882" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="715" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="998" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="831" />
       <source>Enter directory name:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="727" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="843" />
       <source>&lt;p&gt;The directory &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="937" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="754" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="1053" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="870" />
       <source>Do you really want to delete this directory tree?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="765" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="881" />
       <source>&lt;p&gt;The directory &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="964" />
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="792" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="1080" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="908" />
       <source>Do you really want to delete this file?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="803" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="919" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="862" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="978" />
       <source>Enter the directory path on the device:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="909" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="1025" />
       <source>Do you really want to delete this directory?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="997" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="1113" />
       <source>&lt;h3&gt;Filesystem Information&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="999" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="1115" />
       <source>&lt;h4&gt;{0}&lt;/h4&lt;table&gt;&lt;tr&gt;&lt;td&gt;Total Size: &lt;/td&gt;&lt;td align='right'&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Used Size: &lt;/td&gt;&lt;td align='right'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Free Size: &lt;/td&gt;&lt;td align='right'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="1012" />
+      <location filename="../MicroPython/MicroPythonFileManagerWidget.py" line="1128" />
       <source>Filesystem Information</source>
       <translation type="unfinished" />
     </message>
@@ -50237,194 +50263,194 @@
   <context>
     <name>MicrobitDevice</name>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="83" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="84" />
       <source>BBC micro:bit</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="86" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="87" />
       <source>Calliope mini</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="187" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="188" />
       <source>BBC micro:bit/Calliope Functions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="400" />
-      <location filename="../MicroPython/MicrobitDevices.py" line="388" />
-      <location filename="../MicroPython/MicrobitDevices.py" line="371" />
-      <location filename="../MicroPython/MicrobitDevices.py" line="190" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="401" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="389" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="372" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="191" />
       <source>Show MicroPython Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="194" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="195" />
       <source>Flash MicroPython</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="197" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="198" />
       <source>Flash Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="488" />
-      <location filename="../MicroPython/MicrobitDevices.py" line="201" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="489" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="202" />
       <source>Save Script</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="204" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="205" />
       <source>Save the current script to the selected device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="207" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="208" />
       <source>Save Script as 'main.py'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="210" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="211" />
       <source>Save the current script as 'main.py' on the connected device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="214" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="215" />
       <source>Reset {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="354" />
-      <location filename="../MicroPython/MicrobitDevices.py" line="345" />
-      <location filename="../MicroPython/MicrobitDevices.py" line="331" />
-      <location filename="../MicroPython/MicrobitDevices.py" line="314" />
-      <location filename="../MicroPython/MicrobitDevices.py" line="301" />
-      <location filename="../MicroPython/MicrobitDevices.py" line="281" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="355" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="346" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="332" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="315" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="302" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="282" />
       <source>Flash MicroPython/Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="282" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="283" />
       <source>&lt;p&gt;The BBC micro:bit is not ready for flashing the DAPLink firmware. Follow these instructions. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;unplug USB cable and any batteries&lt;/li&gt;&lt;li&gt;keep RESET button pressed and plug USB cable back in&lt;/li&gt;&lt;li&gt;a drive called MAINTENANCE should be available&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;See the &lt;a href="https://microbit.org/guide/firmware/"&gt;micro:bit web site&lt;/a&gt; for details.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="302" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="303" />
       <source>&lt;p&gt;The BBC micro:bit is not ready for flashing the MicroPython firmware. Please make sure, that a drive called MICROBIT is available.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="315" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="316" />
       <source>&lt;p&gt;The "Calliope mini" is not ready for flashing the DAPLink firmware. Follow these instructions. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;unplug USB cable and any batteries&lt;/li&gt;&lt;li&gt;keep RESET button pressed an plug USB cable back in&lt;/li&gt;&lt;li&gt;a drive called MAINTENANCE should be available&lt;/li&gt;&lt;/ul&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="332" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="333" />
       <source>&lt;p&gt;The "Calliope mini" is not ready for flashing the MicroPython firmware. Please make sure, that a drive called MINI is available.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="347" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="348" />
       <source>MicroPython/Firmware Files (*.hex *.bin);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="355" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="356" />
       <source>There are multiple devices ready for flashing. Please make sure, that only one device is prepared.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="372" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="373" />
       <source>The firmware of the connected device cannot be determined or the board does not run MicroPython or CircuitPython. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="389" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="390" />
       <source>&lt;p&gt;The BBC micro:bit generation cannot be determined. Aborting...&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="401" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="402" />
       <source>&lt;p&gt;The firmware URL for the device type &lt;b&gt;{0}&lt;/b&gt; is not known. Aborting...&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="428" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="429" />
       <source>unknown</source>
       <translation type="unfinished">sconosciuto</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="444" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="445" />
       <source>Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="447" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="448" />
       <source>&lt;h4&gt;{0} Version Information&lt;br/&gt;(BBC micro:bit v{1})&lt;/h4&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;Installed:&lt;/td&gt;&lt;td&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Available:&lt;/td&gt;&lt;td&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="456" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="457" />
       <source>&lt;p&gt;&lt;b&gt;Update available!&lt;/b&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="460" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="461" />
       <source>{0} Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="522" />
-      <location filename="../MicroPython/MicrobitDevices.py" line="486" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="523" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="487" />
       <source>Save Script as '{0}'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="495" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="496" />
       <source>The current editor does not contain a Python script. Write it anyway?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="506" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="507" />
       <source>The script is empty. Aborting.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="515" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="516" />
       <source>Enter a file name on the device:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="536" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="537" />
       <source>&lt;p&gt;The script could not be saved to the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="596" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="597" />
       <source>MicroPython Firmware for BBC micro:bit V1</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="628" />
-      <location filename="../MicroPython/MicrobitDevices.py" line="615" />
-      <location filename="../MicroPython/MicrobitDevices.py" line="600" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="629" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="616" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="601" />
       <source>DAPLink Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="607" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="608" />
       <source>MicroPython Firmware for BBC micro:bit V2</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="611" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="612" />
       <source>CircuitPython Firmware for BBC micro:bit V2</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicrobitDevices.py" line="624" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="625" />
       <source>MicroPython Firmware</source>
       <translation type="unfinished" />
     </message>
@@ -62424,131 +62450,131 @@
   <context>
     <name>PyBoardDevice</name>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="83" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="84" />
       <source>PyBoard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="198" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="199" />
       <source>Workspace Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="199" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="200" />
       <source>Python files for PyBoard can be edited in place, if the device volume is locally available. Such a volume was not found. In place editing will not be available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="231" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="232" />
       <source>PyBoard Functions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="437" />
-      <location filename="../MicroPython/PyBoardDevices.py" line="234" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="438" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="235" />
       <source>Show MicroPython Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="238" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="239" />
       <source>Activate Bootloader</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="241" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="242" />
       <source>List DFU-capable Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="420" />
-      <location filename="../MicroPython/PyBoardDevices.py" line="407" />
-      <location filename="../MicroPython/PyBoardDevices.py" line="245" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="421" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="408" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="246" />
       <source>Flash MicroPython Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="248" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="249" />
       <source>MicroPython Flash Instructions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="307" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="308" />
       <source>dfu-util not available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="308" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="309" />
       <source>The dfu-util firmware flashing tool &lt;b&gt;dfu-util&lt;/b&gt; cannot be found or is not executable. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="328" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="329" />
       <source>&lt;h3&gt;Enable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect everything from your board&lt;/p&gt;&lt;p&gt;2. Disconnect your board&lt;/p&gt;&lt;p&gt;3. Connect the DFU/BOOT0 pin with a 3.3V pin&lt;/p&gt;&lt;p&gt;4. Re-connect your board&lt;/p&gt;&lt;hr /&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="338" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="339" />
       <source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; Make sure that all other DFU capable devices except your PyBoard are disconnected.&lt;hr /&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="344" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="345" />
       <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="347" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="348" />
       <source>Enable DFU mode</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="358" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="359" />
       <source>&lt;h3&gt;Disable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect your board&lt;/p&gt;&lt;p&gt;2. Remove the DFU jumper&lt;/p&gt;&lt;p&gt;3. Re-connect your board&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="366" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="367" />
       <source>Disable DFU mode</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="419" />
-      <location filename="../MicroPython/PyBoardDevices.py" line="384" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="420" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="385" />
       <source>'dfu-util' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="384" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="385" />
       <source>List DFU capable Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="409" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="410" />
       <source>MicroPython Firmware Files (*.dfu);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="438" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="439" />
       <source>The firmware of the connected device cannot be determined or the board does not run MicroPython. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="465" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="466" />
       <source>unknown</source>
       <translation type="unfinished">sconosciuto</translation>
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="471" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="472" />
       <source>&lt;h4&gt;MicroPython Version Information&lt;/h4&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;Installed:&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Available:&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/PyBoardDevices.py" line="479" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="480" />
       <source>&lt;p&gt;&lt;b&gt;Update available!&lt;/b&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/PyBoardDevices.py" line="483" />
+      <location filename="../MicroPython/Devices/PyBoardDevices.py" line="484" />
       <source>MicroPython Version</source>
       <translation type="unfinished" />
     </message>
@@ -67675,78 +67701,78 @@
   <context>
     <name>RP2040Device</name>
     <message>
-      <location filename="../MicroPython/RP2040Devices.py" line="69" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="70" />
       <source>RP2040</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/RP2040Devices.py" line="125" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="126" />
       <source>RP2040 Functions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/RP2040Devices.py" line="197" />
-      <location filename="../MicroPython/RP2040Devices.py" line="128" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="198" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="129" />
       <source>Show MicroPython Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/RP2040Devices.py" line="132" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="133" />
       <source>Activate Bootloader</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/RP2040Devices.py" line="135" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="136" />
       <source>Flash MicroPython Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/RP2040Devices.py" line="198" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="199" />
       <source>The firmware of the connected device cannot be determined or the board does not run MicroPython. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/RP2040Devices.py" line="230" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="231" />
       <source>unknown</source>
       <translation type="unfinished">sconosciuto</translation>
     </message>
     <message>
-      <location filename="../MicroPython/RP2040Devices.py" line="236" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="237" />
       <source>&lt;h4&gt;MicroPython Version Information&lt;/h4&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;Installed:&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Available:&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;td&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/RP2040Devices.py" line="245" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="246" />
       <source>({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/RP2040Devices.py" line="254" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="255" />
       <source>&lt;p&gt;&lt;b&gt;Update available!&lt;/b&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/RP2040Devices.py" line="258" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="259" />
       <source>MicroPython Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/RP2040Devices.py" line="281" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="282" />
       <source>MicroPython Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/RP2040Devices.py" line="285" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="286" />
       <source>Pimoroni Pico Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/RP2040Devices.py" line="288" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="289" />
       <source>CircuitPython Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/RP2040Devices.py" line="292" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="293" />
       <source>CircuitPython Libraries</source>
       <translation type="unfinished" />
     </message>
@@ -68008,109 +68034,109 @@
   <context>
     <name>RequirementsDialog</name>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.py" line="43" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.py" line="43" />
       <source>Generate Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.py" line="46" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.py" line="46" />
       <source>&amp;Refresh</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.py" line="212" />
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.py" line="51" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.py" line="212" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.py" line="51" />
       <source>Text Files (*.txt);;All Files (*)</source>
       <translation type="unfinished">File Testo(*.txt);;Tutti i file (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.py" line="121" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.py" line="121" />
       <source>The requirements were changed. Do you want to overwrite these changes?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.py" line="155" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.py" line="155" />
       <source>No package specifiers generated.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.py" line="173" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.py" line="173" />
       <source>The file &lt;b&gt;{0}&lt;/b&gt; already exists. Do you want to overwrite it?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.py" line="189" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.py" line="189" />
       <source>&lt;p&gt;The requirements could not be written 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/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
       <source>Replace the current selection with the requirements text</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
       <source>Requirements File:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
       <source>Copy the requirements text to the clipboard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
       <source>Copy</source>
       <translation type="unfinished">Copia</translation>
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
       <source>Press to save to the requirements file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
       <source>Save</source>
       <translation type="unfinished">Salva</translation>
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
       <source>Insert the requirements text at the cursor position</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
       <source>Insert</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
       <source>Replace Selection</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
       <source>Replace all text with the requirements text</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
       <source>Replace All</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
       <source>Save to a new file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
       <source>Save To</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/RequirementsDialog.ui" line="0" />
       <source>&lt;b&gt;Editor Actions&lt;/b&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -71265,27 +71291,27 @@
   <context>
     <name>ShowBundlesDialog</name>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowBundlesDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowBundlesDialog.ui" line="0" />
       <source>CircuitPython Bundles</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowBundlesDialog.py" line="36" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowBundlesDialog.py" line="36" />
       <source>Available Bundles and Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowBundlesDialog.py" line="38" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowBundlesDialog.py" line="38" />
       <source>Available Bundles</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowBundlesDialog.py" line="59" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowBundlesDialog.py" line="59" />
       <source>Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowBundlesDialog.py" line="65" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowBundlesDialog.py" line="65" />
       <source>unknown</source>
       <translation type="unfinished">sconosciuto</translation>
     </message>
@@ -71293,22 +71319,22 @@
   <context>
     <name>ShowInstalledDialog</name>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowInstalledDialog.py" line="40" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowInstalledDialog.py" line="40" />
       <source>unknown</source>
       <translation type="unfinished">sconosciuto</translation>
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowInstalledDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowInstalledDialog.ui" line="0" />
       <source>Installed Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowInstalledDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowInstalledDialog.ui" line="0" />
       <source>Module</source>
       <translation type="unfinished">Modulo</translation>
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowInstalledDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowInstalledDialog.ui" line="0" />
       <source>Version</source>
       <translation type="unfinished">Versione</translation>
     </message>
@@ -71349,70 +71375,70 @@
   <context>
     <name>ShowOutdatedDialog</name>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowOutdatedDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.ui" line="0" />
       <source>Outdated Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowOutdatedDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.ui" line="0" />
       <source>Module</source>
       <translation type="unfinished">Modulo</translation>
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowOutdatedDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.ui" line="0" />
       <source>Version</source>
       <translation type="unfinished">Versione</translation>
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowOutdatedDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.ui" line="0" />
       <source>Latest</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowOutdatedDialog.ui" line="0" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.ui" line="0" />
       <source>Update Reason</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowOutdatedDialog.py" line="59" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="59" />
       <source>The following modules are out of date or probably need an update.
 Major Updates may include breaking changes. Review before updating.
 MPY Format changes require an update.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowOutdatedDialog.py" line="69" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="69" />
       <source>Incorrect '__version__' Metadata</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowOutdatedDialog.py" line="72" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="72" />
       <source>Corrupted or Unknown MPY Format</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowOutdatedDialog.py" line="75" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="75" />
       <source>MPY Format</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowOutdatedDialog.py" line="78" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="78" />
       <source>Major Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowOutdatedDialog.py" line="81" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="81" />
       <source>Minor Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowOutdatedDialog.py" line="92" />
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowOutdatedDialog.py" line="89" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="92" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="89" />
       <source>unknown</source>
       <translation type="unfinished">sconosciuto</translation>
     </message>
     <message>
-      <location filename="../MicroPython/CircuitPythonUpdater/ShowOutdatedDialog.py" line="107" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="107" />
       <source>All modules are up-to-date.</source>
       <translation type="unfinished" />
     </message>
@@ -81719,74 +81745,74 @@
   <context>
     <name>TeensyDevice</name>
     <message>
-      <location filename="../MicroPython/TeensyDevices.py" line="68" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="69" />
       <source>Teensy</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/TeensyDevices.py" line="142" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="143" />
       <source>Teensy Functions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/TeensyDevices.py" line="183" />
-      <location filename="../MicroPython/TeensyDevices.py" line="145" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="184" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="146" />
       <source>Show MicroPython Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/TeensyDevices.py" line="149" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="150" />
       <source>MicroPython Flash Instructions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/TeensyDevices.py" line="239" />
-      <location filename="../MicroPython/TeensyDevices.py" line="152" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="240" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="153" />
       <source>Flash MicroPython Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/TeensyDevices.py" line="155" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="156" />
       <source>Start the 'Teensy Loader' application to flash the Teensy device.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/TeensyDevices.py" line="184" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="185" />
       <source>The firmware of the connected device cannot be determined or the board does not run MicroPython. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/TeensyDevices.py" line="211" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="212" />
       <source>unknown</source>
       <translation type="unfinished">sconosciuto</translation>
     </message>
     <message>
-      <location filename="../MicroPython/TeensyDevices.py" line="217" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="218" />
       <source>&lt;h4&gt;MicroPython Version Information&lt;/h4&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;Installed:&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Available:&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/TeensyDevices.py" line="225" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="226" />
       <source>&lt;p&gt;&lt;b&gt;Update available!&lt;/b&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/TeensyDevices.py" line="229" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="230" />
       <source>MicroPython Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/TeensyDevices.py" line="240" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="241" />
       <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/TeensyDevices.py" line="259" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="260" />
       <source>Start 'Teensy Loader'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/TeensyDevices.py" line="260" />
+      <location filename="../MicroPython/Devices/TeensyDevices.py" line="261" />
       <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>
@@ -92985,45 +93011,45 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="6283" />
-      <location filename="../ViewManager/ViewManager.py" line="6241" />
+      <location filename="../ViewManager/ViewManager.py" line="6318" />
+      <location filename="../ViewManager/ViewManager.py" line="6276" />
       <source>&amp;Clear</source>
       <translation>Pulis&amp;ci</translation>
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="6277" />
+      <location filename="../ViewManager/ViewManager.py" line="6312" />
       <source>&amp;Add</source>
       <translation>&amp;Aggiungi</translation>
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="6280" />
+      <location filename="../ViewManager/ViewManager.py" line="6315" />
       <source>&amp;Edit...</source>
       <translation>&amp;Modifica...</translation>
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="7326" />
-      <location filename="../ViewManager/ViewManager.py" line="7312" />
-      <location filename="../ViewManager/ViewManager.py" line="7280" />
+      <location filename="../ViewManager/ViewManager.py" line="7361" />
+      <location filename="../ViewManager/ViewManager.py" line="7347" />
+      <location filename="../ViewManager/ViewManager.py" line="7315" />
       <source>Edit Spelling Dictionary</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="7283" />
+      <location filename="../ViewManager/ViewManager.py" line="7318" />
       <source>&lt;p&gt;The spelling dictionary 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>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="7299" />
+      <location filename="../ViewManager/ViewManager.py" line="7334" />
       <source>Editing {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="7315" />
+      <location filename="../ViewManager/ViewManager.py" line="7350" />
       <source>&lt;p&gt;The spelling dictionary 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="../ViewManager/ViewManager.py" line="7329" />
+      <location filename="../ViewManager/ViewManager.py" line="7364" />
       <source>The spelling dictionary was saved successfully.</source>
       <translation type="unfinished" />
     </message>

eric ide

mercurial