--- a/src/eric7/i18n/eric7_en.ts Wed Feb 08 11:54:36 2023 +0100 +++ b/src/eric7/i18n/eric7_en.ts Wed Feb 08 18:09:19 2023 +0100 @@ -2093,7 +2093,7 @@ <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/BoardDataDialog.py" line="157" /> + <location filename="../MicroPython/BoardDataDialog.py" line="158" /> <location filename="../MicroPython/BoardDataDialog.py" line="90" /> <source>Version</source> <translation type="unfinished" /> @@ -2109,49 +2109,49 @@ <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/BoardDataDialog.py" line="128" /> + <location filename="../MicroPython/BoardDataDialog.py" line="129" /> <location filename="../MicroPython/BoardDataDialog.py" line="97" /> <source>total</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/BoardDataDialog.py" line="129" /> + <location filename="../MicroPython/BoardDataDialog.py" line="130" /> <location filename="../MicroPython/BoardDataDialog.py" line="98" /> <source>{0} KBytes</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/BoardDataDialog.py" line="137" /> + <location filename="../MicroPython/BoardDataDialog.py" line="138" /> <location filename="../MicroPython/BoardDataDialog.py" line="106" /> <source>used</source> <translation type="unfinished" /> </message> <message> + <location filename="../MicroPython/BoardDataDialog.py" line="149" /> + <location filename="../MicroPython/BoardDataDialog.py" line="139" /> + <location filename="../MicroPython/BoardDataDialog.py" line="117" /> + <location filename="../MicroPython/BoardDataDialog.py" line="107" /> + <source>{0} KBytes ({1}%)</source> + <translation type="unfinished" /> + </message> + <message> <location filename="../MicroPython/BoardDataDialog.py" line="148" /> - <location filename="../MicroPython/BoardDataDialog.py" line="138" /> - <location filename="../MicroPython/BoardDataDialog.py" line="117" /> - <location filename="../MicroPython/BoardDataDialog.py" line="107" /> - <source>{0} KBytes ({1}%)</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/BoardDataDialog.py" line="147" /> <location filename="../MicroPython/BoardDataDialog.py" line="116" /> <source>free</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/BoardDataDialog.py" line="124" /> + <location filename="../MicroPython/BoardDataDialog.py" line="125" /> <source>Flash Memory</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/BoardDataDialog.py" line="155" /> + <location filename="../MicroPython/BoardDataDialog.py" line="156" /> <source>µLab</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/BoardDataDialog.py" line="159" /> + <location filename="../MicroPython/BoardDataDialog.py" line="160" /> <source>µLab is not available</source> <translation type="unfinished" /> </message> @@ -3779,16 +3779,16 @@ <context> <name>CircuitPythonUpdaterInterface</name> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="590" /> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="582" /> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="569" /> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="538" /> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="509" /> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="499" /> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="478" /> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="461" /> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="452" /> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="438" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="595" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="587" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="574" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="543" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="514" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="504" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="484" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="467" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="458" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="444" /> <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="54" /> <source>Install Modules</source> <translation type="unfinished" /> @@ -3848,8 +3848,8 @@ <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="631" /> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="610" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="636" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="615" /> <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="108" /> <source>Uninstall Modules</source> <translation type="unfinished" /> @@ -3963,67 +3963,67 @@ <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="440" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="446" /> <source>Text Files (*.txt);;All Files (*)</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="453" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="459" /> <source><p>The given requirements file <b>{0}</b> does not contain valid modules.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="462" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="468" /> <source><p>The given requirements file <b>{0}</b> does not exist.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="480" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="486" /> <source>Python Files (*.py);;All Files (*)</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="500" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="505" /> <source><p>The given code file <b>{0}</b> does not contain valid import statements or does not import external modules.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="510" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="515" /> <source><p>The given code file <b>{0}</b> does not exist.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="539" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="544" /> <source><p>Ready to install these modules?{0}{1}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="543" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="548" /> <source>Dependencies:</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="570" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="575" /> <source><p>Installation complete. These modules were installed successfully.{0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="583" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="588" /> <source><p>Installation complete. No modules were installed.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="591" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="596" /> <source><p>No modules installation is required.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="611" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="616" /> <source>Select the modules/packages to be uninstalled:</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="632" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="637" /> <source><p>These modules/packages were uninstalled from the connected device.{0}</p></source> <translation type="unfinished" /> </message> @@ -4041,7 +4041,7 @@ <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="145" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="143" /> <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="104" /> <source>Download Bundle</source> <translation type="unfinished" /> @@ -4052,23 +4052,23 @@ <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="146" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="144" /> <source><p>Missing file <b>boot_out.txt</b> on the device: wrong path or drive corrupted.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="240" /> - <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="229" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="238" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="227" /> <source>Install Modules</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="230" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="228" /> <source><p>The compiled version of module <b>{0}</b> cannot be found.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="241" /> + <location filename="../MicroPython/CircuitPythonUpdater/CircupFunctions.py" line="239" /> <source><p>The module name <b>{0}</b> is not known.</p></source> <translation type="unfinished" /> </message> @@ -19785,103 +19785,134 @@ <context> <name>EspDevice</name> <message> - <location filename="../MicroPython/EspDevices.py" line="68" /> + <location filename="../MicroPython/EspDevices.py" line="69" /> <source>ESP8266, ESP32</source> <translation type="unfinished" /> </message> <message> + <location filename="../MicroPython/EspDevices.py" line="377" /> + <location filename="../MicroPython/EspDevices.py" line="132" /> + <source>Show MicroPython Versions</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/EspDevices.py" line="198" /> + <location filename="../MicroPython/EspDevices.py" line="184" /> + <location filename="../MicroPython/EspDevices.py" line="134" /> + <source>Erase Flash</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/EspDevices.py" line="235" /> + <location filename="../MicroPython/EspDevices.py" line="138" /> + <source>Flash MicroPython Firmware</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/EspDevices.py" line="272" /> + <location filename="../MicroPython/EspDevices.py" line="142" /> + <source>Flash Additional Firmware</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/EspDevices.py" line="306" /> + <location filename="../MicroPython/EspDevices.py" line="145" /> + <source>Backup Firmware</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/EspDevices.py" line="357" /> + <location filename="../MicroPython/EspDevices.py" line="148" /> + <source>Restore Firmware</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/EspDevices.py" line="446" /> + <location filename="../MicroPython/EspDevices.py" line="152" /> + <source>Show Chip ID</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/EspDevices.py" line="466" /> + <location filename="../MicroPython/EspDevices.py" line="155" /> + <source>Show Flash ID</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/EspDevices.py" line="486" /> + <location filename="../MicroPython/EspDevices.py" line="158" /> + <source>Show MAC Address</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/EspDevices.py" line="162" /> + <source>Reset Device</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/EspDevices.py" line="166" /> + <source>Install 'esptool.py'</source> + <translation type="unfinished" /> + </message> + <message> <location filename="../MicroPython/EspDevices.py" line="185" /> - <location filename="../MicroPython/EspDevices.py" line="171" /> - <location filename="../MicroPython/EspDevices.py" line="129" /> - <source>Erase Flash</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/EspDevices.py" line="222" /> - <location filename="../MicroPython/EspDevices.py" line="132" /> - <source>Flash MicroPython Firmware</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/EspDevices.py" line="259" /> - <location filename="../MicroPython/EspDevices.py" line="136" /> - <source>Flash Additional Firmware</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/EspDevices.py" line="293" /> - <location filename="../MicroPython/EspDevices.py" line="139" /> - <source>Backup Firmware</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/EspDevices.py" line="344" /> - <location filename="../MicroPython/EspDevices.py" line="141" /> - <source>Restore Firmware</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/EspDevices.py" line="365" /> - <location filename="../MicroPython/EspDevices.py" line="144" /> - <source>Show Chip ID</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/EspDevices.py" line="385" /> - <location filename="../MicroPython/EspDevices.py" line="146" /> - <source>Show Flash ID</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/EspDevices.py" line="405" /> - <location filename="../MicroPython/EspDevices.py" line="148" /> - <source>Show MAC Address</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/EspDevices.py" line="151" /> - <source>Reset Device</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/EspDevices.py" line="153" /> - <source>Install 'esptool.py'</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/EspDevices.py" line="172" /> <source>Shall the flash of the selected device really be erased?</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/EspDevices.py" line="184" /> + <location filename="../MicroPython/EspDevices.py" line="197" /> <source>'esptool erase_flash' Output</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/EspDevices.py" line="343" /> - <location filename="../MicroPython/EspDevices.py" line="258" /> - <location filename="../MicroPython/EspDevices.py" line="221" /> + <location filename="../MicroPython/EspDevices.py" line="356" /> + <location filename="../MicroPython/EspDevices.py" line="271" /> + <location filename="../MicroPython/EspDevices.py" line="234" /> <source>'esptool write_flash' Output</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/EspDevices.py" line="292" /> + <location filename="../MicroPython/EspDevices.py" line="305" /> <source>'esptool read_flash' Output</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/EspDevices.py" line="365" /> + <location filename="../MicroPython/EspDevices.py" line="378" /> + <source>The firmware of the connected device cannot be determined or the board does not run MicroPython. Aborting...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/EspDevices.py" line="410" /> + <source>unknown</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/EspDevices.py" line="416" /> + <source><h4>MicroPython Version Information</h4><table><tr><td>Installed:</td><td>{0}</td></tr><tr><td>Available:</td><td>{1}</td></tr></table></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/EspDevices.py" line="424" /> + <source><p><b>Update available!</b></p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/EspDevices.py" line="428" /> + <source>MicroPython Version</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/EspDevices.py" line="446" /> <source>'esptool chip_id' Output</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/EspDevices.py" line="385" /> + <location filename="../MicroPython/EspDevices.py" line="466" /> <source>'esptool flash_id' Output</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/EspDevices.py" line="405" /> + <location filename="../MicroPython/EspDevices.py" line="486" /> <source>'esptool read_mac' Output</source> <translation type="unfinished" /> </message> @@ -48619,7 +48650,7 @@ <context> <name>MicroPythonCommandsInterface</name> <message> - <location filename="../MicroPython/MicroPythonCommandsInterface.py" line="292" /> + <location filename="../MicroPython/MicroPythonCommandsInterface.py" line="322" /> <source>Detected an error without indications.</source> <translation type="unfinished" /> </message> @@ -48637,43 +48668,43 @@ <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonDevices.py" line="400" /> - <location filename="../MicroPython/MicroPythonDevices.py" line="389" /> + <location filename="../MicroPython/MicroPythonDevices.py" line="404" /> + <location filename="../MicroPython/MicroPythonDevices.py" line="393" /> <source>Unknown Device</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonDevices.py" line="523" /> + <location filename="../MicroPython/MicroPythonDevices.py" line="527" /> <source>Unsupported Device</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonDevices.py" line="533" /> + <location filename="../MicroPython/MicroPythonDevices.py" line="537" /> <source>REPL is not supported by this device.</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonDevices.py" line="552" /> + <location filename="../MicroPython/MicroPythonDevices.py" line="556" /> <source>Plotter is not supported by this device.</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonDevices.py" line="571" /> + <location filename="../MicroPython/MicroPythonDevices.py" line="575" /> <source>Running scripts is not supported by this device.</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonDevices.py" line="590" /> + <location filename="../MicroPython/MicroPythonDevices.py" line="594" /> <source>File Manager is not supported by this device.</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonDevices.py" line="635" /> + <location filename="../MicroPython/MicroPythonDevices.py" line="639" /> <source>Select Device Directory</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonDevices.py" line="636" /> + <location filename="../MicroPython/MicroPythonDevices.py" line="640" /> <source>Select the directory for the connected device:</source> <translation type="unfinished" /> </message> @@ -49319,12 +49350,12 @@ <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="286" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="287" /> <source><h3>The QtSerialPort package is not available.<br/>MicroPython support is deactivated.</h3></source> <translation type="unfinished" /> </message> <message numerus="yes"> - <location filename="../MicroPython/MicroPythonWidget.py" line="327" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="328" /> <source>%n supported device(s) detected.</source> <translation> <numerusform>%n supported device detected.</numerusform> @@ -49332,18 +49363,18 @@ </translation> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="340" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="341" /> <source>{0} - {1} ({2})</source> <comment>board name, description, port name</comment> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="357" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="358" /> <source>No supported devices detected.</source> <translation type="unfinished" /> </message> <message numerus="yes"> - <location filename="../MicroPython/MicroPythonWidget.py" line="361" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="362" /> <source> %n unknown device(s) for manual selection.</source> <translation> @@ -49354,44 +49385,44 @@ </translation> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="368" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="369" /> <source>Manual Selection</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="430" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="401" /> - <source>Unknown MicroPython Device</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="402" /> - <source><p>Detected these unknown serial devices</p><ul><li>{0}</li></ul><p>Please report them together with the board name and a short description to <a href="mailto:{1}"> the eric bug reporting address</a> if it is a MicroPython board.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="414" /> - <source>{0} (0x{1:04x}/0x{2:04x})</source> - <comment>description, VId, PId</comment> - <translation type="unfinished" /> - </message> - <message> <location filename="../MicroPython/MicroPythonWidget.py" line="431" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="402" /> + <source>Unknown MicroPython Device</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="403" /> + <source><p>Detected these unknown serial devices</p><ul><li>{0}</li></ul><p>Please report them together with the board name and a short description to <a href="mailto:{1}"> the eric bug reporting address</a> if it is a MicroPython board.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="415" /> + <source>{0} (0x{1:04x}/0x{2:04x})</source> + <comment>description, VId, PId</comment> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="432" /> <source>Would you like to add them to the list of manually configured devices?</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="558" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="561" /> <source>Clear</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="564" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="566" /> <source>Copy</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="571" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="572" /> <source>Paste</source> <translation type="unfinished" /> </message> @@ -49412,12 +49443,12 @@ <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="628" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="637" /> <source>No device attached</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="629" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="638" /> <source>Please ensure the device is plugged into your computer and selected. It must have a version of MicroPython (or CircuitPython) flashed onto it before anything will work. @@ -49426,309 +49457,325 @@ <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="658" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="667" /> <source>Start REPL</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="659" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="668" /> <source><p>The REPL cannot be started.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1131" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1151" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1140" /> <source>Serial Device Connect</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1132" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1141" /> + <source><p>The device at serial port <b>{0}</b> does not respond. It may not have a MicroPython firmware flashed.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1152" /> <source><p>Cannot connect to device at serial port <b>{0}</b>.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1180" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="1171" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="1162" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1202" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1193" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1184" /> <source>Run Script</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1163" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1185" /> <source>There is no editor open. Abort...</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1172" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1194" /> <source>The current editor does not contain a script. Abort...</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1181" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1203" /> <source><p>Cannot run script.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1206" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1228" /> <source>Open Python File</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1208" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1230" /> <source>Python3 Files (*.py);;All Files (*)</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1252" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1274" /> <source>Start Chart</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1253" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1275" /> <source><p>The Chart cannot be started.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1268" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1290" /> <source>µPy Chart</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1285" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1307" /> <source>Unsaved Chart Data</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1286" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1308" /> <source>The chart contains unsaved data.</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1334" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1356" /> <source>Start File Manager</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1335" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1357" /> <source><p>The File Manager cannot be started.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1354" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1376" /> <source>µPy Files</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1390" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1412" /> <source>Downloads</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1405" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1427" /> <source>Show Version</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1409" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1431" /> <source>Show Implementation</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1413" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1435" /> <source>Show Board Data</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1566" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="1419" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1592" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1441" /> <source>Synchronize Time</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1423" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1445" /> <source>Show Device Time</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1426" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1448" /> <source>Show Local Time</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1429" /> - <source>Show Time</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1790" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="1436" /> - <source>Compile Python File</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1814" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="1805" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="1440" /> - <source>Compile Current Editor</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../MicroPython/MicroPythonWidget.py" line="1451" /> + <source>Show Time</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1456" /> + <source>Show Builtin Modules</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1816" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1462" /> + <source>Compile Python File</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1840" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1831" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1466" /> + <source>Compile Current Editor</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1477" /> <source>Download Firmware</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1459" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1485" /> <source>Show Documentation</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1464" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1490" /> <source>Flash UF2 Device</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1467" /> - <source>Manage Unknown Devices</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1470" /> - <source>Ignored Serial Devices</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1473" /> - <source>Configure</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1483" /> - <source><h3>Device Version Information</h3></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1491" /> - <source>No version information available.</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../MicroPython/MicroPythonWidget.py" line="1493" /> - <source>Device Version Information</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1513" /> + <source>Manage Unknown Devices</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1496" /> + <source>Ignored Serial Devices</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1499" /> + <source>Configure</source> + <translation type="unfinished" /> + </message> + <message> <location filename="../MicroPython/MicroPythonWidget.py" line="1509" /> + <source><h3>Device Version Information</h3></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1517" /> + <source>No version information available.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1519" /> + <source>Device Version Information</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1539" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1535" /> <source>unknown</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1518" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1544" /> <source> ({0})</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1525" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1551" /> <source>Device Implementation Information</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1526" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1552" /> <source><h3>Device Implementation Information</h3><p>This device contains <b>{0} {1}{2}</b>.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1567" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1593" /> <source><p>The time of the connected device was synchronized with the local time.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1589" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1615" /> <source><h3>Device Date and Time</h3><table><tr><td><b>Date</b></td><td>{0}</td></tr><tr><td><b>Time</b></td><td>{1}</td></tr></table></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1597" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1623" /> <source><h3>Device Date and Time</h3><p>{0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1613" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1639" /> <source>Device Date and Time</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1625" /> - <source>Local Date and Time</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1626" /> - <source><h3>Local Date and Time</h3><table><tr><td><b>Date</b></td><td>{0}</td></tr><tr><td><b>Time</b></td><td>{1}</td></tr></table></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1667" /> - <location filename="../MicroPython/MicroPythonWidget.py" line="1650" /> - <source>Date and Time</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../MicroPython/MicroPythonWidget.py" line="1651" /> - <source><table><tr><th></th><th>Local Date and Time</th><th>Device Date and Time</th></tr><tr><td><b>Date</b></td><td align='center'>{0}</td><td align='center'>{2}</td></tr><tr><td><b>Time</b></td><td align='center'>{1}</td><td align='center'>{3}</td></tr></table></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1668" /> - <source><table><tr><th>Local Date and Time</th><th>Device Date and Time</th></tr><tr><td align='center'>{0} {1}</td><td align='center'>{2}</td></tr></table></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1692" /> - <source>Error handling device</source> + <source>Local Date and Time</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1652" /> + <source><h3>Local Date and Time</h3><table><tr><td><b>Date</b></td><td>{0}</td></tr><tr><td><b>Time</b></td><td>{1}</td></tr></table></source> <translation type="unfinished" /> </message> <message> <location filename="../MicroPython/MicroPythonWidget.py" line="1693" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1676" /> + <source>Date and Time</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1677" /> + <source><table><tr><th></th><th>Local Date and Time</th><th>Device Date and Time</th></tr><tr><td><b>Date</b></td><td align='center'>{0}</td><td align='center'>{2}</td></tr><tr><td><b>Time</b></td><td align='center'>{1}</td><td align='center'>{3}</td></tr></table></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1694" /> + <source><table><tr><th>Local Date and Time</th><th>Device Date and Time</th></tr><tr><td align='center'>{0} {1}</td><td align='center'>{2}</td></tr></table></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1718" /> + <source>Error handling device</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1719" /> <source><p>There was an error communicating with the connected device.</p><p>Method: {0}</p><p>Message: {1}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1735" /> - <source>The MicroPython cross compiler <b>mpy-cross</b> cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../MicroPython/MicroPythonWidget.py" line="1761" /> + <source>The MicroPython cross compiler <b>mpy-cross</b> cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1787" /> <source>Python Files (*.py);;All Files (*)</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1771" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1797" /> <source>The Python file <b>{0}</b> does not exist. Aborting...</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1780" /> - <source>'mpy-cross' Output</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../MicroPython/MicroPythonWidget.py" line="1806" /> + <source>'mpy-cross' Output</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1832" /> <source>The current editor does not contain a Python file. Aborting...</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1898" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1924" /> <source>Add Unknown Devices</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicroPythonWidget.py" line="1899" /> + <location filename="../MicroPython/MicroPythonWidget.py" line="1925" /> <source>Select the devices to be added:</source> <translation type="unfinished" /> </message> <message> + <location filename="../MicroPython/MicroPythonWidget.py" line="1966" /> + <source>Plus any modules on the filesystem.</source> + <translation type="unfinished" /> + </message> + <message> <location filename="../MicroPython/MicroPythonWidget.ui" line="0" /> <source>Press to check for connected devices</source> <translation type="unfinished" /> @@ -49767,135 +49814,178 @@ <context> <name>MicrobitDevice</name> <message> - <location filename="../MicroPython/MicrobitDevices.py" line="72" /> + <location filename="../MicroPython/MicrobitDevices.py" line="73" /> <source>BBC micro:bit</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicrobitDevices.py" line="75" /> + <location filename="../MicroPython/MicrobitDevices.py" line="76" /> <source>Calliope mini</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicrobitDevices.py" line="147" /> + <location filename="../MicroPython/MicrobitDevices.py" line="338" /> + <location filename="../MicroPython/MicrobitDevices.py" line="328" /> + <location filename="../MicroPython/MicrobitDevices.py" line="311" /> + <location filename="../MicroPython/MicrobitDevices.py" line="150" /> + <source>Show MicroPython Versions</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicrobitDevices.py" line="153" /> <source>Flash MicroPython</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicrobitDevices.py" line="150" /> + <location filename="../MicroPython/MicrobitDevices.py" line="156" /> <source>Flash Firmware</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicrobitDevices.py" line="317" /> - <location filename="../MicroPython/MicrobitDevices.py" line="154" /> + <location filename="../MicroPython/MicrobitDevices.py" line="418" /> + <location filename="../MicroPython/MicrobitDevices.py" line="159" /> <source>Save Script</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicrobitDevices.py" line="155" /> + <location filename="../MicroPython/MicrobitDevices.py" line="160" /> <source>Save the current script to the selected device</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicrobitDevices.py" line="157" /> + <location filename="../MicroPython/MicrobitDevices.py" line="162" /> <source>Save Script as 'main.py'</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicrobitDevices.py" line="159" /> - <source>Save the current script as 'main.py' on the connected device</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../MicroPython/MicrobitDevices.py" line="164" /> + <source>Save the current script as 'main.py' on the connected device</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicrobitDevices.py" line="169" /> <source>Reset {0}</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicrobitDevices.py" line="286" /> - <location filename="../MicroPython/MicrobitDevices.py" line="277" /> - <location filename="../MicroPython/MicrobitDevices.py" line="263" /> - <location filename="../MicroPython/MicrobitDevices.py" line="246" /> - <location filename="../MicroPython/MicrobitDevices.py" line="233" /> - <location filename="../MicroPython/MicrobitDevices.py" line="213" /> + <location filename="../MicroPython/MicrobitDevices.py" line="290" /> + <location filename="../MicroPython/MicrobitDevices.py" line="281" /> + <location filename="../MicroPython/MicrobitDevices.py" line="267" /> + <location filename="../MicroPython/MicrobitDevices.py" line="250" /> + <location filename="../MicroPython/MicrobitDevices.py" line="237" /> + <location filename="../MicroPython/MicrobitDevices.py" line="217" /> <source>Flash MicroPython/Firmware</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicrobitDevices.py" line="214" /> - <source><p>The BBC micro:bit is not ready for flashing the DAPLink firmware. Follow these instructions. </p><ul><li>unplug USB cable and any batteries</li><li>keep RESET button pressed an plug USB cable back in</li><li>a drive called MAINTENANCE should be available</li></ul><p>See the <a href="https://microbit.org/guide/firmware/">micro:bit web site</a> for details.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicrobitDevices.py" line="234" /> + <location filename="../MicroPython/MicrobitDevices.py" line="218" /> + <source><p>The BBC micro:bit is not ready for flashing the DAPLink firmware. Follow these instructions. </p><ul><li>unplug USB cable and any batteries</li><li>keep RESET button pressed and plug USB cable back in</li><li>a drive called MAINTENANCE should be available</li></ul><p>See the <a href="https://microbit.org/guide/firmware/">micro:bit web site</a> for details.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicrobitDevices.py" line="238" /> <source><p>The BBC micro:bit is not ready for flashing the MicroPython firmware. Please make sure, that a drive called MICROBIT is available.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicrobitDevices.py" line="247" /> + <location filename="../MicroPython/MicrobitDevices.py" line="251" /> <source><p>The "Calliope mini" is not ready for flashing the DAPLink firmware. Follow these instructions. </p><ul><li>unplug USB cable and any batteries</li><li>keep RESET button pressed an plug USB cable back in</li><li>a drive called MAINTENANCE should be available</li></ul></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicrobitDevices.py" line="264" /> + <location filename="../MicroPython/MicrobitDevices.py" line="268" /> <source><p>The "Calliope mini" is not ready for flashing the MicroPython firmware. Please make sure, that a drive called MINI is available.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicrobitDevices.py" line="279" /> + <location filename="../MicroPython/MicrobitDevices.py" line="283" /> <source>MicroPython/Firmware Files (*.hex *.bin);;All Files (*)</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicrobitDevices.py" line="287" /> + <location filename="../MicroPython/MicrobitDevices.py" line="291" /> <source>There are multiple devices ready for flashing. Please make sure, that only one device is prepared.</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicrobitDevices.py" line="351" /> - <location filename="../MicroPython/MicrobitDevices.py" line="315" /> + <location filename="../MicroPython/MicrobitDevices.py" line="312" /> + <source>The firmware of the connected device cannot be determined or the board does not run MicroPython. Aborting...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicrobitDevices.py" line="329" /> + <source><p>The BBC micro:bit generation cannot be determined. Aborting...</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicrobitDevices.py" line="339" /> + <source><p>The firmware URL for the device type <b>{0}</b> is not known. Aborting...</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicrobitDevices.py" line="371" /> + <source>unknown</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicrobitDevices.py" line="377" /> + <source><h4>MicroPython Version Information<br/>(BBC micro:bit v{2})</h4><table><tr><td>Installed:</td><td>{0}</td></tr><tr><td>Available:</td><td>{1}</td></tr></table></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicrobitDevices.py" line="386" /> + <source><p><b>Update available!</b></p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicrobitDevices.py" line="390" /> + <source>MicroPython Version</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicrobitDevices.py" line="452" /> + <location filename="../MicroPython/MicrobitDevices.py" line="416" /> <source>Save Script as '{0}'</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/MicrobitDevices.py" line="324" /> - <source>The current editor does not contain a Python script. Write it anyway?</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicrobitDevices.py" line="335" /> - <source>The script is empty. Aborting.</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicrobitDevices.py" line="344" /> - <source>Enter a file name on the device:</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicrobitDevices.py" line="365" /> - <source><p>The script could not be saved to the device.</p><p>Reason: {0}</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicrobitDevices.py" line="421" /> - <source>MicroPython Firmware for BBC micro:bit V1</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../MicroPython/MicrobitDevices.py" line="425" /> - <source>MicroPython Firmware for BBC micro:bit V2</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/MicrobitDevices.py" line="440" /> - <location filename="../MicroPython/MicrobitDevices.py" line="429" /> - <source>DAPLink Firmware</source> + <source>The current editor does not contain a Python script. Write it anyway?</source> <translation type="unfinished" /> </message> <message> <location filename="../MicroPython/MicrobitDevices.py" line="436" /> + <source>The script is empty. Aborting.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicrobitDevices.py" line="445" /> + <source>Enter a file name on the device:</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicrobitDevices.py" line="466" /> + <source><p>The script could not be saved to the device.</p><p>Reason: {0}</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicrobitDevices.py" line="522" /> + <source>MicroPython Firmware for BBC micro:bit V1</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicrobitDevices.py" line="526" /> + <source>MicroPython Firmware for BBC micro:bit V2</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicrobitDevices.py" line="541" /> + <location filename="../MicroPython/MicrobitDevices.py" line="530" /> + <source>DAPLink Firmware</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/MicrobitDevices.py" line="537" /> <source>MicroPython Firmware</source> <translation type="unfinished" /> </message> @@ -61620,98 +61710,129 @@ <context> <name>PyBoardDevice</name> <message> - <location filename="../MicroPython/PyBoardDevices.py" line="79" /> + <location filename="../MicroPython/PyBoardDevices.py" line="80" /> <source>PyBoard</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/PyBoardDevices.py" line="194" /> - <source>Workspace Directory</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../MicroPython/PyBoardDevices.py" line="195" /> + <source>Workspace Directory</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/PyBoardDevices.py" line="196" /> <source>Python files for PyBoard can be edited in place, if the device volume is locally available. Such a volume was not found. In place editing will not be available.</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/PyBoardDevices.py" line="232" /> - <source>Activate Bootloader</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../MicroPython/PyBoardDevices.py" line="235" /> + <source>Activate Bootloader</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/PyBoardDevices.py" line="238" /> <source>List DFU-capable Devices</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/PyBoardDevices.py" line="399" /> - <location filename="../MicroPython/PyBoardDevices.py" line="386" /> - <location filename="../MicroPython/PyBoardDevices.py" line="239" /> + <location filename="../MicroPython/PyBoardDevices.py" line="423" /> + <location filename="../MicroPython/PyBoardDevices.py" line="242" /> + <source>Show MicroPython Versions</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/PyBoardDevices.py" line="403" /> + <location filename="../MicroPython/PyBoardDevices.py" line="390" /> + <location filename="../MicroPython/PyBoardDevices.py" line="245" /> <source>Flash MicroPython Firmware</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/PyBoardDevices.py" line="244" /> + <location filename="../MicroPython/PyBoardDevices.py" line="248" /> <source>MicroPython Flash Instructions</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/PyBoardDevices.py" line="286" /> + <location filename="../MicroPython/PyBoardDevices.py" line="290" /> <source>dfu-util not available</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/PyBoardDevices.py" line="287" /> + <location filename="../MicroPython/PyBoardDevices.py" line="291" /> <source>The dfu-util firmware flashing tool <b>dfu-util</b> cannot be found or is not executable. Ensure it is in the search path or configure it on the MicroPython configuration page.</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/PyBoardDevices.py" line="307" /> + <location filename="../MicroPython/PyBoardDevices.py" line="311" /> <source><h3>Enable DFU Mode</h3><p>1. Disconnect everything from your board</p><p>2. Disconnect your board</p><p>3. Connect the DFU/BOOT0 pin with a 3.3V pin</p><p>4. Re-connect your board</p><hr /></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/PyBoardDevices.py" line="317" /> + <location filename="../MicroPython/PyBoardDevices.py" line="321" /> <source><p><b>Warning:</b> Make sure that all other DFU capable devices except your PyBoard are disconnected.<hr /></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/PyBoardDevices.py" line="323" /> + <location filename="../MicroPython/PyBoardDevices.py" line="327" /> <source><p>Press <b>OK</b> to continue...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/PyBoardDevices.py" line="326" /> + <location filename="../MicroPython/PyBoardDevices.py" line="330" /> <source>Enable DFU mode</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/PyBoardDevices.py" line="337" /> + <location filename="../MicroPython/PyBoardDevices.py" line="341" /> <source><h3>Disable DFU Mode</h3><p>1. Disconnect your board</p><p>2. Remove the DFU jumper</p><p>3. Re-connect your board</p><hr /><p>Press <b>OK</b> to continue...</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/PyBoardDevices.py" line="345" /> + <location filename="../MicroPython/PyBoardDevices.py" line="349" /> <source>Disable DFU mode</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/PyBoardDevices.py" line="398" /> - <location filename="../MicroPython/PyBoardDevices.py" line="363" /> + <location filename="../MicroPython/PyBoardDevices.py" line="402" /> + <location filename="../MicroPython/PyBoardDevices.py" line="367" /> <source>'dfu-util' Output</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/PyBoardDevices.py" line="363" /> + <location filename="../MicroPython/PyBoardDevices.py" line="367" /> <source>List DFU capable Devices</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/PyBoardDevices.py" line="388" /> + <location filename="../MicroPython/PyBoardDevices.py" line="392" /> <source>MicroPython Firmware Files (*.dfu);;All Files (*)</source> <translation type="unfinished" /> </message> + <message> + <location filename="../MicroPython/PyBoardDevices.py" line="424" /> + <source>The firmware of the connected device cannot be determined or the board does not run MicroPython. Aborting...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/PyBoardDevices.py" line="456" /> + <source>unknown</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/PyBoardDevices.py" line="462" /> + <source><h4>MicroPython Version Information</h4><table><tr><td>Installed:</td><td>{0}</td></tr><tr><td>Available:</td><td>{1}</td></tr></table></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/PyBoardDevices.py" line="470" /> + <source><p><b>Update available!</b></p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/PyBoardDevices.py" line="474" /> + <source>MicroPython Version</source> + <translation type="unfinished" /> + </message> </context> <context> <name>PyCoverageDialog</name> @@ -66747,68 +66868,68 @@ <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/RP2040Devices.py" line="183" /> - <location filename="../MicroPython/RP2040Devices.py" line="128" /> + <location filename="../MicroPython/RP2040Devices.py" line="184" /> + <location filename="../MicroPython/RP2040Devices.py" line="129" /> <source>Show MicroPython Versions</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/RP2040Devices.py" line="131" /> + <location filename="../MicroPython/RP2040Devices.py" line="132" /> <source>Activate Bootloader</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/RP2040Devices.py" line="134" /> + <location filename="../MicroPython/RP2040Devices.py" line="135" /> <source>Flash MicroPython Firmware</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/RP2040Devices.py" line="184" /> + <location filename="../MicroPython/RP2040Devices.py" line="185" /> <source>The firmware of the connected device cannot be determined or the board does not run MicroPython. Aborting...</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/RP2040Devices.py" line="223" /> + <location filename="../MicroPython/RP2040Devices.py" line="222" /> <source>unknown</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/RP2040Devices.py" line="229" /> - <source><h4>MicroPython Version Information</h4><table><tr><td>Installed:</td><td>{0}</td><td></td></tr><tr><td>Available:</td><td>{1}</td><td></td>{2}</tr></table></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/RP2040Devices.py" line="238" /> + <location filename="../MicroPython/RP2040Devices.py" line="228" /> + <source><h4>MicroPython Version Information</h4><table><tr><td>Installed:</td><td>{0}</td><td></td></tr><tr><td>Available:</td><td>{1}</td><td>{2}</td></tr></table></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/RP2040Devices.py" line="237" /> <source>({0})</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/RP2040Devices.py" line="247" /> + <location filename="../MicroPython/RP2040Devices.py" line="246" /> <source><p><b>Update available!</b></p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/RP2040Devices.py" line="251" /> + <location filename="../MicroPython/RP2040Devices.py" line="250" /> <source>MicroPython Version</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/RP2040Devices.py" line="274" /> + <location filename="../MicroPython/RP2040Devices.py" line="273" /> <source>MicroPython Firmware</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/RP2040Devices.py" line="279" /> + <location filename="../MicroPython/RP2040Devices.py" line="277" /> <source>Pimoroni Pico Firmware</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/RP2040Devices.py" line="283" /> + <location filename="../MicroPython/RP2040Devices.py" line="280" /> <source>CircuitPython Firmware</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/RP2040Devices.py" line="287" /> + <location filename="../MicroPython/RP2040Devices.py" line="284" /> <source>CircuitPython Libraries</source> <translation type="unfinished" /> </message> @@ -70372,32 +70493,32 @@ <context> <name>ShowModulesDialog</name> <message> - <location filename="../MicroPython/CircuitPythonUpdater/ShowModulesDialog.py" line="82" /> + <location filename="../MicroPython/ShowModulesDialog.py" line="87" /> <source>Showing {0} of {1} modules/packages</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/ShowModulesDialog.ui" line="0" /> + <location filename="../MicroPython/ShowModulesDialog.ui" line="0" /> <source>Available Modules</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/ShowModulesDialog.ui" line="0" /> + <location filename="../MicroPython/ShowModulesDialog.ui" line="0" /> <source>Filter:</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/ShowModulesDialog.ui" line="0" /> + <location filename="../MicroPython/ShowModulesDialog.ui" line="0" /> <source>Enter a string used to filter the list below.</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/ShowModulesDialog.ui" line="0" /> + <location filename="../MicroPython/ShowModulesDialog.ui" line="0" /> <source>Enter Filter String</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/CircuitPythonUpdater/ShowModulesDialog.ui" line="0" /> + <location filename="../MicroPython/ShowModulesDialog.ui" line="0" /> <source>Press to apply the entered filter.</source> <translation type="unfinished" /> </message>