Extended the MicroPython code to give an indication, why the connection to a device failed. eric7

Fri, 06 Oct 2023 15:52:33 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 06 Oct 2023 15:52:33 +0200
branch
eric7
changeset 10229
e50bbf250343
parent 10228
74c6150aa745
child 10230
1311cd5d117e

Extended the MicroPython code to give an indication, why the connection to a device failed.

src/eric7/APIs/Python3/eric7.api file | annotate | diff | comparison | revisions
src/eric7/Documentation/Help/source.qch file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.CodeFormatting.BlackFormattingDialog.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.CodeFormatting.IsortFormattingDialog.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.DataViews.CodeMetrics.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.EricNetwork.EricTldExtractor.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.EricWidgets.EricToolBarDialog.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.HexEdit.HexEditChunks.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.MicroPython.MicroPythonDeviceInterface.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.MicroPython.MicroPythonSerialDeviceInterface.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.MicroPython.MicroPythonSerialPort.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.MicroPython.MicroPythonWebreplDeviceInterface.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.MicroPython.MicroPythonWebreplSocket.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.PdfViewer.PdfView.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.PipInterface.PipVulnerabilityChecker.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.PipInterface.piplicenses.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.Plugins.WizardPlugins.FontDialogWizard.FontDialogWizardDialog.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.Project.FileCategoryRepositoryItem.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.Project.ProjectBrowserRepositoryItem.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.QScintilla.Exporters.ExporterPDF.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.QScintilla.QsciScintillaCompat.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.Testing.Interfaces.TestExecutorBase.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.Tools.TRPreviewer.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.Utilities.ClassBrowsers.pyclbr.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.VirtualEnv.VirtualenvMeta.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.WebBrowser.AdBlock.AdBlockSearchTree.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.WebBrowser.ClosedTabsManager.html file | annotate | diff | comparison | revisions
src/eric7/Documentation/Source/eric7.WebBrowser.Session.SessionManager.html file | annotate | diff | comparison | revisions
src/eric7/MicroPython/MicroPythonDeviceInterface.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/MicroPythonSerialDeviceInterface.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/MicroPythonSerialPort.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/MicroPythonWebreplDeviceInterface.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/MicroPythonWebreplSocket.py file | annotate | diff | comparison | revisions
src/eric7/MicroPython/MicroPythonWidget.py file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_cs.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_de.qm file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_de.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_empty.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_en.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_es.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_fr.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_it.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_pt.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_ru.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_tr.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_zh_CN.ts file | annotate | diff | comparison | revisions
--- a/src/eric7/APIs/Python3/eric7.api	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/APIs/Python3/eric7.api	Fri Oct 06 15:52:33 2023 +0200
@@ -22,11 +22,19 @@
 eric7.CodeFormatting.BlackFormattingDialog.BlackMultiprocessingReport.failed?4(src, message)
 eric7.CodeFormatting.BlackFormattingDialog.BlackMultiprocessingReport.path_ignored?4(src, message="")
 eric7.CodeFormatting.BlackFormattingDialog.BlackMultiprocessingReport?1(resultQueue)
+eric7.CodeFormatting.BlackFormattingDialog.BlackMultiprocessingResult.data?7
+eric7.CodeFormatting.BlackFormattingDialog.BlackMultiprocessingResult.filename?7
+eric7.CodeFormatting.BlackFormattingDialog.BlackMultiprocessingResult.status?7
 eric7.CodeFormatting.BlackFormattingDialog.BlackReport.done?4(src, changed, diff="")
 eric7.CodeFormatting.BlackFormattingDialog.BlackReport.failed?4(src, message)
 eric7.CodeFormatting.BlackFormattingDialog.BlackReport.path_ignored?4(src, message="")
 eric7.CodeFormatting.BlackFormattingDialog.BlackReport.result?7
 eric7.CodeFormatting.BlackFormattingDialog.BlackReport?1(parent=None)
+eric7.CodeFormatting.BlackFormattingDialog.BlackStatistics.changeCount?7
+eric7.CodeFormatting.BlackFormattingDialog.BlackStatistics.failureCount?7
+eric7.CodeFormatting.BlackFormattingDialog.BlackStatistics.ignoreCount?7
+eric7.CodeFormatting.BlackFormattingDialog.BlackStatistics.processedCount?7
+eric7.CodeFormatting.BlackFormattingDialog.BlackStatistics.sameCount?7
 eric7.CodeFormatting.BlackUtilities.aboutBlack?4()
 eric7.CodeFormatting.BlackUtilities.compileRegExp?4(regexp)
 eric7.CodeFormatting.BlackUtilities.getDefaultConfiguration?4()
@@ -53,6 +61,14 @@
 eric7.CodeFormatting.IsortFormattingDialog.IsortFormattingDialog.on_statusFilterComboBox_currentTextChanged?4(status)
 eric7.CodeFormatting.IsortFormattingDialog.IsortFormattingDialog.sortingWorkerTask?4(outputQueue, isortConfig)
 eric7.CodeFormatting.IsortFormattingDialog.IsortFormattingDialog?1(configuration, filesList, project=None, action=IsortFormattingAction.Sort, parent=None, )
+eric7.CodeFormatting.IsortFormattingDialog.IsortResult.data?7
+eric7.CodeFormatting.IsortFormattingDialog.IsortResult.filename?7
+eric7.CodeFormatting.IsortFormattingDialog.IsortResult.status?7
+eric7.CodeFormatting.IsortFormattingDialog.IsortStatistics.changeCount?7
+eric7.CodeFormatting.IsortFormattingDialog.IsortStatistics.failureCount?7
+eric7.CodeFormatting.IsortFormattingDialog.IsortStatistics.processedCount?7
+eric7.CodeFormatting.IsortFormattingDialog.IsortStatistics.sameCount?7
+eric7.CodeFormatting.IsortFormattingDialog.IsortStatistics.skippedCount?7
 eric7.CodeFormatting.IsortUtilities.aboutIsort?4()
 eric7.CondaInterface.Conda.Conda.RootName?7
 eric7.CondaInterface.Conda.Conda.cleanConda?4(cleanAction)
@@ -246,6 +262,11 @@
 eric7.DataViews.CodeMetrics.SourceStat.indent?4()
 eric7.DataViews.CodeMetrics.SourceStat.push?4(identifier, row)
 eric7.DataViews.CodeMetrics.SourceStat?1()
+eric7.DataViews.CodeMetrics.Token.col?7
+eric7.DataViews.CodeMetrics.Token.line?7
+eric7.DataViews.CodeMetrics.Token.row?7
+eric7.DataViews.CodeMetrics.Token.text?7
+eric7.DataViews.CodeMetrics.Token.type?7
 eric7.DataViews.CodeMetrics.analyze?4(filename, total)
 eric7.DataViews.CodeMetrics.summarize?4(total, key, value)
 eric7.DataViews.CodeMetricsDialog.CodeMetricsDialog.closeEvent?4(evt)
@@ -1214,6 +1235,11 @@
 eric7.EricNetwork.EricTldExtractor.EricTldExtractor.subdomain?4(host)
 eric7.EricNetwork.EricTldExtractor.EricTldExtractor.tld?4(host)
 eric7.EricNetwork.EricTldExtractor.EricTldExtractor?1(withPrivate=False, parent=None)
+eric7.EricNetwork.EricTldExtractor.EricTldHostParts.domain?7
+eric7.EricNetwork.EricTldExtractor.EricTldHostParts.host?7
+eric7.EricNetwork.EricTldExtractor.EricTldHostParts.registrableDomain?7
+eric7.EricNetwork.EricTldExtractor.EricTldHostParts.subdomain?7
+eric7.EricNetwork.EricTldExtractor.EricTldHostParts.tld?7
 eric7.EricNetwork.EricTldExtractor._TLDExtractor?8
 eric7.EricNetwork.EricTldExtractor.instance?4(withPrivate=False)
 eric7.EricNetwork.EricUrlInfo.EricUrlInfo.group?4()
@@ -1820,6 +1846,11 @@
 eric7.EricWidgets.EricToolBarDialog.EricToolBarDialog.on_toolbarActionsList_currentItemChanged?4(current, previous)
 eric7.EricWidgets.EricToolBarDialog.EricToolBarDialog.on_upButton_clicked?4()
 eric7.EricWidgets.EricToolBarDialog.EricToolBarDialog?1(toolBarManager, parent=None)
+eric7.EricWidgets.EricToolBarDialog.EricToolBarItem.actionIDs?7
+eric7.EricWidgets.EricToolBarDialog.EricToolBarItem.isChanged?7
+eric7.EricWidgets.EricToolBarDialog.EricToolBarItem.isDefault?7
+eric7.EricWidgets.EricToolBarDialog.EricToolBarItem.title?7
+eric7.EricWidgets.EricToolBarDialog.EricToolBarItem.toolBarId?7
 eric7.EricWidgets.EricToolBarManager.EricToolBarManager.CustomToolBarMarker?7
 eric7.EricWidgets.EricToolBarManager.EricToolBarManager.ToolBarMarker?7
 eric7.EricWidgets.EricToolBarManager.EricToolBarManager.VersionMarker?7
@@ -2287,6 +2318,9 @@
 eric7.HelpViewer.OpenPagesWidget.OpenPagesWidget.currentPageChanged?7
 eric7.HelpViewer.OpenPagesWidget.OpenPagesWidget.insertPage?4(index, viewer, background=False)
 eric7.HelpViewer.OpenPagesWidget.OpenPagesWidget?1(stack, parent=None)
+eric7.HexEdit.HexEditChunks.HexEditChunk.absPos?7
+eric7.HexEdit.HexEditChunks.HexEditChunk.data?7
+eric7.HexEdit.HexEditChunks.HexEditChunk.dataChanged?7
 eric7.HexEdit.HexEditChunks.HexEditChunks.BUFFER_SIZE?7
 eric7.HexEdit.HexEditChunks.HexEditChunks.CHUNK_SIZE?7
 eric7.HexEdit.HexEditChunks.HexEditChunks.READ_CHUNK_MASK?7
@@ -3582,6 +3616,10 @@
 eric7.PdfViewer.PdfToCWidget.PdfToCModel?1(parent)
 eric7.PdfViewer.PdfToCWidget.PdfToCWidget.topicActivated?7
 eric7.PdfViewer.PdfToCWidget.PdfToCWidget?1(document, parent=None)
+eric7.PdfViewer.PdfView.PdfMarker.markerType?7
+eric7.PdfViewer.PdfView.PdfMarker.rectangle?7
+eric7.PdfViewer.PdfView.PdfMarkerGeometry.markerType?7
+eric7.PdfViewer.PdfView.PdfMarkerGeometry.rectangle?7
 eric7.PdfViewer.PdfView.PdfMarkerType.SEARCHRESULT?7
 eric7.PdfViewer.PdfView.PdfMarkerType.SELECTION?7
 eric7.PdfViewer.PdfView.PdfView.MarkerColors?7
@@ -3760,11 +3798,19 @@
 eric7.PipInterface.PipPackagesWidget.PypiSearchResultsParser.handle_starttag?4(tag, attrs)
 eric7.PipInterface.PipPackagesWidget.PypiSearchResultsParser?1(data)
 eric7.PipInterface.PipPackagesWindow.PipPackagesWindow?1(parent=None)
+eric7.PipInterface.PipVulnerabilityChecker.Package.name?7
+eric7.PipInterface.PipVulnerabilityChecker.Package.version?7
 eric7.PipInterface.PipVulnerabilityChecker.PipVulnerabilityChecker.FullDbFile?7
 eric7.PipInterface.PipVulnerabilityChecker.PipVulnerabilityChecker.SummaryDbFile?7
 eric7.PipInterface.PipVulnerabilityChecker.PipVulnerabilityChecker.check?4(packages)
 eric7.PipInterface.PipVulnerabilityChecker.PipVulnerabilityChecker.updateVulnerabilityDb?4()
 eric7.PipInterface.PipVulnerabilityChecker.PipVulnerabilityChecker?1(pip, parent=None)
+eric7.PipInterface.PipVulnerabilityChecker.Vulnerability.advisory?7
+eric7.PipInterface.PipVulnerabilityChecker.Vulnerability.cve?7
+eric7.PipInterface.PipVulnerabilityChecker.Vulnerability.name?7
+eric7.PipInterface.PipVulnerabilityChecker.Vulnerability.spec?7
+eric7.PipInterface.PipVulnerabilityChecker.Vulnerability.version?7
+eric7.PipInterface.PipVulnerabilityChecker.Vulnerability.vulnerabilityId?7
 eric7.PipInterface.PipVulnerabilityChecker.VulnerabilityCheckError.FullDbUnavailable?7
 eric7.PipInterface.PipVulnerabilityChecker.VulnerabilityCheckError.OK?7
 eric7.PipInterface.PipVulnerabilityChecker.VulnerabilityCheckError.SummaryDbUnavailable?7
@@ -3774,6 +3820,23 @@
 eric7.PipInterface.piplicenses.CustomHelpFormatter._format_action?5(action: argparse.Action)
 eric7.PipInterface.piplicenses.CustomHelpFormatter._split_lines?5(text: str, width: int)
 eric7.PipInterface.piplicenses.CustomHelpFormatter?1(prog: str, indent_increment: int = 2, max_help_position: int = 24, width: Optional[int] = None, )
+eric7.PipInterface.piplicenses.CustomNamespace.allow_only?7
+eric7.PipInterface.piplicenses.CustomNamespace.fail_on?7
+eric7.PipInterface.piplicenses.CustomNamespace.filter_code_page?7
+eric7.PipInterface.piplicenses.CustomNamespace.filter_strings?7
+eric7.PipInterface.piplicenses.CustomNamespace.from_?7
+eric7.PipInterface.piplicenses.CustomNamespace.ignore_packages?7
+eric7.PipInterface.piplicenses.CustomNamespace.no_license_path?7
+eric7.PipInterface.piplicenses.CustomNamespace.order?7
+eric7.PipInterface.piplicenses.CustomNamespace.output_file?7
+eric7.PipInterface.piplicenses.CustomNamespace.packages?7
+eric7.PipInterface.piplicenses.CustomNamespace.summary?7
+eric7.PipInterface.piplicenses.CustomNamespace.with_authors?7
+eric7.PipInterface.piplicenses.CustomNamespace.with_description?7
+eric7.PipInterface.piplicenses.CustomNamespace.with_license_file?7
+eric7.PipInterface.piplicenses.CustomNamespace.with_notice_file?7
+eric7.PipInterface.piplicenses.CustomNamespace.with_system?7
+eric7.PipInterface.piplicenses.CustomNamespace.with_urls?7
 eric7.PipInterface.piplicenses.DEFAULT_OUTPUT_FIELDS?7
 eric7.PipInterface.piplicenses.FIELDS_TO_METADATA_KEYS?7
 eric7.PipInterface.piplicenses.FIELD_NAMES?7
@@ -3783,6 +3846,7 @@
 eric7.PipInterface.piplicenses.FromArg.MIXED?7
 eric7.PipInterface.piplicenses.LICENSE_UNKNOWN?7
 eric7.PipInterface.piplicenses.MAP_DEST_TO_ENUM?7
+eric7.PipInterface.piplicenses.METADATA_KEYS?7
 eric7.PipInterface.piplicenses.OrderArg.AUTHOR?7
 eric7.PipInterface.piplicenses.OrderArg.COUNT?7
 eric7.PipInterface.piplicenses.OrderArg.LICENSE?7
@@ -6974,6 +7038,15 @@
 eric7.Plugins.WizardPlugins.FileDialogWizard.FileDialogWizardDialog.FileDialogWizardDialog?1(dialogVariant, parent=None)
 eric7.Plugins.WizardPlugins.FontDialogWizard.FontDialogOptionsDialog.FontDialogOptionsDialog.getOptions?4()
 eric7.Plugins.WizardPlugins.FontDialogWizard.FontDialogOptionsDialog.FontDialogOptionsDialog?1(options, parent=None)
+eric7.Plugins.WizardPlugins.FontDialogWizard.FontDialogWizardDialog.FontDialogWizardDialog.100?7
+eric7.Plugins.WizardPlugins.FontDialogWizard.FontDialogWizardDialog.FontDialogWizardDialog.200?7
+eric7.Plugins.WizardPlugins.FontDialogWizard.FontDialogWizardDialog.FontDialogWizardDialog.300?7
+eric7.Plugins.WizardPlugins.FontDialogWizard.FontDialogWizardDialog.FontDialogWizardDialog.400?7
+eric7.Plugins.WizardPlugins.FontDialogWizard.FontDialogWizardDialog.FontDialogWizardDialog.500?7
+eric7.Plugins.WizardPlugins.FontDialogWizard.FontDialogWizardDialog.FontDialogWizardDialog.600?7
+eric7.Plugins.WizardPlugins.FontDialogWizard.FontDialogWizardDialog.FontDialogWizardDialog.700?7
+eric7.Plugins.WizardPlugins.FontDialogWizard.FontDialogWizardDialog.FontDialogWizardDialog.800?7
+eric7.Plugins.WizardPlugins.FontDialogWizard.FontDialogWizardDialog.FontDialogWizardDialog.900?7
 eric7.Plugins.WizardPlugins.FontDialogWizard.FontDialogWizardDialog.FontDialogWizardDialog.FontWeight2Code?7
 eric7.Plugins.WizardPlugins.FontDialogWizard.FontDialogWizardDialog.FontDialogWizardDialog.getCode?4(indLevel, indString)
 eric7.Plugins.WizardPlugins.FontDialogWizard.FontDialogWizardDialog.FontDialogWizardDialog.on_bTest_clicked?4()
@@ -7839,6 +7912,10 @@
 eric7.Project.DebuggerPropertiesFile.DebuggerPropertiesFile.writeFile?4(filename: str)
 eric7.Project.DebuggerPropertiesFile.DebuggerPropertiesFile?1(project: Project, parent: QObject = None)
 eric7.Project.DebuggerPropertiesFile.Project?7
+eric7.Project.FileCategoryRepositoryItem.FileCategoryRepositoryItem.fileCategoryExtensions?7
+eric7.Project.FileCategoryRepositoryItem.FileCategoryRepositoryItem.fileCategoryFilterTemplate?7
+eric7.Project.FileCategoryRepositoryItem.FileCategoryRepositoryItem.fileCategoryTyeString?7
+eric7.Project.FileCategoryRepositoryItem.FileCategoryRepositoryItem.fileCategoryUserString?7
 eric7.Project.FiletypeAssociationDialog.FiletypeAssociationDialog.getData?4()
 eric7.Project.FiletypeAssociationDialog.FiletypeAssociationDialog.on_addAssociationButton_clicked?4()
 eric7.Project.FiletypeAssociationDialog.FiletypeAssociationDialog.on_deleteAssociationButton_clicked?4()
@@ -8153,6 +8230,12 @@
 eric7.Project.ProjectBrowserModel.ProjectBrowserSimpleDirectoryItem.name?4()
 eric7.Project.ProjectBrowserModel.ProjectBrowserSimpleDirectoryItem.setName?4(dinfo, full=True)
 eric7.Project.ProjectBrowserModel.ProjectBrowserSimpleDirectoryItem?1(parent, projectType, text, path="")
+eric7.Project.ProjectBrowserRepositoryItem.ProjectBrowserRepositoryItem.fileCategory?7
+eric7.Project.ProjectBrowserRepositoryItem.ProjectBrowserRepositoryItem.fileFilter?7
+eric7.Project.ProjectBrowserRepositoryItem.ProjectBrowserRepositoryItem.getIcon?7
+eric7.Project.ProjectBrowserRepositoryItem.ProjectBrowserRepositoryItem.priority?7
+eric7.Project.ProjectBrowserRepositoryItem.ProjectBrowserRepositoryItem.projectBrowser?7
+eric7.Project.ProjectBrowserRepositoryItem.ProjectBrowserRepositoryItem.projectBrowserUserString?7
 eric7.Project.ProjectBrowserSortFilterProxyModel.ProjectBrowserSortFilterProxyModel.filterAcceptsRow?4(source_row, source_parent)
 eric7.Project.ProjectBrowserSortFilterProxyModel.ProjectBrowserSortFilterProxyModel?1(filterType, parent=None)
 eric7.Project.ProjectFile.Project?7
@@ -8648,6 +8731,8 @@
 eric7.QScintilla.Exporters.ExporterPDF.PDFRender.startPDF?4()
 eric7.QScintilla.Exporters.ExporterPDF.PDFRender.startPage?4()
 eric7.QScintilla.Exporters.ExporterPDF.PDFRender?1()
+eric7.QScintilla.Exporters.ExporterPDF.PDFStyle.font?7
+eric7.QScintilla.Exporters.ExporterPDF.PDFStyle.fore?7
 eric7.QScintilla.Exporters.ExporterPDF.PDF_ENCODING?7
 eric7.QScintilla.Exporters.ExporterPDF.PDF_FONTSIZE_DEFAULT?7
 eric7.QScintilla.Exporters.ExporterPDF.PDF_FONT_DEFAULT?7
@@ -9222,6 +9307,15 @@
 eric7.QScintilla.MiniEditor.MiniScintilla?1(parent=None)
 eric7.QScintilla.Printer.Printer.formatPage?4(painter, drawing, area, pagenr)
 eric7.QScintilla.Printer.Printer?1(mode=QPrinter.PrinterMode.ScreenResolution)
+eric7.QScintilla.QsciScintillaCompat.QsciScintillaCompat.100?7
+eric7.QScintilla.QsciScintillaCompat.QsciScintillaCompat.200?7
+eric7.QScintilla.QsciScintillaCompat.QsciScintillaCompat.300?7
+eric7.QScintilla.QsciScintillaCompat.QsciScintillaCompat.400?7
+eric7.QScintilla.QsciScintillaCompat.QsciScintillaCompat.500?7
+eric7.QScintilla.QsciScintillaCompat.QsciScintillaCompat.600?7
+eric7.QScintilla.QsciScintillaCompat.QsciScintillaCompat.700?7
+eric7.QScintilla.QsciScintillaCompat.QsciScintillaCompat.800?7
+eric7.QScintilla.QsciScintillaCompat.QsciScintillaCompat.900?7
 eric7.QScintilla.QsciScintillaCompat.QsciScintillaCompat.ArrowFoldStyle?7
 eric7.QScintilla.QsciScintillaCompat.QsciScintillaCompat.ArrowTreeFoldStyle?7
 eric7.QScintilla.QsciScintillaCompat.QsciScintillaCompat.IndicatorStyleMax?7
@@ -9894,6 +9988,18 @@
 eric7.Testing.Interfaces.PytestRunner.GetPluginVersionsPlugin?1()
 eric7.Testing.Interfaces.PytestRunner.getMarkers?4()
 eric7.Testing.Interfaces.PytestRunner.getVersions?4()
+eric7.Testing.Interfaces.TestExecutorBase.TestConfig.collectCoverage?7
+eric7.Testing.Interfaces.TestExecutorBase.TestConfig.coverageFile?7
+eric7.Testing.Interfaces.TestExecutorBase.TestConfig.discover?7
+eric7.Testing.Interfaces.TestExecutorBase.TestConfig.discoveryStart?7
+eric7.Testing.Interfaces.TestExecutorBase.TestConfig.eraseCoverage?7
+eric7.Testing.Interfaces.TestExecutorBase.TestConfig.failFast?7
+eric7.Testing.Interfaces.TestExecutorBase.TestConfig.failedOnly?7
+eric7.Testing.Interfaces.TestExecutorBase.TestConfig.interpreter?7
+eric7.Testing.Interfaces.TestExecutorBase.TestConfig.testFilename?7
+eric7.Testing.Interfaces.TestExecutorBase.TestConfig.testMarkerExpression?7
+eric7.Testing.Interfaces.TestExecutorBase.TestConfig.testName?7
+eric7.Testing.Interfaces.TestExecutorBase.TestConfig.testNamePattern?7
 eric7.Testing.Interfaces.TestExecutorBase.TestExecutorBase._prepareProcess?5(workDir, pythonpath)
 eric7.Testing.Interfaces.TestExecutorBase.TestExecutorBase.collectError?7
 eric7.Testing.Interfaces.TestExecutorBase.TestExecutorBase.collected?7
@@ -9919,6 +10025,17 @@
 eric7.Testing.Interfaces.TestExecutorBase.TestExecutorBase.testRunAboutToBeStarted?7
 eric7.Testing.Interfaces.TestExecutorBase.TestExecutorBase.testRunFinished?7
 eric7.Testing.Interfaces.TestExecutorBase.TestExecutorBase?1(testWidget)
+eric7.Testing.Interfaces.TestExecutorBase.TestResult.category?7
+eric7.Testing.Interfaces.TestExecutorBase.TestResult.description?7
+eric7.Testing.Interfaces.TestExecutorBase.TestResult.duration?7
+eric7.Testing.Interfaces.TestExecutorBase.TestResult.extra?7
+eric7.Testing.Interfaces.TestExecutorBase.TestResult.filename?7
+eric7.Testing.Interfaces.TestExecutorBase.TestResult.id?7
+eric7.Testing.Interfaces.TestExecutorBase.TestResult.lineno?7
+eric7.Testing.Interfaces.TestExecutorBase.TestResult.message?7
+eric7.Testing.Interfaces.TestExecutorBase.TestResult.name?7
+eric7.Testing.Interfaces.TestExecutorBase.TestResult.status?7
+eric7.Testing.Interfaces.TestExecutorBase.TestResult.subtestResult?7
 eric7.Testing.Interfaces.TestExecutorBase.TestResultCategory.FAIL?7
 eric7.Testing.Interfaces.TestExecutorBase.TestResultCategory.OK?7
 eric7.Testing.Interfaces.TestExecutorBase.TestResultCategory.PENDING?7
@@ -10032,6 +10149,9 @@
 eric7.Tools.TRPreviewer.TRPreviewer.reloadTranslations?4()
 eric7.Tools.TRPreviewer.TRPreviewer.show?4()
 eric7.Tools.TRPreviewer.TRPreviewer?1(filenames=None, parent=None, name=None)
+eric7.Tools.TRPreviewer.Translation.fileName?7
+eric7.Tools.TRPreviewer.Translation.name?7
+eric7.Tools.TRPreviewer.Translation.translator?7
 eric7.Tools.TRPreviewer.TranslationsDict.add?4(fileName, setTranslation=True)
 eric7.Tools.TRPreviewer.TranslationsDict.hasTranslations?4()
 eric7.Tools.TRPreviewer.TranslationsDict.loadTransFile?4(transFileName)
@@ -10685,6 +10805,11 @@
 eric7.Utilities.ClassBrowsers.pyclbr.Imports.getImport?4(moduleName)
 eric7.Utilities.ClassBrowsers.pyclbr.Imports.getImports?4()
 eric7.Utilities.ClassBrowsers.pyclbr.Imports?1(module, file)
+eric7.Utilities.ClassBrowsers.pyclbr.Publics.file?7
+eric7.Utilities.ClassBrowsers.pyclbr.Publics.identifiers?7
+eric7.Utilities.ClassBrowsers.pyclbr.Publics.lineno?7
+eric7.Utilities.ClassBrowsers.pyclbr.Publics.module?7
+eric7.Utilities.ClassBrowsers.pyclbr.Publics.name?7
 eric7.Utilities.ClassBrowsers.pyclbr.SUPPORTED_TYPES?7
 eric7.Utilities.ClassBrowsers.pyclbr.TABWIDTH?7
 eric7.Utilities.ClassBrowsers.pyclbr.VisibilityMixin?1()
@@ -11236,7 +11361,15 @@
 eric7.VirtualEnv.VirtualenvManagerWidgets.VirtualenvManagerWidget?1(manager, parent=None)
 eric7.VirtualEnv.VirtualenvManagerWidgets.VirtualenvManagerWindow?1(parent=None)
 eric7.VirtualEnv.VirtualenvMeta.VirtualenvMetaData.as_dict?4()
+eric7.VirtualEnv.VirtualenvMeta.VirtualenvMetaData.description?7
+eric7.VirtualEnv.VirtualenvMeta.VirtualenvMetaData.exec_path?7
 eric7.VirtualEnv.VirtualenvMeta.VirtualenvMetaData.from_dict?4(data)
+eric7.VirtualEnv.VirtualenvMeta.VirtualenvMetaData.interpreter?7
+eric7.VirtualEnv.VirtualenvMeta.VirtualenvMetaData.is_conda?7
+eric7.VirtualEnv.VirtualenvMeta.VirtualenvMetaData.is_global?7
+eric7.VirtualEnv.VirtualenvMeta.VirtualenvMetaData.is_remote?7
+eric7.VirtualEnv.VirtualenvMeta.VirtualenvMetaData.name?7
+eric7.VirtualEnv.VirtualenvMeta.VirtualenvMetaData.path?7
 eric7.VirtualEnv.VirtualenvNameDialog.VirtualenvNameDialog.getName?4()
 eric7.VirtualEnv.VirtualenvNameDialog.VirtualenvNameDialog.on_nameEdit_textChanged?4(txt)
 eric7.VirtualEnv.VirtualenvNameDialog.VirtualenvNameDialog?1(environments, currentName, parent=None)
@@ -11379,6 +11512,9 @@
 eric7.WebBrowser.AdBlock.AdBlockSearchTree.AdBlockSearchTree.clear?4()
 eric7.WebBrowser.AdBlock.AdBlockSearchTree.AdBlockSearchTree.find?4(request, domain, urlString)
 eric7.WebBrowser.AdBlock.AdBlockSearchTree.AdBlockSearchTree?1()
+eric7.WebBrowser.AdBlock.AdBlockSearchTree.AdBlockSearchTreeNode.char?7
+eric7.WebBrowser.AdBlock.AdBlockSearchTree.AdBlockSearchTreeNode.children?7
+eric7.WebBrowser.AdBlock.AdBlockSearchTree.AdBlockSearchTreeNode.rule?7
 eric7.WebBrowser.AdBlock.AdBlockSubscription.AdBlockSubscription.addRule?4(rule)
 eric7.WebBrowser.AdBlock.AdBlockSubscription.AdBlockSubscription.allRules?4()
 eric7.WebBrowser.AdBlock.AdBlockSubscription.AdBlockSubscription.canBeRemoved?4()
@@ -11627,6 +11763,9 @@
 eric7.WebBrowser.Bookmarks.XbelReader.XmlEntityResolver.resolveUndeclaredEntity?4(entity)
 eric7.WebBrowser.Bookmarks.XbelWriter.XbelWriter.write?4(fileNameOrDevice, root)
 eric7.WebBrowser.Bookmarks.XbelWriter.XbelWriter?1()
+eric7.WebBrowser.ClosedTabsManager.ClosedTab.position?7
+eric7.WebBrowser.ClosedTabsManager.ClosedTab.title?7
+eric7.WebBrowser.ClosedTabsManager.ClosedTab.url?7
 eric7.WebBrowser.ClosedTabsManager.ClosedTabsManager.allClosedTabs?4()
 eric7.WebBrowser.ClosedTabsManager.ClosedTabsManager.clearList?4()
 eric7.WebBrowser.ClosedTabsManager.ClosedTabsManager.closedTabAvailable?7
@@ -12356,6 +12495,11 @@
 eric7.WebBrowser.Session.SessionManager.SessionManager.switchToSession?4(sessionFilePath)
 eric7.WebBrowser.Session.SessionManager.SessionManager.writeCurrentSession?4(sessionFileName)
 eric7.WebBrowser.Session.SessionManager.SessionManager?1(parent=None)
+eric7.WebBrowser.Session.SessionManager.SessionMetaData.filePath?7
+eric7.WebBrowser.Session.SessionManager.SessionMetaData.isActive?7
+eric7.WebBrowser.Session.SessionManager.SessionMetaData.isBackup?7
+eric7.WebBrowser.Session.SessionManager.SessionMetaData.isDefault?7
+eric7.WebBrowser.Session.SessionManager.SessionMetaData.name?7
 eric7.WebBrowser.Session.SessionManagerDialog.SessionManagerDialog.ActiveSessionRole?7
 eric7.WebBrowser.Session.SessionManagerDialog.SessionManagerDialog.BackupSessionRole?7
 eric7.WebBrowser.Session.SessionManagerDialog.SessionManagerDialog.DefaultSessionRole?7
Binary file src/eric7/Documentation/Help/source.qch has changed
--- a/src/eric7/Documentation/Source/eric7.CodeFormatting.BlackFormattingDialog.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.CodeFormatting.BlackFormattingDialog.html	Fri Oct 06 15:52:33 2023 +0200
@@ -545,7 +545,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>data</td></tr><tr><td>filename</td></tr><tr><td>status</td></tr>
 </table>
 <h3>Class Methods</h3>
 
@@ -693,7 +693,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>changeCount</td></tr><tr><td>failureCount</td></tr><tr><td>ignoreCount</td></tr><tr><td>processedCount</td></tr><tr><td>sameCount</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.CodeFormatting.IsortFormattingDialog.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.CodeFormatting.IsortFormattingDialog.html	Fri Oct 06 15:52:33 2023 +0200
@@ -467,7 +467,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>data</td></tr><tr><td>filename</td></tr><tr><td>status</td></tr>
 </table>
 <h3>Class Methods</h3>
 
@@ -499,7 +499,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>changeCount</td></tr><tr><td>failureCount</td></tr><tr><td>processedCount</td></tr><tr><td>sameCount</td></tr><tr><td>skippedCount</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.DataViews.CodeMetrics.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.DataViews.CodeMetrics.html	Fri Oct 06 15:52:33 2023 +0200
@@ -301,7 +301,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>col</td></tr><tr><td>line</td></tr><tr><td>row</td></tr><tr><td>text</td></tr><tr><td>type</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.EricNetwork.EricTldExtractor.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.EricNetwork.EricTldExtractor.html	Fri Oct 06 15:52:33 2023 +0200
@@ -548,7 +548,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>domain</td></tr><tr><td>host</td></tr><tr><td>registrableDomain</td></tr><tr><td>subdomain</td></tr><tr><td>tld</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.EricWidgets.EricToolBarDialog.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.EricWidgets.EricToolBarDialog.html	Fri Oct 06 15:52:33 2023 +0200
@@ -332,7 +332,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>actionIDs</td></tr><tr><td>isChanged</td></tr><tr><td>isDefault</td></tr><tr><td>title</td></tr><tr><td>toolBarId</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.HexEdit.HexEditChunks.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.HexEdit.HexEditChunks.html	Fri Oct 06 15:52:33 2023 +0200
@@ -47,7 +47,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>absPos</td></tr><tr><td>data</td></tr><tr><td>dataChanged</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.MicroPython.MicroPythonDeviceInterface.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.MicroPython.MicroPythonDeviceInterface.html	Fri Oct 06 15:52:33 2023 +0200
@@ -78,7 +78,7 @@
 </tr>
 <tr>
 <td><a href="#MicroPythonDeviceInterface.connectToDevice">connectToDevice</a></td>
-<td>Public slot to connect to the device.</td>
+<td>Public method to connect to the device.</td>
 </tr>
 <tr>
 <td><a href="#MicroPythonDeviceInterface.disconnectFromDevice">disconnectFromDevice</a></td>
@@ -134,7 +134,7 @@
 <b>connectToDevice</b>(<i>connection</i>)
 
 <p>
-        Public slot to connect to the device.
+        Public method to connect to the device.
 </p>
 <dl>
 
@@ -146,13 +146,13 @@
 <dl>
 <dt>Return:</dt>
 <dd>
-flag indicating success
+flag indicating success and an error message
 </dd>
 </dl>
 <dl>
 <dt>Return Type:</dt>
 <dd>
-bool
+tuple of (bool, str)
 </dd>
 </dl>
 <dl>
--- a/src/eric7/Documentation/Source/eric7.MicroPython.MicroPythonSerialDeviceInterface.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.MicroPython.MicroPythonSerialDeviceInterface.html	Fri Oct 06 15:52:33 2023 +0200
@@ -98,7 +98,7 @@
 </tr>
 <tr>
 <td><a href="#MicroPythonSerialDeviceInterface.connectToDevice">connectToDevice</a></td>
-<td>Public slot to connect to the device.</td>
+<td>Public method to connect to the device.</td>
 </tr>
 <tr>
 <td><a href="#MicroPythonSerialDeviceInterface.disconnectFromDevice">disconnectFromDevice</a></td>
@@ -320,7 +320,7 @@
 <b>connectToDevice</b>(<i>connection</i>)
 
 <p>
-        Public slot to connect to the device.
+        Public method to connect to the device.
 </p>
 <dl>
 
@@ -332,13 +332,13 @@
 <dl>
 <dt>Return:</dt>
 <dd>
-flag indicating success
+flag indicating success and an error message
 </dd>
 </dl>
 <dl>
 <dt>Return Type:</dt>
 <dd>
-bool
+tuple of (bool, str)
 </dd>
 </dl>
 <a NAME="MicroPythonSerialDeviceInterface.disconnectFromDevice" ID="MicroPythonSerialDeviceInterface.disconnectFromDevice"></a>
--- a/src/eric7/Documentation/Source/eric7.MicroPython.MicroPythonSerialPort.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.MicroPython.MicroPythonSerialPort.html	Fri Oct 06 15:52:33 2023 +0200
@@ -166,13 +166,13 @@
 <dl>
 <dt>Return:</dt>
 <dd>
-flag indicating success
+flag indicating success and an error message
 </dd>
 </dl>
 <dl>
 <dt>Return Type:</dt>
 <dd>
-bool
+tuple of (bool, str)
 </dd>
 </dl>
 <a NAME="MicroPythonSerialPort.readUntil" ID="MicroPythonSerialPort.readUntil"></a>
--- a/src/eric7/Documentation/Source/eric7.MicroPython.MicroPythonWebreplDeviceInterface.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.MicroPython.MicroPythonWebreplDeviceInterface.html	Fri Oct 06 15:52:33 2023 +0200
@@ -78,7 +78,7 @@
 </tr>
 <tr>
 <td><a href="#MicroPythonWebreplDeviceInterface.connectToDevice">connectToDevice</a></td>
-<td>Public slot to connect to the device.</td>
+<td>Public method to connect to the device.</td>
 </tr>
 <tr>
 <td><a href="#MicroPythonWebreplDeviceInterface.disconnectFromDevice">disconnectFromDevice</a></td>
@@ -178,7 +178,7 @@
 <b>connectToDevice</b>(<i>connection</i>)
 
 <p>
-        Public slot to connect to the device.
+        Public method to connect to the device.
 </p>
 <dl>
 
@@ -191,13 +191,13 @@
 <dl>
 <dt>Return:</dt>
 <dd>
-flag indicating success
+flag indicating success and an error message
 </dd>
 </dl>
 <dl>
 <dt>Return Type:</dt>
 <dd>
-bool
+tuple of (bool, str)
 </dd>
 </dl>
 <a NAME="MicroPythonWebreplDeviceInterface.disconnectFromDevice" ID="MicroPythonWebreplDeviceInterface.disconnectFromDevice"></a>
--- a/src/eric7/Documentation/Source/eric7.MicroPython.MicroPythonWebreplSocket.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.MicroPython.MicroPythonWebreplSocket.html	Fri Oct 06 15:52:33 2023 +0200
@@ -176,13 +176,13 @@
 <dl>
 <dt>Return:</dt>
 <dd>
-flag indicating success
+flag indicating success and an error message
 </dd>
 </dl>
 <dl>
 <dt>Return Type:</dt>
 <dd>
-bool
+tuple of (bool, str)
 </dd>
 </dl>
 <a NAME="MicroPythonWebreplSocket.disconnect" ID="MicroPythonWebreplSocket.disconnect"></a>
@@ -242,13 +242,13 @@
 <dl>
 <dt>Return:</dt>
 <dd>
-flag indicating a successful login
+flag indicating a successful login and an error indication
 </dd>
 </dl>
 <dl>
 <dt>Return Type:</dt>
 <dd>
-bool
+tuple of (bool, str)
 </dd>
 </dl>
 <a NAME="MicroPythonWebreplSocket.readAll" ID="MicroPythonWebreplSocket.readAll"></a>
--- a/src/eric7/Documentation/Source/eric7.PdfViewer.PdfView.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.PdfViewer.PdfView.html	Fri Oct 06 15:52:33 2023 +0200
@@ -55,7 +55,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>markerType</td></tr><tr><td>rectangle</td></tr>
 </table>
 <h3>Class Methods</h3>
 
@@ -87,7 +87,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>markerType</td></tr><tr><td>rectangle</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.PipInterface.PipVulnerabilityChecker.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.PipInterface.PipVulnerabilityChecker.html	Fri Oct 06 15:52:33 2023 +0200
@@ -59,7 +59,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>name</td></tr><tr><td>version</td></tr>
 </table>
 <h3>Class Methods</h3>
 
@@ -338,7 +338,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>advisory</td></tr><tr><td>cve</td></tr><tr><td>name</td></tr><tr><td>spec</td></tr><tr><td>version</td></tr><tr><td>vulnerabilityId</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.PipInterface.piplicenses.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.PipInterface.piplicenses.html	Fri Oct 06 15:52:33 2023 +0200
@@ -41,7 +41,7 @@
 <h3>Global Attributes</h3>
 
 <table>
-<tr><td>DEFAULT_OUTPUT_FIELDS</td></tr><tr><td>FIELDS_TO_METADATA_KEYS</td></tr><tr><td>FIELD_NAMES</td></tr><tr><td>LICENSE_UNKNOWN</td></tr><tr><td>MAP_DEST_TO_ENUM</td></tr><tr><td>PATTERN_DELIMITER</td></tr><tr><td>SUMMARY_FIELD_NAMES</td></tr><tr><td>SUMMARY_OUTPUT_FIELDS</td></tr><tr><td>SYSTEM_PACKAGES</td></tr><tr><td>__author__</td></tr><tr><td>__license__</td></tr><tr><td>__pkgname__</td></tr><tr><td>__summary__</td></tr><tr><td>__url__</td></tr><tr><td>__version__</td></tr>
+<tr><td>DEFAULT_OUTPUT_FIELDS</td></tr><tr><td>FIELDS_TO_METADATA_KEYS</td></tr><tr><td>FIELD_NAMES</td></tr><tr><td>LICENSE_UNKNOWN</td></tr><tr><td>MAP_DEST_TO_ENUM</td></tr><tr><td>METADATA_KEYS</td></tr><tr><td>PATTERN_DELIMITER</td></tr><tr><td>SUMMARY_FIELD_NAMES</td></tr><tr><td>SUMMARY_OUTPUT_FIELDS</td></tr><tr><td>SYSTEM_PACKAGES</td></tr><tr><td>__author__</td></tr><tr><td>__license__</td></tr><tr><td>__pkgname__</td></tr><tr><td>__summary__</td></tr><tr><td>__url__</td></tr><tr><td>__version__</td></tr>
 </table>
 <h3>Classes</h3>
 
@@ -277,7 +277,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>allow_only</td></tr><tr><td>fail_on</td></tr><tr><td>filter_code_page</td></tr><tr><td>filter_strings</td></tr><tr><td>from_</td></tr><tr><td>ignore_packages</td></tr><tr><td>no_license_path</td></tr><tr><td>order</td></tr><tr><td>output_file</td></tr><tr><td>packages</td></tr><tr><td>summary</td></tr><tr><td>with_authors</td></tr><tr><td>with_description</td></tr><tr><td>with_license_file</td></tr><tr><td>with_notice_file</td></tr><tr><td>with_system</td></tr><tr><td>with_urls</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.Plugins.WizardPlugins.FontDialogWizard.FontDialogWizardDialog.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.Plugins.WizardPlugins.FontDialogWizard.FontDialogWizardDialog.html	Fri Oct 06 15:52:33 2023 +0200
@@ -47,7 +47,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>FontWeight2Code</td></tr>
+<tr><td>100</td></tr><tr><td>200</td></tr><tr><td>300</td></tr><tr><td>400</td></tr><tr><td>500</td></tr><tr><td>600</td></tr><tr><td>700</td></tr><tr><td>800</td></tr><tr><td>900</td></tr><tr><td>FontWeight2Code</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.Project.FileCategoryRepositoryItem.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.Project.FileCategoryRepositoryItem.html	Fri Oct 06 15:52:33 2023 +0200
@@ -44,7 +44,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>fileCategoryExtensions</td></tr><tr><td>fileCategoryFilterTemplate</td></tr><tr><td>fileCategoryTyeString</td></tr><tr><td>fileCategoryUserString</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.Project.ProjectBrowserRepositoryItem.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.Project.ProjectBrowserRepositoryItem.html	Fri Oct 06 15:52:33 2023 +0200
@@ -44,7 +44,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>fileCategory</td></tr><tr><td>fileFilter</td></tr><tr><td>getIcon</td></tr><tr><td>priority</td></tr><tr><td>projectBrowser</td></tr><tr><td>projectBrowserUserString</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.QScintilla.Exporters.ExporterPDF.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.QScintilla.Exporters.ExporterPDF.html	Fri Oct 06 15:52:33 2023 +0200
@@ -444,7 +444,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>font</td></tr><tr><td>fore</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.QScintilla.QsciScintillaCompat.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.QScintilla.QsciScintillaCompat.html	Fri Oct 06 15:52:33 2023 +0200
@@ -56,7 +56,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>ArrowFoldStyle</td></tr><tr><td>ArrowTreeFoldStyle</td></tr><tr><td>IndicatorStyleMax</td></tr><tr><td>QFontWeightMapping</td></tr><tr><td>UserSeparator</td></tr>
+<tr><td>100</td></tr><tr><td>200</td></tr><tr><td>300</td></tr><tr><td>400</td></tr><tr><td>500</td></tr><tr><td>600</td></tr><tr><td>700</td></tr><tr><td>800</td></tr><tr><td>900</td></tr><tr><td>ArrowFoldStyle</td></tr><tr><td>ArrowTreeFoldStyle</td></tr><tr><td>IndicatorStyleMax</td></tr><tr><td>QFontWeightMapping</td></tr><tr><td>UserSeparator</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.Testing.Interfaces.TestExecutorBase.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.Testing.Interfaces.TestExecutorBase.html	Fri Oct 06 15:52:33 2023 +0200
@@ -56,7 +56,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>collectCoverage</td></tr><tr><td>coverageFile</td></tr><tr><td>discover</td></tr><tr><td>discoveryStart</td></tr><tr><td>eraseCoverage</td></tr><tr><td>failFast</td></tr><tr><td>failedOnly</td></tr><tr><td>interpreter</td></tr><tr><td>testFilename</td></tr><tr><td>testMarkerExpression</td></tr><tr><td>testName</td></tr><tr><td>testNamePattern</td></tr>
 </table>
 <h3>Class Methods</h3>
 
@@ -426,7 +426,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>category</td></tr><tr><td>description</td></tr><tr><td>duration</td></tr><tr><td>extra</td></tr><tr><td>filename</td></tr><tr><td>id</td></tr><tr><td>lineno</td></tr><tr><td>message</td></tr><tr><td>name</td></tr><tr><td>status</td></tr><tr><td>subtestResult</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.Tools.TRPreviewer.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.Tools.TRPreviewer.html	Fri Oct 06 15:52:33 2023 +0200
@@ -290,7 +290,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>fileName</td></tr><tr><td>name</td></tr><tr><td>translator</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.Utilities.ClassBrowsers.pyclbr.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.Utilities.ClassBrowsers.pyclbr.html	Fri Oct 06 15:52:33 2023 +0200
@@ -495,7 +495,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>file</td></tr><tr><td>identifiers</td></tr><tr><td>lineno</td></tr><tr><td>module</td></tr><tr><td>name</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.VirtualEnv.VirtualenvMeta.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.VirtualEnv.VirtualenvMeta.html	Fri Oct 06 15:52:33 2023 +0200
@@ -43,7 +43,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>description</td></tr><tr><td>exec_path</td></tr><tr><td>interpreter</td></tr><tr><td>is_conda</td></tr><tr><td>is_global</td></tr><tr><td>is_remote</td></tr><tr><td>name</td></tr><tr><td>path</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.WebBrowser.AdBlock.AdBlockSearchTree.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.WebBrowser.AdBlock.AdBlockSearchTree.html	Fri Oct 06 15:52:33 2023 +0200
@@ -233,7 +233,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>char</td></tr><tr><td>children</td></tr><tr><td>rule</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.WebBrowser.ClosedTabsManager.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.WebBrowser.ClosedTabsManager.html	Fri Oct 06 15:52:33 2023 +0200
@@ -47,7 +47,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>position</td></tr><tr><td>title</td></tr><tr><td>url</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/Documentation/Source/eric7.WebBrowser.Session.SessionManager.html	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.WebBrowser.Session.SessionManager.html	Fri Oct 06 15:52:33 2023 +0200
@@ -677,7 +677,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>filePath</td></tr><tr><td>isActive</td></tr><tr><td>isBackup</td></tr><tr><td>isDefault</td></tr><tr><td>name</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/src/eric7/MicroPython/MicroPythonDeviceInterface.py	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/MicroPython/MicroPythonDeviceInterface.py	Fri Oct 06 15:52:33 2023 +0200
@@ -37,15 +37,14 @@
         """
         super().__init__(parent)
 
-    @pyqtSlot()
     def connectToDevice(self, connection):
         """
-        Public slot to connect to the device.
+        Public method to connect to the device.
 
         @param connection name of the connection to be used
         @type str
-        @return flag indicating success
-        @rtype bool
+        @return flag indicating success and an error message
+        @rtype tuple of (bool, str)
         @exception NotImplementedError raised to indicate that this method needs to
             be implemented in a derived class
         """
@@ -53,7 +52,7 @@
             "This method needs to be implemented in a derived class."
         )
 
-        return False
+        return False, ""
 
     @pyqtSlot()
     def disconnectFromDevice(self):
--- a/src/eric7/MicroPython/MicroPythonSerialDeviceInterface.py	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/MicroPython/MicroPythonSerialDeviceInterface.py	Fri Oct 06 15:52:33 2023 +0200
@@ -48,15 +48,14 @@
             data = bytes(self.__serial.readAll())
             self.dataReceived.emit(data)
 
-    @pyqtSlot()
     def connectToDevice(self, connection):
         """
-        Public slot to connect to the device.
+        Public method to connect to the device.
 
         @param connection name of the connection to be used
         @type str
-        @return flag indicating success
-        @rtype bool
+        @return flag indicating success and an error message
+        @rtype tuple of (bool, str)
         """
         return self.__serial.openSerialLink(connection)
 
--- a/src/eric7/MicroPython/MicroPythonSerialPort.py	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/MicroPython/MicroPythonSerialPort.py	Fri Oct 06 15:52:33 2023 +0200
@@ -48,8 +48,8 @@
 
         @param port port name to connect to
         @type str
-        @return flag indicating success
-        @rtype bool
+        @return flag indicating success and an error message
+        @rtype tuple of (bool, str)
         """
         self.setPortName(port)
         if self.open(QIODevice.OpenModeFlag.ReadWrite):
@@ -61,9 +61,9 @@
             self.setStopBits(QSerialPort.StopBits.OneStop)
 
             self.__connected = True
-            return True
+            return True, ""
         else:
-            return False
+            return False, self.errorString()
 
     def closeSerialLink(self):
         """
--- a/src/eric7/MicroPython/MicroPythonWebreplDeviceInterface.py	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/MicroPython/MicroPythonWebreplDeviceInterface.py	Fri Oct 06 15:52:33 2023 +0200
@@ -58,16 +58,15 @@
         data = self.__socket.readAll()
         self.dataReceived.emit(data)
 
-    @pyqtSlot()
     def connectToDevice(self, connection):
         """
-        Public slot to connect to the device.
+        Public method to connect to the device.
 
         @param connection name of the connection to be used in the form of an URL string
             (ws://password@host:port)
         @type str
-        @return flag indicating success
-        @rtype bool
+        @return flag indicating success and an error message
+        @rtype tuple of (bool, str)
         """
         connection = connection.replace("ws://", "")
         try:
@@ -82,7 +81,7 @@
                 QLineEdit.EchoMode.Password,
             )
             if not ok:
-                return False
+                return False, self.tr("No password given")
 
         try:
             host, port = hostPort.split(":", 1)
@@ -91,9 +90,9 @@
             host, port = hostPort, 8266  # default port is 8266
 
         self.__blockReadyRead = True
-        ok = self.__socket.connectToDevice(host, port)
+        ok, error = self.__socket.connectToDevice(host, port)
         if ok:
-            ok = self.__socket.login(password)
+            ok, error = self.__socket.login(password)
             if not ok:
                 EricMessageBox.warning(
                     None,
@@ -107,7 +106,7 @@
         self.__connected = ok
         self.__blockReadyRead = False
 
-        return self.__connected
+        return self.__connected, error
 
     @pyqtSlot()
     def disconnectFromDevice(self):
--- a/src/eric7/MicroPython/MicroPythonWebreplSocket.py	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/MicroPython/MicroPythonWebreplSocket.py	Fri Oct 06 15:52:33 2023 +0200
@@ -113,8 +113,8 @@
         @type str
         @param port port number
         @type int
-        @return flag indicating success
-        @rtype bool
+        @return flag indicating success and an error message
+        @rtype tuple of (bool, str)
         """
         if self.__connected:
             self.disconnectFromDevice()
@@ -123,10 +123,10 @@
         self.open(url)
         ok = self.waitForConnected()
         if not ok:
-            return False
+            return False, self.tr("Connection to device webrepl failed.")
 
         self.__connected = True
-        return True
+        return True, ""
 
     def disconnect(self):
         """
@@ -160,14 +160,19 @@
 
         @param password password
         @type str
-        @return flag indicating a successful login
-        @rtype bool
+        @return flag indicating a successful login and an error indication
+        @rtype tuple of (bool, str)
         """
         self.readUntil(expected=b": ")
         self.writeTextMessage(password.encode("utf-8") + b"\r")
         data = self.readUntil([b">>> ", b"denied\r\n"])
+        error = (
+            self.tr("WebRepl login failed (access denied).")
+            if data.endswith(b"denied\r\n")
+            else ""
+        )
 
-        return not data.endswith(b"denied\r\n")
+        return error == "", error
 
     def writeTextMessage(self, data):
         """
--- a/src/eric7/MicroPython/MicroPythonWidget.py	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/MicroPython/MicroPythonWidget.py	Fri Oct 06 15:52:33 2023 +0200
@@ -688,7 +688,8 @@
         self.replWidget.replEdit().setInterface(self.__interface)
         self.__interface.osdInfo.connect(self.replWidget.setOSDInfo)
 
-        if self.__interface.connectToDevice(port):
+        ok, error = self.__interface.connectToDevice(port)
+        if ok:
             deviceResponding = self.__interface.probeDevice()
             self.__setConnected(deviceResponding)
             self.__device.setConnected(deviceResponding)
@@ -710,15 +711,12 @@
                         ).format(port),
                     )
         else:
+            msg = self.tr(
+                "<p>Cannot connect to device at serial port <b>{0}</b>.</p>"
+                "<p><b>Reason:</b> {1}</p>"
+            ).format(port, error if error else self.tr("unknown"))
             with EricOverridenCursor():
-                EricMessageBox.warning(
-                    self,
-                    self.tr("Serial Device Connect"),
-                    self.tr(
-                        """<p>Cannot connect to device at serial"""
-                        """ port <b>{0}</b>.</p>"""
-                    ).format(port),
-                )
+                EricMessageBox.warning(self, self.tr("Serial Device Connect"), msg)
 
         self.__device.setButtons()
         if withAutostart:
--- a/src/eric7/i18n/eric7_cs.ts	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/i18n/eric7_cs.ts	Fri Oct 06 15:52:33 2023 +0200
@@ -12270,7 +12270,7 @@
   <context>
     <name>EditBreakpointDialog</name>
     <message>
-      <location filename="../Debugger/EditBreakpointDialog.py" line="97" />
+      <location filename="../Debugger/EditBreakpointDialog.py" line="96" />
       <source>Add Breakpoint</source>
       <translation>Přidat breakpoint</translation>
     </message>
@@ -25904,12 +25904,12 @@
   <context>
     <name>GitNewProjectOptionsDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="86" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="89" />
       <source>Select Repository-Directory</source>
       <translation type="unfinished">Vyberte adresář repozitáře</translation>
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="103" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="106" />
       <source>Select Project Directory</source>
       <translation type="unfinished">Vyberte adresář projektu</translation>
     </message>
@@ -29529,12 +29529,12 @@
   <context>
     <name>GitSubmoduleAddDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="104" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="107" />
       <source>Select Submodule Repository Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="132" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="135" />
       <source>Select Submodule Directory</source>
       <translation type="unfinished" />
     </message>
@@ -51443,22 +51443,27 @@
   <context>
     <name>MicroPythonWebreplDeviceInterface</name>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="79" />
       <source>WebREPL Password</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="81" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
       <source>Enter the WebREPL password:</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="84" />
+      <source>No password given</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="99" />
+      <source>WebREPL Login</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="100" />
-      <source>WebREPL Login</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="101" />
       <source>The login to the selected device 'webrepl' failed. The given password may be incorrect.</source>
       <translation type="unfinished" />
     </message>
@@ -51492,6 +51497,19 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplSocket</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="126" />
+      <source>Connection to device webrepl failed.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="170" />
+      <source>WebRepl login failed (access denied).</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -51793,337 +51811,338 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="716" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="705" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="719" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
       <source>Serial Device Connect</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="707" />
       <source>&lt;p&gt;The device at serial port &lt;b&gt;{0}&lt;/b&gt; does not respond. It may not have a MicroPython firmware flashed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="714" />
+      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Reason:&lt;/b&gt; {1}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1172" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1164" />
       <location filename="../MicroPython/MicroPythonWidget.py" line="717" />
-      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="780" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="771" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="762" />
+      <source>unknown</source>
+      <translation type="unfinished">neznámý</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="778" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="769" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="760" />
       <source>Run Script</source>
       <translation type="unfinished">Spustit skript</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="763" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="761" />
       <source>There is no editor open. Abort...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="772" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="770" />
       <source>The current editor does not contain a script. Abort...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="781" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="779" />
       <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="817" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="815" />
       <source>Start Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="818" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="816" />
       <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="833" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="831" />
       <source>µPy Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="850" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="848" />
       <source>Unsaved Chart Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="851" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="849" />
       <source>The chart contains unsaved data.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="899" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="897" />
       <source>Start File Manager</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="900" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="898" />
       <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="920" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="918" />
       <source>µPy Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="996" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="994" />
       <source>Downloads</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1043" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1041" />
       <source>Show Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1046" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1044" />
       <source>Show Implementation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1049" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1047" />
       <source>Show Board Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1249" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1054" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1247" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1052" />
       <source>Synchronize Time</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1055" />
+      <source>Show Device Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1057" />
-      <source>Show Device Time</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1059" />
       <source>Show Local Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1062" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1060" />
       <source>Show Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1066" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1064" />
       <source>Show Builtin Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1658" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1078" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1070" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1656" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1076" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1068" />
       <source>Install Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1697" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1694" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1074" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1695" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1692" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1072" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1473" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1084" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1471" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1082" />
       <source>Compile Python File</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1497" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1488" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1088" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1495" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1486" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1086" />
       <source>Compile Current Editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1109" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1107" />
       <source>Download Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1116" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1114" />
       <source>Show Documentation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1119" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1117" />
       <source>Convert To UF2</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1120" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1118" />
       <source>Flash UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1123" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1121" />
       <source>Manage Unknown Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1126" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1124" />
       <source>Ignored Serial Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1129" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1127" />
       <source>Configure</source>
       <translation type="unfinished">Konfigurovat</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1138" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1136" />
       <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1149" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1145" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1147" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1143" />
       <source>Device Version Information</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1150" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1148" />
       <source>No version information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1174" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1166" />
-      <source>unknown</source>
-      <translation type="unfinished">neznámý</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1180" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1178" />
       <source> ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1196" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1187" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1194" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1185" />
       <source>Device Implementation Information</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1188" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1186" />
       <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}{2}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1197" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1195" />
       <source>No device implementation information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1250" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1248" />
       <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1272" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1270" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1280" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1278" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1296" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1294" />
       <source>Device Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1308" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1306" />
       <source>Local Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1309" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1307" />
       <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1350" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1333" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1348" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1331" />
       <source>Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1334" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1332" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1351" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1349" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1375" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1373" />
       <source>Error handling device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1376" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1374" />
       <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1418" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1416" />
       <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1444" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1442" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished">Python soubory (*.py);;Všechny soubory (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1454" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1452" />
       <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1463" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1461" />
       <source>'mpy-cross' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1489" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1487" />
       <source>The current editor does not contain a Python file. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1581" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1579" />
       <source>Add Unknown Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1582" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1580" />
       <source>Select the devices to be added:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1631" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1629" />
       <source>Plus any modules on the filesystem.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1683" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1681" />
       <source>Package '{0}' was installed successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1698" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1696" />
       <source>Enter the packages to be installed separated by whitespace:</source>
       <translation type="unfinished" />
     </message>
@@ -76075,43 +76094,43 @@
       <translation>Vyčistit historii</translation>
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="393" />
+      <location filename="../Debugger/StartDialog.py" line="406" />
       <location filename="../Debugger/StartDialog.py" line="176" />
       <source>Edit History</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="216" />
+      <location filename="../Debugger/StartDialog.py" line="226" />
       <source>Enter the list of programs or program patterns not to be debugged separated by '{0}'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="376" />
-      <source>Script Name</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="377" />
-      <source>Script Parameters</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="378" />
-      <source>Working Directory</source>
-      <translation type="unfinished">Pracovní adresář</translation>
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="379" />
-      <source>Environment</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Debugger/StartDialog.py" line="389" />
+      <source>Script Name</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="390" />
+      <source>Script Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="391" />
+      <source>Working Directory</source>
+      <translation type="unfinished">Pracovní adresář</translation>
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="392" />
+      <source>Environment</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="402" />
       <source>No Debug Programs</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="394" />
+      <location filename="../Debugger/StartDialog.py" line="407" />
       <source>Select the history list to be edited:</source>
       <translation type="unfinished" />
     </message>
@@ -84943,183 +84962,183 @@
   <context>
     <name>TestingWidget</name>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="101" />
+      <location filename="../Testing/TestingWidget.py" line="104" />
       <source>Show Output...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="104" />
-      <source>Show the output of the test runner process</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="107" />
+      <source>Show the output of the test runner process</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="110" />
       <source>&lt;b&gt;Show Output...&lt;/b&lt;p&gt;This button opens a dialog containing the output of the test runner process of the most recent run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="115" />
-      <source>Show Coverage...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="118" />
-      <source>Show code coverage in a new dialog</source>
+      <source>Show Coverage...</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="121" />
+      <source>Show code coverage in a new dialog</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="124" />
       <source>&lt;b&gt;Show Coverage...&lt;/b&gt;&lt;p&gt;This button opens a dialog containing the collected code coverage data.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="129" />
-      <source>Start</source>
-      <translation type="unfinished">Spustit</translation>
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="132" />
+      <source>Start</source>
+      <translation type="unfinished">Spustit</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="135" />
       <source>Start the selected testsuite</source>
       <translation type="unfinished">Spustit vybranou soupravu testů</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="134" />
+      <location filename="../Testing/TestingWidget.py" line="137" />
       <source>&lt;b&gt;Start Test&lt;/b&gt;&lt;p&gt;This button starts the test run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="138" />
-      <source>Rerun Failed</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="141" />
-      <source>Reruns failed tests of the selected testsuite</source>
+      <source>Rerun Failed</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="144" />
+      <source>Reruns failed tests of the selected testsuite</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="147" />
       <source>&lt;b&gt;Rerun Failed&lt;/b&gt;&lt;p&gt;This button reruns all failed tests of the most recent test run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="152" />
+      <location filename="../Testing/TestingWidget.py" line="155" />
       <source>Stop</source>
       <translation type="unfinished">Zastavit</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="154" />
+      <location filename="../Testing/TestingWidget.py" line="157" />
       <source>Stop the running test</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="156" />
+      <location filename="../Testing/TestingWidget.py" line="159" />
       <source>&lt;b&gt;Stop Test&lt;/b&gt;&lt;p&gt;This button stops a running test.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.ui" line="0" />
-      <location filename="../Testing/TestingWidget.py" line="163" />
+      <location filename="../Testing/TestingWidget.py" line="166" />
       <source>Testing</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="171" />
+      <location filename="../Testing/TestingWidget.py" line="174" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="286" />
+      <location filename="../Testing/TestingWidget.py" line="289" />
       <source>{0} (not available)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="581" />
+      <location filename="../Testing/TestingWidget.py" line="584" />
       <source>Running</source>
       <translation type="unfinished">Běží</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="639" />
+      <location filename="../Testing/TestingWidget.py" line="642" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="644" />
+      <location filename="../Testing/TestingWidget.py" line="647" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished">Python soubory (*.py);;Všechny soubory (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="802" />
+      <location filename="../Testing/TestingWidget.py" line="805" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="816" />
+      <location filename="../Testing/TestingWidget.py" line="819" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="825" />
-      <source>No version information available.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="828" />
+      <source>No version information available.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="831" />
       <source>Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="865" />
+      <location filename="../Testing/TestingWidget.py" line="868" />
       <source>Preparing Testsuite</source>
       <translation type="unfinished">Příprava soupravy testu</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="928" />
+      <location filename="../Testing/TestingWidget.py" line="931" />
       <source>pending</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Failure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="967" />
-      <location filename="../Testing/TestingWidget.py" line="960" />
+      <location filename="../Testing/TestingWidget.py" line="970" />
+      <location filename="../Testing/TestingWidget.py" line="963" />
       <source>Collection Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="968" />
+      <location filename="../Testing/TestingWidget.py" line="971" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="990" />
+      <location filename="../Testing/TestingWidget.py" line="993" />
       <source>running</source>
       <translation type="unfinished">běžící</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1041" />
+      <location filename="../Testing/TestingWidget.py" line="1044" />
       <source>Ran %n test(s) in {0}s</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1053" />
+      <location filename="../Testing/TestingWidget.py" line="1056" />
       <source>Ran %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1074" />
+      <location filename="../Testing/TestingWidget.py" line="1077" />
       <source>not run</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1117" />
+      <location filename="../Testing/TestingWidget.py" line="1120" />
       <source>Test Run Output</source>
       <translation type="unfinished" />
     </message>
Binary file src/eric7/i18n/eric7_de.qm has changed
--- a/src/eric7/i18n/eric7_de.ts	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/i18n/eric7_de.ts	Fri Oct 06 15:52:33 2023 +0200
@@ -12180,7 +12180,7 @@
   <context>
     <name>EditBreakpointDialog</name>
     <message>
-      <location filename="../Debugger/EditBreakpointDialog.py" line="97" />
+      <location filename="../Debugger/EditBreakpointDialog.py" line="96" />
       <source>Add Breakpoint</source>
       <translation>Haltepunkt hinzufügen</translation>
     </message>
@@ -25784,12 +25784,12 @@
   <context>
     <name>GitNewProjectOptionsDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="86" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="89" />
       <source>Select Repository-Directory</source>
       <translation>Wähle Repositoryverzeichnis</translation>
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="103" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="106" />
       <source>Select Project Directory</source>
       <translation>Wähle Projektverzeichnis</translation>
     </message>
@@ -29414,12 +29414,12 @@
   <context>
     <name>GitSubmoduleAddDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="104" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="107" />
       <source>Select Submodule Repository Directory</source>
       <translation>Submodulrepositoryverzeichnis auswählen</translation>
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="132" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="135" />
       <source>Select Submodule Directory</source>
       <translation>Submodulverzeichnis auswählen</translation>
     </message>
@@ -51315,22 +51315,27 @@
   <context>
     <name>MicroPythonWebreplDeviceInterface</name>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="79" />
       <source>WebREPL Password</source>
       <translation>WebREPL Kennwort</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="81" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
       <source>Enter the WebREPL password:</source>
       <translation>Gib das WebREPL Kennwort ein:</translation>
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="84" />
+      <source>No password given</source>
+      <translation>Kein Kennwort angegeben</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="99" />
+      <source>WebREPL Login</source>
+      <translation>WebREPL Anmeldung</translation>
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="100" />
-      <source>WebREPL Login</source>
-      <translation>WebREPL Anmeldung</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="101" />
       <source>The login to the selected device 'webrepl' failed. The given password may be incorrect.</source>
       <translation>Die Anmeldung am ausgewählten Gerät 'webrepl' ist fehlgeschlagen. Das eingegebene Kennwort war möglicherweise falsch.</translation>
     </message>
@@ -51364,6 +51369,19 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplSocket</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="126" />
+      <source>Connection to device webrepl failed.</source>
+      <translation>Verbindung zur Geräte-WebRepl fehlgeschlagen.</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="170" />
+      <source>WebRepl login failed (access denied).</source>
+      <translation>WebRepl Anmeldung fehlgeschlagen (Zugriff verweigert).</translation>
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -51674,337 +51692,338 @@
       <translation>&lt;p&gt;Die Eingabeaufforderung kann nicht gestartet werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="716" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="705" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="719" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
       <source>Serial Device Connect</source>
       <translation>Serielle Verbindung</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="707" />
       <source>&lt;p&gt;The device at serial port &lt;b&gt;{0}&lt;/b&gt; does not respond. It may not have a MicroPython firmware flashed.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Das Gerät am seriellen Port &lt;b&gt;{0}&lt;/b&gt; antwortet nicht. Es hat wahrscheinlich keine MicroPython Firmware geflasht.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="714" />
+      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Reason:&lt;/b&gt; {1}&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Kann keine Verbindung zum Gerät an der seriellen Schnittstelle &lt;b&gt;{0}&lt;/b&gt; herstellen.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Ursache:&lt;/b&gt; {1}&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1172" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1164" />
       <location filename="../MicroPython/MicroPythonWidget.py" line="717" />
-      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Kann keine Verbindung zum Gerät an der seriellen Schnittstelle &lt;b&gt;{0}&lt;/b&gt; herstellen.&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="780" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="771" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="762" />
+      <source>unknown</source>
+      <translation>unbekannt</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="778" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="769" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="760" />
       <source>Run Script</source>
       <translation>Skript ausführen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="763" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="761" />
       <source>There is no editor open. Abort...</source>
       <translation>Es ist kein Editor offen. Abbruch...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="772" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="770" />
       <source>The current editor does not contain a script. Abort...</source>
       <translation>Der aktuelle Editortext enthält kein Skript. Abbruch...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="781" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="779" />
       <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Das Skript kann nicht ausgeführt werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="817" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="815" />
       <source>Start Chart</source>
       <translation>Chart starten</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="818" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="816" />
       <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Das Chart kann nicht gestartet werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="833" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="831" />
       <source>µPy Chart</source>
       <translation>µPy Chart</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="850" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="848" />
       <source>Unsaved Chart Data</source>
       <translation>Nicht gesicherte Chart Daten</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="851" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="849" />
       <source>The chart contains unsaved data.</source>
       <translation>Das Chart enthält ungesicherte Daten.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="899" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="897" />
       <source>Start File Manager</source>
       <translation>Dateimanager starten</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="900" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="898" />
       <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Der Dateimanager kann nicht gestartet werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="920" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="918" />
       <source>µPy Files</source>
       <translation>µPy Dateien</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="996" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="994" />
       <source>Downloads</source>
       <translation>Downloads</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1043" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1041" />
       <source>Show Version</source>
       <translation>Version anzeigen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1046" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1044" />
       <source>Show Implementation</source>
       <translation>Implementierung anzeigen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1049" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1047" />
       <source>Show Board Data</source>
       <translation>Board Daten anzeigen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1249" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1054" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1247" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1052" />
       <source>Synchronize Time</source>
       <translation>Zeit synchronisieren</translation>
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1055" />
+      <source>Show Device Time</source>
+      <translation>Gerätezeit anzeigen</translation>
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1057" />
-      <source>Show Device Time</source>
-      <translation>Gerätezeit anzeigen</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1059" />
       <source>Show Local Time</source>
       <translation>Lokale Zeit anzeigen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1062" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1060" />
       <source>Show Time</source>
       <translation>Zeit anzeigen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1066" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1064" />
       <source>Show Builtin Modules</source>
       <translation>Eingebaute Module anzeigen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1658" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1078" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1070" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1656" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1076" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1068" />
       <source>Install Package</source>
       <translation>Paket installieren</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1697" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1694" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1074" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1695" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1692" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1072" />
       <source>Install Packages</source>
       <translation>Pakete installieren</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1473" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1084" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1471" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1082" />
       <source>Compile Python File</source>
       <translation>Python Datei übersetzen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1497" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1488" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1088" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1495" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1486" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1086" />
       <source>Compile Current Editor</source>
       <translation>Aktuellen Editor übersetzen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1109" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1107" />
       <source>Download Firmware</source>
       <translation>Firmware herunterladen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1116" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1114" />
       <source>Show Documentation</source>
       <translation>Dokumentation anzeigen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1119" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1117" />
       <source>Convert To UF2</source>
       <translation>Zu UF2 konvertieren</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1120" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1118" />
       <source>Flash UF2 Device</source>
       <translation>UF2 Gerät flashen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1123" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1121" />
       <source>Manage Unknown Devices</source>
       <translation>Unbekannte Geräte verwalten</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1126" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1124" />
       <source>Ignored Serial Devices</source>
       <translation>Ignorierte Serielle Geräte</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1129" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1127" />
       <source>Configure</source>
       <translation>Einstellungen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1138" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1136" />
       <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
       <translation>&lt;h3&gt;Versionsinformationen des Gerätes&lt;/h3&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1149" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1145" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1147" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1143" />
       <source>Device Version Information</source>
       <translation>Versionsinformationen des Gerätes</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1150" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1148" />
       <source>No version information available.</source>
       <translation>Keine Versionsinformationen verfügbar.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1174" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1166" />
-      <source>unknown</source>
-      <translation>unbekannt</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1180" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1178" />
       <source> ({0})</source>
       <translation> ({0})</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1196" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1187" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1194" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1185" />
       <source>Device Implementation Information</source>
       <translation>Informationen zur Implementierung</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1188" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1186" />
       <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}{2}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;h3&gt;Informationen zur Implementierung&lt;/h3&gt;&lt;p&gt;Dieses Gerät enthält &lt;b&gt;{0} {1}{2}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1197" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1195" />
       <source>No device implementation information available.</source>
       <translation>Keine Informationen zur Implementierung verfügbar.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1250" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1248" />
       <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Zeit des angeschlossenen Gerätes wurde mit der lokalen Zeit synchronisiert.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1272" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1270" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;h3&gt;Datum und Zeit des Gerätes&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Datum&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Zeit&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1280" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1278" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation>&lt;h3&gt;Datum und Zeit des Gerätes&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1296" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1294" />
       <source>Device Date and Time</source>
       <translation>Datum und Zeit des Gerätes</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1308" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1306" />
       <source>Local Date and Time</source>
       <translation>Lokales Datum und Zeit</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1309" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1307" />
       <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;h3&gt;Lokales Datum und Zeit&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Datum&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Zeit&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1350" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1333" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1348" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1331" />
       <source>Date and Time</source>
       <translation>Datum und Zeit</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1334" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1332" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Lokales Datum und Zeit&lt;/th&gt;&lt;th&gt;Datum und Zeit des Gerätes&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Datum&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Zeit&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1351" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1349" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Lokales Datum und Zeit&lt;/th&gt;&lt;th&gt;Datum und Zeit des Gerätes&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1375" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1373" />
       <source>Error handling device</source>
       <translation>Fehler bei Gerätekommunikation</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1376" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1374" />
       <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Es trat ein Fehler bei der Kommunikation mit dem Gerät auf.&lt;/p&gt;&lt;p&gt;Methode: {0}&lt;/p&gt;&lt;p&gt;Nachricht: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1418" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1416" />
       <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
       <translation>Der MicroPython Crosscompiler &lt;b&gt;mpy-cross&lt;/b&gt; kann nicht gefunden werden. Stelle sicher, dass er im Suchpfad liegt oder konfiguriere ihn auf der MicroPython Konfigurationsseite.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1444" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1442" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation>Python-Dateien (*.py);;Alle Dateien (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1454" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1452" />
       <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
       <translation>Die Python Datei &lt;b&gt;{0}&lt;/b&gt; existiert nicht. Abbruch...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1463" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1461" />
       <source>'mpy-cross' Output</source>
       <translation>'mpy-cross' Ausgabe</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1489" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1487" />
       <source>The current editor does not contain a Python file. Aborting...</source>
       <translation>Der aktuelle Editortext enthält keine Pythondatei. Abbruch...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1581" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1579" />
       <source>Add Unknown Devices</source>
       <translation>Unbekannte Geräte hinzufügen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1582" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1580" />
       <source>Select the devices to be added:</source>
       <translation>Wähle die hinzuzufügenden unbekannten Geräte:</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1631" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1629" />
       <source>Plus any modules on the filesystem.</source>
       <translation>Zusätzlich alle Module im Dateisystem.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1683" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1681" />
       <source>Package '{0}' was installed successfully.</source>
       <translation>Paket '{0}' wurde erfolgreich installiert.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1698" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1696" />
       <source>Enter the packages to be installed separated by whitespace:</source>
       <translation>Gib die zu installierenden Pakete durch Leerzeichen getrennt ein:</translation>
     </message>
@@ -75738,43 +75757,43 @@
       <translation>Chroniken löschen</translation>
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="393" />
+      <location filename="../Debugger/StartDialog.py" line="406" />
       <location filename="../Debugger/StartDialog.py" line="176" />
       <source>Edit History</source>
       <translation>Historie bearbeiten</translation>
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="216" />
+      <location filename="../Debugger/StartDialog.py" line="226" />
       <source>Enter the list of programs or program patterns not to be debugged separated by '{0}'.</source>
       <translation>Gib eine List von nicht zu debuggenden Programmen oder Programmmuster durch '{0}' getrennt ein.</translation>
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="376" />
-      <source>Script Name</source>
-      <translation>Skriptname</translation>
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="377" />
-      <source>Script Parameters</source>
-      <translation>Skriptparameter</translation>
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="378" />
-      <source>Working Directory</source>
-      <translation>Arbeitsverzeichnis</translation>
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="379" />
-      <source>Environment</source>
-      <translation>Umgebung</translation>
-    </message>
-    <message>
       <location filename="../Debugger/StartDialog.py" line="389" />
+      <source>Script Name</source>
+      <translation>Skriptname</translation>
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="390" />
+      <source>Script Parameters</source>
+      <translation>Skriptparameter</translation>
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="391" />
+      <source>Working Directory</source>
+      <translation>Arbeitsverzeichnis</translation>
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="392" />
+      <source>Environment</source>
+      <translation>Umgebung</translation>
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="402" />
       <source>No Debug Programs</source>
       <translation>Nicht zu debuggende Programme</translation>
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="394" />
+      <location filename="../Debugger/StartDialog.py" line="407" />
       <source>Select the history list to be edited:</source>
       <translation>Wähle die zu bearbeitende Chronik aus:</translation>
     </message>
@@ -84655,164 +84674,164 @@
   <context>
     <name>TestingWidget</name>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="101" />
+      <location filename="../Testing/TestingWidget.py" line="104" />
       <source>Show Output...</source>
       <translation>Ausgabe anzeigen...</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="104" />
-      <source>Show the output of the test runner process</source>
-      <translation>Zeig die Ausgabe des Testläufer Prozesses</translation>
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="107" />
+      <source>Show the output of the test runner process</source>
+      <translation>Zeig die Ausgabe des Testläufer Prozesses</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="110" />
       <source>&lt;b&gt;Show Output...&lt;/b&lt;p&gt;This button opens a dialog containing the output of the test runner process of the most recent run.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Ausgabe anzeigen...&lt;/b&gt;&lt;p&gt;Dieser Knopf öffnet einen Dialog mit der Ausgabe des Testläufers für den letzten Testlauf.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="115" />
-      <source>Show Coverage...</source>
-      <translation>Abdeckung zeigen...</translation>
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="118" />
-      <source>Show code coverage in a new dialog</source>
-      <translation>Zeige die Testabdeckung in einem neuen Dialog</translation>
+      <source>Show Coverage...</source>
+      <translation>Abdeckung zeigen...</translation>
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="121" />
+      <source>Show code coverage in a new dialog</source>
+      <translation>Zeige die Testabdeckung in einem neuen Dialog</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="124" />
       <source>&lt;b&gt;Show Coverage...&lt;/b&gt;&lt;p&gt;This button opens a dialog containing the collected code coverage data.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Abdeckung zeigen...&lt;/b&lt;p&gt;Dieser Knopf öffnet einen Dialog mit mit den gesammlten Abdeckungsdaten.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="129" />
-      <source>Start</source>
-      <translation>Start</translation>
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="132" />
+      <source>Start</source>
+      <translation>Start</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="135" />
       <source>Start the selected testsuite</source>
       <translation>Startet den ausgewählten Modultest</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="134" />
+      <location filename="../Testing/TestingWidget.py" line="137" />
       <source>&lt;b&gt;Start Test&lt;/b&gt;&lt;p&gt;This button starts the test run.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Starte Modultest&lt;/b&gt;&lt;p&gt;Dieser Knopf startet den ausgewählten Modultest.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="138" />
-      <source>Rerun Failed</source>
-      <translation>Fehlerhafte wiederholen</translation>
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="141" />
-      <source>Reruns failed tests of the selected testsuite</source>
-      <translation>Fehlerhafte Tests des ausgewählten Modultests wiederholen</translation>
+      <source>Rerun Failed</source>
+      <translation>Fehlerhafte wiederholen</translation>
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="144" />
+      <source>Reruns failed tests of the selected testsuite</source>
+      <translation>Fehlerhafte Tests des ausgewählten Modultests wiederholen</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="147" />
       <source>&lt;b&gt;Rerun Failed&lt;/b&gt;&lt;p&gt;This button reruns all failed tests of the most recent test run.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Fehlerhafte wiederholen&lt;/b&gt;&lt;p&gt;Dieser Knopf wiederholt alle fehlerhaften Tests des aktuellsten Testlaufes.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="152" />
+      <location filename="../Testing/TestingWidget.py" line="155" />
       <source>Stop</source>
       <translation>Anhalten</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="154" />
+      <location filename="../Testing/TestingWidget.py" line="157" />
       <source>Stop the running test</source>
       <translation>Halte den laufenden Modultest an</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="156" />
+      <location filename="../Testing/TestingWidget.py" line="159" />
       <source>&lt;b&gt;Stop Test&lt;/b&gt;&lt;p&gt;This button stops a running test.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Modultest anhalten&lt;/b&gt;&lt;p&gt;Dieser Knopf hält den laufenden Test an.&lt;/p&gt;</translation>
     </message>
     <message>
       <location filename="../Testing/TestingWidget.ui" line="0" />
-      <location filename="../Testing/TestingWidget.py" line="163" />
+      <location filename="../Testing/TestingWidget.py" line="166" />
       <source>Testing</source>
       <translation>Modultest</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="171" />
+      <location filename="../Testing/TestingWidget.py" line="174" />
       <source>&lt;project&gt;</source>
       <translation>&lt;Projekt&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="286" />
+      <location filename="../Testing/TestingWidget.py" line="289" />
       <source>{0} (not available)</source>
       <translation>{0} (nicht installiert)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="581" />
+      <location filename="../Testing/TestingWidget.py" line="584" />
       <source>Running</source>
       <translation>Aktiv</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="639" />
+      <location filename="../Testing/TestingWidget.py" line="642" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation>Python3 Dateien ({0});;Alle Dateien (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="644" />
+      <location filename="../Testing/TestingWidget.py" line="647" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation>Python-Dateien (*.py);;Alle Dateien (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="802" />
+      <location filename="../Testing/TestingWidget.py" line="805" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation>&lt;h3&gt;Versionen der Testrahmen und ihrer Erweiterungen&lt;/h3&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="816" />
+      <location filename="../Testing/TestingWidget.py" line="819" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="825" />
-      <source>No version information available.</source>
-      <translation>Keine Versionsinformationen verfügbar.</translation>
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="828" />
+      <source>No version information available.</source>
+      <translation>Keine Versionsinformationen verfügbar.</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="831" />
       <source>Versions</source>
       <translation>Versionen</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="865" />
+      <location filename="../Testing/TestingWidget.py" line="868" />
       <source>Preparing Testsuite</source>
       <translation>Bereite Testlauf vor</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="928" />
+      <location filename="../Testing/TestingWidget.py" line="931" />
       <source>pending</source>
       <translation>ausstehend</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Failure</source>
       <translation>Fehlschlag</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="967" />
-      <location filename="../Testing/TestingWidget.py" line="960" />
+      <location filename="../Testing/TestingWidget.py" line="970" />
+      <location filename="../Testing/TestingWidget.py" line="963" />
       <source>Collection Error</source>
       <translation>Ermittlungsfehler</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="968" />
+      <location filename="../Testing/TestingWidget.py" line="971" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Es gab einen Fehler während der Testermittlung.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="990" />
+      <location filename="../Testing/TestingWidget.py" line="993" />
       <source>running</source>
       <translation>läuft</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1041" />
+      <location filename="../Testing/TestingWidget.py" line="1044" />
       <source>Ran %n test(s) in {0}s</source>
       <translation>
         <numerusform>%n Test in {0}s ausgeführt</numerusform>
@@ -84820,7 +84839,7 @@
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1053" />
+      <location filename="../Testing/TestingWidget.py" line="1056" />
       <source>Ran %n test(s)</source>
       <translation>
         <numerusform>%n Test ausgeführt</numerusform>
@@ -84828,12 +84847,12 @@
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1074" />
+      <location filename="../Testing/TestingWidget.py" line="1077" />
       <source>not run</source>
       <translation>nicht ausgeführt</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1117" />
+      <location filename="../Testing/TestingWidget.py" line="1120" />
       <source>Test Run Output</source>
       <translation>Ausgabe Testlauf</translation>
     </message>
--- a/src/eric7/i18n/eric7_empty.ts	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/i18n/eric7_empty.ts	Fri Oct 06 15:52:33 2023 +0200
@@ -12093,7 +12093,7 @@
   <context>
     <name>EditBreakpointDialog</name>
     <message>
-      <location filename="../Debugger/EditBreakpointDialog.py" line="97" />
+      <location filename="../Debugger/EditBreakpointDialog.py" line="96" />
       <source>Add Breakpoint</source>
       <translation type="unfinished" />
     </message>
@@ -25640,12 +25640,12 @@
   <context>
     <name>GitNewProjectOptionsDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="86" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="89" />
       <source>Select Repository-Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="103" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="106" />
       <source>Select Project Directory</source>
       <translation type="unfinished" />
     </message>
@@ -29259,12 +29259,12 @@
   <context>
     <name>GitSubmoduleAddDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="104" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="107" />
       <source>Select Submodule Repository Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="132" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="135" />
       <source>Select Submodule Directory</source>
       <translation type="unfinished" />
     </message>
@@ -51077,22 +51077,27 @@
   <context>
     <name>MicroPythonWebreplDeviceInterface</name>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="79" />
       <source>WebREPL Password</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="81" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
       <source>Enter the WebREPL password:</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="84" />
+      <source>No password given</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="99" />
+      <source>WebREPL Login</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="100" />
-      <source>WebREPL Login</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="101" />
       <source>The login to the selected device 'webrepl' failed. The given password may be incorrect.</source>
       <translation type="unfinished" />
     </message>
@@ -51126,6 +51131,19 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplSocket</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="126" />
+      <source>Connection to device webrepl failed.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="170" />
+      <source>WebRepl login failed (access denied).</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -51425,337 +51443,338 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="716" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="705" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="719" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
       <source>Serial Device Connect</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="707" />
       <source>&lt;p&gt;The device at serial port &lt;b&gt;{0}&lt;/b&gt; does not respond. It may not have a MicroPython firmware flashed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="714" />
+      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Reason:&lt;/b&gt; {1}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1172" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1164" />
       <location filename="../MicroPython/MicroPythonWidget.py" line="717" />
-      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="780" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="771" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="762" />
+      <source>unknown</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="778" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="769" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="760" />
       <source>Run Script</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="763" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="761" />
       <source>There is no editor open. Abort...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="772" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="770" />
       <source>The current editor does not contain a script. Abort...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="781" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="779" />
       <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="817" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="815" />
       <source>Start Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="818" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="816" />
       <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="833" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="831" />
       <source>µPy Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="850" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="848" />
       <source>Unsaved Chart Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="851" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="849" />
       <source>The chart contains unsaved data.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="899" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="897" />
       <source>Start File Manager</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="900" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="898" />
       <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="920" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="918" />
       <source>µPy Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="996" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="994" />
       <source>Downloads</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1043" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1041" />
       <source>Show Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1046" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1044" />
       <source>Show Implementation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1049" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1047" />
       <source>Show Board Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1249" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1054" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1247" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1052" />
       <source>Synchronize Time</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1055" />
+      <source>Show Device Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1057" />
-      <source>Show Device Time</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1059" />
       <source>Show Local Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1062" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1060" />
       <source>Show Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1066" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1064" />
       <source>Show Builtin Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1658" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1078" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1070" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1656" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1076" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1068" />
       <source>Install Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1697" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1694" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1074" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1695" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1692" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1072" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1473" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1084" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1471" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1082" />
       <source>Compile Python File</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1497" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1488" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1088" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1495" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1486" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1086" />
       <source>Compile Current Editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1109" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1107" />
       <source>Download Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1116" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1114" />
       <source>Show Documentation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1119" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1117" />
       <source>Convert To UF2</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1120" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1118" />
       <source>Flash UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1123" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1121" />
       <source>Manage Unknown Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1126" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1124" />
       <source>Ignored Serial Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1129" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1127" />
       <source>Configure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1138" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1136" />
       <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1149" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1145" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1147" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1143" />
       <source>Device Version Information</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1150" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1148" />
       <source>No version information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1174" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1166" />
-      <source>unknown</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1180" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1178" />
       <source> ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1196" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1187" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1194" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1185" />
       <source>Device Implementation Information</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1188" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1186" />
       <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}{2}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1197" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1195" />
       <source>No device implementation information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1250" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1248" />
       <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1272" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1270" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1280" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1278" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1296" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1294" />
       <source>Device Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1308" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1306" />
       <source>Local Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1309" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1307" />
       <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1350" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1333" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1348" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1331" />
       <source>Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1334" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1332" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1351" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1349" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1375" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1373" />
       <source>Error handling device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1376" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1374" />
       <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1418" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1416" />
       <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1444" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1442" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1454" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1452" />
       <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1463" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1461" />
       <source>'mpy-cross' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1489" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1487" />
       <source>The current editor does not contain a Python file. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1581" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1579" />
       <source>Add Unknown Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1582" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1580" />
       <source>Select the devices to be added:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1631" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1629" />
       <source>Plus any modules on the filesystem.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1683" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1681" />
       <source>Package '{0}' was installed successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1698" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1696" />
       <source>Enter the packages to be installed separated by whitespace:</source>
       <translation type="unfinished" />
     </message>
@@ -75251,43 +75270,43 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="393" />
+      <location filename="../Debugger/StartDialog.py" line="406" />
       <location filename="../Debugger/StartDialog.py" line="176" />
       <source>Edit History</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="216" />
+      <location filename="../Debugger/StartDialog.py" line="226" />
       <source>Enter the list of programs or program patterns not to be debugged separated by '{0}'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="376" />
-      <source>Script Name</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="377" />
-      <source>Script Parameters</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="378" />
-      <source>Working Directory</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="379" />
-      <source>Environment</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Debugger/StartDialog.py" line="389" />
+      <source>Script Name</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="390" />
+      <source>Script Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="391" />
+      <source>Working Directory</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="392" />
+      <source>Environment</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="402" />
       <source>No Debug Programs</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="394" />
+      <location filename="../Debugger/StartDialog.py" line="407" />
       <source>Select the history list to be edited:</source>
       <translation type="unfinished" />
     </message>
@@ -84093,183 +84112,183 @@
   <context>
     <name>TestingWidget</name>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="101" />
+      <location filename="../Testing/TestingWidget.py" line="104" />
       <source>Show Output...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="104" />
-      <source>Show the output of the test runner process</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="107" />
+      <source>Show the output of the test runner process</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="110" />
       <source>&lt;b&gt;Show Output...&lt;/b&lt;p&gt;This button opens a dialog containing the output of the test runner process of the most recent run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="115" />
-      <source>Show Coverage...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="118" />
-      <source>Show code coverage in a new dialog</source>
+      <source>Show Coverage...</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="121" />
+      <source>Show code coverage in a new dialog</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="124" />
       <source>&lt;b&gt;Show Coverage...&lt;/b&gt;&lt;p&gt;This button opens a dialog containing the collected code coverage data.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="129" />
-      <source>Start</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="132" />
+      <source>Start</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="135" />
       <source>Start the selected testsuite</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="134" />
+      <location filename="../Testing/TestingWidget.py" line="137" />
       <source>&lt;b&gt;Start Test&lt;/b&gt;&lt;p&gt;This button starts the test run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="138" />
-      <source>Rerun Failed</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="141" />
-      <source>Reruns failed tests of the selected testsuite</source>
+      <source>Rerun Failed</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="144" />
+      <source>Reruns failed tests of the selected testsuite</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="147" />
       <source>&lt;b&gt;Rerun Failed&lt;/b&gt;&lt;p&gt;This button reruns all failed tests of the most recent test run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="152" />
+      <location filename="../Testing/TestingWidget.py" line="155" />
       <source>Stop</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="154" />
+      <location filename="../Testing/TestingWidget.py" line="157" />
       <source>Stop the running test</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="156" />
+      <location filename="../Testing/TestingWidget.py" line="159" />
       <source>&lt;b&gt;Stop Test&lt;/b&gt;&lt;p&gt;This button stops a running test.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.ui" line="0" />
-      <location filename="../Testing/TestingWidget.py" line="163" />
+      <location filename="../Testing/TestingWidget.py" line="166" />
       <source>Testing</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="171" />
+      <location filename="../Testing/TestingWidget.py" line="174" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="286" />
+      <location filename="../Testing/TestingWidget.py" line="289" />
       <source>{0} (not available)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="581" />
+      <location filename="../Testing/TestingWidget.py" line="584" />
       <source>Running</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="639" />
+      <location filename="../Testing/TestingWidget.py" line="642" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="644" />
+      <location filename="../Testing/TestingWidget.py" line="647" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="802" />
+      <location filename="../Testing/TestingWidget.py" line="805" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="816" />
+      <location filename="../Testing/TestingWidget.py" line="819" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="825" />
-      <source>No version information available.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="828" />
+      <source>No version information available.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="831" />
       <source>Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="865" />
+      <location filename="../Testing/TestingWidget.py" line="868" />
       <source>Preparing Testsuite</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="928" />
+      <location filename="../Testing/TestingWidget.py" line="931" />
       <source>pending</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Failure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="967" />
-      <location filename="../Testing/TestingWidget.py" line="960" />
+      <location filename="../Testing/TestingWidget.py" line="970" />
+      <location filename="../Testing/TestingWidget.py" line="963" />
       <source>Collection Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="968" />
+      <location filename="../Testing/TestingWidget.py" line="971" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="990" />
+      <location filename="../Testing/TestingWidget.py" line="993" />
       <source>running</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1041" />
+      <location filename="../Testing/TestingWidget.py" line="1044" />
       <source>Ran %n test(s) in {0}s</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1053" />
+      <location filename="../Testing/TestingWidget.py" line="1056" />
       <source>Ran %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1074" />
+      <location filename="../Testing/TestingWidget.py" line="1077" />
       <source>not run</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1117" />
+      <location filename="../Testing/TestingWidget.py" line="1120" />
       <source>Test Run Output</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_en.ts	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/i18n/eric7_en.ts	Fri Oct 06 15:52:33 2023 +0200
@@ -12109,7 +12109,7 @@
   <context>
     <name>EditBreakpointDialog</name>
     <message>
-      <location filename="../Debugger/EditBreakpointDialog.py" line="97" />
+      <location filename="../Debugger/EditBreakpointDialog.py" line="96" />
       <source>Add Breakpoint</source>
       <translation type="unfinished" />
     </message>
@@ -25659,12 +25659,12 @@
   <context>
     <name>GitNewProjectOptionsDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="86" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="89" />
       <source>Select Repository-Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="103" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="106" />
       <source>Select Project Directory</source>
       <translation type="unfinished" />
     </message>
@@ -29281,12 +29281,12 @@
   <context>
     <name>GitSubmoduleAddDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="104" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="107" />
       <source>Select Submodule Repository Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="132" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="135" />
       <source>Select Submodule Directory</source>
       <translation type="unfinished" />
     </message>
@@ -51119,22 +51119,27 @@
   <context>
     <name>MicroPythonWebreplDeviceInterface</name>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="79" />
       <source>WebREPL Password</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="81" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
       <source>Enter the WebREPL password:</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="84" />
+      <source>No password given</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="99" />
+      <source>WebREPL Login</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="100" />
-      <source>WebREPL Login</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="101" />
       <source>The login to the selected device 'webrepl' failed. The given password may be incorrect.</source>
       <translation type="unfinished" />
     </message>
@@ -51168,6 +51173,19 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplSocket</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="126" />
+      <source>Connection to device webrepl failed.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="170" />
+      <source>WebRepl login failed (access denied).</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -51474,337 +51492,338 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="716" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="705" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="719" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
       <source>Serial Device Connect</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="707" />
       <source>&lt;p&gt;The device at serial port &lt;b&gt;{0}&lt;/b&gt; does not respond. It may not have a MicroPython firmware flashed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="714" />
+      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Reason:&lt;/b&gt; {1}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1172" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1164" />
       <location filename="../MicroPython/MicroPythonWidget.py" line="717" />
-      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="780" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="771" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="762" />
+      <source>unknown</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="778" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="769" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="760" />
       <source>Run Script</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="763" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="761" />
       <source>There is no editor open. Abort...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="772" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="770" />
       <source>The current editor does not contain a script. Abort...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="781" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="779" />
       <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="817" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="815" />
       <source>Start Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="818" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="816" />
       <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="833" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="831" />
       <source>µPy Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="850" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="848" />
       <source>Unsaved Chart Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="851" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="849" />
       <source>The chart contains unsaved data.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="899" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="897" />
       <source>Start File Manager</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="900" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="898" />
       <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="920" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="918" />
       <source>µPy Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="996" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="994" />
       <source>Downloads</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1043" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1041" />
       <source>Show Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1046" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1044" />
       <source>Show Implementation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1049" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1047" />
       <source>Show Board Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1249" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1054" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1247" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1052" />
       <source>Synchronize Time</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1055" />
+      <source>Show Device Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1057" />
-      <source>Show Device Time</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1059" />
       <source>Show Local Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1062" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1060" />
       <source>Show Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1066" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1064" />
       <source>Show Builtin Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1658" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1078" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1070" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1656" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1076" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1068" />
       <source>Install Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1697" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1694" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1074" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1695" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1692" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1072" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1473" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1084" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1471" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1082" />
       <source>Compile Python File</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1497" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1488" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1088" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1495" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1486" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1086" />
       <source>Compile Current Editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1109" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1107" />
       <source>Download Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1116" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1114" />
       <source>Show Documentation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1119" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1117" />
       <source>Convert To UF2</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1120" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1118" />
       <source>Flash UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1123" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1121" />
       <source>Manage Unknown Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1126" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1124" />
       <source>Ignored Serial Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1129" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1127" />
       <source>Configure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1138" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1136" />
       <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1149" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1145" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1147" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1143" />
       <source>Device Version Information</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1150" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1148" />
       <source>No version information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1174" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1166" />
-      <source>unknown</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1180" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1178" />
       <source> ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1196" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1187" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1194" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1185" />
       <source>Device Implementation Information</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1188" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1186" />
       <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}{2}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1197" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1195" />
       <source>No device implementation information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1250" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1248" />
       <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1272" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1270" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1280" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1278" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1296" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1294" />
       <source>Device Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1308" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1306" />
       <source>Local Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1309" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1307" />
       <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1350" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1333" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1348" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1331" />
       <source>Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1334" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1332" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1351" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1349" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1375" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1373" />
       <source>Error handling device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1376" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1374" />
       <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1418" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1416" />
       <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1444" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1442" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1454" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1452" />
       <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1463" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1461" />
       <source>'mpy-cross' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1489" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1487" />
       <source>The current editor does not contain a Python file. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1581" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1579" />
       <source>Add Unknown Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1582" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1580" />
       <source>Select the devices to be added:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1631" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1629" />
       <source>Plus any modules on the filesystem.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1683" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1681" />
       <source>Package '{0}' was installed successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1698" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1696" />
       <source>Enter the packages to be installed separated by whitespace:</source>
       <translation type="unfinished" />
     </message>
@@ -75306,43 +75325,43 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="393" />
+      <location filename="../Debugger/StartDialog.py" line="406" />
       <location filename="../Debugger/StartDialog.py" line="176" />
       <source>Edit History</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="216" />
+      <location filename="../Debugger/StartDialog.py" line="226" />
       <source>Enter the list of programs or program patterns not to be debugged separated by '{0}'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="376" />
-      <source>Script Name</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="377" />
-      <source>Script Parameters</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="378" />
-      <source>Working Directory</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="379" />
-      <source>Environment</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Debugger/StartDialog.py" line="389" />
+      <source>Script Name</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="390" />
+      <source>Script Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="391" />
+      <source>Working Directory</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="392" />
+      <source>Environment</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="402" />
       <source>No Debug Programs</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="394" />
+      <location filename="../Debugger/StartDialog.py" line="407" />
       <source>Select the history list to be edited:</source>
       <translation type="unfinished" />
     </message>
@@ -84150,164 +84169,164 @@
   <context>
     <name>TestingWidget</name>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="101" />
+      <location filename="../Testing/TestingWidget.py" line="104" />
       <source>Show Output...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="104" />
-      <source>Show the output of the test runner process</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="107" />
+      <source>Show the output of the test runner process</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="110" />
       <source>&lt;b&gt;Show Output...&lt;/b&lt;p&gt;This button opens a dialog containing the output of the test runner process of the most recent run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="115" />
-      <source>Show Coverage...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="118" />
-      <source>Show code coverage in a new dialog</source>
+      <source>Show Coverage...</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="121" />
+      <source>Show code coverage in a new dialog</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="124" />
       <source>&lt;b&gt;Show Coverage...&lt;/b&gt;&lt;p&gt;This button opens a dialog containing the collected code coverage data.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="129" />
-      <source>Start</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="132" />
+      <source>Start</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="135" />
       <source>Start the selected testsuite</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="134" />
+      <location filename="../Testing/TestingWidget.py" line="137" />
       <source>&lt;b&gt;Start Test&lt;/b&gt;&lt;p&gt;This button starts the test run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="138" />
-      <source>Rerun Failed</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="141" />
-      <source>Reruns failed tests of the selected testsuite</source>
+      <source>Rerun Failed</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="144" />
+      <source>Reruns failed tests of the selected testsuite</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="147" />
       <source>&lt;b&gt;Rerun Failed&lt;/b&gt;&lt;p&gt;This button reruns all failed tests of the most recent test run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="152" />
+      <location filename="../Testing/TestingWidget.py" line="155" />
       <source>Stop</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="154" />
+      <location filename="../Testing/TestingWidget.py" line="157" />
       <source>Stop the running test</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="156" />
+      <location filename="../Testing/TestingWidget.py" line="159" />
       <source>&lt;b&gt;Stop Test&lt;/b&gt;&lt;p&gt;This button stops a running test.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.ui" line="0" />
-      <location filename="../Testing/TestingWidget.py" line="163" />
+      <location filename="../Testing/TestingWidget.py" line="166" />
       <source>Testing</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="171" />
+      <location filename="../Testing/TestingWidget.py" line="174" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="286" />
+      <location filename="../Testing/TestingWidget.py" line="289" />
       <source>{0} (not available)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="581" />
+      <location filename="../Testing/TestingWidget.py" line="584" />
       <source>Running</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="639" />
+      <location filename="../Testing/TestingWidget.py" line="642" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="644" />
+      <location filename="../Testing/TestingWidget.py" line="647" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="802" />
+      <location filename="../Testing/TestingWidget.py" line="805" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="816" />
+      <location filename="../Testing/TestingWidget.py" line="819" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="825" />
-      <source>No version information available.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="828" />
+      <source>No version information available.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="831" />
       <source>Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="865" />
+      <location filename="../Testing/TestingWidget.py" line="868" />
       <source>Preparing Testsuite</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="928" />
+      <location filename="../Testing/TestingWidget.py" line="931" />
       <source>pending</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Failure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="967" />
-      <location filename="../Testing/TestingWidget.py" line="960" />
+      <location filename="../Testing/TestingWidget.py" line="970" />
+      <location filename="../Testing/TestingWidget.py" line="963" />
       <source>Collection Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="968" />
+      <location filename="../Testing/TestingWidget.py" line="971" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="990" />
+      <location filename="../Testing/TestingWidget.py" line="993" />
       <source>running</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1041" />
+      <location filename="../Testing/TestingWidget.py" line="1044" />
       <source>Ran %n test(s) in {0}s</source>
       <translation>
         <numerusform>Ran %n test in {0}s</numerusform>
@@ -84315,7 +84334,7 @@
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1053" />
+      <location filename="../Testing/TestingWidget.py" line="1056" />
       <source>Ran %n test(s)</source>
       <translation>
         <numerusform>Ran %n test</numerusform>
@@ -84323,12 +84342,12 @@
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1074" />
+      <location filename="../Testing/TestingWidget.py" line="1077" />
       <source>not run</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1117" />
+      <location filename="../Testing/TestingWidget.py" line="1120" />
       <source>Test Run Output</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_es.ts	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/i18n/eric7_es.ts	Fri Oct 06 15:52:33 2023 +0200
@@ -51319,22 +51319,27 @@
   <context>
     <name>MicroPythonWebreplDeviceInterface</name>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="79" />
       <source>WebREPL Password</source>
       <translation>Contraseña WebREPL</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="81" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
       <source>Enter the WebREPL password:</source>
       <translation>Introducir la contraseña WebREPL:</translation>
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="84" />
+      <source>No password given</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="99" />
+      <source>WebREPL Login</source>
+      <translation>WebREPL Login</translation>
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="100" />
-      <source>WebREPL Login</source>
-      <translation>WebREPL Login</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="101" />
       <source>The login to the selected device 'webrepl' failed. The given password may be incorrect.</source>
       <translation>El login para el dispositivo seleccionado 'webrepl' ha fallado. La contraseña proporcionada podría ser incorrecta.</translation>
     </message>
@@ -51368,6 +51373,19 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplSocket</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="126" />
+      <source>Connection to device webrepl failed.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="170" />
+      <source>WebRepl login failed (access denied).</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -51678,340 +51696,345 @@
       <translation>&lt;p&gt;El REPL no se puede iniciar.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="716" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="705" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="719" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
       <source>Serial Device Connect</source>
       <translation>Conexión de Dispositivo en Serie</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="707" />
       <source>&lt;p&gt;The device at serial port &lt;b&gt;{0}&lt;/b&gt; does not respond. It may not have a MicroPython firmware flashed.&lt;/p&gt;</source>
       <translation>&lt;p&gt;El dispositivo en el puerto de serie &lt;b&gt;{0}&lt;/b&gt; no responde. Puede que no tenga un firmware MicroPython flasheado.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="714" />
+      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Reason:&lt;/b&gt; {1}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1172" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1164" />
       <location filename="../MicroPython/MicroPythonWidget.py" line="717" />
-      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;No se puede conectar el dispositovo en el puerto de serie &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="780" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="771" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="762" />
+      <source>unknown</source>
+      <translation>desconocido</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="778" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="769" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="760" />
       <source>Run Script</source>
       <translation>Ejecutar Script</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="763" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="761" />
       <source>There is no editor open. Abort...</source>
       <translation>No hay editor abierto. Abortando...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="772" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="770" />
       <source>The current editor does not contain a script. Abort...</source>
       <translation>El editor actual no contiene un script. Abortando...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="781" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="779" />
       <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;No se puede ejecutar el script.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="817" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="815" />
       <source>Start Chart</source>
       <translation>Iniciar Gráfica</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="818" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="816" />
       <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;No se puede iniciar la gráfica.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="833" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="831" />
       <source>µPy Chart</source>
       <translation>Gráfico µPy</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="850" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="848" />
       <source>Unsaved Chart Data</source>
       <translation>Datos de Gráfica sin Guardar</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="851" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="849" />
       <source>The chart contains unsaved data.</source>
       <translation>La gráfica contiene datos sin guardar.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="899" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="897" />
       <source>Start File Manager</source>
       <translation>Comenzar Gestor de Archivos</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="900" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="898" />
       <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;El Gestor de Archivos no se puede iniciar.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="920" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="918" />
       <source>µPy Files</source>
       <translation>Archivos µPy</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="996" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="994" />
       <source>Downloads</source>
       <translation>Descargas</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1043" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1041" />
       <source>Show Version</source>
       <translation>Mostrar Versión</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1046" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1044" />
       <source>Show Implementation</source>
       <translation>Mostrar Implementación</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1049" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1047" />
       <source>Show Board Data</source>
       <translation>Mostrar Datos de Microprocesador</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1249" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1054" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1247" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1052" />
       <source>Synchronize Time</source>
       <translation>Sincronizar Hora</translation>
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1055" />
+      <source>Show Device Time</source>
+      <translation>Mostrar Hora del Dispositivo</translation>
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1057" />
-      <source>Show Device Time</source>
-      <translation>Mostrar Hora del Dispositivo</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1059" />
       <source>Show Local Time</source>
       <translation>Mostrar Hora Local</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1062" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1060" />
       <source>Show Time</source>
       <translation>Mostrar Tiempo</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1066" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1064" />
       <source>Show Builtin Modules</source>
       <translation>Mostrar Módulos Incorporados</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1658" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1078" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1070" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1656" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1076" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1068" />
       <source>Install Package</source>
       <translation>Instalar Package</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1697" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1694" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1074" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1695" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1692" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1072" />
       <source>Install Packages</source>
       <translation>Instalar Packages</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1473" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1084" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1471" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1082" />
       <source>Compile Python File</source>
       <translation>Compilar Archivo de Python</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1497" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1488" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1088" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1495" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1486" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1086" />
       <source>Compile Current Editor</source>
       <translation>Compilar Editor Actual</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1109" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1107" />
       <source>Download Firmware</source>
       <translation>Descargar Firmware</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1116" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1114" />
       <source>Show Documentation</source>
       <translation>Mostrar Documentación</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1119" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1117" />
       <source>Convert To UF2</source>
       <translation>Convertir a UF2</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1120" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1118" />
       <source>Flash UF2 Device</source>
       <translation>Flashear Dispositivo UF2</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1123" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1121" />
       <source>Manage Unknown Devices</source>
       <translation>Gestión Dispositivos Desconocidos</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1126" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1124" />
       <source>Ignored Serial Devices</source>
       <translation>Dispositivos de Serie Ignorados</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1129" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1127" />
       <source>Configure</source>
       <translation>Configurar</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1138" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1136" />
       <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
       <translation>&lt;h3&gt;Información de Versión de Dispositivo&lt;/h3&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1149" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1145" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1147" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1143" />
       <source>Device Version Information</source>
       <translation>Información de Versión de Dispositivo</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1150" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1148" />
       <source>No version information available.</source>
       <translation>No hay información de versión disponible.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1174" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1166" />
-      <source>unknown</source>
-      <translation>desconocido</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1180" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1178" />
       <source> ({0})</source>
       <translation> ({0})</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1196" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1187" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1194" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1185" />
       <source>Device Implementation Information</source>
       <translation>Información de Implementación de Dispositivo</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1188" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1186" />
       <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}{2}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;h3&gt;Información de Implementación de Dispositivo&lt;/h3&gt;&lt;p&gt;Este dispositivo contiene &lt;b&gt;{0} {1}{2}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1197" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1195" />
       <source>No device implementation information available.</source>
       <translation>Sin información disponible de implementación de dispositivo.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1250" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1248" />
       <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
       <translation>&lt;p&gt;La hora del dispositivo conectado está sincronizada con la hora local.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1272" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1270" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;h3&gt;Fecha y Hora del Dispositivo&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Fecha&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Hora&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1280" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1278" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation>&lt;h3&gt;Fecha y Hora del Dispositivo&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1296" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1294" />
       <source>Device Date and Time</source>
       <translation>Fecha y Hora del Dispositivo</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1308" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1306" />
       <source>Local Date and Time</source>
       <translation>Fecha y Hora Local</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1309" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1307" />
       <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;h3&gt;Fecha y Hora del Local&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Fecha&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Hora&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1350" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1333" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1348" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1331" />
       <source>Date and Time</source>
       <translation>Fecha y Hora</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1334" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1332" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Fecha y Hora Local&lt;/th&gt;&lt;th&gt;Fecha y Hora del Dispositivo&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Fecha&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Hora&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1351" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1349" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Fecha y Hora Local&lt;/th&gt;&lt;th&gt;Fecha y Hora del Dispositivo&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1375" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1373" />
       <source>Error handling device</source>
       <translation>Error de gestión del dispositivo</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1376" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1374" />
       <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Ha ocurrido un error al comunicar con el dispositivo conectado.&lt;/p&gt;&lt;p&gt;Método: {0}&lt;/p&gt;&lt;p&gt;Mensaje: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1418" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1416" />
       <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
       <translation>El compilador multiplataforma de MicroPython &lt;b&gt;mpy-cross&lt;/b&gt; no se encuentra. Asegúrese de que está en la ruta de búsqueda o configurarlo en la página de configuración de MicroPython.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1444" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1442" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation>Archivos Python (*.py);;Todos los Archivos (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1454" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1452" />
       <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
       <translation>El archivo de Python &lt;b&gt;{0}&lt;/b&gt; no existe. Abortando...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1463" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1461" />
       <source>'mpy-cross' Output</source>
       <translation>Salida de 'mpy-cross'</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1489" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1487" />
       <source>The current editor does not contain a Python file. Aborting...</source>
       <translation>El editor actual no contiene un archivo de Python. Abortando...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1581" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1579" />
       <source>Add Unknown Devices</source>
       <translation>Añadir Dispositivos Desconocidos</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1582" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1580" />
       <source>Select the devices to be added:</source>
       <translation>Seleccionar los dispositivos a añadir:</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1631" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1629" />
       <source>Plus any modules on the filesystem.</source>
       <translation>Más cualesquiera módulos en el sistema de archivos.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1683" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1681" />
       <source>Package '{0}' was installed successfully.</source>
       <translation>El Package '{0}' se ha instalado correctamente.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1698" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1696" />
       <source>Enter the packages to be installed separated by whitespace:</source>
       <translation>Introducir los packages a instalar separados por espacios:</translation>
     </message>
+    <message>
+      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="vanished">&lt;p&gt;No se puede conectar el dispositovo en el puerto de serie &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
+    </message>
   </context>
   <context>
     <name>MicrobitDevice</name>
--- a/src/eric7/i18n/eric7_fr.ts	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/i18n/eric7_fr.ts	Fri Oct 06 15:52:33 2023 +0200
@@ -12330,7 +12330,7 @@
   <context>
     <name>EditBreakpointDialog</name>
     <message>
-      <location filename="../Debugger/EditBreakpointDialog.py" line="97" />
+      <location filename="../Debugger/EditBreakpointDialog.py" line="96" />
       <source>Add Breakpoint</source>
       <translation>Ajouter un point d'arrêt</translation>
     </message>
@@ -26018,12 +26018,12 @@
   <context>
     <name>GitNewProjectOptionsDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="86" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="89" />
       <source>Select Repository-Directory</source>
       <translation>Sélection du répertoire dépot</translation>
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="103" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="106" />
       <source>Select Project Directory</source>
       <translation>Selection d'un répertoire projet</translation>
     </message>
@@ -29642,12 +29642,12 @@
   <context>
     <name>GitSubmoduleAddDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="104" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="107" />
       <source>Select Submodule Repository Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="132" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="135" />
       <source>Select Submodule Directory</source>
       <translation type="unfinished" />
     </message>
@@ -51637,22 +51637,27 @@
   <context>
     <name>MicroPythonWebreplDeviceInterface</name>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="79" />
       <source>WebREPL Password</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="81" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
       <source>Enter the WebREPL password:</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="84" />
+      <source>No password given</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="99" />
+      <source>WebREPL Login</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="100" />
-      <source>WebREPL Login</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="101" />
       <source>The login to the selected device 'webrepl' failed. The given password may be incorrect.</source>
       <translation type="unfinished" />
     </message>
@@ -51686,6 +51691,19 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplSocket</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="126" />
+      <source>Connection to device webrepl failed.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="170" />
+      <source>WebRepl login failed (access denied).</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -51986,340 +52004,345 @@
       <translation>&lt;p&gt;REPL ne peut être démarré.&lt;/p&gt;&lt;p&gt;Raison : {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="716" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="705" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="719" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
       <source>Serial Device Connect</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="707" />
       <source>&lt;p&gt;The device at serial port &lt;b&gt;{0}&lt;/b&gt; does not respond. It may not have a MicroPython firmware flashed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="714" />
+      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Reason:&lt;/b&gt; {1}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1172" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1164" />
       <location filename="../MicroPython/MicroPythonWidget.py" line="717" />
-      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Ne peut connecter un matériel sur le port série&lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="780" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="771" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="762" />
+      <source>unknown</source>
+      <translation>inconnu</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="778" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="769" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="760" />
       <source>Run Script</source>
       <translation>Lancer le script</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="763" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="761" />
       <source>There is no editor open. Abort...</source>
       <translation>Il n'y a pas d'éditeur ouvert. Annulation...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="772" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="770" />
       <source>The current editor does not contain a script. Abort...</source>
       <translation>L'éditeur courant ne contient pas de script. Annulation...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="781" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="779" />
       <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Ne peut lancer le script.&lt;/p&gt;&lt;p&gt;Raison : {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="817" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="815" />
       <source>Start Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="818" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="816" />
       <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="833" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="831" />
       <source>µPy Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="850" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="848" />
       <source>Unsaved Chart Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="851" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="849" />
       <source>The chart contains unsaved data.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="899" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="897" />
       <source>Start File Manager</source>
       <translation>Démarrer le gestionnaire de fichier</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="900" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="898" />
       <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Le gestionnaire de fichier ne peut démarrer.&lt;/p&gt;&lt;p&gt;Raison : {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="920" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="918" />
       <source>µPy Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="996" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="994" />
       <source>Downloads</source>
       <translation type="unfinished">Téléchargements</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1043" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1041" />
       <source>Show Version</source>
       <translation>Montrer la version</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1046" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1044" />
       <source>Show Implementation</source>
       <translation>Montrer l'implémentation</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1049" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1047" />
       <source>Show Board Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1249" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1054" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1247" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1052" />
       <source>Synchronize Time</source>
       <translation>Synchroniser le temps</translation>
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1055" />
+      <source>Show Device Time</source>
+      <translation>Montrer l'horloge matériel</translation>
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1057" />
-      <source>Show Device Time</source>
-      <translation>Montrer l'horloge matériel</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1059" />
       <source>Show Local Time</source>
       <translation>Montrer l'horloge locale</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1062" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1060" />
       <source>Show Time</source>
       <translation>Montrer l'horloge</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1066" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1064" />
       <source>Show Builtin Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1658" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1078" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1070" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1656" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1076" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1068" />
       <source>Install Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1697" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1694" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1074" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1695" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1692" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1072" />
       <source>Install Packages</source>
       <translation type="unfinished">Installer des packages</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1473" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1084" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1471" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1082" />
       <source>Compile Python File</source>
       <translation>Compilier le fichier Python</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1497" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1488" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1088" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1495" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1486" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1086" />
       <source>Compile Current Editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1109" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1107" />
       <source>Download Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1116" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1114" />
       <source>Show Documentation</source>
       <translation>Montrer la documentation</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1119" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1117" />
       <source>Convert To UF2</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1120" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1118" />
       <source>Flash UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1123" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1121" />
       <source>Manage Unknown Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1126" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1124" />
       <source>Ignored Serial Devices</source>
       <translation>Matériels séries ignorés</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1129" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1127" />
       <source>Configure</source>
       <translation>Configuration</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1138" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1136" />
       <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1149" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1145" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1147" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1143" />
       <source>Device Version Information</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1150" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1148" />
       <source>No version information available.</source>
       <translation>Pas d'information de version disponible.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1174" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1166" />
-      <source>unknown</source>
-      <translation>inconnu</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1180" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1178" />
       <source> ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1196" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1187" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1194" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1185" />
       <source>Device Implementation Information</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1188" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1186" />
       <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}{2}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1197" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1195" />
       <source>No device implementation information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1250" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1248" />
       <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
       <translation>&lt;p&gt;L'horloge du matériel connecté a été synchronisée à l'horloge locale.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1272" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1270" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;h3&gt;Date et heure matériel&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Heure&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1280" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1278" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation>&lt;h3&gt;Date et heure matériel&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1296" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1294" />
       <source>Device Date and Time</source>
       <translation>Date et heure matériel</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1308" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1306" />
       <source>Local Date and Time</source>
       <translation>Date et heure locales</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1309" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1307" />
       <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;h3&gt;Date et heure locales&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Heure&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1350" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1333" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1348" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1331" />
       <source>Date and Time</source>
       <translation>Date et heure</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1334" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1332" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Date et heure locales&lt;/th&gt;&lt;th&gt;Date et heure matériel&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Heure&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1351" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1349" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Date et heure locales&lt;/th&gt;&lt;th&gt;Date et heure matériel&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1375" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1373" />
       <source>Error handling device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1376" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1374" />
       <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Il y a eu une erreur de communication avec le matériel connecté.&lt;/p&gt;&lt;p&gt;Méthode : {0}&lt;/p&gt;&lt;p&gt;Message : {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1418" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1416" />
       <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1444" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1442" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation>Fichiers Python (*.py);;Tous les fichiers (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1454" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1452" />
       <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
       <translation>Le fichier Python &lt;b&gt;{0}&lt;/b&gt; n'existe pas. Annulation...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1463" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1461" />
       <source>'mpy-cross' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1489" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1487" />
       <source>The current editor does not contain a Python file. Aborting...</source>
       <translation>L'éditeur courant ne contient pas un fichier Python. Annulation...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1581" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1579" />
       <source>Add Unknown Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1582" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1580" />
       <source>Select the devices to be added:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1631" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1629" />
       <source>Plus any modules on the filesystem.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1683" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1681" />
       <source>Package '{0}' was installed successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1698" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1696" />
       <source>Enter the packages to be installed separated by whitespace:</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="vanished">&lt;p&gt;Ne peut connecter un matériel sur le port série&lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
+    </message>
     <message numerus="yes">
       <source>%n supported device(s) detected.</source>
       <translation type="vanished">
@@ -76477,43 +76500,43 @@
       <translation>Effacer les historiques</translation>
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="393" />
+      <location filename="../Debugger/StartDialog.py" line="406" />
       <location filename="../Debugger/StartDialog.py" line="176" />
       <source>Edit History</source>
       <translation>Modifier l'historique</translation>
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="216" />
+      <location filename="../Debugger/StartDialog.py" line="226" />
       <source>Enter the list of programs or program patterns not to be debugged separated by '{0}'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="376" />
-      <source>Script Name</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="377" />
-      <source>Script Parameters</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="378" />
-      <source>Working Directory</source>
-      <translation>Répertoire de travail</translation>
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="379" />
-      <source>Environment</source>
-      <translation>Environment</translation>
-    </message>
-    <message>
       <location filename="../Debugger/StartDialog.py" line="389" />
+      <source>Script Name</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="390" />
+      <source>Script Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="391" />
+      <source>Working Directory</source>
+      <translation>Répertoire de travail</translation>
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="392" />
+      <source>Environment</source>
+      <translation>Environment</translation>
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="402" />
       <source>No Debug Programs</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="394" />
+      <location filename="../Debugger/StartDialog.py" line="407" />
       <source>Select the history list to be edited:</source>
       <translation>Sélectionner la liste d'historique à modifier :</translation>
     </message>
@@ -85378,183 +85401,183 @@
   <context>
     <name>TestingWidget</name>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="101" />
+      <location filename="../Testing/TestingWidget.py" line="104" />
       <source>Show Output...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="104" />
-      <source>Show the output of the test runner process</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="107" />
+      <source>Show the output of the test runner process</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="110" />
       <source>&lt;b&gt;Show Output...&lt;/b&lt;p&gt;This button opens a dialog containing the output of the test runner process of the most recent run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="115" />
-      <source>Show Coverage...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="118" />
-      <source>Show code coverage in a new dialog</source>
+      <source>Show Coverage...</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="121" />
+      <source>Show code coverage in a new dialog</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="124" />
       <source>&lt;b&gt;Show Coverage...&lt;/b&gt;&lt;p&gt;This button opens a dialog containing the collected code coverage data.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="129" />
-      <source>Start</source>
-      <translation type="unfinished">Lancer</translation>
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="132" />
+      <source>Start</source>
+      <translation type="unfinished">Lancer</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="135" />
       <source>Start the selected testsuite</source>
       <translation type="unfinished">Lancer la suite de tests</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="134" />
+      <location filename="../Testing/TestingWidget.py" line="137" />
       <source>&lt;b&gt;Start Test&lt;/b&gt;&lt;p&gt;This button starts the test run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="138" />
-      <source>Rerun Failed</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="141" />
-      <source>Reruns failed tests of the selected testsuite</source>
+      <source>Rerun Failed</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="144" />
+      <source>Reruns failed tests of the selected testsuite</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="147" />
       <source>&lt;b&gt;Rerun Failed&lt;/b&gt;&lt;p&gt;This button reruns all failed tests of the most recent test run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="152" />
+      <location filename="../Testing/TestingWidget.py" line="155" />
       <source>Stop</source>
       <translation type="unfinished">Arrêt</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="154" />
+      <location filename="../Testing/TestingWidget.py" line="157" />
       <source>Stop the running test</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="156" />
+      <location filename="../Testing/TestingWidget.py" line="159" />
       <source>&lt;b&gt;Stop Test&lt;/b&gt;&lt;p&gt;This button stops a running test.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.ui" line="0" />
-      <location filename="../Testing/TestingWidget.py" line="163" />
+      <location filename="../Testing/TestingWidget.py" line="166" />
       <source>Testing</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="171" />
+      <location filename="../Testing/TestingWidget.py" line="174" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="286" />
+      <location filename="../Testing/TestingWidget.py" line="289" />
       <source>{0} (not available)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="581" />
+      <location filename="../Testing/TestingWidget.py" line="584" />
       <source>Running</source>
       <translation type="unfinished">En cours d'execution</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="639" />
+      <location filename="../Testing/TestingWidget.py" line="642" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation type="unfinished">Fichiers Python3({0});; Tous les fichiers (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="644" />
+      <location filename="../Testing/TestingWidget.py" line="647" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished">Fichiers Python (*.py);;Tous les fichiers (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="802" />
+      <location filename="../Testing/TestingWidget.py" line="805" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="816" />
+      <location filename="../Testing/TestingWidget.py" line="819" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="825" />
-      <source>No version information available.</source>
-      <translation type="unfinished">Pas d'information de version disponible.</translation>
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="828" />
+      <source>No version information available.</source>
+      <translation type="unfinished">Pas d'information de version disponible.</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="831" />
       <source>Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="865" />
+      <location filename="../Testing/TestingWidget.py" line="868" />
       <source>Preparing Testsuite</source>
       <translation type="unfinished">Préparation de Testsuite</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="928" />
+      <location filename="../Testing/TestingWidget.py" line="931" />
       <source>pending</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Failure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="967" />
-      <location filename="../Testing/TestingWidget.py" line="960" />
+      <location filename="../Testing/TestingWidget.py" line="970" />
+      <location filename="../Testing/TestingWidget.py" line="963" />
       <source>Collection Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="968" />
+      <location filename="../Testing/TestingWidget.py" line="971" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="990" />
+      <location filename="../Testing/TestingWidget.py" line="993" />
       <source>running</source>
       <translation type="unfinished">en cours</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1041" />
+      <location filename="../Testing/TestingWidget.py" line="1044" />
       <source>Ran %n test(s) in {0}s</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1053" />
+      <location filename="../Testing/TestingWidget.py" line="1056" />
       <source>Ran %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1074" />
+      <location filename="../Testing/TestingWidget.py" line="1077" />
       <source>not run</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1117" />
+      <location filename="../Testing/TestingWidget.py" line="1120" />
       <source>Test Run Output</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_it.ts	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/i18n/eric7_it.ts	Fri Oct 06 15:52:33 2023 +0200
@@ -12306,7 +12306,7 @@
   <context>
     <name>EditBreakpointDialog</name>
     <message>
-      <location filename="../Debugger/EditBreakpointDialog.py" line="97" />
+      <location filename="../Debugger/EditBreakpointDialog.py" line="96" />
       <source>Add Breakpoint</source>
       <translation>Aggiungi un breakpoint</translation>
     </message>
@@ -25966,12 +25966,12 @@
   <context>
     <name>GitNewProjectOptionsDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="86" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="89" />
       <source>Select Repository-Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="103" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="106" />
       <source>Select Project Directory</source>
       <translation type="unfinished" />
     </message>
@@ -29591,12 +29591,12 @@
   <context>
     <name>GitSubmoduleAddDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="104" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="107" />
       <source>Select Submodule Repository Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="132" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="135" />
       <source>Select Submodule Directory</source>
       <translation type="unfinished" />
     </message>
@@ -51564,22 +51564,27 @@
   <context>
     <name>MicroPythonWebreplDeviceInterface</name>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="79" />
       <source>WebREPL Password</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="81" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
       <source>Enter the WebREPL password:</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="84" />
+      <source>No password given</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="99" />
+      <source>WebREPL Login</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="100" />
-      <source>WebREPL Login</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="101" />
       <source>The login to the selected device 'webrepl' failed. The given password may be incorrect.</source>
       <translation type="unfinished" />
     </message>
@@ -51613,6 +51618,19 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplSocket</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="126" />
+      <source>Connection to device webrepl failed.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="170" />
+      <source>WebRepl login failed (access denied).</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -51913,337 +51931,338 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="716" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="705" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="719" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
       <source>Serial Device Connect</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="707" />
       <source>&lt;p&gt;The device at serial port &lt;b&gt;{0}&lt;/b&gt; does not respond. It may not have a MicroPython firmware flashed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="714" />
+      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Reason:&lt;/b&gt; {1}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1172" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1164" />
       <location filename="../MicroPython/MicroPythonWidget.py" line="717" />
-      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="780" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="771" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="762" />
+      <source>unknown</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="778" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="769" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="760" />
       <source>Run Script</source>
       <translation type="unfinished">Esegui Script</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="763" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="761" />
       <source>There is no editor open. Abort...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="772" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="770" />
       <source>The current editor does not contain a script. Abort...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="781" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="779" />
       <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="817" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="815" />
       <source>Start Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="818" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="816" />
       <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="833" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="831" />
       <source>µPy Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="850" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="848" />
       <source>Unsaved Chart Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="851" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="849" />
       <source>The chart contains unsaved data.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="899" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="897" />
       <source>Start File Manager</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="900" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="898" />
       <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="920" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="918" />
       <source>µPy Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="996" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="994" />
       <source>Downloads</source>
       <translation type="unfinished">Downloads</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1043" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1041" />
       <source>Show Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1046" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1044" />
       <source>Show Implementation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1049" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1047" />
       <source>Show Board Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1249" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1054" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1247" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1052" />
       <source>Synchronize Time</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1055" />
+      <source>Show Device Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1057" />
-      <source>Show Device Time</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1059" />
       <source>Show Local Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1062" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1060" />
       <source>Show Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1066" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1064" />
       <source>Show Builtin Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1658" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1078" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1070" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1656" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1076" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1068" />
       <source>Install Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1697" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1694" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1074" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1695" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1692" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1072" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1473" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1084" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1471" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1082" />
       <source>Compile Python File</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1497" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1488" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1088" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1495" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1486" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1086" />
       <source>Compile Current Editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1109" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1107" />
       <source>Download Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1116" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1114" />
       <source>Show Documentation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1119" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1117" />
       <source>Convert To UF2</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1120" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1118" />
       <source>Flash UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1123" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1121" />
       <source>Manage Unknown Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1126" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1124" />
       <source>Ignored Serial Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1129" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1127" />
       <source>Configure</source>
       <translation type="unfinished">Configura</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1138" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1136" />
       <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1149" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1145" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1147" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1143" />
       <source>Device Version Information</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1150" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1148" />
       <source>No version information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1174" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1166" />
-      <source>unknown</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1180" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1178" />
       <source> ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1196" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1187" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1194" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1185" />
       <source>Device Implementation Information</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1188" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1186" />
       <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}{2}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1197" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1195" />
       <source>No device implementation information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1250" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1248" />
       <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1272" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1270" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1280" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1278" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1296" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1294" />
       <source>Device Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1308" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1306" />
       <source>Local Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1309" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1307" />
       <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1350" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1333" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1348" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1331" />
       <source>Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1334" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1332" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1351" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1349" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1375" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1373" />
       <source>Error handling device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1376" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1374" />
       <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1418" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1416" />
       <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1444" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1442" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished">File Python (*.py);;Tutti i File (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1454" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1452" />
       <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1463" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1461" />
       <source>'mpy-cross' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1489" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1487" />
       <source>The current editor does not contain a Python file. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1581" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1579" />
       <source>Add Unknown Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1582" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1580" />
       <source>Select the devices to be added:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1631" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1629" />
       <source>Plus any modules on the filesystem.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1683" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1681" />
       <source>Package '{0}' was installed successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1698" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1696" />
       <source>Enter the packages to be installed separated by whitespace:</source>
       <translation type="unfinished" />
     </message>
@@ -76208,43 +76227,43 @@
       <translation>Pulisci cronologia</translation>
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="393" />
+      <location filename="../Debugger/StartDialog.py" line="406" />
       <location filename="../Debugger/StartDialog.py" line="176" />
       <source>Edit History</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="216" />
+      <location filename="../Debugger/StartDialog.py" line="226" />
       <source>Enter the list of programs or program patterns not to be debugged separated by '{0}'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="376" />
-      <source>Script Name</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="377" />
-      <source>Script Parameters</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="378" />
-      <source>Working Directory</source>
-      <translation type="unfinished">Directory di lavoro</translation>
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="379" />
-      <source>Environment</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Debugger/StartDialog.py" line="389" />
+      <source>Script Name</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="390" />
+      <source>Script Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="391" />
+      <source>Working Directory</source>
+      <translation type="unfinished">Directory di lavoro</translation>
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="392" />
+      <source>Environment</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="402" />
       <source>No Debug Programs</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="394" />
+      <location filename="../Debugger/StartDialog.py" line="407" />
       <source>Select the history list to be edited:</source>
       <translation type="unfinished" />
     </message>
@@ -85110,183 +85129,183 @@
   <context>
     <name>TestingWidget</name>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="101" />
+      <location filename="../Testing/TestingWidget.py" line="104" />
       <source>Show Output...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="104" />
-      <source>Show the output of the test runner process</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="107" />
+      <source>Show the output of the test runner process</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="110" />
       <source>&lt;b&gt;Show Output...&lt;/b&lt;p&gt;This button opens a dialog containing the output of the test runner process of the most recent run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="115" />
-      <source>Show Coverage...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="118" />
-      <source>Show code coverage in a new dialog</source>
+      <source>Show Coverage...</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="121" />
+      <source>Show code coverage in a new dialog</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="124" />
       <source>&lt;b&gt;Show Coverage...&lt;/b&gt;&lt;p&gt;This button opens a dialog containing the collected code coverage data.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="129" />
-      <source>Start</source>
-      <translation type="unfinished">Inizia</translation>
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="132" />
+      <source>Start</source>
+      <translation type="unfinished">Inizia</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="135" />
       <source>Start the selected testsuite</source>
       <translation type="unfinished">Avvia la testsuite selezioanata</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="134" />
+      <location filename="../Testing/TestingWidget.py" line="137" />
       <source>&lt;b&gt;Start Test&lt;/b&gt;&lt;p&gt;This button starts the test run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="138" />
-      <source>Rerun Failed</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="141" />
-      <source>Reruns failed tests of the selected testsuite</source>
+      <source>Rerun Failed</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="144" />
+      <source>Reruns failed tests of the selected testsuite</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="147" />
       <source>&lt;b&gt;Rerun Failed&lt;/b&gt;&lt;p&gt;This button reruns all failed tests of the most recent test run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="152" />
+      <location filename="../Testing/TestingWidget.py" line="155" />
       <source>Stop</source>
       <translation type="unfinished">Ferma</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="154" />
+      <location filename="../Testing/TestingWidget.py" line="157" />
       <source>Stop the running test</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="156" />
+      <location filename="../Testing/TestingWidget.py" line="159" />
       <source>&lt;b&gt;Stop Test&lt;/b&gt;&lt;p&gt;This button stops a running test.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.ui" line="0" />
-      <location filename="../Testing/TestingWidget.py" line="163" />
+      <location filename="../Testing/TestingWidget.py" line="166" />
       <source>Testing</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="171" />
+      <location filename="../Testing/TestingWidget.py" line="174" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="286" />
+      <location filename="../Testing/TestingWidget.py" line="289" />
       <source>{0} (not available)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="581" />
+      <location filename="../Testing/TestingWidget.py" line="584" />
       <source>Running</source>
       <translation type="unfinished">In esecuzione</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="639" />
+      <location filename="../Testing/TestingWidget.py" line="642" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="644" />
+      <location filename="../Testing/TestingWidget.py" line="647" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished">File Python (*.py);;Tutti i File (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="802" />
+      <location filename="../Testing/TestingWidget.py" line="805" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="816" />
+      <location filename="../Testing/TestingWidget.py" line="819" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="825" />
-      <source>No version information available.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="828" />
+      <source>No version information available.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="831" />
       <source>Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="865" />
+      <location filename="../Testing/TestingWidget.py" line="868" />
       <source>Preparing Testsuite</source>
       <translation type="unfinished">Preparazione Testsuite</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="928" />
+      <location filename="../Testing/TestingWidget.py" line="931" />
       <source>pending</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Failure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="967" />
-      <location filename="../Testing/TestingWidget.py" line="960" />
+      <location filename="../Testing/TestingWidget.py" line="970" />
+      <location filename="../Testing/TestingWidget.py" line="963" />
       <source>Collection Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="968" />
+      <location filename="../Testing/TestingWidget.py" line="971" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="990" />
+      <location filename="../Testing/TestingWidget.py" line="993" />
       <source>running</source>
       <translation type="unfinished">in esecuzione</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1041" />
+      <location filename="../Testing/TestingWidget.py" line="1044" />
       <source>Ran %n test(s) in {0}s</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1053" />
+      <location filename="../Testing/TestingWidget.py" line="1056" />
       <source>Ran %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1074" />
+      <location filename="../Testing/TestingWidget.py" line="1077" />
       <source>not run</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1117" />
+      <location filename="../Testing/TestingWidget.py" line="1120" />
       <source>Test Run Output</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_pt.ts	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/i18n/eric7_pt.ts	Fri Oct 06 15:52:33 2023 +0200
@@ -12326,7 +12326,7 @@
   <context>
     <name>EditBreakpointDialog</name>
     <message>
-      <location filename="../Debugger/EditBreakpointDialog.py" line="97" />
+      <location filename="../Debugger/EditBreakpointDialog.py" line="96" />
       <source>Add Breakpoint</source>
       <translation>Adicionar Ponto de Interrupção</translation>
     </message>
@@ -25977,12 +25977,12 @@
   <context>
     <name>GitNewProjectOptionsDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="86" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="89" />
       <source>Select Repository-Directory</source>
       <translation type="unfinished">Selecionar o Diretorio do Repositorio</translation>
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="103" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="106" />
       <source>Select Project Directory</source>
       <translation type="unfinished">Selecionar o Diretório do Projeto</translation>
     </message>
@@ -29602,12 +29602,12 @@
   <context>
     <name>GitSubmoduleAddDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="104" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="107" />
       <source>Select Submodule Repository Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="132" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="135" />
       <source>Select Submodule Directory</source>
       <translation type="unfinished" />
     </message>
@@ -51550,22 +51550,27 @@
   <context>
     <name>MicroPythonWebreplDeviceInterface</name>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="79" />
       <source>WebREPL Password</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="81" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
       <source>Enter the WebREPL password:</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="84" />
+      <source>No password given</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="99" />
+      <source>WebREPL Login</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="100" />
-      <source>WebREPL Login</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="101" />
       <source>The login to the selected device 'webrepl' failed. The given password may be incorrect.</source>
       <translation type="unfinished" />
     </message>
@@ -51599,6 +51604,19 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplSocket</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="126" />
+      <source>Connection to device webrepl failed.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="170" />
+      <source>WebRepl login failed (access denied).</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -51899,337 +51917,338 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="716" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="705" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="719" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
       <source>Serial Device Connect</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="707" />
       <source>&lt;p&gt;The device at serial port &lt;b&gt;{0}&lt;/b&gt; does not respond. It may not have a MicroPython firmware flashed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="714" />
+      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Reason:&lt;/b&gt; {1}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1172" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1164" />
       <location filename="../MicroPython/MicroPythonWidget.py" line="717" />
-      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="780" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="771" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="762" />
+      <source>unknown</source>
+      <translation type="unfinished">desconhecido</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="778" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="769" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="760" />
       <source>Run Script</source>
       <translation type="unfinished">Executar Script</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="763" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="761" />
       <source>There is no editor open. Abort...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="772" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="770" />
       <source>The current editor does not contain a script. Abort...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="781" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="779" />
       <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="817" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="815" />
       <source>Start Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="818" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="816" />
       <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="833" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="831" />
       <source>µPy Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="850" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="848" />
       <source>Unsaved Chart Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="851" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="849" />
       <source>The chart contains unsaved data.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="899" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="897" />
       <source>Start File Manager</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="900" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="898" />
       <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="920" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="918" />
       <source>µPy Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="996" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="994" />
       <source>Downloads</source>
       <translation type="unfinished">Descargas</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1043" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1041" />
       <source>Show Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1046" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1044" />
       <source>Show Implementation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1049" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1047" />
       <source>Show Board Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1249" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1054" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1247" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1052" />
       <source>Synchronize Time</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1055" />
+      <source>Show Device Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1057" />
-      <source>Show Device Time</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1059" />
       <source>Show Local Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1062" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1060" />
       <source>Show Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1066" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1064" />
       <source>Show Builtin Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1658" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1078" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1070" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1656" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1076" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1068" />
       <source>Install Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1697" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1694" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1074" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1695" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1692" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1072" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1473" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1084" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1471" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1082" />
       <source>Compile Python File</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1497" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1488" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1088" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1495" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1486" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1086" />
       <source>Compile Current Editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1109" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1107" />
       <source>Download Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1116" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1114" />
       <source>Show Documentation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1119" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1117" />
       <source>Convert To UF2</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1120" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1118" />
       <source>Flash UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1123" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1121" />
       <source>Manage Unknown Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1126" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1124" />
       <source>Ignored Serial Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1129" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1127" />
       <source>Configure</source>
       <translation type="unfinished">Configurar</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1138" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1136" />
       <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1149" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1145" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1147" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1143" />
       <source>Device Version Information</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1150" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1148" />
       <source>No version information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1174" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1166" />
-      <source>unknown</source>
-      <translation type="unfinished">desconhecido</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1180" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1178" />
       <source> ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1196" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1187" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1194" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1185" />
       <source>Device Implementation Information</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1188" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1186" />
       <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}{2}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1197" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1195" />
       <source>No device implementation information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1250" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1248" />
       <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1272" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1270" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1280" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1278" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1296" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1294" />
       <source>Device Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1308" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1306" />
       <source>Local Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1309" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1307" />
       <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1350" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1333" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1348" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1331" />
       <source>Date and Time</source>
       <translation type="unfinished">Data e Hora</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1334" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1332" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1351" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1349" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1375" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1373" />
       <source>Error handling device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1376" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1374" />
       <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1418" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1416" />
       <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1444" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1442" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished">Ficheiros Python (*.py);;Ficheiros Todos (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1454" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1452" />
       <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1463" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1461" />
       <source>'mpy-cross' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1489" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1487" />
       <source>The current editor does not contain a Python file. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1581" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1579" />
       <source>Add Unknown Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1582" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1580" />
       <source>Select the devices to be added:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1631" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1629" />
       <source>Plus any modules on the filesystem.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1683" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1681" />
       <source>Package '{0}' was installed successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1698" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1696" />
       <source>Enter the packages to be installed separated by whitespace:</source>
       <translation type="unfinished" />
     </message>
@@ -76049,43 +76068,43 @@
       <translation>Limpar Historiais</translation>
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="393" />
+      <location filename="../Debugger/StartDialog.py" line="406" />
       <location filename="../Debugger/StartDialog.py" line="176" />
       <source>Edit History</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="216" />
+      <location filename="../Debugger/StartDialog.py" line="226" />
       <source>Enter the list of programs or program patterns not to be debugged separated by '{0}'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="376" />
-      <source>Script Name</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="377" />
-      <source>Script Parameters</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="378" />
-      <source>Working Directory</source>
-      <translation type="unfinished">Directório de Trabalho</translation>
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="379" />
-      <source>Environment</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Debugger/StartDialog.py" line="389" />
+      <source>Script Name</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="390" />
+      <source>Script Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="391" />
+      <source>Working Directory</source>
+      <translation type="unfinished">Directório de Trabalho</translation>
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="392" />
+      <source>Environment</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="402" />
       <source>No Debug Programs</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="394" />
+      <location filename="../Debugger/StartDialog.py" line="407" />
       <source>Select the history list to be edited:</source>
       <translation type="unfinished" />
     </message>
@@ -84908,183 +84927,183 @@
   <context>
     <name>TestingWidget</name>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="101" />
+      <location filename="../Testing/TestingWidget.py" line="104" />
       <source>Show Output...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="104" />
-      <source>Show the output of the test runner process</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="107" />
+      <source>Show the output of the test runner process</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="110" />
       <source>&lt;b&gt;Show Output...&lt;/b&lt;p&gt;This button opens a dialog containing the output of the test runner process of the most recent run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="115" />
-      <source>Show Coverage...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="118" />
-      <source>Show code coverage in a new dialog</source>
+      <source>Show Coverage...</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="121" />
+      <source>Show code coverage in a new dialog</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="124" />
       <source>&lt;b&gt;Show Coverage...&lt;/b&gt;&lt;p&gt;This button opens a dialog containing the collected code coverage data.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="129" />
-      <source>Start</source>
-      <translation type="unfinished">Iniciar</translation>
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="132" />
+      <source>Start</source>
+      <translation type="unfinished">Iniciar</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="135" />
       <source>Start the selected testsuite</source>
       <translation type="unfinished">Iniciar a suite de testes selecionada</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="134" />
+      <location filename="../Testing/TestingWidget.py" line="137" />
       <source>&lt;b&gt;Start Test&lt;/b&gt;&lt;p&gt;This button starts the test run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="138" />
-      <source>Rerun Failed</source>
-      <translation type="unfinished">Reexecução Falhada</translation>
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="141" />
-      <source>Reruns failed tests of the selected testsuite</source>
-      <translation type="unfinished">Testes de reexecução falhados da suite de testes selecionada</translation>
+      <source>Rerun Failed</source>
+      <translation type="unfinished">Reexecução Falhada</translation>
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="144" />
+      <source>Reruns failed tests of the selected testsuite</source>
+      <translation type="unfinished">Testes de reexecução falhados da suite de testes selecionada</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="147" />
       <source>&lt;b&gt;Rerun Failed&lt;/b&gt;&lt;p&gt;This button reruns all failed tests of the most recent test run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="152" />
+      <location filename="../Testing/TestingWidget.py" line="155" />
       <source>Stop</source>
       <translation type="unfinished">Parar</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="154" />
+      <location filename="../Testing/TestingWidget.py" line="157" />
       <source>Stop the running test</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="156" />
+      <location filename="../Testing/TestingWidget.py" line="159" />
       <source>&lt;b&gt;Stop Test&lt;/b&gt;&lt;p&gt;This button stops a running test.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.ui" line="0" />
-      <location filename="../Testing/TestingWidget.py" line="163" />
+      <location filename="../Testing/TestingWidget.py" line="166" />
       <source>Testing</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="171" />
+      <location filename="../Testing/TestingWidget.py" line="174" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="286" />
+      <location filename="../Testing/TestingWidget.py" line="289" />
       <source>{0} (not available)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="581" />
+      <location filename="../Testing/TestingWidget.py" line="584" />
       <source>Running</source>
       <translation type="unfinished">A executar</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="639" />
+      <location filename="../Testing/TestingWidget.py" line="642" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="644" />
+      <location filename="../Testing/TestingWidget.py" line="647" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished">Ficheiros Python (*.py);;Ficheiros Todos (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="802" />
+      <location filename="../Testing/TestingWidget.py" line="805" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="816" />
+      <location filename="../Testing/TestingWidget.py" line="819" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="825" />
-      <source>No version information available.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="828" />
+      <source>No version information available.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="831" />
       <source>Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="865" />
+      <location filename="../Testing/TestingWidget.py" line="868" />
       <source>Preparing Testsuite</source>
       <translation type="unfinished">A preparar Suite de Testes</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="928" />
+      <location filename="../Testing/TestingWidget.py" line="931" />
       <source>pending</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Failure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="967" />
-      <location filename="../Testing/TestingWidget.py" line="960" />
+      <location filename="../Testing/TestingWidget.py" line="970" />
+      <location filename="../Testing/TestingWidget.py" line="963" />
       <source>Collection Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="968" />
+      <location filename="../Testing/TestingWidget.py" line="971" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="990" />
+      <location filename="../Testing/TestingWidget.py" line="993" />
       <source>running</source>
       <translation type="unfinished">a executar</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1041" />
+      <location filename="../Testing/TestingWidget.py" line="1044" />
       <source>Ran %n test(s) in {0}s</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1053" />
+      <location filename="../Testing/TestingWidget.py" line="1056" />
       <source>Ran %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1074" />
+      <location filename="../Testing/TestingWidget.py" line="1077" />
       <source>not run</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1117" />
+      <location filename="../Testing/TestingWidget.py" line="1120" />
       <source>Test Run Output</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_ru.ts	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/i18n/eric7_ru.ts	Fri Oct 06 15:52:33 2023 +0200
@@ -51387,22 +51387,27 @@
   <context>
     <name>MicroPythonWebreplDeviceInterface</name>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="79" />
       <source>WebREPL Password</source>
       <translation>Пароль WebREPL</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="81" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
       <source>Enter the WebREPL password:</source>
       <translation>Введите пароль WebREPL:</translation>
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="84" />
+      <source>No password given</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="99" />
+      <source>WebREPL Login</source>
+      <translation>Логин WebREPL</translation>
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="100" />
-      <source>WebREPL Login</source>
-      <translation>Логин WebREPL</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="101" />
       <source>The login to the selected device 'webrepl' failed. The given password may be incorrect.</source>
       <translation>Ошибка входа на выбранное устройство 'webrepl'. Указанный пароль может быть неправильным.</translation>
     </message>
@@ -51436,6 +51441,19 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplSocket</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="126" />
+      <source>Connection to device webrepl failed.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="170" />
+      <source>WebRepl login failed (access denied).</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -51751,340 +51769,345 @@
       <translation>&lt;p&gt;Не удается запустить REPL.&lt;/p&gt;&lt;p&gt;Причина:&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="716" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="705" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="719" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
       <source>Serial Device Connect</source>
       <translation>Подсоединение последовательного устройства</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="707" />
       <source>&lt;p&gt;The device at serial port &lt;b&gt;{0}&lt;/b&gt; does not respond. It may not have a MicroPython firmware flashed.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Устройство не отвечает через последовательный порт &lt;b&gt;{0}&lt;/b&gt;. Возможно на нем не установлена прошивка MicroPython.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="714" />
+      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Reason:&lt;/b&gt; {1}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1172" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1164" />
       <location filename="../MicroPython/MicroPythonWidget.py" line="717" />
-      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Не удается соединиться с устройством через последовательный порт &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="780" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="771" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="762" />
+      <source>unknown</source>
+      <translation>unknown</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="778" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="769" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="760" />
       <source>Run Script</source>
       <translation>Выполнить скрипт</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="763" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="761" />
       <source>There is no editor open. Abort...</source>
       <translation>Редактор не открыт. Прерывание...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="772" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="770" />
       <source>The current editor does not contain a script. Abort...</source>
       <translation>Текущий редактор не содержит скрипт. Прервать...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="781" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="779" />
       <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удается выполнить скрипт.&lt;/p&gt;&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="817" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="815" />
       <source>Start Chart</source>
       <translation>Построить диаграмму</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="818" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="816" />
       <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удается построить диаграмму.&lt;/p&gt;&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="833" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="831" />
       <source>µPy Chart</source>
       <translation>µPy диаграммы</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="850" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="848" />
       <source>Unsaved Chart Data</source>
       <translation>Несохраненные данные диаграммы</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="851" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="849" />
       <source>The chart contains unsaved data.</source>
       <translation>Диаграмма содержит несохраненные данные.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="899" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="897" />
       <source>Start File Manager</source>
       <translation>Запустить менеджер файлов</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="900" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="898" />
       <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удается запустить менеджер файлов.&lt;/p&gt;&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="920" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="918" />
       <source>µPy Files</source>
       <translation>µPy файлы</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="996" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="994" />
       <source>Downloads</source>
       <translation>Загрузить микрокод / библиотеки</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1043" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1041" />
       <source>Show Version</source>
       <translation>Показать версию</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1046" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1044" />
       <source>Show Implementation</source>
       <translation>Показать исполнение</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1049" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1047" />
       <source>Show Board Data</source>
       <translation>Показать данные платы</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1249" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1054" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1247" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1052" />
       <source>Synchronize Time</source>
       <translation>Синхронизировать время</translation>
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1055" />
+      <source>Show Device Time</source>
+      <translation>Показать время устройства</translation>
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1057" />
-      <source>Show Device Time</source>
-      <translation>Показать время устройства</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1059" />
       <source>Show Local Time</source>
       <translation>Показать локальное время</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1062" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1060" />
       <source>Show Time</source>
       <translation>Показать время</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1066" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1064" />
       <source>Show Builtin Modules</source>
       <translation>Показать встроенные модули</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1658" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1078" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1070" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1656" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1076" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1068" />
       <source>Install Package</source>
       <translation>Установить пакет</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1697" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1694" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1074" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1695" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1692" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1072" />
       <source>Install Packages</source>
       <translation>Установить пакеты</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1473" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1084" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1471" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1082" />
       <source>Compile Python File</source>
       <translation>Компилировать файл Python</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1497" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1488" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1088" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1495" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1486" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1086" />
       <source>Compile Current Editor</source>
       <translation>Компилировать текущий редактор</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1109" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1107" />
       <source>Download Firmware</source>
       <translation>Загрузить микрокод</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1116" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1114" />
       <source>Show Documentation</source>
       <translation>Просмотр документации</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1119" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1117" />
       <source>Convert To UF2</source>
       <translation>Преобразовать в UF2</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1120" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1118" />
       <source>Flash UF2 Device</source>
       <translation>Прошивка UF2-устройств</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1123" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1121" />
       <source>Manage Unknown Devices</source>
       <translation>Менеджер неизвестных устройств</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1126" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1124" />
       <source>Ignored Serial Devices</source>
       <translation>Проигнорированные последовательные устройства</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1129" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1127" />
       <source>Configure</source>
       <translation>Настройки</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1138" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1136" />
       <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
       <translation>&lt;h3&gt;Информация о версии устройства&lt;/h3&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1149" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1145" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1147" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1143" />
       <source>Device Version Information</source>
       <translation>Информация о версии устройства</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1150" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1148" />
       <source>No version information available.</source>
       <translation>Информация о версии недоступна.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1174" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1166" />
-      <source>unknown</source>
-      <translation>unknown</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1180" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1178" />
       <source> ({0})</source>
       <translation> ({0})</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1196" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1187" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1194" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1185" />
       <source>Device Implementation Information</source>
       <translation>Информация о исполнении устройства</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1188" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1186" />
       <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}{2}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;h3&gt;Информация о реализации устройства&lt;/h3&gt;&lt;p&gt;Это устройство содержит &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1197" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1195" />
       <source>No device implementation information available.</source>
       <translation>Информация о реализации устройства отсутствует.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1250" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1248" />
       <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Время подключенного устройства было синхронизировано с локальным временем.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1272" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1270" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;h3&gt;Дата и время устройства&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Дата&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Время&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1280" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1278" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation>&lt;h3&gt;Дата и время устройства&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1296" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1294" />
       <source>Device Date and Time</source>
       <translation>Дата и время устройства</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1308" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1306" />
       <source>Local Date and Time</source>
       <translation>Локальные дата и время</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1309" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1307" />
       <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;h3&gt;Локальные дата и время&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Дата&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Время&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1350" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1333" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1348" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1331" />
       <source>Date and Time</source>
       <translation>Дата и время</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1334" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1332" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Дата и время локальные&lt;/th&gt;&lt;th&gt;Дата и время устройства&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Дата &lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Время &lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1351" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1349" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Дата и время локальные&lt;/th&gt;&lt;th&gt;Дата и время устройства&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1375" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1373" />
       <source>Error handling device</source>
       <translation>Ошибка при работе с устройством</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1376" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1374" />
       <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Произошла ошибка при работе с подключаемым устройством.&lt;/p&gt;&lt;p&gt;Метод: {0}&lt;/p&gt;&lt;p&gt;Сообщение: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1418" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1416" />
       <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
       <translation>Кросс-компилятор MicroPython &lt;b&gt;mpy-cross&lt;/b&gt; не найден. Убедитесь, что он находится в пути поиска, или настройте его на странице конфигурации MicroPython.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1444" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1442" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation>Файлы Python (*.py);;Все файлы (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1454" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1452" />
       <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
       <translation>Файл Python &lt;b&gt;{0}&lt;/b&gt; не существует. Отмена...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1463" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1461" />
       <source>'mpy-cross' Output</source>
       <translation>Вывод команды 'mpy-cross'</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1489" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1487" />
       <source>The current editor does not contain a Python file. Aborting...</source>
       <translation>Текущий редактор не содержит файл Python. Отмена...</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1581" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1579" />
       <source>Add Unknown Devices</source>
       <translation>Добавить неизвестное устройство</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1582" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1580" />
       <source>Select the devices to be added:</source>
       <translation>Выборите устройства для добавления:</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1631" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1629" />
       <source>Plus any modules on the filesystem.</source>
       <translation>Плюс любые модули в файловой системе.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1683" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1681" />
       <source>Package '{0}' was installed successfully.</source>
       <translation>Пакет '{0}' успешно установлен.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1698" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1696" />
       <source>Enter the packages to be installed separated by whitespace:</source>
       <translation>Введите через пробел пакеты для установки:</translation>
     </message>
+    <message>
+      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="vanished">&lt;p&gt;Не удается соединиться с устройством через последовательный порт &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
+    </message>
   </context>
   <context>
     <name>MicrobitDevice</name>
--- a/src/eric7/i18n/eric7_tr.ts	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/i18n/eric7_tr.ts	Fri Oct 06 15:52:33 2023 +0200
@@ -12261,7 +12261,7 @@
   <context>
     <name>EditBreakpointDialog</name>
     <message>
-      <location filename="../Debugger/EditBreakpointDialog.py" line="97" />
+      <location filename="../Debugger/EditBreakpointDialog.py" line="96" />
       <source>Add Breakpoint</source>
       <translation>Bekleme Noktası Ekle</translation>
     </message>
@@ -25893,12 +25893,12 @@
   <context>
     <name>GitNewProjectOptionsDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="86" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="89" />
       <source>Select Repository-Directory</source>
       <translation type="unfinished">Kaynak Havuzu- Dizinin Seç</translation>
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="103" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="106" />
       <source>Select Project Directory</source>
       <translation type="unfinished">Proje Dizinini Seç</translation>
     </message>
@@ -29516,12 +29516,12 @@
   <context>
     <name>GitSubmoduleAddDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="104" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="107" />
       <source>Select Submodule Repository Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="132" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="135" />
       <source>Select Submodule Directory</source>
       <translation type="unfinished" />
     </message>
@@ -51422,22 +51422,27 @@
   <context>
     <name>MicroPythonWebreplDeviceInterface</name>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="79" />
       <source>WebREPL Password</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="81" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
       <source>Enter the WebREPL password:</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="84" />
+      <source>No password given</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="99" />
+      <source>WebREPL Login</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="100" />
-      <source>WebREPL Login</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="101" />
       <source>The login to the selected device 'webrepl' failed. The given password may be incorrect.</source>
       <translation type="unfinished" />
     </message>
@@ -51471,6 +51476,19 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplSocket</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="126" />
+      <source>Connection to device webrepl failed.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="170" />
+      <source>WebRepl login failed (access denied).</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -51771,337 +51789,338 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="716" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="705" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="719" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
       <source>Serial Device Connect</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="707" />
       <source>&lt;p&gt;The device at serial port &lt;b&gt;{0}&lt;/b&gt; does not respond. It may not have a MicroPython firmware flashed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="714" />
+      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Reason:&lt;/b&gt; {1}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1172" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1164" />
       <location filename="../MicroPython/MicroPythonWidget.py" line="717" />
-      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="780" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="771" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="762" />
+      <source>unknown</source>
+      <translation type="unfinished">bilinmeyen</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="778" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="769" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="760" />
       <source>Run Script</source>
       <translation type="unfinished">Betiği Çalıştır</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="763" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="761" />
       <source>There is no editor open. Abort...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="772" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="770" />
       <source>The current editor does not contain a script. Abort...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="781" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="779" />
       <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="817" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="815" />
       <source>Start Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="818" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="816" />
       <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="833" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="831" />
       <source>µPy Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="850" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="848" />
       <source>Unsaved Chart Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="851" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="849" />
       <source>The chart contains unsaved data.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="899" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="897" />
       <source>Start File Manager</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="900" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="898" />
       <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="920" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="918" />
       <source>µPy Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="996" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="994" />
       <source>Downloads</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1043" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1041" />
       <source>Show Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1046" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1044" />
       <source>Show Implementation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1049" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1047" />
       <source>Show Board Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1249" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1054" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1247" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1052" />
       <source>Synchronize Time</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1055" />
+      <source>Show Device Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1057" />
-      <source>Show Device Time</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1059" />
       <source>Show Local Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1062" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1060" />
       <source>Show Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1066" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1064" />
       <source>Show Builtin Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1658" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1078" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1070" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1656" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1076" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1068" />
       <source>Install Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1697" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1694" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1074" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1695" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1692" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1072" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1473" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1084" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1471" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1082" />
       <source>Compile Python File</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1497" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1488" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1088" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1495" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1486" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1086" />
       <source>Compile Current Editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1109" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1107" />
       <source>Download Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1116" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1114" />
       <source>Show Documentation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1119" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1117" />
       <source>Convert To UF2</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1120" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1118" />
       <source>Flash UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1123" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1121" />
       <source>Manage Unknown Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1126" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1124" />
       <source>Ignored Serial Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1129" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1127" />
       <source>Configure</source>
       <translation type="unfinished">Yapılandırma</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1138" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1136" />
       <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1149" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1145" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1147" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1143" />
       <source>Device Version Information</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1150" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1148" />
       <source>No version information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1174" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1166" />
-      <source>unknown</source>
-      <translation type="unfinished">bilinmeyen</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1180" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1178" />
       <source> ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1196" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1187" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1194" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1185" />
       <source>Device Implementation Information</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1188" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1186" />
       <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}{2}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1197" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1195" />
       <source>No device implementation information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1250" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1248" />
       <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1272" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1270" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1280" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1278" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1296" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1294" />
       <source>Device Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1308" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1306" />
       <source>Local Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1309" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1307" />
       <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1350" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1333" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1348" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1331" />
       <source>Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1334" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1332" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1351" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1349" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1375" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1373" />
       <source>Error handling device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1376" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1374" />
       <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1418" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1416" />
       <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1444" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1442" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished">Python Dosyaları (*.py);;Tüm Dosyalar (*)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1454" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1452" />
       <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1463" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1461" />
       <source>'mpy-cross' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1489" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1487" />
       <source>The current editor does not contain a Python file. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1581" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1579" />
       <source>Add Unknown Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1582" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1580" />
       <source>Select the devices to be added:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1631" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1629" />
       <source>Plus any modules on the filesystem.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1683" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1681" />
       <source>Package '{0}' was installed successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1698" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1696" />
       <source>Enter the packages to be installed separated by whitespace:</source>
       <translation type="unfinished" />
     </message>
@@ -75959,43 +75978,43 @@
       <translation>Geçmişi temizle</translation>
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="393" />
+      <location filename="../Debugger/StartDialog.py" line="406" />
       <location filename="../Debugger/StartDialog.py" line="176" />
       <source>Edit History</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="216" />
+      <location filename="../Debugger/StartDialog.py" line="226" />
       <source>Enter the list of programs or program patterns not to be debugged separated by '{0}'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="376" />
-      <source>Script Name</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="377" />
-      <source>Script Parameters</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="378" />
-      <source>Working Directory</source>
-      <translation type="unfinished">Çalışma Dizini</translation>
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="379" />
-      <source>Environment</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Debugger/StartDialog.py" line="389" />
+      <source>Script Name</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="390" />
+      <source>Script Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="391" />
+      <source>Working Directory</source>
+      <translation type="unfinished">Çalışma Dizini</translation>
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="392" />
+      <source>Environment</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="402" />
       <source>No Debug Programs</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="394" />
+      <location filename="../Debugger/StartDialog.py" line="407" />
       <source>Select the history list to be edited:</source>
       <translation type="unfinished" />
     </message>
@@ -84821,183 +84840,183 @@
   <context>
     <name>TestingWidget</name>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="101" />
+      <location filename="../Testing/TestingWidget.py" line="104" />
       <source>Show Output...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="104" />
-      <source>Show the output of the test runner process</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="107" />
+      <source>Show the output of the test runner process</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="110" />
       <source>&lt;b&gt;Show Output...&lt;/b&lt;p&gt;This button opens a dialog containing the output of the test runner process of the most recent run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="115" />
-      <source>Show Coverage...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="118" />
-      <source>Show code coverage in a new dialog</source>
+      <source>Show Coverage...</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="121" />
+      <source>Show code coverage in a new dialog</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="124" />
       <source>&lt;b&gt;Show Coverage...&lt;/b&gt;&lt;p&gt;This button opens a dialog containing the collected code coverage data.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="129" />
-      <source>Start</source>
-      <translation type="unfinished">Başla</translation>
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="132" />
+      <source>Start</source>
+      <translation type="unfinished">Başla</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="135" />
       <source>Start the selected testsuite</source>
       <translation type="unfinished">Seçilen test yöntemini başmat</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="134" />
+      <location filename="../Testing/TestingWidget.py" line="137" />
       <source>&lt;b&gt;Start Test&lt;/b&gt;&lt;p&gt;This button starts the test run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="138" />
-      <source>Rerun Failed</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="141" />
-      <source>Reruns failed tests of the selected testsuite</source>
+      <source>Rerun Failed</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="144" />
+      <source>Reruns failed tests of the selected testsuite</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="147" />
       <source>&lt;b&gt;Rerun Failed&lt;/b&gt;&lt;p&gt;This button reruns all failed tests of the most recent test run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="152" />
+      <location filename="../Testing/TestingWidget.py" line="155" />
       <source>Stop</source>
       <translation type="unfinished">Dur</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="154" />
+      <location filename="../Testing/TestingWidget.py" line="157" />
       <source>Stop the running test</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="156" />
+      <location filename="../Testing/TestingWidget.py" line="159" />
       <source>&lt;b&gt;Stop Test&lt;/b&gt;&lt;p&gt;This button stops a running test.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.ui" line="0" />
-      <location filename="../Testing/TestingWidget.py" line="163" />
+      <location filename="../Testing/TestingWidget.py" line="166" />
       <source>Testing</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="171" />
+      <location filename="../Testing/TestingWidget.py" line="174" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="286" />
+      <location filename="../Testing/TestingWidget.py" line="289" />
       <source>{0} (not available)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="581" />
+      <location filename="../Testing/TestingWidget.py" line="584" />
       <source>Running</source>
       <translation type="unfinished">Çalışıyor</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="639" />
+      <location filename="../Testing/TestingWidget.py" line="642" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="644" />
+      <location filename="../Testing/TestingWidget.py" line="647" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished">Python Dosyaları (*.py);;Tüm Dosyalar (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="802" />
+      <location filename="../Testing/TestingWidget.py" line="805" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="816" />
+      <location filename="../Testing/TestingWidget.py" line="819" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="825" />
-      <source>No version information available.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="828" />
+      <source>No version information available.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="831" />
       <source>Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="865" />
+      <location filename="../Testing/TestingWidget.py" line="868" />
       <source>Preparing Testsuite</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="928" />
+      <location filename="../Testing/TestingWidget.py" line="931" />
       <source>pending</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Failure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="967" />
-      <location filename="../Testing/TestingWidget.py" line="960" />
+      <location filename="../Testing/TestingWidget.py" line="970" />
+      <location filename="../Testing/TestingWidget.py" line="963" />
       <source>Collection Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="968" />
+      <location filename="../Testing/TestingWidget.py" line="971" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="990" />
+      <location filename="../Testing/TestingWidget.py" line="993" />
       <source>running</source>
       <translation type="unfinished">çalışıyor</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1041" />
+      <location filename="../Testing/TestingWidget.py" line="1044" />
       <source>Ran %n test(s) in {0}s</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1053" />
+      <location filename="../Testing/TestingWidget.py" line="1056" />
       <source>Ran %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1074" />
+      <location filename="../Testing/TestingWidget.py" line="1077" />
       <source>not run</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1117" />
+      <location filename="../Testing/TestingWidget.py" line="1120" />
       <source>Test Run Output</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_zh_CN.ts	Thu Oct 05 17:07:35 2023 +0200
+++ b/src/eric7/i18n/eric7_zh_CN.ts	Fri Oct 06 15:52:33 2023 +0200
@@ -12332,7 +12332,7 @@
   <context>
     <name>EditBreakpointDialog</name>
     <message>
-      <location filename="../Debugger/EditBreakpointDialog.py" line="97" />
+      <location filename="../Debugger/EditBreakpointDialog.py" line="96" />
       <source>Add Breakpoint</source>
       <translation>添加断点</translation>
     </message>
@@ -25980,12 +25980,12 @@
   <context>
     <name>GitNewProjectOptionsDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="86" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="89" />
       <source>Select Repository-Directory</source>
       <translation type="unfinished">选择储存库文件夹</translation>
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="103" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitNewProjectOptionsDialog.py" line="106" />
       <source>Select Project Directory</source>
       <translation type="unfinished">选择项目文件夹</translation>
     </message>
@@ -29602,12 +29602,12 @@
   <context>
     <name>GitSubmoduleAddDialog</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="104" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="107" />
       <source>Select Submodule Repository Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="132" />
+      <location filename="../Plugins/VcsPlugins/vcsGit/GitSubmoduleAddDialog.py" line="135" />
       <source>Select Submodule Directory</source>
       <translation type="unfinished" />
     </message>
@@ -51536,22 +51536,27 @@
   <context>
     <name>MicroPythonWebreplDeviceInterface</name>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="79" />
       <source>WebREPL Password</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="81" />
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="80" />
       <source>Enter the WebREPL password:</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="84" />
+      <source>No password given</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="99" />
+      <source>WebREPL Login</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="100" />
-      <source>WebREPL Login</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWebreplDeviceInterface.py" line="101" />
       <source>The login to the selected device 'webrepl' failed. The given password may be incorrect.</source>
       <translation type="unfinished" />
     </message>
@@ -51585,6 +51590,19 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplSocket</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="126" />
+      <source>Connection to device webrepl failed.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplSocket.py" line="170" />
+      <source>WebRepl login failed (access denied).</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -51884,337 +51902,338 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="716" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="705" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="719" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
       <source>Serial Device Connect</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="706" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="707" />
       <source>&lt;p&gt;The device at serial port &lt;b&gt;{0}&lt;/b&gt; does not respond. It may not have a MicroPython firmware flashed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="714" />
+      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Reason:&lt;/b&gt; {1}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1172" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1164" />
       <location filename="../MicroPython/MicroPythonWidget.py" line="717" />
-      <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="780" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="771" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="762" />
+      <source>unknown</source>
+      <translation type="unfinished">未知</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="778" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="769" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="760" />
       <source>Run Script</source>
       <translation type="unfinished">运行脚本</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="763" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="761" />
       <source>There is no editor open. Abort...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="772" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="770" />
       <source>The current editor does not contain a script. Abort...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="781" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="779" />
       <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="817" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="815" />
       <source>Start Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="818" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="816" />
       <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="833" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="831" />
       <source>µPy Chart</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="850" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="848" />
       <source>Unsaved Chart Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="851" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="849" />
       <source>The chart contains unsaved data.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="899" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="897" />
       <source>Start File Manager</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="900" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="898" />
       <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="920" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="918" />
       <source>µPy Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="996" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="994" />
       <source>Downloads</source>
       <translation type="unfinished">下载</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1043" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1041" />
       <source>Show Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1046" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1044" />
       <source>Show Implementation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1049" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1047" />
       <source>Show Board Data</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1249" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1054" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1247" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1052" />
       <source>Synchronize Time</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1055" />
+      <source>Show Device Time</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/MicroPythonWidget.py" line="1057" />
-      <source>Show Device Time</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1059" />
       <source>Show Local Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1062" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1060" />
       <source>Show Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1066" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1064" />
       <source>Show Builtin Modules</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1658" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1078" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1070" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1656" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1076" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1068" />
       <source>Install Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1697" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1694" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1074" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1695" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1692" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1072" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1473" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1084" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1471" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1082" />
       <source>Compile Python File</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1497" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1488" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1088" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1495" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1486" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1086" />
       <source>Compile Current Editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1109" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1107" />
       <source>Download Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1116" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1114" />
       <source>Show Documentation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1119" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1117" />
       <source>Convert To UF2</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1120" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1118" />
       <source>Flash UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1123" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1121" />
       <source>Manage Unknown Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1126" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1124" />
       <source>Ignored Serial Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1129" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1127" />
       <source>Configure</source>
       <translation type="unfinished">配置</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1138" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1136" />
       <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1149" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1145" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1147" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1143" />
       <source>Device Version Information</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1150" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1148" />
       <source>No version information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1174" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1166" />
-      <source>unknown</source>
-      <translation type="unfinished">未知</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1180" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1178" />
       <source> ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1196" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1187" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1194" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1185" />
       <source>Device Implementation Information</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1188" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1186" />
       <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}{2}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1197" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1195" />
       <source>No device implementation information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1250" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1248" />
       <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1272" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1270" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1280" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1278" />
       <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1296" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1294" />
       <source>Device Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1308" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1306" />
       <source>Local Date and Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1309" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1307" />
       <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1350" />
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1333" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1348" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1331" />
       <source>Date and Time</source>
       <translation type="unfinished">日期和时间</translation>
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1334" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1332" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{0}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align='center'&gt;{1}&lt;/td&gt;&lt;td align='center'&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1351" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1349" />
       <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align='center'&gt;{0} {1}&lt;/td&gt;&lt;td align='center'&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1375" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1373" />
       <source>Error handling device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1376" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1374" />
       <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1418" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1416" />
       <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1444" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1442" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1454" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1452" />
       <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1463" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1461" />
       <source>'mpy-cross' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1489" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1487" />
       <source>The current editor does not contain a Python file. Aborting...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1581" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1579" />
       <source>Add Unknown Devices</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1582" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1580" />
       <source>Select the devices to be added:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1631" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1629" />
       <source>Plus any modules on the filesystem.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1683" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1681" />
       <source>Package '{0}' was installed successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonWidget.py" line="1698" />
+      <location filename="../MicroPython/MicroPythonWidget.py" line="1696" />
       <source>Enter the packages to be installed separated by whitespace:</source>
       <translation type="unfinished" />
     </message>
@@ -76256,43 +76275,43 @@
       <translation>清除历史</translation>
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="393" />
+      <location filename="../Debugger/StartDialog.py" line="406" />
       <location filename="../Debugger/StartDialog.py" line="176" />
       <source>Edit History</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="216" />
+      <location filename="../Debugger/StartDialog.py" line="226" />
       <source>Enter the list of programs or program patterns not to be debugged separated by '{0}'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="376" />
-      <source>Script Name</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="377" />
-      <source>Script Parameters</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="378" />
-      <source>Working Directory</source>
-      <translation type="unfinished">工作文件夹</translation>
-    </message>
-    <message>
-      <location filename="../Debugger/StartDialog.py" line="379" />
-      <source>Environment</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Debugger/StartDialog.py" line="389" />
+      <source>Script Name</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="390" />
+      <source>Script Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="391" />
+      <source>Working Directory</source>
+      <translation type="unfinished">工作文件夹</translation>
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="392" />
+      <source>Environment</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Debugger/StartDialog.py" line="402" />
       <source>No Debug Programs</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/StartDialog.py" line="394" />
+      <location filename="../Debugger/StartDialog.py" line="407" />
       <source>Select the history list to be edited:</source>
       <translation type="unfinished" />
     </message>
@@ -85156,183 +85175,183 @@
   <context>
     <name>TestingWidget</name>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="101" />
+      <location filename="../Testing/TestingWidget.py" line="104" />
       <source>Show Output...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="104" />
-      <source>Show the output of the test runner process</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="107" />
+      <source>Show the output of the test runner process</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="110" />
       <source>&lt;b&gt;Show Output...&lt;/b&lt;p&gt;This button opens a dialog containing the output of the test runner process of the most recent run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="115" />
-      <source>Show Coverage...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="118" />
-      <source>Show code coverage in a new dialog</source>
+      <source>Show Coverage...</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="121" />
+      <source>Show code coverage in a new dialog</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="124" />
       <source>&lt;b&gt;Show Coverage...&lt;/b&gt;&lt;p&gt;This button opens a dialog containing the collected code coverage data.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="129" />
-      <source>Start</source>
-      <translation type="unfinished">开始</translation>
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="132" />
+      <source>Start</source>
+      <translation type="unfinished">开始</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="135" />
       <source>Start the selected testsuite</source>
       <translation type="unfinished">开启所选测试套件</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="134" />
+      <location filename="../Testing/TestingWidget.py" line="137" />
       <source>&lt;b&gt;Start Test&lt;/b&gt;&lt;p&gt;This button starts the test run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="138" />
-      <source>Rerun Failed</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="141" />
-      <source>Reruns failed tests of the selected testsuite</source>
+      <source>Rerun Failed</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.py" line="144" />
+      <source>Reruns failed tests of the selected testsuite</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="147" />
       <source>&lt;b&gt;Rerun Failed&lt;/b&gt;&lt;p&gt;This button reruns all failed tests of the most recent test run.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="152" />
+      <location filename="../Testing/TestingWidget.py" line="155" />
       <source>Stop</source>
       <translation type="unfinished">中止</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="154" />
+      <location filename="../Testing/TestingWidget.py" line="157" />
       <source>Stop the running test</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="156" />
+      <location filename="../Testing/TestingWidget.py" line="159" />
       <source>&lt;b&gt;Stop Test&lt;/b&gt;&lt;p&gt;This button stops a running test.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Testing/TestingWidget.ui" line="0" />
-      <location filename="../Testing/TestingWidget.py" line="163" />
+      <location filename="../Testing/TestingWidget.py" line="166" />
       <source>Testing</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="171" />
+      <location filename="../Testing/TestingWidget.py" line="174" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="286" />
+      <location filename="../Testing/TestingWidget.py" line="289" />
       <source>{0} (not available)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="581" />
+      <location filename="../Testing/TestingWidget.py" line="584" />
       <source>Running</source>
       <translation type="unfinished">正在运行</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="639" />
+      <location filename="../Testing/TestingWidget.py" line="642" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="644" />
+      <location filename="../Testing/TestingWidget.py" line="647" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="802" />
+      <location filename="../Testing/TestingWidget.py" line="805" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="816" />
+      <location filename="../Testing/TestingWidget.py" line="819" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="825" />
-      <source>No version information available.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Testing/TestingWidget.py" line="828" />
+      <source>No version information available.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="831" />
       <source>Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="865" />
+      <location filename="../Testing/TestingWidget.py" line="868" />
       <source>Preparing Testsuite</source>
       <translation type="unfinished">准备测试套件</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="928" />
+      <location filename="../Testing/TestingWidget.py" line="931" />
       <source>pending</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Failure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="967" />
-      <location filename="../Testing/TestingWidget.py" line="960" />
+      <location filename="../Testing/TestingWidget.py" line="970" />
+      <location filename="../Testing/TestingWidget.py" line="963" />
       <source>Collection Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="968" />
+      <location filename="../Testing/TestingWidget.py" line="971" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="990" />
+      <location filename="../Testing/TestingWidget.py" line="993" />
       <source>running</source>
       <translation type="unfinished">运行中</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1041" />
+      <location filename="../Testing/TestingWidget.py" line="1044" />
       <source>Ran %n test(s) in {0}s</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1053" />
+      <location filename="../Testing/TestingWidget.py" line="1056" />
       <source>Ran %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1074" />
+      <location filename="../Testing/TestingWidget.py" line="1077" />
       <source>not run</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1117" />
+      <location filename="../Testing/TestingWidget.py" line="1120" />
       <source>Test Run Output</source>
       <translation type="unfinished" />
     </message>

eric ide

mercurial