src/eric7/i18n/eric7_en.ts

branch
mpy_network
changeset 9872
6b8aa1c50c6d
parent 9861
0f5f5b4500dc
child 9875
b4512fbcf567
--- a/src/eric7/i18n/eric7_en.ts	Fri Mar 10 18:10:13 2023 +0100
+++ b/src/eric7/i18n/eric7_en.ts	Fri Mar 10 18:24:31 2023 +0100
@@ -1716,77 +1716,77 @@
   <context>
     <name>BaseDevice</name>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="170" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="171" />
       <source>Device Data Not Available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="171" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="172" />
       <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="224" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="225" />
       <source>Unsupported Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="234" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="235" />
       <source>REPL is not supported by this device.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="253" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="254" />
       <source>Plotter is not supported by this device.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="272" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="273" />
       <source>Running scripts is not supported by this device.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="291" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="292" />
       <source>File Manager is not supported by this device.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="336" />
-      <source>Select Device Directory</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/Devices/DeviceBase.py" line="337" />
+      <source>Select Device Directory</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="338" />
       <source>Select the directory for the connected device:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="483" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="484" />
       <source>Detected an error without indications.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1348" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1349" />
       <source>Operation not supported.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1542" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1574" />
       <source>Yes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1542" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1574" />
       <source>No</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1544" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1576" />
       <source>yes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1544" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1576" />
       <source>no</source>
       <translation type="unfinished" />
     </message>
@@ -3914,240 +3914,240 @@
   <context>
     <name>CircuitPythonDevice</name>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="67" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="73" />
       <source>open</source>
       <comment>open WiFi network</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="87" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="93" />
       <source>Public</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="88" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="94" />
       <source>Random Static</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="89" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="95" />
       <source>Random Private Resolvable</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="90" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="96" />
       <source>Random Private Non-Resolvable</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="135" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="141" />
       <source>CircuitPython</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="264" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="270" />
       <source>Workspace Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="265" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="271" />
       <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/Devices/CircuitPythonDevices.py" line="295" />
-      <source>Library Management</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="301" />
+      <source>Library Management</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="307" />
       <source>CircuitPython Functions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="303" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="309" />
       <source>Show CircuitPython Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="311" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="317" />
       <source>Reset Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="321" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="327" />
       <source>Flash CircuitPython Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="325" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="331" />
       <source>UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="329" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="335" />
       <source>ESP32 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="330" />
-      <source>Erase Flash</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="332" />
-      <source>Flash MicroPython Firmware</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="336" />
+      <source>Erase Flash</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="338" />
+      <source>Flash MicroPython Firmware</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="342" />
       <source>Flash Additional Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="341" />
-      <source>Teensy Device</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="343" />
-      <source>CircuitPython Flash Instructions</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="347" />
+      <source>Teensy Device</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="349" />
+      <source>CircuitPython Flash Instructions</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="353" />
       <source>Start 'Teensy Loader'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="350" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="356" />
       <source>Start the 'Teensy Loader' application to flash the Teensy device.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="545" />
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="382" />
-      <source>Install Library Files</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="543" />
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="386" />
-      <source>Install Library Package</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="392" />
-      <source>Install 'circup' Package</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="498" />
-      <source>unknown</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="517" />
-      <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/Devices/CircuitPythonDevices.py" line="525" />
-      <source>&lt;p&gt;&lt;b&gt;Update available!&lt;/b&gt;&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="529" />
-      <source>CircuitPython Version</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="551" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="388" />
+      <source>Install Library Files</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="549" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="392" />
+      <source>Install Library Package</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="398" />
+      <source>Install 'circup' Package</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="504" />
+      <source>unknown</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="523" />
+      <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/Devices/CircuitPythonDevices.py" line="531" />
+      <source>&lt;p&gt;&lt;b&gt;Update available!&lt;/b&gt;&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="535" />
+      <source>CircuitPython Version</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="557" />
       <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/Devices/CircuitPythonDevices.py" line="579" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="585" />
       <source>Compiled Python Files (*.mpy);;Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="609" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="615" />
       <source>CircuitPython Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="613" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="619" />
       <source>CircuitPython Libraries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1005" />
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="743" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1011" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="749" />
       <source>unknown ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="917" />
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="839" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="923" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="845" />
       <source>The device volume is not available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="882" />
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="854" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="888" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="860" />
       <source>Write WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="883" />
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="855" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="889" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="861" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; exists already. Shall it be replaced?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="890" />
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="862" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="896" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="868" />
       <source>Aborted</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1072" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1078" />
       <source>CircuitPython does not support setting the IPv4 parameters of the WiFi access point.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1143" />
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1149" />
       <source>CircuitPython does not support reporting of connected clients.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1223" />
-      <source>Active</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1224" />
-      <source>Name</source>
-      <translation>Name</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1225" />
-      <source>MAC-Address</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1227" />
-      <source>Address Type</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1229" />
-      <source>Connected</source>
+      <source>Active</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1230" />
+      <source>Name</source>
+      <translation>Name</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1231" />
+      <source>MAC-Address</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1233" />
+      <source>Address Type</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1235" />
+      <source>Connected</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/CircuitPythonDevices.py" line="1236" />
       <source>Advertising</source>
       <translation type="unfinished" />
     </message>
@@ -4155,16 +4155,16 @@
   <context>
     <name>CircuitPythonUpdaterInterface</name>
     <message>
-      <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="597" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="589" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="576" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="545" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="516" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="506" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="486" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="469" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="460" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="446" />
       <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="54" />
       <source>Install Modules</source>
       <translation type="unfinished" />
@@ -4200,10 +4200,10 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <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="385" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="375" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="365" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="346" />
       <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="95" />
       <source>Update Modules</source>
       <translation type="unfinished" />
@@ -4224,8 +4224,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <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="638" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="617" />
       <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="108" />
       <source>Uninstall Modules</source>
       <translation type="unfinished" />
@@ -4246,163 +4246,174 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <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="249" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="236" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="225" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="213" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="201" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="188" />
       <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="118" />
       <source>Add Bundle</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <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="284" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="269" />
       <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="119" />
       <source>Remove Bundles</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="128" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="667" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="121" />
+      <source>Show Local Cache Path</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="130" />
       <source>unknown</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="132" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="134" />
       <source>About circup</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="133" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="135" />
       <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/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="187" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="189" />
       <source>Enter Bundle by 'User/Repo' Github String:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="200" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="202" />
       <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/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="212" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="214" />
       <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/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="224" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="226" />
       <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/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="235" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="237" />
       <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/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="248" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="250" />
       <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/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="268" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="270" />
       <source>Select the bundles to be removed:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="283" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="285" />
       <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/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="345" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="347" />
       <source>All modules are already up-to-date.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="364" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="366" />
       <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/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="374" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="376" />
       <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/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="384" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="386" />
       <source>No modules could be updated.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="446" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="448" />
       <source>Text Files (*.txt);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="459" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="461" />
       <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/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="468" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="470" />
       <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/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="486" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="488" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="505" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="507" />
       <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/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="515" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="517" />
       <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/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="544" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="546" />
       <source>&lt;p&gt;Ready to install these modules?{0}{1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="548" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="550" />
       <source>Dependencies:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="575" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="577" />
       <source>&lt;p&gt;Installation complete. These modules were installed successfully.{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="588" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="590" />
       <source>&lt;p&gt;Installation complete. No modules were installed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="596" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="598" />
       <source>&lt;p&gt;No modules installation is required.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="616" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="618" />
       <source>Select the modules/packages to be uninstalled:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="637" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="639" />
       <source>&lt;p&gt;These modules/packages were uninstalled from the connected device.{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="668" />
+      <source>&lt;p&gt;&lt;b&gt;circup&lt;/b&gt; stores the downloaded CircuitPython bundles in this directory.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>CircupFunctions</name>
@@ -20179,260 +20190,260 @@
   <context>
     <name>EspDevice</name>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="53" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="57" />
       <source>beacon timeout</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="54" />
-      <source>no matching access point found</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="55" />
-      <source>authentication failed</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="56" />
-      <source>association failed</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="57" />
-      <source>handshake timeout</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/Devices/EspDevices.py" line="58" />
-      <source>idle</source>
+      <source>no matching access point found</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/Devices/EspDevices.py" line="59" />
-      <source>connecting</source>
+      <source>authentication failed</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/Devices/EspDevices.py" line="60" />
-      <source>connected</source>
+      <source>association failed</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/EspDevices.py" line="61" />
+      <source>handshake timeout</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/EspDevices.py" line="62" />
+      <source>idle</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/Devices/EspDevices.py" line="63" />
+      <source>connecting</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/EspDevices.py" line="64" />
+      <source>connected</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/EspDevices.py" line="67" />
       <source>open</source>
       <comment>open WiFi network</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="100" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="133" />
       <source>ESP8266, ESP32</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="156" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="189" />
       <source>ESP32 Functions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="352" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="159" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="388" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="192" />
       <source>Show MicroPython Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1310" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1294" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="163" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1506" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1490" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="196" />
       <source>Erase Flash</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="166" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="199" />
       <source>Flash MicroPython Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1395" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="170" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1591" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="203" />
       <source>Flash Additional Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="278" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="174" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="311" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="207" />
       <source>Backup Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="331" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="177" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="364" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="210" />
       <source>Restore Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="423" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="181" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="459" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="214" />
       <source>Show Chip ID</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="443" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="184" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="479" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="217" />
       <source>Show Flash ID</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="463" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="187" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="499" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="220" />
       <source>Show MAC Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="191" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="224" />
       <source>Reset Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="194" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="227" />
       <source>Install 'esptool.py'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="277" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="310" />
       <source>'esptool read_flash' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1394" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1353" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="330" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1590" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1549" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="363" />
       <source>'esptool write_flash' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="353" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="389" />
       <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/Devices/EspDevices.py" line="382" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="418" />
       <source>unknown</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="393" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="429" />
       <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/Devices/EspDevices.py" line="401" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="437" />
       <source>&lt;p&gt;&lt;b&gt;Update available!&lt;/b&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="405" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="441" />
       <source>{0} Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="423" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="459" />
       <source>'esptool chip_id' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="443" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="479" />
       <source>'esptool flash_id' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="463" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="499" />
       <source>'esptool read_mac' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="786" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="847" />
       <source>Error saving credentials: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="797" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="858" />
       <source>Error saving auto-connect script: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="801" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="862" />
       <source>Error modifying 'boot.py': {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="830" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="894" />
       <source>Error deleting credentials: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="910" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="980" />
       <source>unknown ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1118" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
       <source>Active</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1119" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1210" />
       <source>Name</source>
       <translation>Name</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1120" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1211" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1123" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1214" />
       <source>Address Type</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1124" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1215" />
       <source>Public</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1124" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1215" />
       <source>Random</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1128" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1219" />
       <source>Rx-Buffer</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1130" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1128" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1221" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1219" />
       <source>{0} Bytes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1130" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1221" />
       <source>MTU</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1491" />
       <source>Shall the flash of the selected device really be erased?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1309" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1505" />
       <source>'esptool erase_flash' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1354" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1550" />
       <source>Flash µPy/CPy Firmware</source>
       <translation type="unfinished" />
     </message>
@@ -49596,6 +49607,7 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
       <source> s</source>
       <translation type="unfinished" />
     </message>
@@ -49693,8 +49705,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.py" line="326" />
-      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.py" line="309" />
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.py" line="338" />
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.py" line="321" />
       <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
       <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
       <source>Press to show the password</source>
@@ -49747,6 +49759,56 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
+      <source>NTP Parameter</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
+      <source>NTP Server:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
+      <source>Enter the name of the NTP server.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
+      <source>Time Zone Offset:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
+      <source>Enter the time zone offset to UTC.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
+      <source> h</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
+      <source>Select to indicate that daylight savings is in effect (i.e. 1h plus to UTC).</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
+      <source>Is Daylight Savings</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
+      <source>Timeout:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
+      <source>Enter the timeout in seconds.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.ui" line="0" />
       <source>MPY Cross Compiler</source>
       <translation type="unfinished" />
     </message>
@@ -49949,8 +50011,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.py" line="322" />
-      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.py" line="305" />
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.py" line="334" />
+      <location filename="../Preferences/ConfigurationPages/MicroPythonPage.py" line="317" />
       <source>Press to hide the password</source>
       <translation type="unfinished" />
     </message>
@@ -50440,171 +50502,221 @@
   <context>
     <name>MicrobitDevice</name>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="101" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="58" />
+      <source>Public</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="59" />
+      <source>Random Static</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="60" />
+      <source>Random Private Resolvable</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="61" />
+      <source>Random Private Non-Resolvable</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="108" />
       <source>BBC micro:bit</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="104" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="111" />
       <source>Calliope mini</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="201" />
-      <source>BBC micro:bit/Calliope Functions</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="414" />
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="402" />
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="385" />
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="204" />
-      <source>Show MicroPython Versions</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/Devices/MicrobitDevices.py" line="208" />
-      <source>Flash MicroPython</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
+      <source>BBC micro:bit/Calliope Functions</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="421" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="409" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="392" />
       <location filename="../MicroPython/Devices/MicrobitDevices.py" line="211" />
-      <source>Flash Firmware</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="489" />
+      <source>Show MicroPython Versions</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/Devices/MicrobitDevices.py" line="215" />
-      <source>Save Script as 'main.py'</source>
+      <source>Flash MicroPython</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/Devices/MicrobitDevices.py" line="218" />
+      <source>Flash Firmware</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="496" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="222" />
+      <source>Save Script as 'main.py'</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="225" />
       <source>Save the current script as 'main.py' on the connected device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="222" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="229" />
       <source>Reset {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="375" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="366" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="352" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="335" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="322" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="302" />
+      <source>Flash MicroPython/Firmware</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="303" />
+      <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/Devices/MicrobitDevices.py" line="323" />
+      <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/Devices/MicrobitDevices.py" line="336" />
+      <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/Devices/MicrobitDevices.py" line="353" />
+      <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/Devices/MicrobitDevices.py" line="368" />
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="359" />
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="345" />
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="328" />
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="315" />
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="295" />
-      <source>Flash MicroPython/Firmware</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="296" />
-      <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/Devices/MicrobitDevices.py" line="316" />
-      <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/Devices/MicrobitDevices.py" line="329" />
-      <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/Devices/MicrobitDevices.py" line="346" />
-      <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/Devices/MicrobitDevices.py" line="361" />
       <source>MicroPython/Firmware Files (*.hex *.bin);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="369" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="376" />
       <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/Devices/MicrobitDevices.py" line="386" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="393" />
       <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/Devices/MicrobitDevices.py" line="403" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="410" />
       <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/Devices/MicrobitDevices.py" line="415" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="422" />
       <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/Devices/MicrobitDevices.py" line="443" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="450" />
       <source>unknown</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="459" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="466" />
       <source>Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="462" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="469" />
       <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/Devices/MicrobitDevices.py" line="471" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="478" />
       <source>&lt;p&gt;&lt;b&gt;Update available!&lt;/b&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="475" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="482" />
       <source>{0} Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="495" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="502" />
       <source>The current editor does not contain a Python script. Write it anyway?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="506" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="513" />
       <source>The script is empty. Aborting.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="560" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="567" />
       <source>MicroPython Firmware for BBC micro:bit V1</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="592" />
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="579" />
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="564" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="599" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="586" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="571" />
       <source>DAPLink Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="571" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="578" />
       <source>MicroPython Firmware for BBC micro:bit V2</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="575" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="582" />
       <source>CircuitPython Firmware for BBC micro:bit V2</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="588" />
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="595" />
       <source>MicroPython Firmware</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="818" />
+      <source>Active</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="819" />
+      <source>Name</source>
+      <translation>Name</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="820" />
+      <source>MAC-Address</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="822" />
+      <source>Address Type</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="824" />
+      <source>Connected</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/MicrobitDevices.py" line="825" />
+      <source>Advertising</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>MicrosoftEngine</name>
@@ -53166,6 +53278,74 @@
     </message>
   </context>
   <context>
+    <name>NtpParametersDialog</name>
+    <message>
+      <location filename="../MicroPython/NtpParametersDialog.ui" line="0" />
+      <source>NTP Parameter</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/NtpParametersDialog.ui" line="0" />
+      <source>NTP Server:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/NtpParametersDialog.ui" line="0" />
+      <source>Enter the name of the NTP server.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/NtpParametersDialog.ui" line="0" />
+      <source>Time Zone Offset:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/NtpParametersDialog.ui" line="0" />
+      <source>Enter the time zone offset to UTC.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/NtpParametersDialog.ui" line="0" />
+      <source> h</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/NtpParametersDialog.ui" line="0" />
+      <source>Select to indicate that daylight savings is in effect (i.e. 1h plus to UTC).</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/NtpParametersDialog.ui" line="0" />
+      <source>Is Daylight Savings</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/NtpParametersDialog.ui" line="0" />
+      <source>Timeout:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/NtpParametersDialog.ui" line="0" />
+      <source>Enter the timeout in seconds.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/NtpParametersDialog.ui" line="0" />
+      <source> s</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/NtpParametersDialog.ui" line="0" />
+      <source>Select to remember the entered NTP parameters.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/NtpParametersDialog.ui" line="0" />
+      <source>Remember Parameters</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>NumbersWidget</name>
     <message>
       <location filename="../UI/NumbersWidget.py" line="198" />
@@ -57649,18 +57829,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1803" />
+      <location filename="../Preferences/__init__.py" line="1807" />
       <source>Export Preferences</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1832" />
-      <location filename="../Preferences/__init__.py" line="1805" />
+      <location filename="../Preferences/__init__.py" line="1836" />
+      <location filename="../Preferences/__init__.py" line="1809" />
       <source>Properties File (*.ini);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1830" />
+      <location filename="../Preferences/__init__.py" line="1834" />
       <source>Import Preferences</source>
       <translation type="unfinished" />
     </message>
@@ -98601,208 +98781,230 @@
   <context>
     <name>WifiController</name>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="45" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="44" />
       <source>WiFi Functions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="47" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="46" />
       <source>Show WiFi Status</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="121" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="113" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="48" />
+      <source>Connect WiFi</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="169" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="163" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="49" />
+      <source>Check Internet Connection</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="143" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="137" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="50" />
+      <source>Disconnect WiFi</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="52" />
+      <source>Scan Networks</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="211" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="202" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="54" />
+      <source>Write WiFi Credentials</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="249" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="239" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="228" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="55" />
+      <source>Remove WiFi Credentials</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="290" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="279" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="57" />
+      <source>Start WiFi Access Point</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="59" />
+      <source>Start WiFi Access Point with IP</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="344" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="62" />
+      <source>Show Connected Clients</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="320" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="311" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="64" />
+      <source>Stop WiFi Access Point</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="67" />
+      <source>Deactivate Client Interface</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="71" />
+      <source>Deactivate Access Point Interface</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="407" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="391" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="77" />
+      <source>Set Network Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="114" />
+      <source>&lt;p&gt;The device was connected to &lt;b&gt;{0}&lt;/b&gt; successfully.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="122" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="114" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="49" />
-      <source>Connect WiFi</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="170" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="164" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="50" />
-      <source>Check Internet Connection</source>
+      <source>&lt;p&gt;The device could not connect to &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="253" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="215" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="172" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="146" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="125" />
+      <source>unknown</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="138" />
+      <source>&lt;p&gt;The device was disconnected from the WiFi network.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="144" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="138" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="51" />
-      <source>Disconnect WiFi</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="53" />
-      <source>Scan Networks</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="216" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="207" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="55" />
-      <source>Write WiFi Credentials</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="254" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="244" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="233" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="56" />
-      <source>Remove WiFi Credentials</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="305" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="294" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="58" />
-      <source>Start WiFi Access Point</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
-      <source>Start WiFi Access Point with IP</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="359" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="63" />
-      <source>Show Connected Clients</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="335" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="326" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
-      <source>Stop WiFi Access Point</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="68" />
-      <source>Deactivate Client Interface</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="72" />
-      <source>Deactivate Access Point Interface</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="115" />
-      <source>&lt;p&gt;The device was connected to &lt;b&gt;{0}&lt;/b&gt; successfully.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="123" />
-      <source>&lt;p&gt;The device could not connect to &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="258" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="220" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="173" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="147" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="126" />
-      <source>unknown</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="139" />
-      <source>&lt;p&gt;The device was disconnected from the WiFi network.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
       <source>&lt;p&gt;The device could not be disconnected.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="158" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="157" />
       <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="160" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="159" />
       <source>&lt;p&gt;The internet connection is &lt;b&gt;not available&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="170" />
       <source>&lt;p&gt;The internet is not available.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="208" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="203" />
       <source>&lt;p&gt;The WiFi credentials were saved on the device. The device will connect to the WiFi network at boot time.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="217" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="212" />
       <source>&lt;p&gt;The WiFi credentials could not be saved on the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="234" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="229" />
       <source>Shall the saved WiFi credentials really be removed from the connected device?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="245" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="240" />
       <source>&lt;p&gt;The WiFi credentials were removed from the device. The device will not connect to the WiFi network at boot time anymore.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="255" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="250" />
       <source>&lt;p&gt;The WiFi credentials could not be removed from the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="295" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="280" />
       <source>The WiFi Access Point interface was started successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="300" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="285" />
       <source>&lt;p&gt;The WiFi Access Point could not be started.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="381" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="332" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="302" />
-      <source>&lt;p&gt;Reason: {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="327" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="366" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="317" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="287" />
+      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
       <source>The WiFi Access Point interface was stopped successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="330" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="315" />
       <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="360" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="345" />
       <source>No clients are connected to the access point.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="384" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="375" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="369" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="360" />
       <source>Deactivate WiFi Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="376" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="361" />
       <source>The WiFi interface was deactivated successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="379" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="364" />
       <source>&lt;p&gt;The WiFi interface could not be deactivated.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="392" />
+      <source>The device time was synchronized successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="396" />
+      <source>&lt;p&gt;The device time could not be synchronized.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="401" />
+      <source>&lt;p&gt;The device time could not be synchronized. Is the device connected to a WiFi network?&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>WifiCountryDialog</name>

eric ide

mercurial