MicroPython:

Sat, 07 Dec 2019 17:47:24 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 07 Dec 2019 17:47:24 +0100
changeset 7352
5f69f55b919f
parent 7348
79ae0af9558a
child 7353
caa2ccd5677c

MicroPython:
- added entries to the ESP menu to backup and restore a firmware

docs/changelog file | annotate | diff | comparison | revisions
eric6.e4p file | annotate | diff | comparison | revisions
eric6/APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
eric6/APIs/Python3/eric6.bas file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qch file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.MicroPython.EspBackupRestoreFirmwareDialog.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.MicroPython.EspDevices.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.ViewManager.ViewManager.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/index-eric6.MicroPython.html file | annotate | diff | comparison | revisions
eric6/MicroPython/EspBackupRestoreFirmwareDialog.py file | annotate | diff | comparison | revisions
eric6/MicroPython/EspBackupRestoreFirmwareDialog.ui file | annotate | diff | comparison | revisions
eric6/MicroPython/EspDevices.py file | annotate | diff | comparison | revisions
eric6/i18n/eric6_cs.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_de.qm file | annotate | diff | comparison | revisions
eric6/i18n/eric6_de.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_empty.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_en.qm file | annotate | diff | comparison | revisions
eric6/i18n/eric6_en.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_es.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_fr.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_it.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_pt.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_ru.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_tr.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_zh_CN.ts file | annotate | diff | comparison | revisions
--- a/docs/changelog	Thu Dec 05 19:44:27 2019 +0100
+++ b/docs/changelog	Sat Dec 07 17:47:24 2019 +0100
@@ -5,6 +5,7 @@
 - MicroPython
   -- added entries to the ESP menu to show the Chip ID, Flash ID and
      MAC Address
+  -- added entries to the ESP menu to backup and restore a firmware
 
 Version 19.12:
 - bug fixes
--- a/eric6.e4p	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6.e4p	Sat Dec 07 17:47:24 2019 +0100
@@ -247,6 +247,7 @@
     <Source>eric6/IconEditor/cursors/cursors_rc.py</Source>
     <Source>eric6/MicroPython/CircuitPythonDevices.py</Source>
     <Source>eric6/MicroPython/CircuitPythonFirmwareSelectionDialog.py</Source>
+    <Source>eric6/MicroPython/EspBackupRestoreFirmwareDialog.py</Source>
     <Source>eric6/MicroPython/EspDevices.py</Source>
     <Source>eric6/MicroPython/EspFirmwareSelectionDialog.py</Source>
     <Source>eric6/MicroPython/MicroPythonCommandsInterface.py</Source>
@@ -1584,6 +1585,7 @@
     <Form>eric6/HexEdit/HexEditSearchWidget.ui</Form>
     <Form>eric6/IconEditor/IconSizeDialog.ui</Form>
     <Form>eric6/MicroPython/CircuitPythonFirmwareSelectionDialog.ui</Form>
+    <Form>eric6/MicroPython/EspBackupRestoreFirmwareDialog.ui</Form>
     <Form>eric6/MicroPython/EspFirmwareSelectionDialog.ui</Form>
     <Form>eric6/MicroPython/MicroPythonFileManagerWidget.ui</Form>
     <Form>eric6/MicroPython/MicroPythonProgressInfoDialog.ui</Form>
@@ -2041,6 +2043,9 @@
     <Other>eric6/APIs/MicroPython/circuitpython.api</Other>
     <Other>eric6/APIs/MicroPython/microbit.api</Other>
     <Other>eric6/APIs/MicroPython/micropython.api</Other>
+    <Other>eric6/APIs/Python/zope-2.10.7.api</Other>
+    <Other>eric6/APIs/Python/zope-2.11.2.api</Other>
+    <Other>eric6/APIs/Python/zope-3.3.1.api</Other>
     <Other>eric6/APIs/Python3/PyQt4.bas</Other>
     <Other>eric6/APIs/Python3/PyQt5.bas</Other>
     <Other>eric6/APIs/Python3/PyQtChart.bas</Other>
@@ -2048,9 +2053,6 @@
     <Other>eric6/APIs/Python3/QScintilla2.bas</Other>
     <Other>eric6/APIs/Python3/eric6.api</Other>
     <Other>eric6/APIs/Python3/eric6.bas</Other>
-    <Other>eric6/APIs/Python/zope-2.10.7.api</Other>
-    <Other>eric6/APIs/Python/zope-2.11.2.api</Other>
-    <Other>eric6/APIs/Python/zope-3.3.1.api</Other>
     <Other>eric6/APIs/QSS/qss.api</Other>
     <Other>eric6/APIs/Ruby/Ruby-1.8.7.api</Other>
     <Other>eric6/APIs/Ruby/Ruby-1.8.7.bas</Other>
--- a/eric6/APIs/Python3/eric6.api	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/APIs/Python3/eric6.api	Sat Dec 07 17:47:24 2019 +0100
@@ -2238,6 +2238,12 @@
 eric6.MicroPython.CircuitPythonFirmwareSelectionDialog.CircuitPythonFirmwareSelectionDialog.on_firmwarePicker_textChanged?4(firmware)
 eric6.MicroPython.CircuitPythonFirmwareSelectionDialog.CircuitPythonFirmwareSelectionDialog.on_retestButton_clicked?4()
 eric6.MicroPython.CircuitPythonFirmwareSelectionDialog.CircuitPythonFirmwareSelectionDialog?1(parent=None)
+eric6.MicroPython.EspBackupRestoreFirmwareDialog.EspBackupRestoreFirmwareDialog.FlashModes?7
+eric6.MicroPython.EspBackupRestoreFirmwareDialog.EspBackupRestoreFirmwareDialog.FlashSizes?7
+eric6.MicroPython.EspBackupRestoreFirmwareDialog.EspBackupRestoreFirmwareDialog.getData?4()
+eric6.MicroPython.EspBackupRestoreFirmwareDialog.EspBackupRestoreFirmwareDialog.on_espComboBox_currentTextChanged?4(chip)
+eric6.MicroPython.EspBackupRestoreFirmwareDialog.EspBackupRestoreFirmwareDialog.on_firmwarePicker_textChanged?4(firmware)
+eric6.MicroPython.EspBackupRestoreFirmwareDialog.EspBackupRestoreFirmwareDialog?1(backupMode=True, parent=None)
 eric6.MicroPython.EspDevices.EspDevice.addDeviceMenuEntries?4(menu)
 eric6.MicroPython.EspDevices.EspDevice.canRunScript?4()
 eric6.MicroPython.EspDevices.EspDevice.canStartFileManager?4()
--- a/eric6/APIs/Python3/eric6.bas	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/APIs/Python3/eric6.bas	Sat Dec 07 17:47:24 2019 +0100
@@ -274,6 +274,7 @@
 EricdocExecDialog QDialog Ui_EricdocExecDialog
 EricdocPlugin QObject
 ErrorLogDialog QDialog Ui_ErrorLogDialog
+EspBackupRestoreFirmwareDialog QDialog Ui_EspBackupRestoreFirmwareDialog
 EspDevice MicroPythonDevice
 EspFirmwareSelectionDialog QDialog Ui_EspFirmwareSelectionDialog
 ExceptionLogger QTreeWidget
Binary file eric6/Documentation/Help/source.qch has changed
--- a/eric6/Documentation/Help/source.qhp	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/Documentation/Help/source.qhp	Sat Dec 07 17:47:24 2019 +0100
@@ -228,6 +228,7 @@
           <section title="eric6.MicroPython" ref="index-eric6.MicroPython.html">
             <section title="eric6.MicroPython.CircuitPythonDevices" ref="eric6.MicroPython.CircuitPythonDevices.html" />
             <section title="eric6.MicroPython.CircuitPythonFirmwareSelectionDialog" ref="eric6.MicroPython.CircuitPythonFirmwareSelectionDialog.html" />
+            <section title="eric6.MicroPython.EspBackupRestoreFirmwareDialog" ref="eric6.MicroPython.EspBackupRestoreFirmwareDialog.html" />
             <section title="eric6.MicroPython.EspDevices" ref="eric6.MicroPython.EspDevices.html" />
             <section title="eric6.MicroPython.EspFirmwareSelectionDialog" ref="eric6.MicroPython.EspFirmwareSelectionDialog.html" />
             <section title="eric6.MicroPython.MicroPythonCommandsInterface" ref="eric6.MicroPython.MicroPythonCommandsInterface.html" />
@@ -5347,13 +5348,25 @@
       <keyword name="ErrorLogDialog.on_deleteButton_clicked" id="ErrorLogDialog.on_deleteButton_clicked" ref="eric6.UI.ErrorLogDialog.html#ErrorLogDialog.on_deleteButton_clicked" />
       <keyword name="ErrorLogDialog.on_emailButton_clicked" id="ErrorLogDialog.on_emailButton_clicked" ref="eric6.UI.ErrorLogDialog.html#ErrorLogDialog.on_emailButton_clicked" />
       <keyword name="ErrorLogDialog.on_keepButton_clicked" id="ErrorLogDialog.on_keepButton_clicked" ref="eric6.UI.ErrorLogDialog.html#ErrorLogDialog.on_keepButton_clicked" />
+      <keyword name="EspBackupRestoreFirmwareDialog" id="EspBackupRestoreFirmwareDialog" ref="eric6.MicroPython.EspBackupRestoreFirmwareDialog.html#EspBackupRestoreFirmwareDialog" />
+      <keyword name="EspBackupRestoreFirmwareDialog (Constructor)" id="EspBackupRestoreFirmwareDialog (Constructor)" ref="eric6.MicroPython.EspBackupRestoreFirmwareDialog.html#EspBackupRestoreFirmwareDialog.__init__" />
+      <keyword name="EspBackupRestoreFirmwareDialog (Module)" id="EspBackupRestoreFirmwareDialog (Module)" ref="eric6.MicroPython.EspBackupRestoreFirmwareDialog.html" />
+      <keyword name="EspBackupRestoreFirmwareDialog.__updateOkButton" id="EspBackupRestoreFirmwareDialog.__updateOkButton" ref="eric6.MicroPython.EspBackupRestoreFirmwareDialog.html#EspBackupRestoreFirmwareDialog.__updateOkButton" />
+      <keyword name="EspBackupRestoreFirmwareDialog.getData" id="EspBackupRestoreFirmwareDialog.getData" ref="eric6.MicroPython.EspBackupRestoreFirmwareDialog.html#EspBackupRestoreFirmwareDialog.getData" />
+      <keyword name="EspBackupRestoreFirmwareDialog.on_espComboBox_currentTextChanged" id="EspBackupRestoreFirmwareDialog.on_espComboBox_currentTextChanged" ref="eric6.MicroPython.EspBackupRestoreFirmwareDialog.html#EspBackupRestoreFirmwareDialog.on_espComboBox_currentTextChanged" />
+      <keyword name="EspBackupRestoreFirmwareDialog.on_firmwarePicker_textChanged" id="EspBackupRestoreFirmwareDialog.on_firmwarePicker_textChanged" ref="eric6.MicroPython.EspBackupRestoreFirmwareDialog.html#EspBackupRestoreFirmwareDialog.on_firmwarePicker_textChanged" />
       <keyword name="EspDevice" id="EspDevice" ref="eric6.MicroPython.EspDevices.html#EspDevice" />
       <keyword name="EspDevice (Constructor)" id="EspDevice (Constructor)" ref="eric6.MicroPython.EspDevices.html#EspDevice.__init__" />
+      <keyword name="EspDevice.__backupFlash" id="EspDevice.__backupFlash" ref="eric6.MicroPython.EspDevices.html#EspDevice.__backupFlash" />
       <keyword name="EspDevice.__eraseFlash" id="EspDevice.__eraseFlash" ref="eric6.MicroPython.EspDevices.html#EspDevice.__eraseFlash" />
       <keyword name="EspDevice.__flashAddons" id="EspDevice.__flashAddons" ref="eric6.MicroPython.EspDevices.html#EspDevice.__flashAddons" />
       <keyword name="EspDevice.__flashMicroPython" id="EspDevice.__flashMicroPython" ref="eric6.MicroPython.EspDevices.html#EspDevice.__flashMicroPython" />
       <keyword name="EspDevice.__installEspTool" id="EspDevice.__installEspTool" ref="eric6.MicroPython.EspDevices.html#EspDevice.__installEspTool" />
       <keyword name="EspDevice.__resetDevice" id="EspDevice.__resetDevice" ref="eric6.MicroPython.EspDevices.html#EspDevice.__resetDevice" />
+      <keyword name="EspDevice.__restoreFlash" id="EspDevice.__restoreFlash" ref="eric6.MicroPython.EspDevices.html#EspDevice.__restoreFlash" />
+      <keyword name="EspDevice.__showChipID" id="EspDevice.__showChipID" ref="eric6.MicroPython.EspDevices.html#EspDevice.__showChipID" />
+      <keyword name="EspDevice.__showFlashID" id="EspDevice.__showFlashID" ref="eric6.MicroPython.EspDevices.html#EspDevice.__showFlashID" />
+      <keyword name="EspDevice.__showMACAddress" id="EspDevice.__showMACAddress" ref="eric6.MicroPython.EspDevices.html#EspDevice.__showMACAddress" />
       <keyword name="EspDevice.addDeviceMenuEntries" id="EspDevice.addDeviceMenuEntries" ref="eric6.MicroPython.EspDevices.html#EspDevice.addDeviceMenuEntries" />
       <keyword name="EspDevice.canRunScript" id="EspDevice.canRunScript" ref="eric6.MicroPython.EspDevices.html#EspDevice.canRunScript" />
       <keyword name="EspDevice.canStartFileManager" id="EspDevice.canStartFileManager" ref="eric6.MicroPython.EspDevices.html#EspDevice.canStartFileManager" />
@@ -18024,6 +18037,7 @@
       <file>eric6.IconEditor.IconSizeDialog.html</file>
       <file>eric6.MicroPython.CircuitPythonDevices.html</file>
       <file>eric6.MicroPython.CircuitPythonFirmwareSelectionDialog.html</file>
+      <file>eric6.MicroPython.EspBackupRestoreFirmwareDialog.html</file>
       <file>eric6.MicroPython.EspDevices.html</file>
       <file>eric6.MicroPython.EspFirmwareSelectionDialog.html</file>
       <file>eric6.MicroPython.MicroPythonCommandsInterface.html</file>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Documentation/Source/eric6.MicroPython.EspBackupRestoreFirmwareDialog.html	Sat Dec 07 17:47:24 2019 +0100
@@ -0,0 +1,176 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.MicroPython.EspBackupRestoreFirmwareDialog</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric6.MicroPython.EspBackupRestoreFirmwareDialog</h1>
+
+<p>
+Module implementing a dialog to select the ESP chip type and the backup and
+restore parameters.
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+
+<tr>
+<td><a href="#EspBackupRestoreFirmwareDialog">EspBackupRestoreFirmwareDialog</a></td>
+<td>Class implementing a dialog to select the ESP chip type and the backup and restore parameters.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr />
+<hr />
+<a NAME="EspBackupRestoreFirmwareDialog" ID="EspBackupRestoreFirmwareDialog"></a>
+<h2>EspBackupRestoreFirmwareDialog</h2>
+
+<p>
+    Class implementing a dialog to select the ESP chip type and the backup and
+    restore parameters.
+</p>
+<h3>Derived from</h3>
+QDialog, Ui_EspBackupRestoreFirmwareDialog
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>FlashModes</td></tr><tr><td>FlashSizes</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#EspBackupRestoreFirmwareDialog.__init__">EspBackupRestoreFirmwareDialog</a></td>
+<td>Constructor</td>
+</tr>
+<tr>
+<td><a href="#EspBackupRestoreFirmwareDialog.__updateOkButton">__updateOkButton</a></td>
+<td>Private method to update the state of the OK button.</td>
+</tr>
+<tr>
+<td><a href="#EspBackupRestoreFirmwareDialog.getData">getData</a></td>
+<td>Public method to get the entered data.</td>
+</tr>
+<tr>
+<td><a href="#EspBackupRestoreFirmwareDialog.on_espComboBox_currentTextChanged">on_espComboBox_currentTextChanged</a></td>
+<td>Private slot to handle the selection of a chip type.</td>
+</tr>
+<tr>
+<td><a href="#EspBackupRestoreFirmwareDialog.on_firmwarePicker_textChanged">on_firmwarePicker_textChanged</a></td>
+<td>Private slot handling a change of the firmware path.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<a NAME="EspBackupRestoreFirmwareDialog.__init__" ID="EspBackupRestoreFirmwareDialog.__init__"></a>
+<h4>EspBackupRestoreFirmwareDialog (Constructor)</h4>
+<b>EspBackupRestoreFirmwareDialog</b>(<i>backupMode=True, parent=None</i>)
+
+<p>
+        Constructor
+</p>
+<dl>
+
+<dt><i>backupMode</i> (bool)</dt>
+<dd>
+flag indicating parameters for a firmware backup are
+            requested
+</dd>
+<dt><i>parent</i> (QWidget)</dt>
+<dd>
+reference to the parent widget
+</dd>
+</dl>
+<a NAME="EspBackupRestoreFirmwareDialog.__updateOkButton" ID="EspBackupRestoreFirmwareDialog.__updateOkButton"></a>
+<h4>EspBackupRestoreFirmwareDialog.__updateOkButton</h4>
+<b>__updateOkButton</b>(<i></i>)
+
+<p>
+        Private method to update the state of the OK button.
+</p>
+<a NAME="EspBackupRestoreFirmwareDialog.getData" ID="EspBackupRestoreFirmwareDialog.getData"></a>
+<h4>EspBackupRestoreFirmwareDialog.getData</h4>
+<b>getData</b>(<i></i>)
+
+<p>
+        Public method to get the entered data.
+</p>
+<dl>
+<dt>Returns:</dt>
+<dd>
+tuple containing the selected chip type, the firmware size,
+            the flash mode and the path of the firmware file
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (str, str, str, str)
+</dd>
+</dl>
+<a NAME="EspBackupRestoreFirmwareDialog.on_espComboBox_currentTextChanged" ID="EspBackupRestoreFirmwareDialog.on_espComboBox_currentTextChanged"></a>
+<h4>EspBackupRestoreFirmwareDialog.on_espComboBox_currentTextChanged</h4>
+<b>on_espComboBox_currentTextChanged</b>(<i>chip</i>)
+
+<p>
+        Private slot to handle the selection of a chip type.
+</p>
+<dl>
+
+<dt><i>chip</i> (str)</dt>
+<dd>
+selected chip type
+</dd>
+</dl>
+<a NAME="EspBackupRestoreFirmwareDialog.on_firmwarePicker_textChanged" ID="EspBackupRestoreFirmwareDialog.on_firmwarePicker_textChanged"></a>
+<h4>EspBackupRestoreFirmwareDialog.on_firmwarePicker_textChanged</h4>
+<b>on_firmwarePicker_textChanged</b>(<i>firmware</i>)
+
+<p>
+        Private slot handling a change of the firmware path.
+</p>
+<dl>
+
+<dt><i>firmware</i> (str)</dt>
+<dd>
+path to the firmware
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- a/eric6/Documentation/Source/eric6.MicroPython.EspDevices.html	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/Documentation/Source/eric6.MicroPython.EspDevices.html	Sat Dec 07 17:47:24 2019 +0100
@@ -74,6 +74,10 @@
 <td>Constructor</td>
 </tr>
 <tr>
+<td><a href="#EspDevice.__backupFlash">__backupFlash</a></td>
+<td>Private slot to backup the currently flashed firmware.</td>
+</tr>
+<tr>
 <td><a href="#EspDevice.__eraseFlash">__eraseFlash</a></td>
 <td>Private slot to erase the device flash memory.</td>
 </tr>
@@ -94,6 +98,22 @@
 <td>Private slot to reset the connected device.</td>
 </tr>
 <tr>
+<td><a href="#EspDevice.__restoreFlash">__restoreFlash</a></td>
+<td>Private slot to restore a previously saved firmware.</td>
+</tr>
+<tr>
+<td><a href="#EspDevice.__showChipID">__showChipID</a></td>
+<td>Private slot to show the ID of the ESP chip.</td>
+</tr>
+<tr>
+<td><a href="#EspDevice.__showFlashID">__showFlashID</a></td>
+<td>Private slot to show the ID of the ESP flash chip.</td>
+</tr>
+<tr>
+<td><a href="#EspDevice.__showMACAddress">__showMACAddress</a></td>
+<td>Private slot to show the MAC address of the ESP chip.</td>
+</tr>
+<tr>
 <td><a href="#EspDevice.addDeviceMenuEntries">addDeviceMenuEntries</a></td>
 <td>Public method to add device specific entries to the given menu.</td>
 </tr>
@@ -162,6 +182,13 @@
 reference to the parent object
 </dd>
 </dl>
+<a NAME="EspDevice.__backupFlash" ID="EspDevice.__backupFlash"></a>
+<h4>EspDevice.__backupFlash</h4>
+<b>__backupFlash</b>(<i></i>)
+
+<p>
+        Private slot to backup the currently flashed firmware.
+</p>
 <a NAME="EspDevice.__eraseFlash" ID="EspDevice.__eraseFlash"></a>
 <h4>EspDevice.__eraseFlash</h4>
 <b>__eraseFlash</b>(<i></i>)
@@ -204,6 +231,34 @@
 <p>
         Private slot to reset the connected device.
 </p>
+<a NAME="EspDevice.__restoreFlash" ID="EspDevice.__restoreFlash"></a>
+<h4>EspDevice.__restoreFlash</h4>
+<b>__restoreFlash</b>(<i></i>)
+
+<p>
+        Private slot to restore a previously saved firmware.
+</p>
+<a NAME="EspDevice.__showChipID" ID="EspDevice.__showChipID"></a>
+<h4>EspDevice.__showChipID</h4>
+<b>__showChipID</b>(<i></i>)
+
+<p>
+        Private slot to show the ID of the ESP chip.
+</p>
+<a NAME="EspDevice.__showFlashID" ID="EspDevice.__showFlashID"></a>
+<h4>EspDevice.__showFlashID</h4>
+<b>__showFlashID</b>(<i></i>)
+
+<p>
+        Private slot to show the ID of the ESP flash chip.
+</p>
+<a NAME="EspDevice.__showMACAddress" ID="EspDevice.__showMACAddress"></a>
+<h4>EspDevice.__showMACAddress</h4>
+<b>__showMACAddress</b>(<i></i>)
+
+<p>
+        Private slot to show the MAC address of the ESP chip.
+</p>
 <a NAME="EspDevice.addDeviceMenuEntries" ID="EspDevice.addDeviceMenuEntries"></a>
 <h4>EspDevice.addDeviceMenuEntries</h4>
 <b>addDeviceMenuEntries</b>(<i>menu</i>)
--- a/eric6/Documentation/Source/eric6.ViewManager.ViewManager.html	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/Documentation/Source/eric6.ViewManager.ViewManager.html	Sat Dec 07 17:47:24 2019 +0100
@@ -2989,13 +2989,13 @@
 </p>
 <dl>
 
-<dt><i>old</i></dt>
-<dd>
-reference to the widget loosing focus (QWidget)
-</dd>
-<dt><i>now</i></dt>
-<dd>
-reference to the widget gaining focus (QWidget)
+<dt><i>old</i> (QWidget)</dt>
+<dd>
+reference to the widget loosing focus
+</dd>
+<dt><i>now</i> (QWidget)</dt>
+<dd>
+reference to the widget gaining focus
 </dd>
 </dl>
 <a NAME="ViewManager.canCascade" ID="ViewManager.canCascade"></a>
--- a/eric6/Documentation/Source/index-eric6.MicroPython.html	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/Documentation/Source/index-eric6.MicroPython.html	Sat Dec 07 17:47:24 2019 +0100
@@ -38,6 +38,10 @@
 <td>Module implementing a dialog to enter the firmware flashing data.</td>
 </tr>
 <tr>
+<td><a href="eric6.MicroPython.EspBackupRestoreFirmwareDialog.html">EspBackupRestoreFirmwareDialog</a></td>
+<td>Module implementing a dialog to select the ESP chip type and the backup and restore parameters.</td>
+</tr>
+<tr>
 <td><a href="eric6.MicroPython.EspDevices.html">EspDevices</a></td>
 <td>Module implementing some utility functions and the MicroPythonDevice base class.</td>
 </tr>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/MicroPython/EspBackupRestoreFirmwareDialog.py	Sat Dec 07 17:47:24 2019 +0100
@@ -0,0 +1,136 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2019 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing a dialog to select the ESP chip type and the backup and
+restore parameters.
+"""
+
+import os
+
+from PyQt5.QtCore import pyqtSlot
+from PyQt5.QtWidgets import QDialog, QDialogButtonBox
+
+from E5Gui.E5PathPicker import E5PathPickerModes
+
+from .Ui_EspBackupRestoreFirmwareDialog import (
+    Ui_EspBackupRestoreFirmwareDialog
+)
+
+
+class EspBackupRestoreFirmwareDialog(QDialog,
+                                     Ui_EspBackupRestoreFirmwareDialog):
+    """
+    Class implementing a dialog to select the ESP chip type and the backup and
+    restore parameters.
+    """
+    FlashModes = ["qio", "qout", "dio", "dout"]
+    FlashSizes = {
+        "ESP32": [
+            (" 1 MB", "0x100000"),
+            (" 2 MB", "0x200000"),
+            (" 4 MB", "0x400000"),
+            (" 8 MB", "0x800000"),
+            ("16 MB", "0x1000000"),
+        ],
+        "ESP8266": [
+            ("256 KB", "0x40000"),
+            ("512 KB", "0x80000"),
+            (" 1 MB", "0x100000"),
+            (" 2 MB", "0x200000"),
+            (" 4 MB", "0x400000"),
+            (" 8 MB", "0x800000"),
+            ("16 MB", "0x1000000"),
+        ],
+    }
+    
+    def __init__(self, backupMode=True, parent=None):
+        """
+        Constructor
+        
+        @param backupMode flag indicating parameters for a firmware backup are
+            requested
+        @type bool
+        @param parent reference to the parent widget
+        @type QWidget
+        """
+        super(EspBackupRestoreFirmwareDialog, self).__init__(parent)
+        self.setupUi(self)
+        
+        self.__isBackupMode = backupMode
+        
+        self.espComboBox.addItems(["", "ESP32", "ESP8266"])
+        
+        self.firmwarePicker.setFilters(
+            self.tr("Firmware Files (*.img);;All Files (*)"))
+        if self.__isBackupMode:
+            self.firmwarePicker.setMode(
+                E5PathPickerModes.SaveFileEnsureExtensionMode)
+            self.modeComboBox.setEnabled(False)
+            self.setWindowTitle(self.tr("Backup Firmware"))
+        else:
+            self.firmwarePicker.setMode(E5PathPickerModes.OpenFileMode)
+            self.modeComboBox.addItems(self.FlashModes)
+            self.setWindowTitle(self.tr("Restore Firmware"))
+        
+        msh = self.minimumSizeHint()
+        self.resize(max(self.width(), msh.width()), msh.height())
+    
+    def __updateOkButton(self):
+        """
+        Private method to update the state of the OK button.
+        """
+        firmwareFile = self.firmwarePicker.text()
+        enable = (bool(self.espComboBox.currentText()) and
+                  bool(firmwareFile))
+        if self.__isBackupMode:
+            enable &= bool(self.sizeComboBox.currentText())
+        else:
+            enable &= os.path.exists(firmwareFile)
+        self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(enable)
+    
+    @pyqtSlot(str)
+    def on_espComboBox_currentTextChanged(self, chip):
+        """
+        Private slot to handle the selection of a chip type.
+        
+        @param chip selected chip type
+        @type str
+        """
+        selectedSize = self.sizeComboBox.currentText()
+        self.sizeComboBox.clear()
+        if chip and chip in self.FlashSizes:
+            self.sizeComboBox.addItem("")
+            for text, data in self.FlashSizes[chip]:
+                self.sizeComboBox.addItem(text, data)
+            
+            self.sizeComboBox.setCurrentText(selectedSize)
+        
+        self.__updateOkButton()
+    
+    @pyqtSlot(str)
+    def on_firmwarePicker_textChanged(self, firmware):
+        """
+        Private slot handling a change of the firmware path.
+        
+        @param firmware path to the firmware
+        @type str
+        """
+        self.__updateOkButton()
+    
+    def getData(self):
+        """
+        Public method to get the entered data.
+        
+        @return tuple containing the selected chip type, the firmware size,
+            the flash mode and the path of the firmware file
+        @rtype tuple of (str, str, str, str)
+        """
+        return (
+            self.espComboBox.currentText().lower(),
+            self.sizeComboBox.currentData(),
+            self.modeComboBox.currentText(),
+            self.firmwarePicker.text(),
+        )
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/MicroPython/EspBackupRestoreFirmwareDialog.ui	Sat Dec 07 17:47:24 2019 +0100
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>EspBackupRestoreFirmwareDialog</class>
+ <widget class="QDialog" name="EspBackupRestoreFirmwareDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>500</width>
+    <height>166</height>
+   </rect>
+  </property>
+  <property name="sizeGripEnabled">
+   <bool>true</bool>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <layout class="QGridLayout" name="gridLayout">
+     <item row="0" column="0">
+      <widget class="QLabel" name="label">
+       <property name="text">
+        <string>ESP Chip Type:</string>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="1">
+      <widget class="QComboBox" name="espComboBox">
+       <property name="toolTip">
+        <string>Select the ESP chip type</string>
+       </property>
+       <property name="sizeAdjustPolicy">
+        <enum>QComboBox::AdjustToContents</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="2">
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>268</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item row="1" column="0">
+      <widget class="QLabel" name="label_2">
+       <property name="text">
+        <string>Firmware Size:</string>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="1">
+      <widget class="QComboBox" name="sizeComboBox">
+       <property name="toolTip">
+        <string>Select the firmware size</string>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="0">
+      <widget class="QLabel" name="label_3">
+       <property name="toolTip">
+        <string/>
+       </property>
+       <property name="text">
+        <string>Flashmode:</string>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="1">
+      <widget class="QComboBox" name="modeComboBox">
+       <property name="toolTip">
+        <string>Select the flash mode</string>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="0">
+      <widget class="QLabel" name="label_4">
+       <property name="text">
+        <string>Firmware:</string>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="1" colspan="2">
+      <widget class="E5PathPicker" name="firmwarePicker" native="true">
+       <property name="focusPolicy">
+        <enum>Qt::WheelFocus</enum>
+       </property>
+       <property name="toolTip">
+        <string>Enter the path of the firmware file</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>E5PathPicker</class>
+   <extends>QWidget</extends>
+   <header>E5Gui/E5PathPicker.h</header>
+   <container>1</container>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>accepted()</signal>
+   <receiver>EspBackupRestoreFirmwareDialog</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>248</x>
+     <y>254</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>157</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>rejected()</signal>
+   <receiver>EspBackupRestoreFirmwareDialog</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>316</x>
+     <y>260</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>286</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
--- a/eric6/MicroPython/EspDevices.py	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/MicroPython/EspDevices.py	Sat Dec 07 17:47:24 2019 +0100
@@ -24,13 +24,6 @@
 import Preferences
 
 
-# TODO: add backupFlash: python ./esptool.py --port /dev/ttyUSB4 --baud 115200 read_flash 0x00000 0x400000 backup.img
-#       selection of sizes: 1MB, 2MB, 4MB, 8MB, 16M (0x100000, 0x200000, 0x400000, 0x800000, 0x1000000)
-#       ESP8266: 256KB, 512KB (0x40000, 0x80000)
-# TODO: add restoreFlash: python esptool.py --port /dev/ttyUSB4 write_flash --flash_mode qio 0x00000 backup.img
-#       alternative modes for --flash_mode: qio,qout,dio,dout
-#       optional: --flash_size 1MB, 2MB, 4MB, 8MB, 16M (ESP8266 zusätzlich 256KB, 512KB)
-
 class EspDevice(MicroPythonDevice):
     """
     Class implementing the device for ESP32 and ESP8266 based boards.
@@ -143,6 +136,13 @@
                              self.__flashAddons)
         act.setEnabled(not connected)
         menu.addSeparator()
+        act = menu.addAction(self.tr("Backup Firmware"),
+                             self.__backupFlash)
+        act.setEnabled(not connected)
+        act = menu.addAction(self.tr("Restore Firmware"),
+                             self.__restoreFlash)
+        act.setEnabled(not connected)
+        menu.addSeparator()
         act = menu.addAction(self.tr("Show Chip ID"),
                              self.__showChipID)
         act.setEnabled(not connected)
@@ -238,6 +238,65 @@
                 dlg.exec_()
     
     @pyqtSlot()
+    def __backupFlash(self):
+        """
+        Private slot to backup the currently flashed firmware.
+        """
+        from .EspBackupRestoreFirmwareDialog import (
+            EspBackupRestoreFirmwareDialog
+        )
+        dlg = EspBackupRestoreFirmwareDialog(backupMode=True)
+        if dlg.exec_() == QDialog.Accepted:
+            chip, flashSize, flashMode, firmware = dlg.getData()
+            flashArgs = [
+                "-u",
+                "-m", "esptool",
+                "--chip", chip,
+                "--port", self.microPython.getCurrentPort(),
+                "read_flash",
+                "0x0", flashSize,
+                firmware,
+            ]
+            dlg = E5ProcessDialog(self.tr("'esptool read_flash' Output"),
+                                  self.tr("Backup Firmware"))
+            res = dlg.startProcess(sys.executable, flashArgs)
+            if res:
+                dlg.exec_()
+    
+    @pyqtSlot()
+    def __restoreFlash(self):
+        """
+        Private slot to restore a previously saved firmware.
+        """
+        from .EspBackupRestoreFirmwareDialog import (
+            EspBackupRestoreFirmwareDialog
+        )
+        dlg = EspBackupRestoreFirmwareDialog(backupMode=False)
+        if dlg.exec_() == QDialog.Accepted:
+            chip, flashSize, flashMode, firmware = dlg.getData()
+            flashArgs = [
+                "-u",
+                "-m", "esptool",
+                "--chip", chip,
+                "--port", self.microPython.getCurrentPort(),
+                "write_flash",
+                "--flash_mode", flashMode,
+            ]
+            if bool(flashSize):
+                flashArgs.extend([
+                    "--flash_size", flashSize,
+                ])
+            flashArgs.extend([
+                "0x0",
+                firmware,
+            ])
+            dlg = E5ProcessDialog(self.tr("'esptool write_flash' Output"),
+                                  self.tr("Restore Firmware"))
+            res = dlg.startProcess(sys.executable, flashArgs)
+            if res:
+                dlg.exec_()
+    
+    @pyqtSlot()
     def __showChipID(self):
         """
         Private slot to show the ID of the ESP chip.
--- a/eric6/i18n/eric6_cs.ts	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/i18n/eric6_cs.ts	Sat Dec 07 17:47:24 2019 +0100
@@ -10968,927 +10968,927 @@
 <context>
     <name>Editor</name>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>Open File</source>
         <translation>Otevřít soubor</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="778"/>
+        <location filename="../QScintilla/Editor.py" line="779"/>
         <source>Undo</source>
         <translation>Vrátit</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="781"/>
+        <location filename="../QScintilla/Editor.py" line="782"/>
         <source>Redo</source>
         <translation>Znovu použít</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="784"/>
+        <location filename="../QScintilla/Editor.py" line="785"/>
         <source>Revert to last saved state</source>
         <translation>Vrátit k poslednímu uloženému stavu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="788"/>
+        <location filename="../QScintilla/Editor.py" line="789"/>
         <source>Cut</source>
         <translation>Vyjmout</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="791"/>
+        <location filename="../QScintilla/Editor.py" line="792"/>
         <source>Copy</source>
         <translation>Kopírovat</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="794"/>
+        <location filename="../QScintilla/Editor.py" line="795"/>
         <source>Paste</source>
         <translation>Vložit</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="802"/>
+        <location filename="../QScintilla/Editor.py" line="803"/>
         <source>Indent</source>
         <translation>Odsadit</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="805"/>
+        <location filename="../QScintilla/Editor.py" line="806"/>
         <source>Unindent</source>
         <translation>Zrušit odsazení</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="808"/>
+        <location filename="../QScintilla/Editor.py" line="809"/>
         <source>Comment</source>
         <translation>Vytvořit komentář</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="811"/>
+        <location filename="../QScintilla/Editor.py" line="812"/>
         <source>Uncomment</source>
         <translation>Zrušit komentář</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="814"/>
+        <location filename="../QScintilla/Editor.py" line="815"/>
         <source>Stream Comment</source>
         <translation>Proudový komentář</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="817"/>
+        <location filename="../QScintilla/Editor.py" line="818"/>
         <source>Box Comment</source>
         <translation>Obdélníkový komentář</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="821"/>
+        <location filename="../QScintilla/Editor.py" line="822"/>
         <source>Select to brace</source>
         <translation>Vybrat až po závorku</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="823"/>
-        <source>Select all</source>
-        <translation>Vybrat vše</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="824"/>
+        <source>Select all</source>
+        <translation>Vybrat vše</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="825"/>
         <source>Deselect all</source>
         <translation>Zrušit celý výběr</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="842"/>
+        <location filename="../QScintilla/Editor.py" line="843"/>
         <source>Shorten empty lines</source>
         <translation>Zkrátit prázdné řádky</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="849"/>
+        <location filename="../QScintilla/Editor.py" line="850"/>
         <source>Use Monospaced Font</source>
         <translation>Použít neporoporcionální font</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="854"/>
+        <location filename="../QScintilla/Editor.py" line="855"/>
         <source>Autosave enabled</source>
         <translation>Zapnout autosave</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="897"/>
+        <location filename="../QScintilla/Editor.py" line="898"/>
         <source>Close</source>
         <translation>Zavřít</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="903"/>
+        <location filename="../QScintilla/Editor.py" line="904"/>
         <source>Save</source>
         <translation>Uložit</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="906"/>
+        <location filename="../QScintilla/Editor.py" line="907"/>
         <source>Save As...</source>
         <translation>Uložit jako...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="922"/>
+        <location filename="../QScintilla/Editor.py" line="923"/>
         <source>Print</source>
         <translation>Tisk</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="951"/>
+        <location filename="../QScintilla/Editor.py" line="952"/>
         <source>Complete from Document</source>
         <translation type="unfinished">z dokumentu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="953"/>
+        <location filename="../QScintilla/Editor.py" line="954"/>
         <source>Complete from APIs</source>
         <translation type="unfinished">z API</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="955"/>
+        <location filename="../QScintilla/Editor.py" line="956"/>
         <source>Complete from Document and APIs</source>
         <translation type="unfinished">z dokumentu a API</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="969"/>
+        <location filename="../QScintilla/Editor.py" line="970"/>
         <source>Check</source>
         <translation>Zkontrolovat</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="989"/>
+        <location filename="../QScintilla/Editor.py" line="990"/>
         <source>Show</source>
         <translation>Zobrazit</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="991"/>
-        <source>Code metrics...</source>
-        <translation>Metrika kódu...</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="992"/>
+        <source>Code metrics...</source>
+        <translation>Metrika kódu...</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="993"/>
         <source>Code coverage...</source>
         <translation>Pokrytí kódu...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="994"/>
+        <location filename="../QScintilla/Editor.py" line="995"/>
         <source>Show code coverage annotations</source>
         <translation>Zobrazit poznámky pokrytí kódu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="997"/>
+        <location filename="../QScintilla/Editor.py" line="998"/>
         <source>Hide code coverage annotations</source>
         <translation>Skrýt poznámky pokrytí kódu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1000"/>
+        <location filename="../QScintilla/Editor.py" line="1001"/>
         <source>Profile data...</source>
         <translation>Profilovat data...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1013"/>
+        <location filename="../QScintilla/Editor.py" line="1014"/>
         <source>Diagrams</source>
         <translation>Diagramy</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1015"/>
+        <location filename="../QScintilla/Editor.py" line="1016"/>
         <source>Class Diagram...</source>
         <translation>Diagram třídy...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1017"/>
+        <location filename="../QScintilla/Editor.py" line="1018"/>
         <source>Package Diagram...</source>
         <translation>Diagram balíčku...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1019"/>
+        <location filename="../QScintilla/Editor.py" line="1020"/>
         <source>Imports Diagram...</source>
         <translation>Diagram importů...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1021"/>
+        <location filename="../QScintilla/Editor.py" line="1022"/>
         <source>Application Diagram...</source>
         <translation>Diagram aplikace...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1039"/>
+        <location filename="../QScintilla/Editor.py" line="1040"/>
         <source>Languages</source>
         <translation>Jazyky</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1172"/>
+        <location filename="../QScintilla/Editor.py" line="1173"/>
         <source>No Language</source>
         <translation>Žádný jazyk</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1219"/>
+        <location filename="../QScintilla/Editor.py" line="1220"/>
         <source>Toggle bookmark</source>
         <translation>Přepnout záložku</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1221"/>
+        <location filename="../QScintilla/Editor.py" line="1222"/>
         <source>Next bookmark</source>
         <translation>Následující záložka</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1223"/>
+        <location filename="../QScintilla/Editor.py" line="1224"/>
         <source>Previous bookmark</source>
         <translation>Předchozí záložka</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1225"/>
+        <location filename="../QScintilla/Editor.py" line="1226"/>
         <source>Clear all bookmarks</source>
         <translation>Zrušit všechny záložky</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1299"/>
+        <location filename="../QScintilla/Editor.py" line="1300"/>
         <source>Goto syntax error</source>
         <translation>Jít na chybu syntaxe</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1303"/>
+        <location filename="../QScintilla/Editor.py" line="1304"/>
         <source>Show syntax error message</source>
         <translation>Zobrazit hlášení syntaktické chyby</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1308"/>
+        <location filename="../QScintilla/Editor.py" line="1309"/>
         <source>Clear syntax error</source>
         <translation>Zrušit chybu syntaxe</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1234"/>
+        <location filename="../QScintilla/Editor.py" line="1235"/>
         <source>Toggle breakpoint</source>
         <translation>Přepnout breakpoint</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1236"/>
+        <location filename="../QScintilla/Editor.py" line="1237"/>
         <source>Toggle temporary breakpoint</source>
         <translation>Přepnout dočasný breakpoint</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1239"/>
+        <location filename="../QScintilla/Editor.py" line="1240"/>
         <source>Edit breakpoint...</source>
         <translation>Editovat breakpoint...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5606"/>
+        <location filename="../QScintilla/Editor.py" line="5607"/>
         <source>Enable breakpoint</source>
         <translation>Aktivovat breakpoint</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1244"/>
+        <location filename="../QScintilla/Editor.py" line="1245"/>
         <source>Next breakpoint</source>
         <translation>Následující breakpoint</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1246"/>
+        <location filename="../QScintilla/Editor.py" line="1247"/>
         <source>Previous breakpoint</source>
         <translation>Předchozí breakpoint</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1251"/>
+        <location filename="../QScintilla/Editor.py" line="1252"/>
         <source>Clear all breakpoints</source>
         <translation>Zrušit všechny breakpointy</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1330"/>
+        <location filename="../QScintilla/Editor.py" line="1331"/>
         <source>Next uncovered line</source>
         <translation>Následující odkrytá řádka</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1334"/>
+        <location filename="../QScintilla/Editor.py" line="1335"/>
         <source>Previous uncovered line</source>
         <translation>Předchozí odkrytá řádka</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1339"/>
+        <location filename="../QScintilla/Editor.py" line="1340"/>
         <source>Next task</source>
         <translation>Následující úloha</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1343"/>
+        <location filename="../QScintilla/Editor.py" line="1344"/>
         <source>Previous task</source>
         <translation>Předchozí úloha</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>Modification of Read Only file</source>
         <translation>Modifikace souboru otevřeného jen pro čtení</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>You are attempting to change a read only file. Please save to a different file first.</source>
         <translation>Pokoušíte se změnit soubor, který je otevřen jen pro čtení. Prosím, uložte jej nejdříve do jiného souboru.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2662"/>
+        <location filename="../QScintilla/Editor.py" line="2663"/>
         <source>Printing...</source>
         <translation>Tisk...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2679"/>
+        <location filename="../QScintilla/Editor.py" line="2680"/>
         <source>Printing completed</source>
         <translation>Tisk je hotov</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2681"/>
+        <location filename="../QScintilla/Editor.py" line="2682"/>
         <source>Error while printing</source>
         <translation>Chyba během tisku</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2684"/>
+        <location filename="../QScintilla/Editor.py" line="2685"/>
         <source>Printing aborted</source>
         <translation>Tisk byl zrušen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>Save File</source>
         <translation>Uložit soubor</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>File Modified</source>
         <translation>Soubor je modifikován</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion</source>
         <translation>Autodoplňování</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion is not available because there is no autocompletion source set.</source>
         <translation>Autodoplňování není dostupné protože zdrojová část autodoplňování nebyla nalezena.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5609"/>
+        <location filename="../QScintilla/Editor.py" line="5610"/>
         <source>Disable breakpoint</source>
         <translation>Deaktivovat breakpoint</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Code Coverage</source>
         <translation>Pokrytí kódu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Please select a coverage file</source>
         <translation>Prosím, vyberte soubor s pokrytím kódu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>Show Code Coverage Annotations</source>
         <translation>Zobrazit poznámky pokrytí kódu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6040"/>
+        <location filename="../QScintilla/Editor.py" line="6041"/>
         <source>All lines have been covered.</source>
         <translation>Všechny řádky byly pokryty.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>There is no coverage file available.</source>
         <translation>Soubor s pokrytím není dostupný.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Profile Data</source>
         <translation>Profilovat data</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Please select a profile file</source>
         <translation>Prosím, vyberte soubor s profilem</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>Syntax Error</source>
         <translation>Chyba syntaxe</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>No syntax error message available.</source>
         <translation>Hlášení syntaktické chyby není dostupné.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Macro Name</source>
         <translation>Název makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Select a macro name:</source>
         <translation>Vyberte název makra:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6745"/>
+        <location filename="../QScintilla/Editor.py" line="6746"/>
         <source>Load macro file</source>
         <translation>Načíst soubor makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Macro files (*.macro)</source>
         <translation>Macro soubory (*.macro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>Error loading macro</source>
         <translation>Chyba při načítání makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Save macro file</source>
         <translation>Uložit soubor s makrem</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>Save macro</source>
         <translation>Uložit makro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>Error saving macro</source>
         <translation>Chyba při ukládání makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Start Macro Recording</source>
         <translation>Spustit záznam makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Macro recording is already active. Start new?</source>
         <translation>Nahrávání makra již probíhá. Spustit nové?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Macro Recording</source>
         <translation>Záznam makra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Enter name of the macro:</source>
         <translation>Vložte název makra:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7000"/>
+        <location filename="../QScintilla/Editor.py" line="7001"/>
         <source>File changed</source>
         <translation>Soubor změněn</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>Drop Error</source>
         <translation>Zahodit chybu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7327"/>
+        <location filename="../QScintilla/Editor.py" line="7328"/>
         <source>Resources</source>
         <translation>Zdroje</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7329"/>
+        <location filename="../QScintilla/Editor.py" line="7330"/>
         <source>Add file...</source>
         <translation>Přidat soubor...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7331"/>
+        <location filename="../QScintilla/Editor.py" line="7332"/>
         <source>Add files...</source>
         <translation>Přidat soubory...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7333"/>
+        <location filename="../QScintilla/Editor.py" line="7334"/>
         <source>Add aliased file...</source>
         <translation>Přidat zástupce souboru...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7336"/>
+        <location filename="../QScintilla/Editor.py" line="7337"/>
         <source>Add localized resource...</source>
         <translation>Přidat lokalizované resource...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7340"/>
+        <location filename="../QScintilla/Editor.py" line="7341"/>
         <source>Add resource frame</source>
         <translation>Přidat resource frame</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7359"/>
+        <location filename="../QScintilla/Editor.py" line="7360"/>
         <source>Add file resource</source>
         <translation>Přidat soubor resource</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7375"/>
+        <location filename="../QScintilla/Editor.py" line="7376"/>
         <source>Add file resources</source>
         <translation>Přidat soubory resource</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Add aliased file resource</source>
         <translation>Přidat zástupce souboru resource</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Package Diagram</source>
         <translation>Diagram balíčku</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Include class attributes?</source>
         <translation>Včetně atributů třídy?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Application Diagram</source>
         <translation>Diagram aplikace</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Include module names?</source>
         <translation>Včetně jmen modulů?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1197"/>
+        <location filename="../QScintilla/Editor.py" line="1198"/>
         <source>Export as</source>
         <translation>Exportovat jako</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>Export source</source>
         <translation>Export zdroj</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>No export format given. Aborting...</source>
         <translation>Nebyl zadán forám exportu. Zrušeno....</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Imports Diagram</source>
         <translation>Importovat diagram</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Include imports from external modules?</source>
         <translation>Zahrnout importy z externích modulů?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="873"/>
+        <location filename="../QScintilla/Editor.py" line="874"/>
         <source>Calltip</source>
         <translation>Rychlé tipy</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="919"/>
+        <location filename="../QScintilla/Editor.py" line="920"/>
         <source>Print Preview</source>
         <translation>Náhled tisku</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="453"/>
+        <location filename="../QScintilla/Editor.py" line="454"/>
         <source>&lt;b&gt;A Source Editor Window&lt;/b&gt;&lt;p&gt;This window is used to display and edit a source file.  You can open as many of these as you like. The name of the file is displayed in the window&apos;s titlebar.&lt;/p&gt;&lt;p&gt;In order to set breakpoints just click in the space between the line numbers and the fold markers. Via the context menu of the margins they may be edited.&lt;/p&gt;&lt;p&gt;In order to set bookmarks just Shift click in the space between the line numbers and the fold markers.&lt;/p&gt;&lt;p&gt;These actions can be reversed via the context menu.&lt;/p&gt;&lt;p&gt;Ctrl clicking on a syntax error marker shows some info about this error.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Okno editoru zdrojového kódu&lt;/b&gt;&lt;p&gt;V tomto okně se zobrazuje a edituje soubor se zdrojovým kódem. Můžete otevřít oken podle libosti. Jméno souboru se zobrazuje v titlebaru okna.&lt;/p&gt;&lt;p&gt;Kliknutím do prostoru mezi čísly řádku a značkami skládání nastavíte breakpoint. Přes kontextové menu je pak lze editovat.&lt;/p&gt;&lt;p&gt;Záložka se vkládá kliknutím na stejné místo se stisknutou klávesou Shift.&lt;/p&gt;&lt;p&gt;Tyto akce mohou být navráceny zpět i opětovným kliknutím nebo přes kontextové menu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="858"/>
+        <location filename="../QScintilla/Editor.py" line="859"/>
         <source>Typing aids enabled</source>
         <translation>Pomůcky při psaní zapnuty</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1129"/>
+        <location filename="../QScintilla/Editor.py" line="1130"/>
         <source>End-of-Line Type</source>
         <translation>Typ Konec-řádku</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1133"/>
+        <location filename="../QScintilla/Editor.py" line="1134"/>
         <source>Unix</source>
         <translation>Unix</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1140"/>
+        <location filename="../QScintilla/Editor.py" line="1141"/>
         <source>Windows</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1147"/>
+        <location filename="../QScintilla/Editor.py" line="1148"/>
         <source>Macintosh</source>
         <translation>Macintosh</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1088"/>
+        <location filename="../QScintilla/Editor.py" line="1089"/>
         <source>Encodings</source>
         <translation>Kódování</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1068"/>
+        <location filename="../QScintilla/Editor.py" line="1069"/>
         <source>Guessed</source>
         <translation>Odhadem</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1408"/>
+        <location filename="../QScintilla/Editor.py" line="1409"/>
         <source>Alternatives</source>
         <translation>Alternativy</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Pygments Lexer</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Select the Pygments lexer to apply.</source>
         <translation>Použít Pygments lexer.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7833"/>
+        <location filename="../QScintilla/Editor.py" line="7834"/>
         <source>Check spelling...</source>
         <translation>Zatrhnout kontrolu...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="832"/>
+        <location filename="../QScintilla/Editor.py" line="833"/>
         <source>Check spelling of selection...</source>
         <translation>Zatrhnout výběr kontroly...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7836"/>
+        <location filename="../QScintilla/Editor.py" line="7837"/>
         <source>Add to dictionary</source>
         <translation>Přidat do slovníku</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7838"/>
+        <location filename="../QScintilla/Editor.py" line="7839"/>
         <source>Ignore All</source>
         <translation>Ignorovat vše</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="836"/>
+        <location filename="../QScintilla/Editor.py" line="837"/>
         <source>Remove from dictionary</source>
         <translation>Odebrat ze slovníku</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="364"/>
+        <location filename="../QScintilla/Editor.py" line="365"/>
         <source>&lt;p&gt;The size of the file &lt;b&gt;{0}&lt;/b&gt; is &lt;b&gt;{1} KB&lt;/b&gt;. Do you really want to load it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Velikost souboru &lt;b&gt;{0}&lt;/b&gt; je &lt;b&gt;{1} KB&lt;/b&gt;. Opravdu jej chcete načíst?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1385"/>
+        <location filename="../QScintilla/Editor.py" line="1386"/>
         <source>&lt;p&gt;No exporter available for the export format &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Pro formát exportu &lt;b&gt;{0}&lt;/b&gt; není exportér dostupný. Zrušeno.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1404"/>
+        <location filename="../QScintilla/Editor.py" line="1405"/>
         <source>Alternatives ({0})</source>
         <translation>Alternativy ({0})</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has unsaved changes.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; obsahuje neuložené změny.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be opened.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; nemůže být přejmenován.&lt;br /&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3231"/>
+        <location filename="../QScintilla/Editor.py" line="3232"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be saved.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; nemůže být přejmenován.&lt;br /&gt;Důvod: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6759"/>
+        <location filename="../QScintilla/Editor.py" line="6760"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s makrem &lt;b&gt;{0}&lt;/b&gt; nelze načíst.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Soubor s makrem &lt;b&gt;{0}&lt;/b&gt; je poškozen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;So souboru s makrem &lt;b&gt;{0}&lt;/b&gt; nelze zapisovat.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7165"/>
+        <location filename="../QScintilla/Editor.py" line="7166"/>
         <source>{0} (ro)</source>
         <translation>{0} (ro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; není soubor.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
         <translation>Zástupce pro soubor &lt;b&gt;{0}&lt;/b&gt;:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1313"/>
+        <location filename="../QScintilla/Editor.py" line="1314"/>
         <source>Next warning</source>
         <translation>Následující varování</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1317"/>
+        <location filename="../QScintilla/Editor.py" line="1318"/>
         <source>Previous warning</source>
         <translation>Předchozí varování</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1321"/>
+        <location filename="../QScintilla/Editor.py" line="1322"/>
         <source>Show warning message</source>
         <translation>Zobrazit varování</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1325"/>
+        <location filename="../QScintilla/Editor.py" line="1326"/>
         <source>Clear warnings</source>
         <translation>Vyčistit varování</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; již existuje.&lt;/p&gt;&lt;p&gt;Má se přepsat?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6605"/>
+        <location filename="../QScintilla/Editor.py" line="6606"/>
         <source>Warning: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6612"/>
+        <location filename="../QScintilla/Editor.py" line="6613"/>
         <source>Error: {0}</source>
         <translation type="unfinished">Chyby: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6996"/>
+        <location filename="../QScintilla/Editor.py" line="6997"/>
         <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="915"/>
+        <location filename="../QScintilla/Editor.py" line="916"/>
         <source>Open &apos;rejection&apos; file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1025"/>
+        <location filename="../QScintilla/Editor.py" line="1026"/>
         <source>Load Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1348"/>
+        <location filename="../QScintilla/Editor.py" line="1349"/>
         <source>Next change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1352"/>
+        <location filename="../QScintilla/Editor.py" line="1353"/>
         <source>Previous change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>Sort Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>The selection contains illegal data for a numerical sort.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>Warning</source>
         <translation type="unfinished">Varování</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>No warning messages available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6602"/>
+        <location filename="../QScintilla/Editor.py" line="6603"/>
         <source>Style: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="889"/>
+        <location filename="../QScintilla/Editor.py" line="890"/>
         <source>New Document View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="892"/>
+        <location filename="../QScintilla/Editor.py" line="893"/>
         <source>New Document View (with new split)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="979"/>
+        <location filename="../QScintilla/Editor.py" line="980"/>
         <source>Tools</source>
         <translation type="unfinished">Nástroje</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1110"/>
+        <location filename="../QScintilla/Editor.py" line="1111"/>
         <source>Re-Open With Encoding</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6990"/>
+        <location filename="../QScintilla/Editor.py" line="6991"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric6. Reread it?&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Soubor &lt;b&gt;{0}&lt;/b&gt; byl změněn po té co již byl načten do eric5. Znovu načíst?&lt;/p&gt; {0}?} {6.?}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="865"/>
+        <location filename="../QScintilla/Editor.py" line="866"/>
         <source>Automatic Completion enabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="945"/>
+        <location filename="../QScintilla/Editor.py" line="946"/>
         <source>Complete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>Auto-Completion Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>The completion list provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>Call-Tips Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>The call-tips provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>Register Mouse Click Handler</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>A mouse click handler for &quot;{0}&quot; was already registered by &quot;{1}&quot;. Aborting request by &quot;{2}&quot;...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="909"/>
+        <location filename="../QScintilla/Editor.py" line="910"/>
         <source>Save Copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="948"/>
+        <location filename="../QScintilla/Editor.py" line="949"/>
         <source>Clear Completions Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="875"/>
+        <location filename="../QScintilla/Editor.py" line="876"/>
         <source>Code Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1356"/>
+        <location filename="../QScintilla/Editor.py" line="1357"/>
         <source>Clear changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="798"/>
+        <location filename="../QScintilla/Editor.py" line="799"/>
         <source>Execute Selection In Console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>EditorConfig Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1260"/>
+        <location filename="../QScintilla/Editor.py" line="1261"/>
         <source>Toggle all folds</source>
         <translation type="unfinished">Složit/rozložit všechna skládání</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1265"/>
+        <location filename="../QScintilla/Editor.py" line="1266"/>
         <source>Toggle all folds (including children)</source>
         <translation type="unfinished">Složit/rozložit všechna skládání (i s podsložkami)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1270"/>
+        <location filename="../QScintilla/Editor.py" line="1271"/>
         <source>Toggle current fold</source>
         <translation type="unfinished">Složit/rozložit aktuální složený blok</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1276"/>
+        <location filename="../QScintilla/Editor.py" line="1277"/>
         <source>Expand (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1281"/>
+        <location filename="../QScintilla/Editor.py" line="1282"/>
         <source>Collapse (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1287"/>
+        <location filename="../QScintilla/Editor.py" line="1288"/>
         <source>Clear all folds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1168"/>
+        <location filename="../QScintilla/Editor.py" line="1169"/>
         <source>Spell Check Languages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -17210,6 +17210,69 @@
     </message>
 </context>
 <context>
+    <name>EspBackupRestoreFirmwareDialog</name>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="14"/>
+        <source>Dialog</source>
+        <translation type="obsolete">Dialog</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="22"/>
+        <source>ESP Chip Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="29"/>
+        <source>Select the ESP chip type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="52"/>
+        <source>Firmware Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="59"/>
+        <source>Select the firmware size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="69"/>
+        <source>Flashmode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="76"/>
+        <source>Select the flash mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="83"/>
+        <source>Firmware:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="93"/>
+        <source>Enter the path of the firmware file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="66"/>
+        <source>Firmware Files (*.img);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="72"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="76"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>EspDevice</name>
     <message>
         <location filename="../MicroPython/EspDevices.py" line="67"/>
@@ -17217,50 +17280,95 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>Erase Flash</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="193"/>
+        <location filename="../MicroPython/EspDevices.py" line="210"/>
         <source>Flash MicroPython Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="234"/>
         <source>Flash Additional Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="141"/>
+        <location filename="../MicroPython/EspDevices.py" line="158"/>
         <source>Install &apos;esptool.py&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="148"/>
+        <location filename="../MicroPython/EspDevices.py" line="165"/>
         <source>Shall the flash of the selected device really be erased?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>&apos;esptool erase_flash&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="182"/>
+        <location filename="../MicroPython/EspDevices.py" line="199"/>
         <source>Unsupported chip type &apos;{0}&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
         <source>&apos;esptool write_flash&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="139"/>
+        <location filename="../MicroPython/EspDevices.py" line="156"/>
         <source>Reset Device</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>Show Chip ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>Show Flash ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>Show MAC Address</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>&apos;esptool read_flash&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>&apos;esptool chip_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>&apos;esptool flash_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>&apos;esptool read_mac&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>EspFirmwareSelectionDialog</name>
@@ -72696,6 +72804,16 @@
         <source>JavaScript batch check</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="256"/>
+        <source>YAML batch check</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="272"/>
+        <source>JSON batch check</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>SyntaxCheckerDialog</name>
@@ -72807,22 +72925,22 @@
 <context>
     <name>SyntaxCheckerPlugin</name>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>Check Syntax</source>
         <translation>Kontrola syntaxe</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>&amp;Syntax...</source>
         <translation>&amp;Syntaxe...</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="156"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="176"/>
         <source>Check syntax.</source>
         <translation>Kontrola syntaxe.</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="251"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="271"/>
         <source>&lt;b&gt;Check Syntax...&lt;/b&gt;&lt;p&gt;This checks Python files for syntax errors.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Kontrola Syntaxe...&lt;/b&gt;&lt;p&gt;Zkontroluje všechny Python soubory na syntaktické chyby.&lt;/p&gt;</translation>
     </message>
@@ -83270,27 +83388,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>Edit Spelling Dictionary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6572"/>
+        <location filename="../ViewManager/ViewManager.py" line="6578"/>
         <source>Editing {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6554"/>
+        <location filename="../ViewManager/ViewManager.py" line="6560"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6584"/>
+        <location filename="../ViewManager/ViewManager.py" line="6590"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>The spelling dictionary was saved successfully.</source>
         <translation type="unfinished"></translation>
     </message>
Binary file eric6/i18n/eric6_de.qm has changed
--- a/eric6/i18n/eric6_de.ts	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/i18n/eric6_de.ts	Sat Dec 07 17:47:24 2019 +0100
@@ -10752,927 +10752,927 @@
 <context>
     <name>Editor</name>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>Open File</source>
         <translation>Datei öffnen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>Save File</source>
         <translation>Datei sichern</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="778"/>
+        <location filename="../QScintilla/Editor.py" line="779"/>
         <source>Undo</source>
         <translation>Rückgängig</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="781"/>
+        <location filename="../QScintilla/Editor.py" line="782"/>
         <source>Redo</source>
         <translation>Wiederherstellen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="788"/>
+        <location filename="../QScintilla/Editor.py" line="789"/>
         <source>Cut</source>
         <translation>Ausschneiden</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="791"/>
+        <location filename="../QScintilla/Editor.py" line="792"/>
         <source>Copy</source>
         <translation>Kopieren</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="794"/>
+        <location filename="../QScintilla/Editor.py" line="795"/>
         <source>Paste</source>
         <translation>Einfügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="802"/>
+        <location filename="../QScintilla/Editor.py" line="803"/>
         <source>Indent</source>
         <translation>Einrücken</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="805"/>
+        <location filename="../QScintilla/Editor.py" line="806"/>
         <source>Unindent</source>
         <translation>Einrücken rückgängig</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="808"/>
+        <location filename="../QScintilla/Editor.py" line="809"/>
         <source>Comment</source>
         <translation>Kommentar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="811"/>
+        <location filename="../QScintilla/Editor.py" line="812"/>
         <source>Uncomment</source>
         <translation>Kommentar entfernen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="897"/>
+        <location filename="../QScintilla/Editor.py" line="898"/>
         <source>Close</source>
         <translation>Schließen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="903"/>
+        <location filename="../QScintilla/Editor.py" line="904"/>
         <source>Save</source>
         <translation>Speichern</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="906"/>
+        <location filename="../QScintilla/Editor.py" line="907"/>
         <source>Save As...</source>
         <translation>Speichern unter...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="823"/>
-        <source>Select all</source>
-        <translation>Alles auswählen</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="824"/>
+        <source>Select all</source>
+        <translation>Alles auswählen</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="825"/>
         <source>Deselect all</source>
         <translation>Auswahl aufheben</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="821"/>
+        <location filename="../QScintilla/Editor.py" line="822"/>
         <source>Select to brace</source>
         <translation>Zur Klammer auswählen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="922"/>
+        <location filename="../QScintilla/Editor.py" line="923"/>
         <source>Print</source>
         <translation>Drucken</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2662"/>
+        <location filename="../QScintilla/Editor.py" line="2663"/>
         <source>Printing...</source>
         <translation>Drucke...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2679"/>
+        <location filename="../QScintilla/Editor.py" line="2680"/>
         <source>Printing completed</source>
         <translation>Drucken beendet</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2681"/>
+        <location filename="../QScintilla/Editor.py" line="2682"/>
         <source>Error while printing</source>
         <translation>Fehler beim Drucken</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2684"/>
+        <location filename="../QScintilla/Editor.py" line="2685"/>
         <source>Printing aborted</source>
         <translation>Drucken abgebrochen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7000"/>
+        <location filename="../QScintilla/Editor.py" line="7001"/>
         <source>File changed</source>
         <translation>Datei geändert</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="969"/>
+        <location filename="../QScintilla/Editor.py" line="970"/>
         <source>Check</source>
         <translation>Prüfen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>File Modified</source>
         <translation>Datei geändert</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="991"/>
-        <source>Code metrics...</source>
-        <translation>Quelltextmetriken...</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="992"/>
+        <source>Code metrics...</source>
+        <translation>Quelltextmetriken...</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="993"/>
         <source>Code coverage...</source>
         <translation>Quelltext Abdeckung...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1000"/>
+        <location filename="../QScintilla/Editor.py" line="1001"/>
         <source>Profile data...</source>
         <translation>Profildaten...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="989"/>
+        <location filename="../QScintilla/Editor.py" line="990"/>
         <source>Show</source>
         <translation>Zeige</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="814"/>
+        <location filename="../QScintilla/Editor.py" line="815"/>
         <source>Stream Comment</source>
         <translation>Stream Kommentar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="817"/>
+        <location filename="../QScintilla/Editor.py" line="818"/>
         <source>Box Comment</source>
         <translation>Box Kommentar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>Modification of Read Only file</source>
         <translation>Änderungsversuch für eine schreibgeschützte Datei</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>You are attempting to change a read only file. Please save to a different file first.</source>
         <translation>Sie versuchen, eine schreibgeschützte Datei zu ändern. Bitte speichern Sie sie zuerst in eine andere Datei.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1039"/>
+        <location filename="../QScintilla/Editor.py" line="1040"/>
         <source>Languages</source>
         <translation>Sprachen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="784"/>
+        <location filename="../QScintilla/Editor.py" line="785"/>
         <source>Revert to last saved state</source>
         <translation>Zurück zum letzten gesichert Zustand</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Macro Name</source>
         <translation>Makro Name</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Select a macro name:</source>
         <translation>Wähle einen Makro Namen:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Macro files (*.macro)</source>
         <translation>Makrodateien (*.macro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6745"/>
+        <location filename="../QScintilla/Editor.py" line="6746"/>
         <source>Load macro file</source>
         <translation>Lade Makrodatei</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>Error loading macro</source>
         <translation>Fehler beim Makro Laden</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Save macro file</source>
         <translation>Makrodatei schreiben</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>Save macro</source>
         <translation>Makro speichern</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>Error saving macro</source>
         <translation>Fehler beim Makro speichern</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Start Macro Recording</source>
         <translation>Makroaufzeichnung starten</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Macro Recording</source>
         <translation>Makroaufzeichnung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Enter name of the macro:</source>
         <translation>Gib einen Namen für das Makro ein:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1219"/>
+        <location filename="../QScintilla/Editor.py" line="1220"/>
         <source>Toggle bookmark</source>
         <translation>Lesezeichen setzen/löschen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1221"/>
+        <location filename="../QScintilla/Editor.py" line="1222"/>
         <source>Next bookmark</source>
         <translation>Nächstes Lesezeichen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1223"/>
+        <location filename="../QScintilla/Editor.py" line="1224"/>
         <source>Previous bookmark</source>
         <translation>Vorheriges Lesezeichen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1225"/>
+        <location filename="../QScintilla/Editor.py" line="1226"/>
         <source>Clear all bookmarks</source>
         <translation>Alle Lesezeichen löschen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1234"/>
+        <location filename="../QScintilla/Editor.py" line="1235"/>
         <source>Toggle breakpoint</source>
         <translation>Haltepunkt setzen/löschen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1244"/>
+        <location filename="../QScintilla/Editor.py" line="1245"/>
         <source>Next breakpoint</source>
         <translation>Nächster Haltepunkt</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1246"/>
+        <location filename="../QScintilla/Editor.py" line="1247"/>
         <source>Previous breakpoint</source>
         <translation>Vorheriger Haltepunkt</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1251"/>
+        <location filename="../QScintilla/Editor.py" line="1252"/>
         <source>Clear all breakpoints</source>
         <translation>Alle Haltepunkte löschen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1239"/>
+        <location filename="../QScintilla/Editor.py" line="1240"/>
         <source>Edit breakpoint...</source>
         <translation>Haltepunkt bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5606"/>
+        <location filename="../QScintilla/Editor.py" line="5607"/>
         <source>Enable breakpoint</source>
         <translation>Haltepunkt aktivieren</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5609"/>
+        <location filename="../QScintilla/Editor.py" line="5610"/>
         <source>Disable breakpoint</source>
         <translation>Haltepunkt deaktivieren</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Code Coverage</source>
         <translation>Quelltext Abdeckung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Please select a coverage file</source>
         <translation>Bitte wählen Sie eine Datei mit Abdeckungsdaten</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Profile Data</source>
         <translation>Profildaten</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Please select a profile file</source>
         <translation>Bitte wählen Sie eine Datei mit Profildaten</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion</source>
         <translation>Automatische Vervollständigung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion is not available because there is no autocompletion source set.</source>
         <translation>Die automatische Vervollständigung ist nicht verfügbar, da keine Quelle gesetzt ist.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="849"/>
+        <location filename="../QScintilla/Editor.py" line="850"/>
         <source>Use Monospaced Font</source>
         <translation>Benutze Monospace Font</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="842"/>
+        <location filename="../QScintilla/Editor.py" line="843"/>
         <source>Shorten empty lines</source>
         <translation>Leere Zeilen verkürzen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1299"/>
+        <location filename="../QScintilla/Editor.py" line="1300"/>
         <source>Goto syntax error</source>
         <translation>Zu Syntaxfehler gehen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1308"/>
+        <location filename="../QScintilla/Editor.py" line="1309"/>
         <source>Clear syntax error</source>
         <translation>Syntaxfehler löschen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="854"/>
+        <location filename="../QScintilla/Editor.py" line="855"/>
         <source>Autosave enabled</source>
         <translation>Autom. Speicherung aktiv</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>Drop Error</source>
         <translation>Drop Fehler</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1303"/>
+        <location filename="../QScintilla/Editor.py" line="1304"/>
         <source>Show syntax error message</source>
         <translation>Zeige Syntaxfehlermeldung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>Syntax Error</source>
         <translation>Syntaxfehler</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>No syntax error message available.</source>
         <translation>Keine Syntaxfehlermeldung verfügbar.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1236"/>
+        <location filename="../QScintilla/Editor.py" line="1237"/>
         <source>Toggle temporary breakpoint</source>
         <translation>Temporären Haltepunkt setzen/löschen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="994"/>
+        <location filename="../QScintilla/Editor.py" line="995"/>
         <source>Show code coverage annotations</source>
         <translation>Markiere Zeilen ohne Abdeckung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="997"/>
+        <location filename="../QScintilla/Editor.py" line="998"/>
         <source>Hide code coverage annotations</source>
         <translation>Lösche Abdeckungsmarkierungen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1330"/>
+        <location filename="../QScintilla/Editor.py" line="1331"/>
         <source>Next uncovered line</source>
         <translation>Nächste nichtabgedeckte Zeile</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1334"/>
+        <location filename="../QScintilla/Editor.py" line="1335"/>
         <source>Previous uncovered line</source>
         <translation>Vorige nichtabgedeckte Zeile</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>Show Code Coverage Annotations</source>
         <translation>Zeilen ohne Abdeckung Markieren</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6040"/>
+        <location filename="../QScintilla/Editor.py" line="6041"/>
         <source>All lines have been covered.</source>
         <translation>Alle Zeilen sind abgedeckt.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>There is no coverage file available.</source>
         <translation>Es gibt keine Datei mit Abdeckungsinformationen.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has unsaved changes.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; enthält ungesicherte Änderungen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6759"/>
+        <location filename="../QScintilla/Editor.py" line="6760"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Makrodatei &lt;b&gt;{0}&lt;/b&gt; kann nicht gelesen werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Makrodatei &lt;b&gt;{0}&lt;/b&gt; ist zerstört.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Makrodatei &lt;b&gt;{0}&lt;/b&gt; kann nicht geschrieben werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; ist keine Datei.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="364"/>
+        <location filename="../QScintilla/Editor.py" line="365"/>
         <source>&lt;p&gt;The size of the file &lt;b&gt;{0}&lt;/b&gt; is &lt;b&gt;{1} KB&lt;/b&gt;. Do you really want to load it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Größe der Datei &lt;b&gt;{0}&lt;/b&gt; ist &lt;b&gt;{1} KB&lt;7B&gt;. Soll sie wirklich geladen werden?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1013"/>
+        <location filename="../QScintilla/Editor.py" line="1014"/>
         <source>Diagrams</source>
         <translation>Diagramme</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1015"/>
+        <location filename="../QScintilla/Editor.py" line="1016"/>
         <source>Class Diagram...</source>
         <translation>Klassendiagramm...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1017"/>
+        <location filename="../QScintilla/Editor.py" line="1018"/>
         <source>Package Diagram...</source>
         <translation>Package Diagramm...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1019"/>
+        <location filename="../QScintilla/Editor.py" line="1020"/>
         <source>Imports Diagram...</source>
         <translation>Imports-Diagramm...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1021"/>
+        <location filename="../QScintilla/Editor.py" line="1022"/>
         <source>Application Diagram...</source>
         <translation>Applikations-Diagramm...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1172"/>
+        <location filename="../QScintilla/Editor.py" line="1173"/>
         <source>No Language</source>
         <translation>Keine Sprache</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7165"/>
+        <location filename="../QScintilla/Editor.py" line="7166"/>
         <source>{0} (ro)</source>
         <translation>{0} (ro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7327"/>
+        <location filename="../QScintilla/Editor.py" line="7328"/>
         <source>Resources</source>
         <translation>Ressourcen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7329"/>
+        <location filename="../QScintilla/Editor.py" line="7330"/>
         <source>Add file...</source>
         <translation>Datei hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7331"/>
+        <location filename="../QScintilla/Editor.py" line="7332"/>
         <source>Add files...</source>
         <translation>Dateien hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7333"/>
+        <location filename="../QScintilla/Editor.py" line="7334"/>
         <source>Add aliased file...</source>
         <translation>Aliased-Datei hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7336"/>
+        <location filename="../QScintilla/Editor.py" line="7337"/>
         <source>Add localized resource...</source>
         <translation>Lokalisierte Ressource hinzufügen...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7359"/>
+        <location filename="../QScintilla/Editor.py" line="7360"/>
         <source>Add file resource</source>
         <translation>Dateiressource hinzufügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7375"/>
+        <location filename="../QScintilla/Editor.py" line="7376"/>
         <source>Add file resources</source>
         <translation>Dateiressourcen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Add aliased file resource</source>
         <translation>Aliased-Dateiressourcen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
         <translation>Alias für Datei &lt;b&gt;{0}&lt;/b&gt;:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Package Diagram</source>
         <translation>Package-Diagramm</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Include class attributes?</source>
         <translation>Klassenattribute anzeigen?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Application Diagram</source>
         <translation>Applikations-Diagramm</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Include module names?</source>
         <translation>Modulnamen anzeigen?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7340"/>
+        <location filename="../QScintilla/Editor.py" line="7341"/>
         <source>Add resource frame</source>
         <translation>Ressourcenrahmen hinzufügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Macro recording is already active. Start new?</source>
         <translation>Eine Makroaufzeichnung ist bereits aktiv. Neu starten?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1339"/>
+        <location filename="../QScintilla/Editor.py" line="1340"/>
         <source>Next task</source>
         <translation>Nächste Aufgabe</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1343"/>
+        <location filename="../QScintilla/Editor.py" line="1344"/>
         <source>Previous task</source>
         <translation>Vorherige Aufgabe</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="951"/>
+        <location filename="../QScintilla/Editor.py" line="952"/>
         <source>Complete from Document</source>
         <translation>Vervollständigung vom Dokument</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="953"/>
+        <location filename="../QScintilla/Editor.py" line="954"/>
         <source>Complete from APIs</source>
         <translation>Vervollständigung von APIs</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="955"/>
+        <location filename="../QScintilla/Editor.py" line="956"/>
         <source>Complete from Document and APIs</source>
         <translation>Vervollständigung vom Dokument und von APIs</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1197"/>
+        <location filename="../QScintilla/Editor.py" line="1198"/>
         <source>Export as</source>
         <translation>Exportieren als</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>Export source</source>
         <translation>Quelltext exportieren</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1385"/>
+        <location filename="../QScintilla/Editor.py" line="1386"/>
         <source>&lt;p&gt;No exporter available for the export format &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Für das Exportformat &lt;b&gt;{0}&lt;/b&gt; steht kein Exporter zur Verfügung. Abbruch...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>No export format given. Aborting...</source>
         <translation>Kein Exportformat angegeben. Abbruch...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Imports Diagram</source>
         <translation>Imports Diagramm</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Include imports from external modules?</source>
         <translation>Imports externer Module anzeigen?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="873"/>
+        <location filename="../QScintilla/Editor.py" line="874"/>
         <source>Calltip</source>
         <translation>Calltip</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="919"/>
+        <location filename="../QScintilla/Editor.py" line="920"/>
         <source>Print Preview</source>
         <translation>Druckvorschau</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="453"/>
+        <location filename="../QScintilla/Editor.py" line="454"/>
         <source>&lt;b&gt;A Source Editor Window&lt;/b&gt;&lt;p&gt;This window is used to display and edit a source file.  You can open as many of these as you like. The name of the file is displayed in the window&apos;s titlebar.&lt;/p&gt;&lt;p&gt;In order to set breakpoints just click in the space between the line numbers and the fold markers. Via the context menu of the margins they may be edited.&lt;/p&gt;&lt;p&gt;In order to set bookmarks just Shift click in the space between the line numbers and the fold markers.&lt;/p&gt;&lt;p&gt;These actions can be reversed via the context menu.&lt;/p&gt;&lt;p&gt;Ctrl clicking on a syntax error marker shows some info about this error.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Quelltexteditorfenster&lt;/b&gt;&lt;p&gt;Dieses Fenster wird zum Bearbeiten von Quelltexten benutzt. Sie können beliebig viele dieser Fenster öffnen. Der Name der Datei wird im Titel des Fensters dargestellt.&lt;/p&gt;&lt;p&gt;Um Haltepunkte zu setzen, klicken sie in den Raum zwischen den Zeilennummern und der Faltungsspalte. Über das Kontextmenü des Bereiches links des Editors können Haltepunkte bearbeitet werden.&lt;/p&gt;&lt;p&gt;Um Lesezeichen zu setzen, drücken Sie die Shift-Taste und klicken in den Raum zwischen den Zeilennummern und der Faltungsspalte.&lt;/p&gt;&lt;p&gt;Diese Aktionen können über das Kontextmenü umgedreht werden.&lt;/p&gt;&lt;p&gt;Ein Klick auf einen Syntaxfehler-Marker mit gedrückter Strg-Taste zeigt die zugehörige Fehlermeldung an.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="858"/>
+        <location filename="../QScintilla/Editor.py" line="859"/>
         <source>Typing aids enabled</source>
         <translation>Eingabehilfen aktiv</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1129"/>
+        <location filename="../QScintilla/Editor.py" line="1130"/>
         <source>End-of-Line Type</source>
         <translation>Zeilenendemarkierung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1133"/>
+        <location filename="../QScintilla/Editor.py" line="1134"/>
         <source>Unix</source>
         <translation>Unix</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1140"/>
+        <location filename="../QScintilla/Editor.py" line="1141"/>
         <source>Windows</source>
         <translation>Windows</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1147"/>
+        <location filename="../QScintilla/Editor.py" line="1148"/>
         <source>Macintosh</source>
         <translation>Macintosh</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1088"/>
+        <location filename="../QScintilla/Editor.py" line="1089"/>
         <source>Encodings</source>
         <translation>Kodierungen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1068"/>
+        <location filename="../QScintilla/Editor.py" line="1069"/>
         <source>Guessed</source>
         <translation>Ermittelt</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1408"/>
+        <location filename="../QScintilla/Editor.py" line="1409"/>
         <source>Alternatives</source>
         <translation>Alternativen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1404"/>
+        <location filename="../QScintilla/Editor.py" line="1405"/>
         <source>Alternatives ({0})</source>
         <translation>Alternativen ({0})</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Pygments Lexer</source>
         <translation>Pygments Lexer</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Select the Pygments lexer to apply.</source>
         <translation>Wähle den anzuwendenden Pygments Lexer.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7833"/>
+        <location filename="../QScintilla/Editor.py" line="7834"/>
         <source>Check spelling...</source>
         <translation>Rechtschreibprüfung...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="832"/>
+        <location filename="../QScintilla/Editor.py" line="833"/>
         <source>Check spelling of selection...</source>
         <translation>Rechtschreibprüfung für Auswahl...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7836"/>
+        <location filename="../QScintilla/Editor.py" line="7837"/>
         <source>Add to dictionary</source>
         <translation>Zum Wörterbuch hinzufügen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7838"/>
+        <location filename="../QScintilla/Editor.py" line="7839"/>
         <source>Ignore All</source>
         <translation>Alle ignorieren</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="836"/>
+        <location filename="../QScintilla/Editor.py" line="837"/>
         <source>Remove from dictionary</source>
         <translation>Aus dem Wörterbuch entfernen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be opened.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; konnte nicht geöffnet werden.&lt;br /&gt;Ursache: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3231"/>
+        <location filename="../QScintilla/Editor.py" line="3232"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be saved.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gesichert werden.&lt;br/&gt;Grund: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1313"/>
+        <location filename="../QScintilla/Editor.py" line="1314"/>
         <source>Next warning</source>
         <translation>Nächste Warnung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1317"/>
+        <location filename="../QScintilla/Editor.py" line="1318"/>
         <source>Previous warning</source>
         <translation>Vorherige Warnung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1321"/>
+        <location filename="../QScintilla/Editor.py" line="1322"/>
         <source>Show warning message</source>
         <translation>Zeige Warnung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1325"/>
+        <location filename="../QScintilla/Editor.py" line="1326"/>
         <source>Clear warnings</source>
         <translation>Warnungen löschen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Überschreiben?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Makrodatei &lt;b&gt;{0}&lt;/b&gt; existiert bereits. Überschreiben?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6605"/>
+        <location filename="../QScintilla/Editor.py" line="6606"/>
         <source>Warning: {0}</source>
         <translation>Warnung: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6612"/>
+        <location filename="../QScintilla/Editor.py" line="6613"/>
         <source>Error: {0}</source>
         <translation>Fehler: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6996"/>
+        <location filename="../QScintilla/Editor.py" line="6997"/>
         <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
         <translation>&lt;br&gt;&lt;b&gt;Warnung:&lt;/b&gt; Vorgenommenen Änderungen gehen beim neu einlesen verloren.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="915"/>
+        <location filename="../QScintilla/Editor.py" line="916"/>
         <source>Open &apos;rejection&apos; file</source>
         <translation>Öffne „Ablehnungs“-Datei</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1025"/>
+        <location filename="../QScintilla/Editor.py" line="1026"/>
         <source>Load Diagram...</source>
         <translation>Diagramm laden...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1348"/>
+        <location filename="../QScintilla/Editor.py" line="1349"/>
         <source>Next change</source>
         <translation>Nächste Änderung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1352"/>
+        <location filename="../QScintilla/Editor.py" line="1353"/>
         <source>Previous change</source>
         <translation>Vorherige Änderung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>Sort Lines</source>
         <translation>Zeilen sortieren</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>The selection contains illegal data for a numerical sort.</source>
         <translation>Die Auswahl enthält für eine numerische Sortierung ungültige Daten.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>Warning</source>
         <translation>Warnung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>No warning messages available.</source>
         <translation>Keine Warnmeldungen verfügbar.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6602"/>
+        <location filename="../QScintilla/Editor.py" line="6603"/>
         <source>Style: {0}</source>
         <translation>Stil: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="889"/>
+        <location filename="../QScintilla/Editor.py" line="890"/>
         <source>New Document View</source>
         <translation>Neue Dokumentenansicht</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="892"/>
+        <location filename="../QScintilla/Editor.py" line="893"/>
         <source>New Document View (with new split)</source>
         <translation>Neue Dokumentenansicht (in neuem Abschnitt)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="979"/>
+        <location filename="../QScintilla/Editor.py" line="980"/>
         <source>Tools</source>
         <translation>Werkzeuge</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1110"/>
+        <location filename="../QScintilla/Editor.py" line="1111"/>
         <source>Re-Open With Encoding</source>
         <translation>Öffnen mit Kodierung</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6990"/>
+        <location filename="../QScintilla/Editor.py" line="6991"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric6. Reread it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Datei &lt;b&gt;{0}&lt;/b&gt; wurde geändert, während sie in eric6 geöffnet war. Neu einlesen?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="865"/>
+        <location filename="../QScintilla/Editor.py" line="866"/>
         <source>Automatic Completion enabled</source>
         <translation>Automatische Vervollständigung aktiv</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="945"/>
+        <location filename="../QScintilla/Editor.py" line="946"/>
         <source>Complete</source>
         <translation>Vervollständigen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>Auto-Completion Provider</source>
         <translation>Provider für automatische Vervollständigungen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>The completion list provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation>Der Provider für automatische Vervollständigungen namens &apos;{0}&apos; ist bereits registriert. Die Wiederholung wird ignoriert.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>Call-Tips Provider</source>
         <translation>Calltipps-Provider</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>The call-tips provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation>Der Calltipps-Provider namens &apos;{0}&apos; ist bereits registriert. Die Wiederholung wird ignoriert.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>Register Mouse Click Handler</source>
         <translation>Maus Klick Handler registrieren</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>A mouse click handler for &quot;{0}&quot; was already registered by &quot;{1}&quot;. Aborting request by &quot;{2}&quot;...</source>
         <translation>Ein Maus Klick Handler für &quot;{0}&quot; wurde bereits durch &quot;{1}&quot; registriert. Die Anfrage durch &quot;{2}&quot; wird abgebrochen...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="909"/>
+        <location filename="../QScintilla/Editor.py" line="910"/>
         <source>Save Copy...</source>
         <translation>Kopie speichern...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="948"/>
+        <location filename="../QScintilla/Editor.py" line="949"/>
         <source>Clear Completions Cache</source>
         <translation>Vervollständigungsspeicher löschen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="875"/>
+        <location filename="../QScintilla/Editor.py" line="876"/>
         <source>Code Info</source>
         <translation>Code Info</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1356"/>
+        <location filename="../QScintilla/Editor.py" line="1357"/>
         <source>Clear changes</source>
         <translation>Änderungsmarker löschen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="798"/>
+        <location filename="../QScintilla/Editor.py" line="799"/>
         <source>Execute Selection In Console</source>
         <translation>Auswahl in Konsole ausführen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>EditorConfig Properties</source>
         <translation>EditorConfig Eigenschaften</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die EditorConfig Eigenschaften für die Datei &lt;b&gt;{0}&lt;/b&gt; konnten nicht geladen werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1260"/>
+        <location filename="../QScintilla/Editor.py" line="1261"/>
         <source>Toggle all folds</source>
         <translation>Alle Faltungen umschalten</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1265"/>
+        <location filename="../QScintilla/Editor.py" line="1266"/>
         <source>Toggle all folds (including children)</source>
         <translation>Alle Faltungen umschalten (inkl. Unterfaltungen)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1270"/>
+        <location filename="../QScintilla/Editor.py" line="1271"/>
         <source>Toggle current fold</source>
         <translation>Aktuelle Faltung umschalten</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1276"/>
+        <location filename="../QScintilla/Editor.py" line="1277"/>
         <source>Expand (including children)</source>
         <translation>Ausklappen (inkl. Unterfaltungen)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1281"/>
+        <location filename="../QScintilla/Editor.py" line="1282"/>
         <source>Collapse (including children)</source>
         <translation>Einklappen (inkl. Unterfaltungen)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1287"/>
+        <location filename="../QScintilla/Editor.py" line="1288"/>
         <source>Clear all folds</source>
         <translation>Alle Faltungen aufklappen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1168"/>
+        <location filename="../QScintilla/Editor.py" line="1169"/>
         <source>Spell Check Languages</source>
         <translation>Sprachen für Rechtschreibprüfung</translation>
     </message>
@@ -16937,6 +16937,64 @@
     </message>
 </context>
 <context>
+    <name>EspBackupRestoreFirmwareDialog</name>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="22"/>
+        <source>ESP Chip Type:</source>
+        <translation>ESP Chiptyp:</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="29"/>
+        <source>Select the ESP chip type</source>
+        <translation>Wähle den ESP Chiptyp</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="52"/>
+        <source>Firmware Size:</source>
+        <translation>Firmwaregröße:</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="59"/>
+        <source>Select the firmware size</source>
+        <translation>Wähle die Firmwaregröße aus</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="69"/>
+        <source>Flashmode:</source>
+        <translation>Flashmodus:</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="76"/>
+        <source>Select the flash mode</source>
+        <translation>Wähle den Flashmodus aus</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="83"/>
+        <source>Firmware:</source>
+        <translation>Firmware:</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="93"/>
+        <source>Enter the path of the firmware file</source>
+        <translation>Gib den Pfad der Firmwaredatei ein</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="66"/>
+        <source>Firmware Files (*.img);;All Files (*)</source>
+        <translation>Firmwaredateien (*.img);;Alle Dateien (*)</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="72"/>
+        <source>Backup Firmware</source>
+        <translation>Firmware sichern</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="76"/>
+        <source>Restore Firmware</source>
+        <translation>Firmware zurückspielen</translation>
+    </message>
+</context>
+<context>
     <name>EspDevice</name>
     <message>
         <location filename="../MicroPython/EspDevices.py" line="67"/>
@@ -16944,50 +17002,95 @@
         <translation>ESP8266, ESP32</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>Erase Flash</source>
         <translation>Flash löschen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="193"/>
+        <location filename="../MicroPython/EspDevices.py" line="210"/>
         <source>Flash MicroPython Firmware</source>
         <translation>MicroPython Firmware flashen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="234"/>
         <source>Flash Additional Firmware</source>
         <translation>Zusätzliche Firmware flashen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="141"/>
+        <location filename="../MicroPython/EspDevices.py" line="158"/>
         <source>Install &apos;esptool.py&apos;</source>
         <translation>&apos;esptool.py&apos; installieren</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="148"/>
+        <location filename="../MicroPython/EspDevices.py" line="165"/>
         <source>Shall the flash of the selected device really be erased?</source>
         <translation>Soll der Flashspeicher des ausgewählten Gerätes wirklich gelöscht werden?</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>&apos;esptool erase_flash&apos; Output</source>
         <translation>Ausgabe von &apos;esptool erase_flash&apos;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="182"/>
+        <location filename="../MicroPython/EspDevices.py" line="199"/>
         <source>Unsupported chip type &apos;{0}&apos;.</source>
         <translation>Chiptyp &apos;{0}&apos; wird nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
         <source>&apos;esptool write_flash&apos; Output</source>
         <translation>Ausgabe von &apos;esptool write_flash&apos;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="139"/>
+        <location filename="../MicroPython/EspDevices.py" line="156"/>
         <source>Reset Device</source>
         <translation>Gerät zurücksetzen</translation>
     </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>Backup Firmware</source>
+        <translation>Firmware sichern</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
+        <source>Restore Firmware</source>
+        <translation>Firmware zurückspielen</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>Show Chip ID</source>
+        <translation>Chip ID anzeigen</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>Show Flash ID</source>
+        <translation>Flash ID anzeigen</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>Show MAC Address</source>
+        <translation>MAC Adresse anzeigen</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>&apos;esptool read_flash&apos; Output</source>
+        <translation>Ausgabe von &apos;esptool read_flash&apos;</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>&apos;esptool chip_id&apos; Output</source>
+        <translation>Ausgabe von &apos;esptool chip_id&apos;</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>&apos;esptool flash_id&apos; Output</source>
+        <translation>Ausgabe von &apos;esptool flash_id&apos;</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>&apos;esptool read_mac&apos; Output</source>
+        <translation>Ausgabe von &apos;esptool read_mac&apos;</translation>
+    </message>
 </context>
 <context>
     <name>EspFirmwareSelectionDialog</name>
@@ -70377,6 +70480,16 @@
         <source>JavaScript batch check</source>
         <translation>JavaScript Stapelprüfung</translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="256"/>
+        <source>YAML batch check</source>
+        <translation>YAML Stapelprüfung</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="272"/>
+        <source>JSON batch check</source>
+        <translation>JSON Stapelprüfung</translation>
+    </message>
 </context>
 <context>
     <name>SyntaxCheckerDialog</name>
@@ -70490,22 +70603,22 @@
 <context>
     <name>SyntaxCheckerPlugin</name>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>Check Syntax</source>
         <translation>Syntax prüfen</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>&amp;Syntax...</source>
         <translation>&amp;Syntax...</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="156"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="176"/>
         <source>Check syntax.</source>
         <translation>Syntax prüfen.</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="251"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="271"/>
         <source>&lt;b&gt;Check Syntax...&lt;/b&gt;&lt;p&gt;This checks Python files for syntax errors.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Syntax prüfen...&lt;/b&gt;&lt;p&gt;Dies überprüft Python-Dateien auf Syntaxfehler.&lt;/p&gt;</translation>
     </message>
@@ -80788,27 +80901,27 @@
         <translation>Nutzer-Ausnahmenliste</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>Edit Spelling Dictionary</source>
         <translation>Wörterbuch bearbeiten</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6572"/>
+        <location filename="../ViewManager/ViewManager.py" line="6578"/>
         <source>Editing {0}</source>
         <translation>Bearbeite {0}</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6554"/>
+        <location filename="../ViewManager/ViewManager.py" line="6560"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Wörterbuchdatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht gelesen werden.&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6584"/>
+        <location filename="../ViewManager/ViewManager.py" line="6590"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Wörterbuchdatei &lt;b&gt;{0}&lt;/b&gt; konnte nicht geschrieben werden.&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>The spelling dictionary was saved successfully.</source>
         <translation>Das Wörterbuch wurde erfolgreich gespeichert.</translation>
     </message>
--- a/eric6/i18n/eric6_empty.ts	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/i18n/eric6_empty.ts	Sat Dec 07 17:47:24 2019 +0100
@@ -10645,927 +10645,927 @@
 <context>
     <name>Editor</name>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>Open File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="364"/>
+        <location filename="../QScintilla/Editor.py" line="365"/>
         <source>&lt;p&gt;The size of the file &lt;b&gt;{0}&lt;/b&gt; is &lt;b&gt;{1} KB&lt;/b&gt;. Do you really want to load it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="453"/>
+        <location filename="../QScintilla/Editor.py" line="454"/>
         <source>&lt;b&gt;A Source Editor Window&lt;/b&gt;&lt;p&gt;This window is used to display and edit a source file.  You can open as many of these as you like. The name of the file is displayed in the window&apos;s titlebar.&lt;/p&gt;&lt;p&gt;In order to set breakpoints just click in the space between the line numbers and the fold markers. Via the context menu of the margins they may be edited.&lt;/p&gt;&lt;p&gt;In order to set bookmarks just Shift click in the space between the line numbers and the fold markers.&lt;/p&gt;&lt;p&gt;These actions can be reversed via the context menu.&lt;/p&gt;&lt;p&gt;Ctrl clicking on a syntax error marker shows some info about this error.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="778"/>
+        <location filename="../QScintilla/Editor.py" line="779"/>
         <source>Undo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="781"/>
+        <location filename="../QScintilla/Editor.py" line="782"/>
         <source>Redo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="784"/>
+        <location filename="../QScintilla/Editor.py" line="785"/>
         <source>Revert to last saved state</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="788"/>
+        <location filename="../QScintilla/Editor.py" line="789"/>
         <source>Cut</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="791"/>
+        <location filename="../QScintilla/Editor.py" line="792"/>
         <source>Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="794"/>
+        <location filename="../QScintilla/Editor.py" line="795"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="802"/>
+        <location filename="../QScintilla/Editor.py" line="803"/>
         <source>Indent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="805"/>
+        <location filename="../QScintilla/Editor.py" line="806"/>
         <source>Unindent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="808"/>
+        <location filename="../QScintilla/Editor.py" line="809"/>
         <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="811"/>
+        <location filename="../QScintilla/Editor.py" line="812"/>
         <source>Uncomment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="814"/>
+        <location filename="../QScintilla/Editor.py" line="815"/>
         <source>Stream Comment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="817"/>
+        <location filename="../QScintilla/Editor.py" line="818"/>
         <source>Box Comment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="821"/>
+        <location filename="../QScintilla/Editor.py" line="822"/>
         <source>Select to brace</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="823"/>
-        <source>Select all</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="824"/>
+        <source>Select all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="825"/>
         <source>Deselect all</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7833"/>
+        <location filename="../QScintilla/Editor.py" line="7834"/>
         <source>Check spelling...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="832"/>
+        <location filename="../QScintilla/Editor.py" line="833"/>
         <source>Check spelling of selection...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="836"/>
+        <location filename="../QScintilla/Editor.py" line="837"/>
         <source>Remove from dictionary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="842"/>
+        <location filename="../QScintilla/Editor.py" line="843"/>
         <source>Shorten empty lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="849"/>
+        <location filename="../QScintilla/Editor.py" line="850"/>
         <source>Use Monospaced Font</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="854"/>
+        <location filename="../QScintilla/Editor.py" line="855"/>
         <source>Autosave enabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="858"/>
+        <location filename="../QScintilla/Editor.py" line="859"/>
         <source>Typing aids enabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="865"/>
+        <location filename="../QScintilla/Editor.py" line="866"/>
         <source>Automatic Completion enabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="873"/>
+        <location filename="../QScintilla/Editor.py" line="874"/>
         <source>Calltip</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="889"/>
+        <location filename="../QScintilla/Editor.py" line="890"/>
         <source>New Document View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="892"/>
+        <location filename="../QScintilla/Editor.py" line="893"/>
         <source>New Document View (with new split)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="897"/>
+        <location filename="../QScintilla/Editor.py" line="898"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="903"/>
+        <location filename="../QScintilla/Editor.py" line="904"/>
         <source>Save</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="906"/>
+        <location filename="../QScintilla/Editor.py" line="907"/>
         <source>Save As...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="909"/>
+        <location filename="../QScintilla/Editor.py" line="910"/>
         <source>Save Copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="915"/>
+        <location filename="../QScintilla/Editor.py" line="916"/>
         <source>Open &apos;rejection&apos; file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="919"/>
+        <location filename="../QScintilla/Editor.py" line="920"/>
         <source>Print Preview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="922"/>
+        <location filename="../QScintilla/Editor.py" line="923"/>
         <source>Print</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="945"/>
+        <location filename="../QScintilla/Editor.py" line="946"/>
         <source>Complete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="951"/>
+        <location filename="../QScintilla/Editor.py" line="952"/>
         <source>Complete from Document</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="953"/>
+        <location filename="../QScintilla/Editor.py" line="954"/>
         <source>Complete from APIs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="955"/>
+        <location filename="../QScintilla/Editor.py" line="956"/>
         <source>Complete from Document and APIs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="969"/>
+        <location filename="../QScintilla/Editor.py" line="970"/>
         <source>Check</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="979"/>
+        <location filename="../QScintilla/Editor.py" line="980"/>
         <source>Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="989"/>
+        <location filename="../QScintilla/Editor.py" line="990"/>
         <source>Show</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="991"/>
-        <source>Code metrics...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="992"/>
+        <source>Code metrics...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="993"/>
         <source>Code coverage...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="994"/>
+        <location filename="../QScintilla/Editor.py" line="995"/>
         <source>Show code coverage annotations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="997"/>
+        <location filename="../QScintilla/Editor.py" line="998"/>
         <source>Hide code coverage annotations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1000"/>
+        <location filename="../QScintilla/Editor.py" line="1001"/>
         <source>Profile data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1013"/>
+        <location filename="../QScintilla/Editor.py" line="1014"/>
         <source>Diagrams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1015"/>
+        <location filename="../QScintilla/Editor.py" line="1016"/>
         <source>Class Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1017"/>
+        <location filename="../QScintilla/Editor.py" line="1018"/>
         <source>Package Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1019"/>
+        <location filename="../QScintilla/Editor.py" line="1020"/>
         <source>Imports Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1021"/>
+        <location filename="../QScintilla/Editor.py" line="1022"/>
         <source>Application Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1025"/>
+        <location filename="../QScintilla/Editor.py" line="1026"/>
         <source>Load Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1039"/>
+        <location filename="../QScintilla/Editor.py" line="1040"/>
         <source>Languages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1172"/>
+        <location filename="../QScintilla/Editor.py" line="1173"/>
         <source>No Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1068"/>
+        <location filename="../QScintilla/Editor.py" line="1069"/>
         <source>Guessed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1408"/>
+        <location filename="../QScintilla/Editor.py" line="1409"/>
         <source>Alternatives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1088"/>
+        <location filename="../QScintilla/Editor.py" line="1089"/>
         <source>Encodings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1110"/>
+        <location filename="../QScintilla/Editor.py" line="1111"/>
         <source>Re-Open With Encoding</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1129"/>
+        <location filename="../QScintilla/Editor.py" line="1130"/>
         <source>End-of-Line Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1133"/>
+        <location filename="../QScintilla/Editor.py" line="1134"/>
         <source>Unix</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1140"/>
+        <location filename="../QScintilla/Editor.py" line="1141"/>
         <source>Windows</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1147"/>
+        <location filename="../QScintilla/Editor.py" line="1148"/>
         <source>Macintosh</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1197"/>
+        <location filename="../QScintilla/Editor.py" line="1198"/>
         <source>Export as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1219"/>
+        <location filename="../QScintilla/Editor.py" line="1220"/>
         <source>Toggle bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1221"/>
+        <location filename="../QScintilla/Editor.py" line="1222"/>
         <source>Next bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1223"/>
+        <location filename="../QScintilla/Editor.py" line="1224"/>
         <source>Previous bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1225"/>
+        <location filename="../QScintilla/Editor.py" line="1226"/>
         <source>Clear all bookmarks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1234"/>
+        <location filename="../QScintilla/Editor.py" line="1235"/>
         <source>Toggle breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1236"/>
+        <location filename="../QScintilla/Editor.py" line="1237"/>
         <source>Toggle temporary breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1239"/>
+        <location filename="../QScintilla/Editor.py" line="1240"/>
         <source>Edit breakpoint...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5606"/>
+        <location filename="../QScintilla/Editor.py" line="5607"/>
         <source>Enable breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1244"/>
+        <location filename="../QScintilla/Editor.py" line="1245"/>
         <source>Next breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1246"/>
+        <location filename="../QScintilla/Editor.py" line="1247"/>
         <source>Previous breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1251"/>
+        <location filename="../QScintilla/Editor.py" line="1252"/>
         <source>Clear all breakpoints</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1299"/>
+        <location filename="../QScintilla/Editor.py" line="1300"/>
         <source>Goto syntax error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1303"/>
+        <location filename="../QScintilla/Editor.py" line="1304"/>
         <source>Show syntax error message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1308"/>
+        <location filename="../QScintilla/Editor.py" line="1309"/>
         <source>Clear syntax error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1313"/>
+        <location filename="../QScintilla/Editor.py" line="1314"/>
         <source>Next warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1317"/>
+        <location filename="../QScintilla/Editor.py" line="1318"/>
         <source>Previous warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1321"/>
+        <location filename="../QScintilla/Editor.py" line="1322"/>
         <source>Show warning message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1325"/>
+        <location filename="../QScintilla/Editor.py" line="1326"/>
         <source>Clear warnings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1330"/>
+        <location filename="../QScintilla/Editor.py" line="1331"/>
         <source>Next uncovered line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1334"/>
+        <location filename="../QScintilla/Editor.py" line="1335"/>
         <source>Previous uncovered line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1339"/>
+        <location filename="../QScintilla/Editor.py" line="1340"/>
         <source>Next task</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1343"/>
+        <location filename="../QScintilla/Editor.py" line="1344"/>
         <source>Previous task</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1348"/>
+        <location filename="../QScintilla/Editor.py" line="1349"/>
         <source>Next change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1352"/>
+        <location filename="../QScintilla/Editor.py" line="1353"/>
         <source>Previous change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>Export source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1385"/>
+        <location filename="../QScintilla/Editor.py" line="1386"/>
         <source>&lt;p&gt;No exporter available for the export format &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>No export format given. Aborting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1404"/>
+        <location filename="../QScintilla/Editor.py" line="1405"/>
         <source>Alternatives ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Pygments Lexer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Select the Pygments lexer to apply.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>Modification of Read Only file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>You are attempting to change a read only file. Please save to a different file first.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2662"/>
+        <location filename="../QScintilla/Editor.py" line="2663"/>
         <source>Printing...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2679"/>
+        <location filename="../QScintilla/Editor.py" line="2680"/>
         <source>Printing completed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2681"/>
+        <location filename="../QScintilla/Editor.py" line="2682"/>
         <source>Error while printing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2684"/>
+        <location filename="../QScintilla/Editor.py" line="2685"/>
         <source>Printing aborted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>File Modified</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has unsaved changes.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be opened.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>Save File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3231"/>
+        <location filename="../QScintilla/Editor.py" line="3232"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be saved.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion is not available because there is no autocompletion source set.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>Auto-Completion Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>The completion list provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>Call-Tips Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>The call-tips provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5609"/>
+        <location filename="../QScintilla/Editor.py" line="5610"/>
         <source>Disable breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Code Coverage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Please select a coverage file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>Show Code Coverage Annotations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6040"/>
+        <location filename="../QScintilla/Editor.py" line="6041"/>
         <source>All lines have been covered.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>There is no coverage file available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Profile Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Please select a profile file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>Syntax Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>No syntax error message available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>No warning messages available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6602"/>
+        <location filename="../QScintilla/Editor.py" line="6603"/>
         <source>Style: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6605"/>
+        <location filename="../QScintilla/Editor.py" line="6606"/>
         <source>Warning: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6612"/>
+        <location filename="../QScintilla/Editor.py" line="6613"/>
         <source>Error: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Macro Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Select a macro name:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6745"/>
+        <location filename="../QScintilla/Editor.py" line="6746"/>
         <source>Load macro file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Macro files (*.macro)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>Error loading macro</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6759"/>
+        <location filename="../QScintilla/Editor.py" line="6760"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Save macro file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>Save macro</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>Error saving macro</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Start Macro Recording</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Macro recording is already active. Start new?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Macro Recording</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Enter name of the macro:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6990"/>
+        <location filename="../QScintilla/Editor.py" line="6991"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric6. Reread it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6996"/>
+        <location filename="../QScintilla/Editor.py" line="6997"/>
         <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7000"/>
+        <location filename="../QScintilla/Editor.py" line="7001"/>
         <source>File changed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7165"/>
+        <location filename="../QScintilla/Editor.py" line="7166"/>
         <source>{0} (ro)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>Drop Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7327"/>
+        <location filename="../QScintilla/Editor.py" line="7328"/>
         <source>Resources</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7329"/>
+        <location filename="../QScintilla/Editor.py" line="7330"/>
         <source>Add file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7331"/>
+        <location filename="../QScintilla/Editor.py" line="7332"/>
         <source>Add files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7333"/>
+        <location filename="../QScintilla/Editor.py" line="7334"/>
         <source>Add aliased file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7336"/>
+        <location filename="../QScintilla/Editor.py" line="7337"/>
         <source>Add localized resource...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7340"/>
+        <location filename="../QScintilla/Editor.py" line="7341"/>
         <source>Add resource frame</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7359"/>
+        <location filename="../QScintilla/Editor.py" line="7360"/>
         <source>Add file resource</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7375"/>
+        <location filename="../QScintilla/Editor.py" line="7376"/>
         <source>Add file resources</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Add aliased file resource</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Package Diagram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Include class attributes?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Imports Diagram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Include imports from external modules?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Application Diagram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Include module names?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7836"/>
+        <location filename="../QScintilla/Editor.py" line="7837"/>
         <source>Add to dictionary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7838"/>
+        <location filename="../QScintilla/Editor.py" line="7839"/>
         <source>Ignore All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>Sort Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>The selection contains illegal data for a numerical sort.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>Register Mouse Click Handler</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>A mouse click handler for &quot;{0}&quot; was already registered by &quot;{1}&quot;. Aborting request by &quot;{2}&quot;...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="948"/>
+        <location filename="../QScintilla/Editor.py" line="949"/>
         <source>Clear Completions Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="875"/>
+        <location filename="../QScintilla/Editor.py" line="876"/>
         <source>Code Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1356"/>
+        <location filename="../QScintilla/Editor.py" line="1357"/>
         <source>Clear changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="798"/>
+        <location filename="../QScintilla/Editor.py" line="799"/>
         <source>Execute Selection In Console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>EditorConfig Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1260"/>
+        <location filename="../QScintilla/Editor.py" line="1261"/>
         <source>Toggle all folds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1265"/>
+        <location filename="../QScintilla/Editor.py" line="1266"/>
         <source>Toggle all folds (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1270"/>
+        <location filename="../QScintilla/Editor.py" line="1271"/>
         <source>Toggle current fold</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1276"/>
+        <location filename="../QScintilla/Editor.py" line="1277"/>
         <source>Expand (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1281"/>
+        <location filename="../QScintilla/Editor.py" line="1282"/>
         <source>Collapse (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1287"/>
+        <location filename="../QScintilla/Editor.py" line="1288"/>
         <source>Clear all folds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1168"/>
+        <location filename="../QScintilla/Editor.py" line="1169"/>
         <source>Spell Check Languages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16816,6 +16816,64 @@
     </message>
 </context>
 <context>
+    <name>EspBackupRestoreFirmwareDialog</name>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="22"/>
+        <source>ESP Chip Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="29"/>
+        <source>Select the ESP chip type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="52"/>
+        <source>Firmware Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="59"/>
+        <source>Select the firmware size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="69"/>
+        <source>Flashmode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="76"/>
+        <source>Select the flash mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="83"/>
+        <source>Firmware:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="93"/>
+        <source>Enter the path of the firmware file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="66"/>
+        <source>Firmware Files (*.img);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="72"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="76"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>EspDevice</name>
     <message>
         <location filename="../MicroPython/EspDevices.py" line="67"/>
@@ -16823,50 +16881,95 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>Erase Flash</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="193"/>
+        <location filename="../MicroPython/EspDevices.py" line="210"/>
         <source>Flash MicroPython Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="234"/>
         <source>Flash Additional Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="141"/>
+        <location filename="../MicroPython/EspDevices.py" line="158"/>
         <source>Install &apos;esptool.py&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="148"/>
+        <location filename="../MicroPython/EspDevices.py" line="165"/>
         <source>Shall the flash of the selected device really be erased?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>&apos;esptool erase_flash&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="182"/>
+        <location filename="../MicroPython/EspDevices.py" line="199"/>
         <source>Unsupported chip type &apos;{0}&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
         <source>&apos;esptool write_flash&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="139"/>
+        <location filename="../MicroPython/EspDevices.py" line="156"/>
         <source>Reset Device</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>Show Chip ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>Show Flash ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>Show MAC Address</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>&apos;esptool read_flash&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>&apos;esptool chip_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>&apos;esptool flash_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>&apos;esptool read_mac&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>EspFirmwareSelectionDialog</name>
@@ -69796,6 +69899,16 @@
         <source>JavaScript batch check</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="256"/>
+        <source>YAML batch check</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="272"/>
+        <source>JSON batch check</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>SyntaxCheckerDialog</name>
@@ -69903,22 +70016,22 @@
 <context>
     <name>SyntaxCheckerPlugin</name>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>Check Syntax</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>&amp;Syntax...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="156"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="176"/>
         <source>Check syntax.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="251"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="271"/>
         <source>&lt;b&gt;Check Syntax...&lt;/b&gt;&lt;p&gt;This checks Python files for syntax errors.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -80435,27 +80548,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>Edit Spelling Dictionary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6554"/>
+        <location filename="../ViewManager/ViewManager.py" line="6560"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6572"/>
+        <location filename="../ViewManager/ViewManager.py" line="6578"/>
         <source>Editing {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6584"/>
+        <location filename="../ViewManager/ViewManager.py" line="6590"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>The spelling dictionary was saved successfully.</source>
         <translation type="unfinished"></translation>
     </message>
Binary file eric6/i18n/eric6_en.qm has changed
--- a/eric6/i18n/eric6_en.ts	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/i18n/eric6_en.ts	Sat Dec 07 17:47:24 2019 +0100
@@ -10659,927 +10659,927 @@
 <context>
     <name>Editor</name>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>Open File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="364"/>
+        <location filename="../QScintilla/Editor.py" line="365"/>
         <source>&lt;p&gt;The size of the file &lt;b&gt;{0}&lt;/b&gt; is &lt;b&gt;{1} KB&lt;/b&gt;. Do you really want to load it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="453"/>
+        <location filename="../QScintilla/Editor.py" line="454"/>
         <source>&lt;b&gt;A Source Editor Window&lt;/b&gt;&lt;p&gt;This window is used to display and edit a source file.  You can open as many of these as you like. The name of the file is displayed in the window&apos;s titlebar.&lt;/p&gt;&lt;p&gt;In order to set breakpoints just click in the space between the line numbers and the fold markers. Via the context menu of the margins they may be edited.&lt;/p&gt;&lt;p&gt;In order to set bookmarks just Shift click in the space between the line numbers and the fold markers.&lt;/p&gt;&lt;p&gt;These actions can be reversed via the context menu.&lt;/p&gt;&lt;p&gt;Ctrl clicking on a syntax error marker shows some info about this error.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="778"/>
+        <location filename="../QScintilla/Editor.py" line="779"/>
         <source>Undo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="781"/>
+        <location filename="../QScintilla/Editor.py" line="782"/>
         <source>Redo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="784"/>
+        <location filename="../QScintilla/Editor.py" line="785"/>
         <source>Revert to last saved state</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="788"/>
+        <location filename="../QScintilla/Editor.py" line="789"/>
         <source>Cut</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="791"/>
+        <location filename="../QScintilla/Editor.py" line="792"/>
         <source>Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="794"/>
+        <location filename="../QScintilla/Editor.py" line="795"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="802"/>
+        <location filename="../QScintilla/Editor.py" line="803"/>
         <source>Indent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="805"/>
+        <location filename="../QScintilla/Editor.py" line="806"/>
         <source>Unindent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="808"/>
+        <location filename="../QScintilla/Editor.py" line="809"/>
         <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="811"/>
+        <location filename="../QScintilla/Editor.py" line="812"/>
         <source>Uncomment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="814"/>
+        <location filename="../QScintilla/Editor.py" line="815"/>
         <source>Stream Comment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="817"/>
+        <location filename="../QScintilla/Editor.py" line="818"/>
         <source>Box Comment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="821"/>
+        <location filename="../QScintilla/Editor.py" line="822"/>
         <source>Select to brace</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="823"/>
-        <source>Select all</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="824"/>
+        <source>Select all</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="825"/>
         <source>Deselect all</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7833"/>
+        <location filename="../QScintilla/Editor.py" line="7834"/>
         <source>Check spelling...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="832"/>
+        <location filename="../QScintilla/Editor.py" line="833"/>
         <source>Check spelling of selection...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="836"/>
+        <location filename="../QScintilla/Editor.py" line="837"/>
         <source>Remove from dictionary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="842"/>
+        <location filename="../QScintilla/Editor.py" line="843"/>
         <source>Shorten empty lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="849"/>
+        <location filename="../QScintilla/Editor.py" line="850"/>
         <source>Use Monospaced Font</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="854"/>
+        <location filename="../QScintilla/Editor.py" line="855"/>
         <source>Autosave enabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="858"/>
+        <location filename="../QScintilla/Editor.py" line="859"/>
         <source>Typing aids enabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="897"/>
+        <location filename="../QScintilla/Editor.py" line="898"/>
         <source>Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="903"/>
+        <location filename="../QScintilla/Editor.py" line="904"/>
         <source>Save</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="906"/>
+        <location filename="../QScintilla/Editor.py" line="907"/>
         <source>Save As...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="919"/>
+        <location filename="../QScintilla/Editor.py" line="920"/>
         <source>Print Preview</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="922"/>
+        <location filename="../QScintilla/Editor.py" line="923"/>
         <source>Print</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="951"/>
+        <location filename="../QScintilla/Editor.py" line="952"/>
         <source>Complete from Document</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="953"/>
+        <location filename="../QScintilla/Editor.py" line="954"/>
         <source>Complete from APIs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="955"/>
+        <location filename="../QScintilla/Editor.py" line="956"/>
         <source>Complete from Document and APIs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="873"/>
+        <location filename="../QScintilla/Editor.py" line="874"/>
         <source>Calltip</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="969"/>
+        <location filename="../QScintilla/Editor.py" line="970"/>
         <source>Check</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="989"/>
+        <location filename="../QScintilla/Editor.py" line="990"/>
         <source>Show</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="991"/>
-        <source>Code metrics...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="992"/>
+        <source>Code metrics...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="993"/>
         <source>Code coverage...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="994"/>
+        <location filename="../QScintilla/Editor.py" line="995"/>
         <source>Show code coverage annotations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="997"/>
+        <location filename="../QScintilla/Editor.py" line="998"/>
         <source>Hide code coverage annotations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1000"/>
+        <location filename="../QScintilla/Editor.py" line="1001"/>
         <source>Profile data...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1013"/>
+        <location filename="../QScintilla/Editor.py" line="1014"/>
         <source>Diagrams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1015"/>
+        <location filename="../QScintilla/Editor.py" line="1016"/>
         <source>Class Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1017"/>
+        <location filename="../QScintilla/Editor.py" line="1018"/>
         <source>Package Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1019"/>
+        <location filename="../QScintilla/Editor.py" line="1020"/>
         <source>Imports Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1021"/>
+        <location filename="../QScintilla/Editor.py" line="1022"/>
         <source>Application Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1039"/>
+        <location filename="../QScintilla/Editor.py" line="1040"/>
         <source>Languages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1172"/>
+        <location filename="../QScintilla/Editor.py" line="1173"/>
         <source>No Language</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1068"/>
+        <location filename="../QScintilla/Editor.py" line="1069"/>
         <source>Guessed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1408"/>
+        <location filename="../QScintilla/Editor.py" line="1409"/>
         <source>Alternatives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1088"/>
+        <location filename="../QScintilla/Editor.py" line="1089"/>
         <source>Encodings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1129"/>
+        <location filename="../QScintilla/Editor.py" line="1130"/>
         <source>End-of-Line Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1133"/>
+        <location filename="../QScintilla/Editor.py" line="1134"/>
         <source>Unix</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1140"/>
+        <location filename="../QScintilla/Editor.py" line="1141"/>
         <source>Windows</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1147"/>
+        <location filename="../QScintilla/Editor.py" line="1148"/>
         <source>Macintosh</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1197"/>
+        <location filename="../QScintilla/Editor.py" line="1198"/>
         <source>Export as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1219"/>
+        <location filename="../QScintilla/Editor.py" line="1220"/>
         <source>Toggle bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1221"/>
+        <location filename="../QScintilla/Editor.py" line="1222"/>
         <source>Next bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1223"/>
+        <location filename="../QScintilla/Editor.py" line="1224"/>
         <source>Previous bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1225"/>
+        <location filename="../QScintilla/Editor.py" line="1226"/>
         <source>Clear all bookmarks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1234"/>
+        <location filename="../QScintilla/Editor.py" line="1235"/>
         <source>Toggle breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1236"/>
+        <location filename="../QScintilla/Editor.py" line="1237"/>
         <source>Toggle temporary breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1239"/>
+        <location filename="../QScintilla/Editor.py" line="1240"/>
         <source>Edit breakpoint...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5606"/>
+        <location filename="../QScintilla/Editor.py" line="5607"/>
         <source>Enable breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1244"/>
+        <location filename="../QScintilla/Editor.py" line="1245"/>
         <source>Next breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1246"/>
+        <location filename="../QScintilla/Editor.py" line="1247"/>
         <source>Previous breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1251"/>
+        <location filename="../QScintilla/Editor.py" line="1252"/>
         <source>Clear all breakpoints</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1299"/>
+        <location filename="../QScintilla/Editor.py" line="1300"/>
         <source>Goto syntax error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1303"/>
+        <location filename="../QScintilla/Editor.py" line="1304"/>
         <source>Show syntax error message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1308"/>
+        <location filename="../QScintilla/Editor.py" line="1309"/>
         <source>Clear syntax error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1313"/>
+        <location filename="../QScintilla/Editor.py" line="1314"/>
         <source>Next warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1317"/>
+        <location filename="../QScintilla/Editor.py" line="1318"/>
         <source>Previous warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1321"/>
+        <location filename="../QScintilla/Editor.py" line="1322"/>
         <source>Show warning message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1325"/>
+        <location filename="../QScintilla/Editor.py" line="1326"/>
         <source>Clear warnings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1330"/>
+        <location filename="../QScintilla/Editor.py" line="1331"/>
         <source>Next uncovered line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1334"/>
+        <location filename="../QScintilla/Editor.py" line="1335"/>
         <source>Previous uncovered line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1339"/>
+        <location filename="../QScintilla/Editor.py" line="1340"/>
         <source>Next task</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1343"/>
+        <location filename="../QScintilla/Editor.py" line="1344"/>
         <source>Previous task</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>Export source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1385"/>
+        <location filename="../QScintilla/Editor.py" line="1386"/>
         <source>&lt;p&gt;No exporter available for the export format &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>No export format given. Aborting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1404"/>
+        <location filename="../QScintilla/Editor.py" line="1405"/>
         <source>Alternatives ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Pygments Lexer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Select the Pygments lexer to apply.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>Modification of Read Only file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>You are attempting to change a read only file. Please save to a different file first.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2662"/>
+        <location filename="../QScintilla/Editor.py" line="2663"/>
         <source>Printing...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2679"/>
+        <location filename="../QScintilla/Editor.py" line="2680"/>
         <source>Printing completed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2681"/>
+        <location filename="../QScintilla/Editor.py" line="2682"/>
         <source>Error while printing</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2684"/>
+        <location filename="../QScintilla/Editor.py" line="2685"/>
         <source>Printing aborted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>File Modified</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has unsaved changes.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be opened.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>Save File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3231"/>
+        <location filename="../QScintilla/Editor.py" line="3232"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be saved.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion is not available because there is no autocompletion source set.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5609"/>
+        <location filename="../QScintilla/Editor.py" line="5610"/>
         <source>Disable breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Code Coverage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Please select a coverage file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>Show Code Coverage Annotations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6040"/>
+        <location filename="../QScintilla/Editor.py" line="6041"/>
         <source>All lines have been covered.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>There is no coverage file available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Profile Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Please select a profile file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>Syntax Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>No syntax error message available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Macro Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Select a macro name:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6745"/>
+        <location filename="../QScintilla/Editor.py" line="6746"/>
         <source>Load macro file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Macro files (*.macro)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>Error loading macro</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6759"/>
+        <location filename="../QScintilla/Editor.py" line="6760"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Save macro file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>Save macro</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>Error saving macro</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Start Macro Recording</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Macro recording is already active. Start new?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Macro Recording</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Enter name of the macro:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7000"/>
+        <location filename="../QScintilla/Editor.py" line="7001"/>
         <source>File changed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7165"/>
+        <location filename="../QScintilla/Editor.py" line="7166"/>
         <source>{0} (ro)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>Drop Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7327"/>
+        <location filename="../QScintilla/Editor.py" line="7328"/>
         <source>Resources</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7329"/>
+        <location filename="../QScintilla/Editor.py" line="7330"/>
         <source>Add file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7331"/>
+        <location filename="../QScintilla/Editor.py" line="7332"/>
         <source>Add files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7333"/>
+        <location filename="../QScintilla/Editor.py" line="7334"/>
         <source>Add aliased file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7336"/>
+        <location filename="../QScintilla/Editor.py" line="7337"/>
         <source>Add localized resource...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7340"/>
+        <location filename="../QScintilla/Editor.py" line="7341"/>
         <source>Add resource frame</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7359"/>
+        <location filename="../QScintilla/Editor.py" line="7360"/>
         <source>Add file resource</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7375"/>
+        <location filename="../QScintilla/Editor.py" line="7376"/>
         <source>Add file resources</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Add aliased file resource</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Package Diagram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Include class attributes?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Imports Diagram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Include imports from external modules?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Application Diagram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Include module names?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7836"/>
+        <location filename="../QScintilla/Editor.py" line="7837"/>
         <source>Add to dictionary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7838"/>
+        <location filename="../QScintilla/Editor.py" line="7839"/>
         <source>Ignore All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6605"/>
+        <location filename="../QScintilla/Editor.py" line="6606"/>
         <source>Warning: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6612"/>
+        <location filename="../QScintilla/Editor.py" line="6613"/>
         <source>Error: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6996"/>
+        <location filename="../QScintilla/Editor.py" line="6997"/>
         <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="915"/>
+        <location filename="../QScintilla/Editor.py" line="916"/>
         <source>Open &apos;rejection&apos; file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1025"/>
+        <location filename="../QScintilla/Editor.py" line="1026"/>
         <source>Load Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1348"/>
+        <location filename="../QScintilla/Editor.py" line="1349"/>
         <source>Next change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1352"/>
+        <location filename="../QScintilla/Editor.py" line="1353"/>
         <source>Previous change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>Sort Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>The selection contains illegal data for a numerical sort.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>No warning messages available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6602"/>
+        <location filename="../QScintilla/Editor.py" line="6603"/>
         <source>Style: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="889"/>
+        <location filename="../QScintilla/Editor.py" line="890"/>
         <source>New Document View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="892"/>
+        <location filename="../QScintilla/Editor.py" line="893"/>
         <source>New Document View (with new split)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="979"/>
+        <location filename="../QScintilla/Editor.py" line="980"/>
         <source>Tools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1110"/>
+        <location filename="../QScintilla/Editor.py" line="1111"/>
         <source>Re-Open With Encoding</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6990"/>
+        <location filename="../QScintilla/Editor.py" line="6991"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric6. Reread it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="865"/>
+        <location filename="../QScintilla/Editor.py" line="866"/>
         <source>Automatic Completion enabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="945"/>
+        <location filename="../QScintilla/Editor.py" line="946"/>
         <source>Complete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>Auto-Completion Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>The completion list provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>Call-Tips Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>The call-tips provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>Register Mouse Click Handler</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>A mouse click handler for &quot;{0}&quot; was already registered by &quot;{1}&quot;. Aborting request by &quot;{2}&quot;...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="909"/>
+        <location filename="../QScintilla/Editor.py" line="910"/>
         <source>Save Copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="948"/>
+        <location filename="../QScintilla/Editor.py" line="949"/>
         <source>Clear Completions Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="875"/>
+        <location filename="../QScintilla/Editor.py" line="876"/>
         <source>Code Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1356"/>
+        <location filename="../QScintilla/Editor.py" line="1357"/>
         <source>Clear changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="798"/>
+        <location filename="../QScintilla/Editor.py" line="799"/>
         <source>Execute Selection In Console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>EditorConfig Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1260"/>
+        <location filename="../QScintilla/Editor.py" line="1261"/>
         <source>Toggle all folds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1265"/>
+        <location filename="../QScintilla/Editor.py" line="1266"/>
         <source>Toggle all folds (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1270"/>
+        <location filename="../QScintilla/Editor.py" line="1271"/>
         <source>Toggle current fold</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1276"/>
+        <location filename="../QScintilla/Editor.py" line="1277"/>
         <source>Expand (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1281"/>
+        <location filename="../QScintilla/Editor.py" line="1282"/>
         <source>Collapse (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1287"/>
+        <location filename="../QScintilla/Editor.py" line="1288"/>
         <source>Clear all folds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1168"/>
+        <location filename="../QScintilla/Editor.py" line="1169"/>
         <source>Spell Check Languages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -16830,6 +16830,64 @@
     </message>
 </context>
 <context>
+    <name>EspBackupRestoreFirmwareDialog</name>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="22"/>
+        <source>ESP Chip Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="29"/>
+        <source>Select the ESP chip type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="52"/>
+        <source>Firmware Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="59"/>
+        <source>Select the firmware size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="69"/>
+        <source>Flashmode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="76"/>
+        <source>Select the flash mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="83"/>
+        <source>Firmware:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="93"/>
+        <source>Enter the path of the firmware file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="66"/>
+        <source>Firmware Files (*.img);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="72"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="76"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>EspDevice</name>
     <message>
         <location filename="../MicroPython/EspDevices.py" line="67"/>
@@ -16837,50 +16895,95 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>Erase Flash</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="193"/>
+        <location filename="../MicroPython/EspDevices.py" line="210"/>
         <source>Flash MicroPython Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="234"/>
         <source>Flash Additional Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="141"/>
+        <location filename="../MicroPython/EspDevices.py" line="158"/>
         <source>Install &apos;esptool.py&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="148"/>
+        <location filename="../MicroPython/EspDevices.py" line="165"/>
         <source>Shall the flash of the selected device really be erased?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>&apos;esptool erase_flash&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="182"/>
+        <location filename="../MicroPython/EspDevices.py" line="199"/>
         <source>Unsupported chip type &apos;{0}&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
         <source>&apos;esptool write_flash&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="139"/>
+        <location filename="../MicroPython/EspDevices.py" line="156"/>
         <source>Reset Device</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>Show Chip ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>Show Flash ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>Show MAC Address</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>&apos;esptool read_flash&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>&apos;esptool chip_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>&apos;esptool flash_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>&apos;esptool read_mac&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>EspFirmwareSelectionDialog</name>
@@ -69840,6 +69943,16 @@
         <source>JavaScript batch check</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="256"/>
+        <source>YAML batch check</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="272"/>
+        <source>JSON batch check</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>SyntaxCheckerDialog</name>
@@ -69947,22 +70060,22 @@
 <context>
     <name>SyntaxCheckerPlugin</name>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>Check Syntax</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>&amp;Syntax...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="156"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="176"/>
         <source>Check syntax.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="251"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="271"/>
         <source>&lt;b&gt;Check Syntax...&lt;/b&gt;&lt;p&gt;This checks Python files for syntax errors.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -80185,27 +80298,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>Edit Spelling Dictionary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6572"/>
+        <location filename="../ViewManager/ViewManager.py" line="6578"/>
         <source>Editing {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6554"/>
+        <location filename="../ViewManager/ViewManager.py" line="6560"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6584"/>
+        <location filename="../ViewManager/ViewManager.py" line="6590"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>The spelling dictionary was saved successfully.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_es.ts	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/i18n/eric6_es.ts	Sat Dec 07 17:47:24 2019 +0100
@@ -10747,927 +10747,927 @@
 <context>
     <name>Editor</name>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>Open File</source>
         <translation>Abrir archivo</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="778"/>
+        <location filename="../QScintilla/Editor.py" line="779"/>
         <source>Undo</source>
         <translation>Deshacer</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="781"/>
+        <location filename="../QScintilla/Editor.py" line="782"/>
         <source>Redo</source>
         <translation>Rehacer</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="784"/>
+        <location filename="../QScintilla/Editor.py" line="785"/>
         <source>Revert to last saved state</source>
         <translation>Volver al último estado guardado</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="788"/>
+        <location filename="../QScintilla/Editor.py" line="789"/>
         <source>Cut</source>
         <translation>Cortar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="791"/>
+        <location filename="../QScintilla/Editor.py" line="792"/>
         <source>Copy</source>
         <translation>Copiar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="794"/>
+        <location filename="../QScintilla/Editor.py" line="795"/>
         <source>Paste</source>
         <translation>Pegar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="802"/>
+        <location filename="../QScintilla/Editor.py" line="803"/>
         <source>Indent</source>
         <translation>Indentar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="805"/>
+        <location filename="../QScintilla/Editor.py" line="806"/>
         <source>Unindent</source>
         <translation>Desindentar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="808"/>
+        <location filename="../QScintilla/Editor.py" line="809"/>
         <source>Comment</source>
         <translation>Pasar a comentario</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="811"/>
+        <location filename="../QScintilla/Editor.py" line="812"/>
         <source>Uncomment</source>
         <translation>Sacar de comentario</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="814"/>
+        <location filename="../QScintilla/Editor.py" line="815"/>
         <source>Stream Comment</source>
         <translation>Bloque de comentario</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="817"/>
+        <location filename="../QScintilla/Editor.py" line="818"/>
         <source>Box Comment</source>
         <translation>Caja de comentario</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="821"/>
+        <location filename="../QScintilla/Editor.py" line="822"/>
         <source>Select to brace</source>
         <translation>Seleccionar hasta la llave ( &apos;{&apos; o &apos;}&apos; )</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="823"/>
-        <source>Select all</source>
-        <translation>Seleccionar todo</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="824"/>
+        <source>Select all</source>
+        <translation>Seleccionar todo</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="825"/>
         <source>Deselect all</source>
         <translation>Deseleccionar todo</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="842"/>
+        <location filename="../QScintilla/Editor.py" line="843"/>
         <source>Shorten empty lines</source>
         <translation>Acortar las líneas vacías</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="849"/>
+        <location filename="../QScintilla/Editor.py" line="850"/>
         <source>Use Monospaced Font</source>
         <translation>Usar fuente monoespaciada</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="854"/>
+        <location filename="../QScintilla/Editor.py" line="855"/>
         <source>Autosave enabled</source>
         <translation>Autoguardar habilitado</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="897"/>
+        <location filename="../QScintilla/Editor.py" line="898"/>
         <source>Close</source>
         <translation>Cerrar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="903"/>
+        <location filename="../QScintilla/Editor.py" line="904"/>
         <source>Save</source>
         <translation>Guardar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="906"/>
+        <location filename="../QScintilla/Editor.py" line="907"/>
         <source>Save As...</source>
         <translation>Guardar como...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="922"/>
+        <location filename="../QScintilla/Editor.py" line="923"/>
         <source>Print</source>
         <translation>Imprimir</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="951"/>
+        <location filename="../QScintilla/Editor.py" line="952"/>
         <source>Complete from Document</source>
         <translation>Completar desde documento</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="953"/>
+        <location filename="../QScintilla/Editor.py" line="954"/>
         <source>Complete from APIs</source>
         <translation>Completar desde APIs</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="955"/>
+        <location filename="../QScintilla/Editor.py" line="956"/>
         <source>Complete from Document and APIs</source>
         <translation>Completar desde Documento y APIs</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="969"/>
+        <location filename="../QScintilla/Editor.py" line="970"/>
         <source>Check</source>
         <translation>Verificar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="989"/>
+        <location filename="../QScintilla/Editor.py" line="990"/>
         <source>Show</source>
         <translation>Mostrar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="991"/>
-        <source>Code metrics...</source>
-        <translation>Métricas de código...</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="992"/>
+        <source>Code metrics...</source>
+        <translation>Métricas de código...</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="993"/>
         <source>Code coverage...</source>
         <translation>Cobertura de código...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="994"/>
+        <location filename="../QScintilla/Editor.py" line="995"/>
         <source>Show code coverage annotations</source>
         <translation>Mostrar anotaciones de cobertura de codigo</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="997"/>
+        <location filename="../QScintilla/Editor.py" line="998"/>
         <source>Hide code coverage annotations</source>
         <translation>Ocultar anotaciones de cobertura de codigo</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1000"/>
+        <location filename="../QScintilla/Editor.py" line="1001"/>
         <source>Profile data...</source>
         <translation>Datos de profiling...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1013"/>
+        <location filename="../QScintilla/Editor.py" line="1014"/>
         <source>Diagrams</source>
         <translation>Diagramas</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1015"/>
+        <location filename="../QScintilla/Editor.py" line="1016"/>
         <source>Class Diagram...</source>
         <translation>Diagrama de clases...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1017"/>
+        <location filename="../QScintilla/Editor.py" line="1018"/>
         <source>Package Diagram...</source>
         <translation>Diagrama de paquetes...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1019"/>
+        <location filename="../QScintilla/Editor.py" line="1020"/>
         <source>Imports Diagram...</source>
         <translation>Diagrama de imports...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1021"/>
+        <location filename="../QScintilla/Editor.py" line="1022"/>
         <source>Application Diagram...</source>
         <translation>Diagrama de aplicación...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1039"/>
+        <location filename="../QScintilla/Editor.py" line="1040"/>
         <source>Languages</source>
         <translation>Lenguajes</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1172"/>
+        <location filename="../QScintilla/Editor.py" line="1173"/>
         <source>No Language</source>
         <translation>Ningún Lenguaje</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1197"/>
+        <location filename="../QScintilla/Editor.py" line="1198"/>
         <source>Export as</source>
         <translation>Exportar como</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1219"/>
+        <location filename="../QScintilla/Editor.py" line="1220"/>
         <source>Toggle bookmark</source>
         <translation>Alternar marcador</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1221"/>
+        <location filename="../QScintilla/Editor.py" line="1222"/>
         <source>Next bookmark</source>
         <translation>Nuevo marcador</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1223"/>
+        <location filename="../QScintilla/Editor.py" line="1224"/>
         <source>Previous bookmark</source>
         <translation>Marcador anterior</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1225"/>
+        <location filename="../QScintilla/Editor.py" line="1226"/>
         <source>Clear all bookmarks</source>
         <translation>Borrar todos los marcadores</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1299"/>
+        <location filename="../QScintilla/Editor.py" line="1300"/>
         <source>Goto syntax error</source>
         <translation>Ir al error de sintaxis</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1303"/>
+        <location filename="../QScintilla/Editor.py" line="1304"/>
         <source>Show syntax error message</source>
         <translation>Ver el mensaje de error de sintaxis</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1308"/>
+        <location filename="../QScintilla/Editor.py" line="1309"/>
         <source>Clear syntax error</source>
         <translation>Borrar error de sintaxis</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1234"/>
+        <location filename="../QScintilla/Editor.py" line="1235"/>
         <source>Toggle breakpoint</source>
         <translation>Alternar punto de interrupción</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1236"/>
+        <location filename="../QScintilla/Editor.py" line="1237"/>
         <source>Toggle temporary breakpoint</source>
         <translation>Alternar punto de interrupción temporal</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1239"/>
+        <location filename="../QScintilla/Editor.py" line="1240"/>
         <source>Edit breakpoint...</source>
         <translation>Editar punto de interrupción...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5606"/>
+        <location filename="../QScintilla/Editor.py" line="5607"/>
         <source>Enable breakpoint</source>
         <translation>Activar punto de interrupción</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1244"/>
+        <location filename="../QScintilla/Editor.py" line="1245"/>
         <source>Next breakpoint</source>
         <translation>Siguiente punto de interrupción</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1246"/>
+        <location filename="../QScintilla/Editor.py" line="1247"/>
         <source>Previous breakpoint</source>
         <translation>Punto de interrupción anterior</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1251"/>
+        <location filename="../QScintilla/Editor.py" line="1252"/>
         <source>Clear all breakpoints</source>
         <translation>Borrar todos los puntos de interrupción</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1330"/>
+        <location filename="../QScintilla/Editor.py" line="1331"/>
         <source>Next uncovered line</source>
         <translation>Siguiente línea sin cobertura</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1334"/>
+        <location filename="../QScintilla/Editor.py" line="1335"/>
         <source>Previous uncovered line</source>
         <translation>Anterior línea sin cobertura</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1339"/>
+        <location filename="../QScintilla/Editor.py" line="1340"/>
         <source>Next task</source>
         <translation>Nueva tarea</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1343"/>
+        <location filename="../QScintilla/Editor.py" line="1344"/>
         <source>Previous task</source>
         <translation>Tarea anterior</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>Export source</source>
         <translation>Exportar fuente</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>No export format given. Aborting...</source>
         <translation>No se ha proporcionado un formato de exportación. Abortando...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>Modification of Read Only file</source>
         <translation>Modificación de un archivo de solo lectura</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>You are attempting to change a read only file. Please save to a different file first.</source>
         <translation>Usted está intentando modificar un archivo solo lectura. Por favor guarde en otro archivo primero.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2662"/>
+        <location filename="../QScintilla/Editor.py" line="2663"/>
         <source>Printing...</source>
         <translation>Imprimiendo...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2679"/>
+        <location filename="../QScintilla/Editor.py" line="2680"/>
         <source>Printing completed</source>
         <translation>Impresión completa</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2681"/>
+        <location filename="../QScintilla/Editor.py" line="2682"/>
         <source>Error while printing</source>
         <translation>Error al imprimir</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2684"/>
+        <location filename="../QScintilla/Editor.py" line="2685"/>
         <source>Printing aborted</source>
         <translation>Impresión cancelada</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>File Modified</source>
         <translation>Archivo modificado</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>Save File</source>
         <translation>Guardar archivo</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion</source>
         <translation>Autocompletar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion is not available because there is no autocompletion source set.</source>
         <translation>Autocompletar no está disponible porque no hay origen de datos para autocompletar.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5609"/>
+        <location filename="../QScintilla/Editor.py" line="5610"/>
         <source>Disable breakpoint</source>
         <translation>Deshabilitar punto de interrupción</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Code Coverage</source>
         <translation>Cobertura de codigo</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Please select a coverage file</source>
         <translation>Por favor seleccione un archivo de cobertura</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>Show Code Coverage Annotations</source>
         <translation>Mostrar Anotaciones de Cobertura de Código</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6040"/>
+        <location filename="../QScintilla/Editor.py" line="6041"/>
         <source>All lines have been covered.</source>
         <translation>Todas las líneas han sido cubiertas.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>There is no coverage file available.</source>
         <translation>No hay archivo de cobertura disponible.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Profile Data</source>
         <translation>Datos de profiling</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Please select a profile file</source>
         <translation>Por favor seleccione un archivo de profiling</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>Syntax Error</source>
         <translation>Error de sintaxis</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>No syntax error message available.</source>
         <translation>No hay mensajes de error de sintaxis disponibles.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Macro Name</source>
         <translation>Nombre de macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Select a macro name:</source>
         <translation>Seleccione un nombre de macro:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6745"/>
+        <location filename="../QScintilla/Editor.py" line="6746"/>
         <source>Load macro file</source>
         <translation>Cargar archivo de macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Macro files (*.macro)</source>
         <translation>Archivos de Macro  (*.macro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>Error loading macro</source>
         <translation>Error al cargar macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Save macro file</source>
         <translation>Guardar archivo de macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>Save macro</source>
         <translation>Guardar macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>Error saving macro</source>
         <translation>Error al guardar macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Start Macro Recording</source>
         <translation>Comenzar grabación de macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Macro recording is already active. Start new?</source>
         <translation>Grabación de macro ya está activada. ¿Comenzar una nueva?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Macro Recording</source>
         <translation>Grabando macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Enter name of the macro:</source>
         <translation>Introduzca el nombre de la macro:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7000"/>
+        <location filename="../QScintilla/Editor.py" line="7001"/>
         <source>File changed</source>
         <translation>Archivo modificado</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>Drop Error</source>
         <translation>Error al soltar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7327"/>
+        <location filename="../QScintilla/Editor.py" line="7328"/>
         <source>Resources</source>
         <translation>Recursos</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7329"/>
+        <location filename="../QScintilla/Editor.py" line="7330"/>
         <source>Add file...</source>
         <translation>Añadir archivo...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7331"/>
+        <location filename="../QScintilla/Editor.py" line="7332"/>
         <source>Add files...</source>
         <translation>Añadir archivos...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7333"/>
+        <location filename="../QScintilla/Editor.py" line="7334"/>
         <source>Add aliased file...</source>
         <translation>Añadir archivo con un alias...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7336"/>
+        <location filename="../QScintilla/Editor.py" line="7337"/>
         <source>Add localized resource...</source>
         <translation>Añadir recursos localizados...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7340"/>
+        <location filename="../QScintilla/Editor.py" line="7341"/>
         <source>Add resource frame</source>
         <translation>Añadir ventana de recursos</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7359"/>
+        <location filename="../QScintilla/Editor.py" line="7360"/>
         <source>Add file resource</source>
         <translation>Añadir archivo de recursos</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7375"/>
+        <location filename="../QScintilla/Editor.py" line="7376"/>
         <source>Add file resources</source>
         <translation>Añadir archivo de recursos</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Add aliased file resource</source>
         <translation>Añadir archivo de recursos con un alias</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Package Diagram</source>
         <translation>Digrama de paquetes</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Include class attributes?</source>
         <translation>¿Incluir atributos de clase?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Imports Diagram</source>
         <translation>Diagrama de imports</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Include imports from external modules?</source>
         <translation>¿Incluir los imports de módulos externos?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Application Diagram</source>
         <translation>Diagrama de aplicación</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Include module names?</source>
         <translation>¿Incluir nombres de módulos?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="873"/>
+        <location filename="../QScintilla/Editor.py" line="874"/>
         <source>Calltip</source>
         <translation>Consejo de llamada</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="919"/>
+        <location filename="../QScintilla/Editor.py" line="920"/>
         <source>Print Preview</source>
         <translation>Presentación preliminar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="453"/>
+        <location filename="../QScintilla/Editor.py" line="454"/>
         <source>&lt;b&gt;A Source Editor Window&lt;/b&gt;&lt;p&gt;This window is used to display and edit a source file.  You can open as many of these as you like. The name of the file is displayed in the window&apos;s titlebar.&lt;/p&gt;&lt;p&gt;In order to set breakpoints just click in the space between the line numbers and the fold markers. Via the context menu of the margins they may be edited.&lt;/p&gt;&lt;p&gt;In order to set bookmarks just Shift click in the space between the line numbers and the fold markers.&lt;/p&gt;&lt;p&gt;These actions can be reversed via the context menu.&lt;/p&gt;&lt;p&gt;Ctrl clicking on a syntax error marker shows some info about this error.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Una Ventana de Edición de Códigos Fuente&lt;/b&gt;&lt;p&gt;Esta ventana se utiliza para mostrar y editar un archivo de código fuente.  Puede abrir tantas como desee. El nombre del archivo se muestra en la barra de título de la ventana.&lt;/p&gt;&lt;p&gt;Para insertar puntos de interrupción basta con hacer un click en el espacio entre los números de línea y los marcadores de plegado.  Pueden editarse con el menú de contexto de los márgenes.&lt;/p&gt;&lt;p&gt;Para insertar marcadores solo hay que hacer Shift-click en el espacio entre los números de línea y los marcadores de plegado.&lt;/p&gt;&lt;p&gt;Estas acciones se pueden revertir utilizando el menú de contexto.&lt;/p&gt;&lt;p&gt;Haciendo Ctrl-click en un marcador de error sintáctico se muestra información sobre el dicho error.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="858"/>
+        <location filename="../QScintilla/Editor.py" line="859"/>
         <source>Typing aids enabled</source>
         <translation>Ayudas al tecleo habilitadas</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1129"/>
+        <location filename="../QScintilla/Editor.py" line="1130"/>
         <source>End-of-Line Type</source>
         <translation>Tipo de fin-de-línea</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1133"/>
+        <location filename="../QScintilla/Editor.py" line="1134"/>
         <source>Unix</source>
         <translation>Unix</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1140"/>
+        <location filename="../QScintilla/Editor.py" line="1141"/>
         <source>Windows</source>
         <translation>Windows</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1147"/>
+        <location filename="../QScintilla/Editor.py" line="1148"/>
         <source>Macintosh</source>
         <translation>Macintosh</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1088"/>
+        <location filename="../QScintilla/Editor.py" line="1089"/>
         <source>Encodings</source>
         <translation>Codificaciones</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1068"/>
+        <location filename="../QScintilla/Editor.py" line="1069"/>
         <source>Guessed</source>
         <translation>Suposición</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1408"/>
+        <location filename="../QScintilla/Editor.py" line="1409"/>
         <source>Alternatives</source>
         <translation>Alternativas</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Pygments Lexer</source>
         <translation>Analizador Léxico de Pygments</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Select the Pygments lexer to apply.</source>
         <translation>Seleccionar el Analizador Léxico de Pygments.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7833"/>
+        <location filename="../QScintilla/Editor.py" line="7834"/>
         <source>Check spelling...</source>
         <translation>Corrección ortográfica...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="832"/>
+        <location filename="../QScintilla/Editor.py" line="833"/>
         <source>Check spelling of selection...</source>
         <translation>Corrección ortográfica de la selección...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7836"/>
+        <location filename="../QScintilla/Editor.py" line="7837"/>
         <source>Add to dictionary</source>
         <translation>Añadir al diccionario</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7838"/>
+        <location filename="../QScintilla/Editor.py" line="7839"/>
         <source>Ignore All</source>
         <translation>Ignorar Todo</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="836"/>
+        <location filename="../QScintilla/Editor.py" line="837"/>
         <source>Remove from dictionary</source>
         <translation>Eliminar del diccionario</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="364"/>
+        <location filename="../QScintilla/Editor.py" line="365"/>
         <source>&lt;p&gt;The size of the file &lt;b&gt;{0}&lt;/b&gt; is &lt;b&gt;{1} KB&lt;/b&gt;. Do you really want to load it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;El tamaño del archivo &lt;b&gt;{0}&lt;/b&gt; es &lt;b&gt;{1} KB&lt;/b&gt;. ¿Desea cargarlo de todos modos?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1385"/>
+        <location filename="../QScintilla/Editor.py" line="1386"/>
         <source>&lt;p&gt;No exporter available for the export format &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;No hay un exportador disponible para el formato de exportación &lt;b&gt;{0}&lt;/b&gt;. Abortando...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1404"/>
+        <location filename="../QScintilla/Editor.py" line="1405"/>
         <source>Alternatives ({0})</source>
         <translation>Alternativas ({0})</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has unsaved changes.&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo &lt;b&gt;{0}&lt;/b&gt; tiene cambios sin guardar.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be opened.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo&lt;b&gt;{0}&lt;/b&gt; no puede ser abierto.&lt;br /&gt;Causa: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3231"/>
+        <location filename="../QScintilla/Editor.py" line="3232"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be saved.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo &lt;b&gt;{0}&lt;/b&gt; no puede ser guardado.&lt;br&gt;Causa: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6759"/>
+        <location filename="../QScintilla/Editor.py" line="6760"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo de macro &lt;b&gt;{0}&lt;/b&gt; no se puede leer.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo de macro &lt;b&gt;{0}&lt;/b&gt; está dañado&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo de macro  &lt;b&gt;{0}&lt;/b&gt; no se puede escribir.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7165"/>
+        <location filename="../QScintilla/Editor.py" line="7166"/>
         <source>{0} (ro)</source>
         <translation>{0} (ro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; no es un archivo.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
         <translation>Alias para el archivo &lt;b&gt;{0}&lt;/b&gt;:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1313"/>
+        <location filename="../QScintilla/Editor.py" line="1314"/>
         <source>Next warning</source>
         <translation>Siguiente advertencia</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1317"/>
+        <location filename="../QScintilla/Editor.py" line="1318"/>
         <source>Previous warning</source>
         <translation>Anterior advertencia</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1321"/>
+        <location filename="../QScintilla/Editor.py" line="1322"/>
         <source>Show warning message</source>
         <translation>Mostrar mensaje de advertencia</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1325"/>
+        <location filename="../QScintilla/Editor.py" line="1326"/>
         <source>Clear warnings</source>
         <translation>Limpiar advertencias</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo &lt;b&gt;{0}&lt;/b&gt; ya existe. ¿Desea sobreescribirlo?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo de macro &lt;b&gt;{0}&lt;/b&gt; ya existe. ¿Desea sobreescribirlo?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6605"/>
+        <location filename="../QScintilla/Editor.py" line="6606"/>
         <source>Warning: {0}</source>
         <translation>Advertencia: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6612"/>
+        <location filename="../QScintilla/Editor.py" line="6613"/>
         <source>Error: {0}</source>
         <translation>Error: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6996"/>
+        <location filename="../QScintilla/Editor.py" line="6997"/>
         <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
         <translation>&lt;br&gt;&lt;b&gt;Advertencia:&lt;/b&gt; Perderá los cambios si lo reabre.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="915"/>
+        <location filename="../QScintilla/Editor.py" line="916"/>
         <source>Open &apos;rejection&apos; file</source>
         <translation>Abrir archivo &apos;de rechazo&apos;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1025"/>
+        <location filename="../QScintilla/Editor.py" line="1026"/>
         <source>Load Diagram...</source>
         <translation>Cargar Diagrama...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1348"/>
+        <location filename="../QScintilla/Editor.py" line="1349"/>
         <source>Next change</source>
         <translation>Siguiente cambio</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1352"/>
+        <location filename="../QScintilla/Editor.py" line="1353"/>
         <source>Previous change</source>
         <translation>Cambio anterior</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>Sort Lines</source>
         <translation>Ordenar Líneas</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>The selection contains illegal data for a numerical sort.</source>
         <translation>La selección contiene datos ilegales para una ordenación numérica.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>Warning</source>
         <translation>Advertencia</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>No warning messages available.</source>
         <translation>No hay mensajes de advertencia disponibles.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6602"/>
+        <location filename="../QScintilla/Editor.py" line="6603"/>
         <source>Style: {0}</source>
         <translation>Estilo: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="889"/>
+        <location filename="../QScintilla/Editor.py" line="890"/>
         <source>New Document View</source>
         <translation>Nueva Vista de Documento</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="892"/>
+        <location filename="../QScintilla/Editor.py" line="893"/>
         <source>New Document View (with new split)</source>
         <translation>Nueva Vista de Documento (con nueva división)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="979"/>
+        <location filename="../QScintilla/Editor.py" line="980"/>
         <source>Tools</source>
         <translation>Herramientas</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1110"/>
+        <location filename="../QScintilla/Editor.py" line="1111"/>
         <source>Re-Open With Encoding</source>
         <translation>Reabrir Con Codificación</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6990"/>
+        <location filename="../QScintilla/Editor.py" line="6991"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric6. Reread it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo &lt;b&gt;{0}&lt;/b&gt; ha cambiado mientras estaba abierto en eric6. ¿Desea volver a cargarlo?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="865"/>
+        <location filename="../QScintilla/Editor.py" line="866"/>
         <source>Automatic Completion enabled</source>
         <translation>Autocompletar habilitado</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="945"/>
+        <location filename="../QScintilla/Editor.py" line="946"/>
         <source>Complete</source>
         <translation>Completo</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>Auto-Completion Provider</source>
         <translation>Proveedor de Autocompletado</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>The completion list provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation>El proveedor de lista de completado&apos;{0}&apos; ya está registrado. Se ignora la solicitud duplicada.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>Call-Tips Provider</source>
         <translation>Proveedor de Call-Tips</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>The call-tips provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation>El proveedor de call-tips&apos;{0}&apos; ya está registrado. Se ignora la solicitud duplicada.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>Register Mouse Click Handler</source>
         <translation>Registrar Manejador de Clicks de Ratón</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>A mouse click handler for &quot;{0}&quot; was already registered by &quot;{1}&quot;. Aborting request by &quot;{2}&quot;...</source>
         <translation>Un manejador de clicks de ratón para &quot;{0}&quot; ya está registrado por &quot;{1}&quot;. Abortando solicitud por &quot;{2}&quot;...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="909"/>
+        <location filename="../QScintilla/Editor.py" line="910"/>
         <source>Save Copy...</source>
         <translation>Guardar Copia...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="948"/>
+        <location filename="../QScintilla/Editor.py" line="949"/>
         <source>Clear Completions Cache</source>
         <translation>Limpiar Caché de Completado</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="875"/>
+        <location filename="../QScintilla/Editor.py" line="876"/>
         <source>Code Info</source>
         <translation>Info del Código</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1356"/>
+        <location filename="../QScintilla/Editor.py" line="1357"/>
         <source>Clear changes</source>
         <translation>Limpiar cambios</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="798"/>
+        <location filename="../QScintilla/Editor.py" line="799"/>
         <source>Execute Selection In Console</source>
         <translation>Ejecutar Selección en Consola</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>EditorConfig Properties</source>
         <translation>Propiedades de EditorConfig</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Las propiedades de EditorConfig para el archivo &lt;b&gt;{0}&lt;/b&gt; no se ha podido cargar.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1260"/>
+        <location filename="../QScintilla/Editor.py" line="1261"/>
         <source>Toggle all folds</source>
         <translation>Recoger/Desplegar los anidamientos</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1265"/>
+        <location filename="../QScintilla/Editor.py" line="1266"/>
         <source>Toggle all folds (including children)</source>
         <translation>Recoger/Desplegar todos los anidamientos (inc. hijos)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1270"/>
+        <location filename="../QScintilla/Editor.py" line="1271"/>
         <source>Toggle current fold</source>
         <translation>Recoger/Desplegar el anidamiento actual</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1276"/>
+        <location filename="../QScintilla/Editor.py" line="1277"/>
         <source>Expand (including children)</source>
         <translation>Expandir (incluídos hijos)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1281"/>
+        <location filename="../QScintilla/Editor.py" line="1282"/>
         <source>Collapse (including children)</source>
         <translation>Contraer (incluídos hijos)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1287"/>
+        <location filename="../QScintilla/Editor.py" line="1288"/>
         <source>Clear all folds</source>
         <translation>Limpiar todos los anidamientos</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1168"/>
+        <location filename="../QScintilla/Editor.py" line="1169"/>
         <source>Spell Check Languages</source>
         <translation>Corrección Ortográfica Idiomas</translation>
     </message>
@@ -16941,57 +16941,165 @@
     </message>
 </context>
 <context>
+    <name>EspBackupRestoreFirmwareDialog</name>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="14"/>
+        <source>Dialog</source>
+        <translation type="obsolete">Diálogo</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="22"/>
+        <source>ESP Chip Type:</source>
+        <translation type="unfinished">Tipo de Chip ESP:</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="29"/>
+        <source>Select the ESP chip type</source>
+        <translation type="unfinished">Seleccionar el tipo de chiop ESP</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="52"/>
+        <source>Firmware Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="59"/>
+        <source>Select the firmware size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="69"/>
+        <source>Flashmode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="76"/>
+        <source>Select the flash mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="83"/>
+        <source>Firmware:</source>
+        <translation type="unfinished">Firmware:</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="93"/>
+        <source>Enter the path of the firmware file</source>
+        <translation type="unfinished">Introducir la ruta del archivo patch</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="66"/>
+        <source>Firmware Files (*.img);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="72"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="76"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>EspDevice</name>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="77"/>
+        <location filename="../MicroPython/EspDevices.py" line="67"/>
         <source>ESP8266, ESP32</source>
         <translation>ESP8266, ESP32</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="170"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>Erase Flash</source>
         <translation>Borrar Flash</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="203"/>
+        <location filename="../MicroPython/EspDevices.py" line="210"/>
         <source>Flash MicroPython Firmware</source>
         <translation>Flash MicroPython Firmware</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="227"/>
+        <location filename="../MicroPython/EspDevices.py" line="234"/>
         <source>Flash Additional Firmware</source>
         <translation>Flash Additional Firmware</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="151"/>
-        <source>Install &apos;esptool.py&apos;</source>
-        <translation>Instalar &apos;esptool.py&apos;</translation>
-    </message>
-    <message>
         <location filename="../MicroPython/EspDevices.py" line="158"/>
+        <source>Install &apos;esptool.py&apos;</source>
+        <translation>Instalar &apos;esptool.py&apos;</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="165"/>
         <source>Shall the flash of the selected device really be erased?</source>
         <translation>¿Borrar el flash del dispositivo seleccionado?</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="170"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>&apos;esptool erase_flash&apos; Output</source>
         <translation>Salida de &apos;esptool erase_flash&apos;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="192"/>
+        <location filename="../MicroPython/EspDevices.py" line="199"/>
         <source>Unsupported chip type &apos;{0}&apos;.</source>
         <translation>Tipo de chip no soportado &apos;{0}&apos;.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="227"/>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
         <source>&apos;esptool write_flash&apos; Output</source>
         <translation>Salida de &apos;esptool write_flash&apos;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="149"/>
+        <location filename="../MicroPython/EspDevices.py" line="156"/>
         <source>Reset Device</source>
         <translation>Resetear Dispositivo</translation>
     </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>Show Chip ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>Show Flash ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>Show MAC Address</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>&apos;esptool read_flash&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>&apos;esptool chip_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>&apos;esptool flash_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>&apos;esptool read_mac&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>EspFirmwareSelectionDialog</name>
@@ -80758,27 +80866,27 @@
         <translation>Lista de Excepciones del Usuario</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>Edit Spelling Dictionary</source>
         <translation>Editar Diccionario Ortográfico</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6572"/>
+        <location filename="../ViewManager/ViewManager.py" line="6578"/>
         <source>Editing {0}</source>
         <translation>Editando {0}</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6554"/>
+        <location filename="../ViewManager/ViewManager.py" line="6560"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo de diccionario ortográfico &lt;b&gt;{0}&lt;/b&gt; no se puede leer.&lt;/p&gt;&lt;p&gt;Razón: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6584"/>
+        <location filename="../ViewManager/ViewManager.py" line="6590"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo de diccionario ortográfico &lt;b&gt;{0}&lt;/b&gt; no se puede escribir.&lt;/p&gt;&lt;p&gt;Razón: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>The spelling dictionary was saved successfully.</source>
         <translation>El diccionario ortográfico se ha guardado con éxito.</translation>
     </message>
--- a/eric6/i18n/eric6_fr.ts	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/i18n/eric6_fr.ts	Sat Dec 07 17:47:24 2019 +0100
@@ -10888,927 +10888,927 @@
 <context>
     <name>Editor</name>
     <message>
-        <location filename="../QScintilla/Editor.py" line="778"/>
+        <location filename="../QScintilla/Editor.py" line="779"/>
         <source>Undo</source>
         <translation>Défaire</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="781"/>
+        <location filename="../QScintilla/Editor.py" line="782"/>
         <source>Redo</source>
         <translation>Refaire</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="784"/>
+        <location filename="../QScintilla/Editor.py" line="785"/>
         <source>Revert to last saved state</source>
         <translation>Ecraser avec le dernier état enregistré</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="788"/>
+        <location filename="../QScintilla/Editor.py" line="789"/>
         <source>Cut</source>
         <translation>Couper</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="791"/>
+        <location filename="../QScintilla/Editor.py" line="792"/>
         <source>Copy</source>
         <translation>Copier</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="794"/>
+        <location filename="../QScintilla/Editor.py" line="795"/>
         <source>Paste</source>
         <translation>Coller</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="802"/>
+        <location filename="../QScintilla/Editor.py" line="803"/>
         <source>Indent</source>
         <translation>Indenter</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="805"/>
+        <location filename="../QScintilla/Editor.py" line="806"/>
         <source>Unindent</source>
         <translation>Désindenter</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="808"/>
+        <location filename="../QScintilla/Editor.py" line="809"/>
         <source>Comment</source>
         <translation>Commenter</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="811"/>
+        <location filename="../QScintilla/Editor.py" line="812"/>
         <source>Uncomment</source>
         <translation>Décommenter</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="814"/>
+        <location filename="../QScintilla/Editor.py" line="815"/>
         <source>Stream Comment</source>
         <translation>Commentaire type &quot;Stream&quot;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="817"/>
+        <location filename="../QScintilla/Editor.py" line="818"/>
         <source>Box Comment</source>
         <translation>Commentaire type &quot;Bloc&quot;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="821"/>
+        <location filename="../QScintilla/Editor.py" line="822"/>
         <source>Select to brace</source>
         <translation>Sélection parenthèses</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="823"/>
-        <source>Select all</source>
-        <translation>Tout sélectionner</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="824"/>
+        <source>Select all</source>
+        <translation>Tout sélectionner</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="825"/>
         <source>Deselect all</source>
         <translation>Tout déselectionner</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="842"/>
+        <location filename="../QScintilla/Editor.py" line="843"/>
         <source>Shorten empty lines</source>
         <translation>Raccourcir les lignes vides</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1039"/>
+        <location filename="../QScintilla/Editor.py" line="1040"/>
         <source>Languages</source>
         <translation>Langages</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="849"/>
+        <location filename="../QScintilla/Editor.py" line="850"/>
         <source>Use Monospaced Font</source>
         <translation>Utiliser une police monospacée</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="969"/>
+        <location filename="../QScintilla/Editor.py" line="970"/>
         <source>Check</source>
         <translation>Vérification</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="989"/>
+        <location filename="../QScintilla/Editor.py" line="990"/>
         <source>Show</source>
         <translation>Afficher...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="897"/>
+        <location filename="../QScintilla/Editor.py" line="898"/>
         <source>Close</source>
         <translation>Fermer</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="903"/>
+        <location filename="../QScintilla/Editor.py" line="904"/>
         <source>Save</source>
         <translation>Enregistrer</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="906"/>
+        <location filename="../QScintilla/Editor.py" line="907"/>
         <source>Save As...</source>
         <translation>Enregistrer sous...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="922"/>
+        <location filename="../QScintilla/Editor.py" line="923"/>
         <source>Print</source>
         <translation>Imprimer</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="991"/>
-        <source>Code metrics...</source>
-        <translation>Statistiques du code...</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="992"/>
+        <source>Code metrics...</source>
+        <translation>Statistiques du code...</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="993"/>
         <source>Code coverage...</source>
         <translation>Code coverage...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1000"/>
+        <location filename="../QScintilla/Editor.py" line="1001"/>
         <source>Profile data...</source>
         <translation>Profiler les données...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1219"/>
+        <location filename="../QScintilla/Editor.py" line="1220"/>
         <source>Toggle bookmark</source>
         <translation>Placer/supprimer un signet</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1221"/>
+        <location filename="../QScintilla/Editor.py" line="1222"/>
         <source>Next bookmark</source>
         <translation>Signet suivant</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1223"/>
+        <location filename="../QScintilla/Editor.py" line="1224"/>
         <source>Previous bookmark</source>
         <translation>Signet précédent</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1225"/>
+        <location filename="../QScintilla/Editor.py" line="1226"/>
         <source>Clear all bookmarks</source>
         <translation>Effacer tous les signets</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1234"/>
+        <location filename="../QScintilla/Editor.py" line="1235"/>
         <source>Toggle breakpoint</source>
         <translation>Placer/supprimer un point d&apos;arrêt</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1239"/>
+        <location filename="../QScintilla/Editor.py" line="1240"/>
         <source>Edit breakpoint...</source>
         <translation>Éditer le point d&apos;arrêt...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5606"/>
+        <location filename="../QScintilla/Editor.py" line="5607"/>
         <source>Enable breakpoint</source>
         <translation>Activer le point d&apos;arrêt</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1244"/>
+        <location filename="../QScintilla/Editor.py" line="1245"/>
         <source>Next breakpoint</source>
         <translation>Point d&apos;arrêt suivant</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1246"/>
+        <location filename="../QScintilla/Editor.py" line="1247"/>
         <source>Previous breakpoint</source>
         <translation>Point d&apos;arrêt précédent</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1251"/>
+        <location filename="../QScintilla/Editor.py" line="1252"/>
         <source>Clear all breakpoints</source>
         <translation>Effacer tous les points d&apos;arrêts</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>Modification of Read Only file</source>
         <translation>Modification de la lecture seule</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>You are attempting to change a read only file. Please save to a different file first.</source>
         <translation>Le fichier est en lecture seule. Sauvez d&apos;abord votre fichier sous un autre nom.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2662"/>
+        <location filename="../QScintilla/Editor.py" line="2663"/>
         <source>Printing...</source>
         <translation>Impression....</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2679"/>
+        <location filename="../QScintilla/Editor.py" line="2680"/>
         <source>Printing completed</source>
         <translation>Impression terminée</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2681"/>
+        <location filename="../QScintilla/Editor.py" line="2682"/>
         <source>Error while printing</source>
         <translation>Erreur durant l&apos;impression</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2684"/>
+        <location filename="../QScintilla/Editor.py" line="2685"/>
         <source>Printing aborted</source>
         <translation>Impression abandonnée</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>Open File</source>
         <translation>Ouvrir Fichier</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>Save File</source>
         <translation>Enregistrer Fichier</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>File Modified</source>
         <translation>Fichier Modifié</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion</source>
         <translation>Autocompletion</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion is not available because there is no autocompletion source set.</source>
         <translation>L&apos;autocompletion n&apos;est pas disponible car aucune source d&apos;autocomplétion n&apos;est définie.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5609"/>
+        <location filename="../QScintilla/Editor.py" line="5610"/>
         <source>Disable breakpoint</source>
         <translation>Désactiver le point d&apos;arrêt</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Code Coverage</source>
         <translation>Code Coverage</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Please select a coverage file</source>
         <translation>Sélectionner un fichier coverage</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Profile Data</source>
         <translation>Profiler de données</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Please select a profile file</source>
         <translation>Sélectionner un fichier profile</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Macro Name</source>
         <translation>Nom de la macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Select a macro name:</source>
         <translation>Sélectionner un nom de macro:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Macro files (*.macro)</source>
         <translation>Fichier Macro (*.macro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6745"/>
+        <location filename="../QScintilla/Editor.py" line="6746"/>
         <source>Load macro file</source>
         <translation>Charger un fichier macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>Error loading macro</source>
         <translation>Erreur lors du chargement de la macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Save macro file</source>
         <translation>Enregistrer le fichier macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>Save macro</source>
         <translation>Enregistrer la macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>Error saving macro</source>
         <translation>Erreur lors de l&apos;enregistrement de la macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Start Macro Recording</source>
         <translation>Démarrer l&apos;enregistrement de la macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Macro Recording</source>
         <translation>Enregistrement de macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Enter name of the macro:</source>
         <translation>Entrer le nom de la macro:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7000"/>
+        <location filename="../QScintilla/Editor.py" line="7001"/>
         <source>File changed</source>
         <translation>Fichier modifié</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="854"/>
+        <location filename="../QScintilla/Editor.py" line="855"/>
         <source>Autosave enabled</source>
         <translation>Sauvegarde automatique activée</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1299"/>
+        <location filename="../QScintilla/Editor.py" line="1300"/>
         <source>Goto syntax error</source>
         <translation>Aller à l&apos;erreur de syntaxe suivante</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1308"/>
+        <location filename="../QScintilla/Editor.py" line="1309"/>
         <source>Clear syntax error</source>
         <translation>Supprimer les flags d&apos;erreurs de syntaxe</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>Drop Error</source>
         <translation>Erreur de suppression</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1303"/>
+        <location filename="../QScintilla/Editor.py" line="1304"/>
         <source>Show syntax error message</source>
         <translation>Afficher le message d&apos;erreur de syntaxe</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>Syntax Error</source>
         <translation>Erreur de syntaxe</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>No syntax error message available.</source>
         <translation>Aucun message d&apos;erreur de syntaxe..</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1236"/>
+        <location filename="../QScintilla/Editor.py" line="1237"/>
         <source>Toggle temporary breakpoint</source>
         <translation>Placer/Supprimer un point d&apos;arret temporaire</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="994"/>
+        <location filename="../QScintilla/Editor.py" line="995"/>
         <source>Show code coverage annotations</source>
         <translation>Afficher les annotations de code coverage</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="997"/>
+        <location filename="../QScintilla/Editor.py" line="998"/>
         <source>Hide code coverage annotations</source>
         <translation>Masquer les annotations de code coverage</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1330"/>
+        <location filename="../QScintilla/Editor.py" line="1331"/>
         <source>Next uncovered line</source>
         <translation>Ligne non executée suivante</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1334"/>
+        <location filename="../QScintilla/Editor.py" line="1335"/>
         <source>Previous uncovered line</source>
         <translation>Ligne non executée précédente</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>Show Code Coverage Annotations</source>
         <translation>Afficher les annotations de Code Coverage</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6040"/>
+        <location filename="../QScintilla/Editor.py" line="6041"/>
         <source>All lines have been covered.</source>
         <translation>Toutes les lignes ont été executées.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>There is no coverage file available.</source>
         <translation>Impossible de trouver le fichier de coverage.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1013"/>
+        <location filename="../QScintilla/Editor.py" line="1014"/>
         <source>Diagrams</source>
         <translation>Diagrammes</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1015"/>
+        <location filename="../QScintilla/Editor.py" line="1016"/>
         <source>Class Diagram...</source>
         <translation>Diagramme des classes...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1017"/>
+        <location filename="../QScintilla/Editor.py" line="1018"/>
         <source>Package Diagram...</source>
         <translation>Diagramme des packages...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1019"/>
+        <location filename="../QScintilla/Editor.py" line="1020"/>
         <source>Imports Diagram...</source>
         <translation>Diagramme des modules...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1021"/>
+        <location filename="../QScintilla/Editor.py" line="1022"/>
         <source>Application Diagram...</source>
         <translation>Diagramme de l&apos;application...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1172"/>
+        <location filename="../QScintilla/Editor.py" line="1173"/>
         <source>No Language</source>
         <translation>Pas de langage</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7327"/>
+        <location filename="../QScintilla/Editor.py" line="7328"/>
         <source>Resources</source>
         <translation>Ressources</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7329"/>
+        <location filename="../QScintilla/Editor.py" line="7330"/>
         <source>Add file...</source>
         <translation>Ajouter un fichier...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7331"/>
+        <location filename="../QScintilla/Editor.py" line="7332"/>
         <source>Add files...</source>
         <translation>Ajouter des fichiers...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7333"/>
+        <location filename="../QScintilla/Editor.py" line="7334"/>
         <source>Add aliased file...</source>
         <translation>Ajouter un fichier alias...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7336"/>
+        <location filename="../QScintilla/Editor.py" line="7337"/>
         <source>Add localized resource...</source>
         <translation>Ajouter une ressource localisée...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7359"/>
+        <location filename="../QScintilla/Editor.py" line="7360"/>
         <source>Add file resource</source>
         <translation>Ajoute un fichier ressource</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7375"/>
+        <location filename="../QScintilla/Editor.py" line="7376"/>
         <source>Add file resources</source>
         <translation>Ajoute des fichiers ressources</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Add aliased file resource</source>
         <translation>Ajoute un alias de fichier ressource</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Package Diagram</source>
         <translation>Diagramme de package</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Include class attributes?</source>
         <translation>Inclure les attributs de classes ?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Application Diagram</source>
         <translation>Diagramme de l&apos;application</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Include module names?</source>
         <translation>Inclure les noms de modules ?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7340"/>
+        <location filename="../QScintilla/Editor.py" line="7341"/>
         <source>Add resource frame</source>
         <translation>Ajouter un cadre ressource</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Macro recording is already active. Start new?</source>
         <translation>L&apos;enregistrement de macro est déjà actif. En démarrer une nouvelle ?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="951"/>
+        <location filename="../QScintilla/Editor.py" line="952"/>
         <source>Complete from Document</source>
         <translation type="unfinished">à partir du document</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="953"/>
+        <location filename="../QScintilla/Editor.py" line="954"/>
         <source>Complete from APIs</source>
         <translation type="unfinished">à partir des fichiers API</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="955"/>
+        <location filename="../QScintilla/Editor.py" line="956"/>
         <source>Complete from Document and APIs</source>
         <translation type="unfinished">à partir du document et des fichiers API</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1339"/>
+        <location filename="../QScintilla/Editor.py" line="1340"/>
         <source>Next task</source>
         <translation>Tâche suivante</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1343"/>
+        <location filename="../QScintilla/Editor.py" line="1344"/>
         <source>Previous task</source>
         <translation>Tâche précédente</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1197"/>
+        <location filename="../QScintilla/Editor.py" line="1198"/>
         <source>Export as</source>
         <translation>Exporter en tant que</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>Export source</source>
         <translation>Exportation de source</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>No export format given. Aborting...</source>
         <translation>Aucun format d&apos;exportation indiqué. Abandon...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Imports Diagram</source>
         <translation>Diagramme des modules</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Include imports from external modules?</source>
         <translation>Inclure l&apos;importation de modules externes?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="873"/>
+        <location filename="../QScintilla/Editor.py" line="874"/>
         <source>Calltip</source>
         <translation>Calltip</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="919"/>
+        <location filename="../QScintilla/Editor.py" line="920"/>
         <source>Print Preview</source>
         <translation>Aperçu avant impression</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="453"/>
+        <location filename="../QScintilla/Editor.py" line="454"/>
         <source>&lt;b&gt;A Source Editor Window&lt;/b&gt;&lt;p&gt;This window is used to display and edit a source file.  You can open as many of these as you like. The name of the file is displayed in the window&apos;s titlebar.&lt;/p&gt;&lt;p&gt;In order to set breakpoints just click in the space between the line numbers and the fold markers. Via the context menu of the margins they may be edited.&lt;/p&gt;&lt;p&gt;In order to set bookmarks just Shift click in the space between the line numbers and the fold markers.&lt;/p&gt;&lt;p&gt;These actions can be reversed via the context menu.&lt;/p&gt;&lt;p&gt;Ctrl clicking on a syntax error marker shows some info about this error.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Fenêtre d&apos;édition&lt;/b&gt;&lt;p&gt;Cette fenêtre est utilisée pour afficher et éditer les codes sources. Vous pouvez en ouvrir autant que vous le souhaitez. Le nom du fichier ouvert est inscrit dans la barre principale.&lt;/p&gt;&lt;p&gt;Vous pouvez définir des points d&apos;arrêt en cliquant sur la marge de gauche, entre les numéros de lignes et les marques de pliage de code. Les points d&apos;arrêt peuvent être édités via le menu contextuel (en cliquant droit sur le point).&lt;/p&gt;&lt;p&gt;De manière similaire, vous pouvez définir des signets avec Shift+Click dans la marge.&lt;/p&gt;&lt;p&gt;Pour ces deux types de points, le menu contextuel (click droit) permet de défaire l&apos;action.&lt;/p&gt;&lt;p&gt;Le Ctrl+Click sur une marque d&apos;erreur de sytaxe permet de visualiser les informations sur l&apos;erreur.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="858"/>
+        <location filename="../QScintilla/Editor.py" line="859"/>
         <source>Typing aids enabled</source>
         <translation>Aide à la frappe activée</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1129"/>
+        <location filename="../QScintilla/Editor.py" line="1130"/>
         <source>End-of-Line Type</source>
         <translation>Type de fin de ligne</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1133"/>
+        <location filename="../QScintilla/Editor.py" line="1134"/>
         <source>Unix</source>
         <translation>Unix</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1140"/>
+        <location filename="../QScintilla/Editor.py" line="1141"/>
         <source>Windows</source>
         <translation>Windows</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1147"/>
+        <location filename="../QScintilla/Editor.py" line="1148"/>
         <source>Macintosh</source>
         <translation>Macintosh</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1088"/>
+        <location filename="../QScintilla/Editor.py" line="1089"/>
         <source>Encodings</source>
         <translation>Encodings</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1068"/>
+        <location filename="../QScintilla/Editor.py" line="1069"/>
         <source>Guessed</source>
         <translation>Suggestion</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1408"/>
+        <location filename="../QScintilla/Editor.py" line="1409"/>
         <source>Alternatives</source>
         <translation>Alternatives</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Pygments Lexer</source>
         <translation>Analyseur Pygments</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Select the Pygments lexer to apply.</source>
         <translation>Sélectionne l&apos;analyseur Pygments à appliquer.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7833"/>
+        <location filename="../QScintilla/Editor.py" line="7834"/>
         <source>Check spelling...</source>
         <translation>Correction orthographique...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="832"/>
+        <location filename="../QScintilla/Editor.py" line="833"/>
         <source>Check spelling of selection...</source>
         <translation>Correction orthographique de la sélection...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7836"/>
+        <location filename="../QScintilla/Editor.py" line="7837"/>
         <source>Add to dictionary</source>
         <translation>Ajouter au dictionnaire</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7838"/>
+        <location filename="../QScintilla/Editor.py" line="7839"/>
         <source>Ignore All</source>
         <translation>Tout ignorer</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="836"/>
+        <location filename="../QScintilla/Editor.py" line="837"/>
         <source>Remove from dictionary</source>
         <translation>Supprimer du dictionnaire</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="364"/>
+        <location filename="../QScintilla/Editor.py" line="365"/>
         <source>&lt;p&gt;The size of the file &lt;b&gt;{0}&lt;/b&gt; is &lt;b&gt;{1} KB&lt;/b&gt;. Do you really want to load it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1385"/>
+        <location filename="../QScintilla/Editor.py" line="1386"/>
         <source>&lt;p&gt;No exporter available for the export format &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1404"/>
+        <location filename="../QScintilla/Editor.py" line="1405"/>
         <source>Alternatives ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has unsaved changes.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Le fichier &lt;b&gt;{0}&lt;/b&gt; a des modifications non enregistrées. &lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be opened.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3231"/>
+        <location filename="../QScintilla/Editor.py" line="3232"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be saved.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6759"/>
+        <location filename="../QScintilla/Editor.py" line="6760"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7165"/>
+        <location filename="../QScintilla/Editor.py" line="7166"/>
         <source>{0} (ro)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1313"/>
+        <location filename="../QScintilla/Editor.py" line="1314"/>
         <source>Next warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1317"/>
+        <location filename="../QScintilla/Editor.py" line="1318"/>
         <source>Previous warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1321"/>
+        <location filename="../QScintilla/Editor.py" line="1322"/>
         <source>Show warning message</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1325"/>
+        <location filename="../QScintilla/Editor.py" line="1326"/>
         <source>Clear warnings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Le fichier &lt;b&gt;{0}&lt;/b&gt;existe déjà. Écraser ?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6605"/>
+        <location filename="../QScintilla/Editor.py" line="6606"/>
         <source>Warning: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6612"/>
+        <location filename="../QScintilla/Editor.py" line="6613"/>
         <source>Error: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6996"/>
+        <location filename="../QScintilla/Editor.py" line="6997"/>
         <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="915"/>
+        <location filename="../QScintilla/Editor.py" line="916"/>
         <source>Open &apos;rejection&apos; file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1025"/>
+        <location filename="../QScintilla/Editor.py" line="1026"/>
         <source>Load Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1348"/>
+        <location filename="../QScintilla/Editor.py" line="1349"/>
         <source>Next change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1352"/>
+        <location filename="../QScintilla/Editor.py" line="1353"/>
         <source>Previous change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>Sort Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>The selection contains illegal data for a numerical sort.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>Warning</source>
         <translation type="unfinished">Warning</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>No warning messages available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6602"/>
+        <location filename="../QScintilla/Editor.py" line="6603"/>
         <source>Style: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="889"/>
+        <location filename="../QScintilla/Editor.py" line="890"/>
         <source>New Document View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="892"/>
+        <location filename="../QScintilla/Editor.py" line="893"/>
         <source>New Document View (with new split)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="979"/>
+        <location filename="../QScintilla/Editor.py" line="980"/>
         <source>Tools</source>
         <translation type="unfinished">Outils</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1110"/>
+        <location filename="../QScintilla/Editor.py" line="1111"/>
         <source>Re-Open With Encoding</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6990"/>
+        <location filename="../QScintilla/Editor.py" line="6991"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric6. Reread it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="865"/>
+        <location filename="../QScintilla/Editor.py" line="866"/>
         <source>Automatic Completion enabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="945"/>
+        <location filename="../QScintilla/Editor.py" line="946"/>
         <source>Complete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>Auto-Completion Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>The completion list provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>Call-Tips Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>The call-tips provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>Register Mouse Click Handler</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>A mouse click handler for &quot;{0}&quot; was already registered by &quot;{1}&quot;. Aborting request by &quot;{2}&quot;...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="909"/>
+        <location filename="../QScintilla/Editor.py" line="910"/>
         <source>Save Copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="948"/>
+        <location filename="../QScintilla/Editor.py" line="949"/>
         <source>Clear Completions Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="875"/>
+        <location filename="../QScintilla/Editor.py" line="876"/>
         <source>Code Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1356"/>
+        <location filename="../QScintilla/Editor.py" line="1357"/>
         <source>Clear changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="798"/>
+        <location filename="../QScintilla/Editor.py" line="799"/>
         <source>Execute Selection In Console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>EditorConfig Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1260"/>
+        <location filename="../QScintilla/Editor.py" line="1261"/>
         <source>Toggle all folds</source>
         <translation type="unfinished">Contracte/Déploie tout le code</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1265"/>
+        <location filename="../QScintilla/Editor.py" line="1266"/>
         <source>Toggle all folds (including children)</source>
         <translation type="unfinished">Contracte/Déploie tout le code (sous-niveaux inclus)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1270"/>
+        <location filename="../QScintilla/Editor.py" line="1271"/>
         <source>Toggle current fold</source>
         <translation type="unfinished">Contracte/Déploie le paragraphe courant</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1276"/>
+        <location filename="../QScintilla/Editor.py" line="1277"/>
         <source>Expand (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1281"/>
+        <location filename="../QScintilla/Editor.py" line="1282"/>
         <source>Collapse (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1287"/>
+        <location filename="../QScintilla/Editor.py" line="1288"/>
         <source>Clear all folds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1168"/>
+        <location filename="../QScintilla/Editor.py" line="1169"/>
         <source>Spell Check Languages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -17154,6 +17154,69 @@
     </message>
 </context>
 <context>
+    <name>EspBackupRestoreFirmwareDialog</name>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="14"/>
+        <source>Dialog</source>
+        <translation type="obsolete">Boite de Dialogue</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="22"/>
+        <source>ESP Chip Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="29"/>
+        <source>Select the ESP chip type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="52"/>
+        <source>Firmware Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="59"/>
+        <source>Select the firmware size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="69"/>
+        <source>Flashmode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="76"/>
+        <source>Select the flash mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="83"/>
+        <source>Firmware:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="93"/>
+        <source>Enter the path of the firmware file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="66"/>
+        <source>Firmware Files (*.img);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="72"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="76"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>EspDevice</name>
     <message>
         <location filename="../MicroPython/EspDevices.py" line="67"/>
@@ -17161,50 +17224,95 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>Erase Flash</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="193"/>
+        <location filename="../MicroPython/EspDevices.py" line="210"/>
         <source>Flash MicroPython Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="234"/>
         <source>Flash Additional Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="141"/>
+        <location filename="../MicroPython/EspDevices.py" line="158"/>
         <source>Install &apos;esptool.py&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="148"/>
+        <location filename="../MicroPython/EspDevices.py" line="165"/>
         <source>Shall the flash of the selected device really be erased?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>&apos;esptool erase_flash&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="182"/>
+        <location filename="../MicroPython/EspDevices.py" line="199"/>
         <source>Unsupported chip type &apos;{0}&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
         <source>&apos;esptool write_flash&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="139"/>
+        <location filename="../MicroPython/EspDevices.py" line="156"/>
         <source>Reset Device</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>Show Chip ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>Show Flash ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>Show MAC Address</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>&apos;esptool read_flash&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>&apos;esptool chip_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>&apos;esptool flash_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>&apos;esptool read_mac&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>EspFirmwareSelectionDialog</name>
@@ -71886,6 +71994,16 @@
         <source>JavaScript batch check</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="256"/>
+        <source>YAML batch check</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="272"/>
+        <source>JSON batch check</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>SyntaxCheckerDialog</name>
@@ -71995,22 +72113,22 @@
 <context>
     <name>SyntaxCheckerPlugin</name>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>Check Syntax</source>
         <translation>Vérification de la syntaxe</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>&amp;Syntax...</source>
         <translation>&amp;Syntaxe...</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="156"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="176"/>
         <source>Check syntax.</source>
         <translation>Vérification de la syntaxe.</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="251"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="271"/>
         <source>&lt;b&gt;Check Syntax...&lt;/b&gt;&lt;p&gt;This checks Python files for syntax errors.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Vérification de la syntaxe...&lt;/b&gt;&lt;p&gt;Vérifie les erreurs de syntaxe des fichiers Python.&lt;/p&gt;</translation>
     </message>
@@ -82544,27 +82662,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>Edit Spelling Dictionary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6554"/>
+        <location filename="../ViewManager/ViewManager.py" line="6560"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6572"/>
+        <location filename="../ViewManager/ViewManager.py" line="6578"/>
         <source>Editing {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6584"/>
+        <location filename="../ViewManager/ViewManager.py" line="6590"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>The spelling dictionary was saved successfully.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_it.ts	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/i18n/eric6_it.ts	Sat Dec 07 17:47:24 2019 +0100
@@ -11170,927 +11170,927 @@
 <context>
     <name>Editor</name>
     <message>
-        <location filename="../QScintilla/Editor.py" line="778"/>
+        <location filename="../QScintilla/Editor.py" line="779"/>
         <source>Undo</source>
         <translation>Annulla</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="781"/>
+        <location filename="../QScintilla/Editor.py" line="782"/>
         <source>Redo</source>
         <translation>Rifai</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="784"/>
+        <location filename="../QScintilla/Editor.py" line="785"/>
         <source>Revert to last saved state</source>
         <translation>Ritorna all&apos;ultimo stato salvato</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="788"/>
+        <location filename="../QScintilla/Editor.py" line="789"/>
         <source>Cut</source>
         <translation>Taglia</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="791"/>
+        <location filename="../QScintilla/Editor.py" line="792"/>
         <source>Copy</source>
         <translation>Copia</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="794"/>
+        <location filename="../QScintilla/Editor.py" line="795"/>
         <source>Paste</source>
         <translation>Incolla</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="802"/>
+        <location filename="../QScintilla/Editor.py" line="803"/>
         <source>Indent</source>
         <translation>Identa</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="805"/>
+        <location filename="../QScintilla/Editor.py" line="806"/>
         <source>Unindent</source>
         <translation>Annulla identazione</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="808"/>
+        <location filename="../QScintilla/Editor.py" line="809"/>
         <source>Comment</source>
         <translation>Commenta</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="811"/>
+        <location filename="../QScintilla/Editor.py" line="812"/>
         <source>Uncomment</source>
         <translation>Annulla commenta</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="814"/>
+        <location filename="../QScintilla/Editor.py" line="815"/>
         <source>Stream Comment</source>
         <translation>Flusso commento</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="817"/>
+        <location filename="../QScintilla/Editor.py" line="818"/>
         <source>Box Comment</source>
         <translation>Commenti nel riquadro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="821"/>
+        <location filename="../QScintilla/Editor.py" line="822"/>
         <source>Select to brace</source>
         <translation>Seleziona per parentesizzare</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="823"/>
-        <source>Select all</source>
-        <translation>Seleziona tutti</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="824"/>
+        <source>Select all</source>
+        <translation>Seleziona tutti</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="825"/>
         <source>Deselect all</source>
         <translation>Deseleziona tutti</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="842"/>
+        <location filename="../QScintilla/Editor.py" line="843"/>
         <source>Shorten empty lines</source>
         <translation>Abbrevia righe vuote</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1039"/>
+        <location filename="../QScintilla/Editor.py" line="1040"/>
         <source>Languages</source>
         <translation>Linguaggi</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="849"/>
+        <location filename="../QScintilla/Editor.py" line="850"/>
         <source>Use Monospaced Font</source>
         <translation>Usa un font Monospaced</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="969"/>
+        <location filename="../QScintilla/Editor.py" line="970"/>
         <source>Check</source>
         <translation>Controlla</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="989"/>
+        <location filename="../QScintilla/Editor.py" line="990"/>
         <source>Show</source>
         <translation>Mostra</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="897"/>
+        <location filename="../QScintilla/Editor.py" line="898"/>
         <source>Close</source>
         <translation>Chiudi</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="903"/>
+        <location filename="../QScintilla/Editor.py" line="904"/>
         <source>Save</source>
         <translation>Salva</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="906"/>
+        <location filename="../QScintilla/Editor.py" line="907"/>
         <source>Save As...</source>
         <translation>Salva come...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="922"/>
+        <location filename="../QScintilla/Editor.py" line="923"/>
         <source>Print</source>
         <translation>Stampa</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="991"/>
-        <source>Code metrics...</source>
-        <translation>Statistiche codice...</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="992"/>
+        <source>Code metrics...</source>
+        <translation>Statistiche codice...</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="993"/>
         <source>Code coverage...</source>
         <translation>Analisi codice...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1000"/>
+        <location filename="../QScintilla/Editor.py" line="1001"/>
         <source>Profile data...</source>
         <translation>Profilazione dati...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1219"/>
+        <location filename="../QScintilla/Editor.py" line="1220"/>
         <source>Toggle bookmark</source>
         <translation>Inverti bookmark</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1221"/>
+        <location filename="../QScintilla/Editor.py" line="1222"/>
         <source>Next bookmark</source>
         <translation>Prossimo segnalibro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1223"/>
+        <location filename="../QScintilla/Editor.py" line="1224"/>
         <source>Previous bookmark</source>
         <translation>Segnalibro precedente</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1225"/>
+        <location filename="../QScintilla/Editor.py" line="1226"/>
         <source>Clear all bookmarks</source>
         <translation>Pulisci di tutti di segnalibri</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1234"/>
+        <location filename="../QScintilla/Editor.py" line="1235"/>
         <source>Toggle breakpoint</source>
         <translation>Abilita/Disabilita breakpoint</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1239"/>
+        <location filename="../QScintilla/Editor.py" line="1240"/>
         <source>Edit breakpoint...</source>
         <translation>Modifica Breakpoint...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5606"/>
+        <location filename="../QScintilla/Editor.py" line="5607"/>
         <source>Enable breakpoint</source>
         <translation>Abilita breakpoint</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1244"/>
+        <location filename="../QScintilla/Editor.py" line="1245"/>
         <source>Next breakpoint</source>
         <translation>Prossimo breakpoint</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1246"/>
+        <location filename="../QScintilla/Editor.py" line="1247"/>
         <source>Previous breakpoint</source>
         <translation>Breakpoint precedente</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1251"/>
+        <location filename="../QScintilla/Editor.py" line="1252"/>
         <source>Clear all breakpoints</source>
         <translation>Elimina tutti i breakpoint</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>Modification of Read Only file</source>
         <translation>Modifica di un file di sola lettura</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>You are attempting to change a read only file. Please save to a different file first.</source>
         <translation>Stai tentando di modificare un file in sola lettura. Per favore prima salva come un file diverso.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2662"/>
+        <location filename="../QScintilla/Editor.py" line="2663"/>
         <source>Printing...</source>
         <translation>In stampa...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2679"/>
+        <location filename="../QScintilla/Editor.py" line="2680"/>
         <source>Printing completed</source>
         <translation>Stampa completata</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2681"/>
+        <location filename="../QScintilla/Editor.py" line="2682"/>
         <source>Error while printing</source>
         <translation>Errore durante la stampa</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2684"/>
+        <location filename="../QScintilla/Editor.py" line="2685"/>
         <source>Printing aborted</source>
         <translation>Stampa annullata</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>Open File</source>
         <translation>Apri File</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>Save File</source>
         <translation>Salva file</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>File Modified</source>
         <translation>File modificato</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion</source>
         <translation>Autocompletamento</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion is not available because there is no autocompletion source set.</source>
         <translation>L&apos;autocomplentamento non è disponibile perchè non ci sono fonti impostate.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5609"/>
+        <location filename="../QScintilla/Editor.py" line="5610"/>
         <source>Disable breakpoint</source>
         <translation>Disabilita breakpoint</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Code Coverage</source>
         <translation>Analisi codice</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Please select a coverage file</source>
         <translation>Per favore seleziona un file per l&apos;analisi</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Profile Data</source>
         <translation>Profilazione dati</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Please select a profile file</source>
         <translation>Per favore seleziona un file per la profilazione</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Macro Name</source>
         <translation>Nome Macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Select a macro name:</source>
         <translation>Seleziona un nome per la macro:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Macro files (*.macro)</source>
         <translation>File Macro (*.macro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6745"/>
+        <location filename="../QScintilla/Editor.py" line="6746"/>
         <source>Load macro file</source>
         <translation>Carica un file di macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>Error loading macro</source>
         <translation>Errore nel caricamento della macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Save macro file</source>
         <translation>Salva un file di macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>Save macro</source>
         <translation>Salva macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>Error saving macro</source>
         <translation>Errore nel salvataggio della macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Start Macro Recording</source>
         <translation>Avvia registrazione della macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Macro Recording</source>
         <translation>Registrazione Macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Enter name of the macro:</source>
         <translation>Inserisci un nome per la macro:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7000"/>
+        <location filename="../QScintilla/Editor.py" line="7001"/>
         <source>File changed</source>
         <translation>File modificato</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="854"/>
+        <location filename="../QScintilla/Editor.py" line="855"/>
         <source>Autosave enabled</source>
         <translation>Salvataggio automatico abilitato</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1299"/>
+        <location filename="../QScintilla/Editor.py" line="1300"/>
         <source>Goto syntax error</source>
         <translation>Vai all&apos;errore di sintassi</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1308"/>
+        <location filename="../QScintilla/Editor.py" line="1309"/>
         <source>Clear syntax error</source>
         <translation>Elimina errori di sintassi</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>Drop Error</source>
         <translation>Errore Drop</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1303"/>
+        <location filename="../QScintilla/Editor.py" line="1304"/>
         <source>Show syntax error message</source>
         <translation>Mostra i messaggi degli errori di sintassi</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>Syntax Error</source>
         <translation>Errore di sintassi</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>No syntax error message available.</source>
         <translation>Nessun messaggio degli errori di sintassi disponibile.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1236"/>
+        <location filename="../QScintilla/Editor.py" line="1237"/>
         <source>Toggle temporary breakpoint</source>
         <translation>Abilita/Disabilita breakpoint temporaneo</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="994"/>
+        <location filename="../QScintilla/Editor.py" line="995"/>
         <source>Show code coverage annotations</source>
         <translation>Mostra le annotazioni dell&apos;analisi del codice</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="997"/>
+        <location filename="../QScintilla/Editor.py" line="998"/>
         <source>Hide code coverage annotations</source>
         <translation>Nascondi le annotazioni dell&apos;analisi del codice</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1330"/>
+        <location filename="../QScintilla/Editor.py" line="1331"/>
         <source>Next uncovered line</source>
         <translation>Prossimo file non analizzato</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1334"/>
+        <location filename="../QScintilla/Editor.py" line="1335"/>
         <source>Previous uncovered line</source>
         <translation>File non analizzato precedente</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>Show Code Coverage Annotations</source>
         <translation>Mostra le annotazioni dell&apos;analisi del codice</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6040"/>
+        <location filename="../QScintilla/Editor.py" line="6041"/>
         <source>All lines have been covered.</source>
         <translation>Tutte le linee sono state analizzate.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>There is no coverage file available.</source>
         <translation>Non ci sono file di analisi disponibili.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1013"/>
+        <location filename="../QScintilla/Editor.py" line="1014"/>
         <source>Diagrams</source>
         <translation>Diagrammi</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1015"/>
+        <location filename="../QScintilla/Editor.py" line="1016"/>
         <source>Class Diagram...</source>
         <translation>Diagrammi di classe...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1017"/>
+        <location filename="../QScintilla/Editor.py" line="1018"/>
         <source>Package Diagram...</source>
         <translation>Diagrammi del package...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1019"/>
+        <location filename="../QScintilla/Editor.py" line="1020"/>
         <source>Imports Diagram...</source>
         <translation>Importa diagrammi...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1021"/>
+        <location filename="../QScintilla/Editor.py" line="1022"/>
         <source>Application Diagram...</source>
         <translation>Diagrammi dell&apos;applicazione...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1172"/>
+        <location filename="../QScintilla/Editor.py" line="1173"/>
         <source>No Language</source>
         <translation>Nessun linguaggio</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7327"/>
+        <location filename="../QScintilla/Editor.py" line="7328"/>
         <source>Resources</source>
         <translation>Risorse</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7329"/>
+        <location filename="../QScintilla/Editor.py" line="7330"/>
         <source>Add file...</source>
         <translation>Aggiungi file...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7331"/>
+        <location filename="../QScintilla/Editor.py" line="7332"/>
         <source>Add files...</source>
         <translation>Aggiungi files...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7333"/>
+        <location filename="../QScintilla/Editor.py" line="7334"/>
         <source>Add aliased file...</source>
         <translation>Aggiungi file sinonimo...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7336"/>
+        <location filename="../QScintilla/Editor.py" line="7337"/>
         <source>Add localized resource...</source>
         <translation>Aggiungi una risorsa localizzata...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7359"/>
+        <location filename="../QScintilla/Editor.py" line="7360"/>
         <source>Add file resource</source>
         <translation>Aggiungi un file risorse</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7375"/>
+        <location filename="../QScintilla/Editor.py" line="7376"/>
         <source>Add file resources</source>
         <translation>Aggiundi dei file risorse</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Add aliased file resource</source>
         <translation>Aggiungi file sinonimo delle risorse</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Package Diagram</source>
         <translation>Diagrammi del package</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Include class attributes?</source>
         <translation>Includi gli attributi della classe ?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Application Diagram</source>
         <translation>Diagrammi dell&apos;applicazione</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Include module names?</source>
         <translation>Includi i nomi dei moduli ?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7340"/>
+        <location filename="../QScintilla/Editor.py" line="7341"/>
         <source>Add resource frame</source>
         <translation>Aggiungi riquadro delle risorse</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Macro recording is already active. Start new?</source>
         <translation>Registrazione macro già attiva. Avvia nuovamente ?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="951"/>
+        <location filename="../QScintilla/Editor.py" line="952"/>
         <source>Complete from Document</source>
         <translation type="unfinished">dal Documento</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="953"/>
+        <location filename="../QScintilla/Editor.py" line="954"/>
         <source>Complete from APIs</source>
         <translation type="unfinished">dalle APIs</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="955"/>
+        <location filename="../QScintilla/Editor.py" line="956"/>
         <source>Complete from Document and APIs</source>
         <translation type="unfinished">dal Documento e dalle APIs</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1339"/>
+        <location filename="../QScintilla/Editor.py" line="1340"/>
         <source>Next task</source>
         <translation>Prossimo task</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1343"/>
+        <location filename="../QScintilla/Editor.py" line="1344"/>
         <source>Previous task</source>
         <translation>Task precedente</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1197"/>
+        <location filename="../QScintilla/Editor.py" line="1198"/>
         <source>Export as</source>
         <translation>Esporta come</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>Export source</source>
         <translation>Esporta sorgenti</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>No export format given. Aborting...</source>
         <translation>Nessun formato di export impostato. Annullamento...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Imports Diagram</source>
         <translation>Importa diagrammi</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Include imports from external modules?</source>
         <translation>Includi gli import dai moduli esterni ?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="873"/>
+        <location filename="../QScintilla/Editor.py" line="874"/>
         <source>Calltip</source>
         <translation>Calltip</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="919"/>
+        <location filename="../QScintilla/Editor.py" line="920"/>
         <source>Print Preview</source>
         <translation>Anteprima Stampa</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="453"/>
+        <location filename="../QScintilla/Editor.py" line="454"/>
         <source>&lt;b&gt;A Source Editor Window&lt;/b&gt;&lt;p&gt;This window is used to display and edit a source file.  You can open as many of these as you like. The name of the file is displayed in the window&apos;s titlebar.&lt;/p&gt;&lt;p&gt;In order to set breakpoints just click in the space between the line numbers and the fold markers. Via the context menu of the margins they may be edited.&lt;/p&gt;&lt;p&gt;In order to set bookmarks just Shift click in the space between the line numbers and the fold markers.&lt;/p&gt;&lt;p&gt;These actions can be reversed via the context menu.&lt;/p&gt;&lt;p&gt;Ctrl clicking on a syntax error marker shows some info about this error.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Una finesta di edit&lt;/b&gt;&lt;p&gt;Questa finestra è usata per visualizzare e modificare un file sorgente. Si possono aprire quante finestre si vogliono. Il nome del file è mostrato nella barra dei titolo della finestra.&lt;/p&gt;&lt;p&gt;Per impostare dei breakpoint basta cliccare nello spazio tra i numeri di riga e i marcatori di compressione. Con il menù contestuale del margine possono essere modificati.&lt;/p&gt;&lt;p&gt;Per impostare un segnalibro basta cliccare con lo Shift premuto nello spazio tra il numero di linea e i marcatori di compressione.&lt;/p&gt;&lt;p&gt;Queste azioni possono essere invertite con il menù contestuale.&lt;/p&gt;&lt;p&gt; Cliccare con il tasto Ctrl premuto un  marcatore di errore della sintassi mostra delle informazioni sull&apos;errore.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="858"/>
+        <location filename="../QScintilla/Editor.py" line="859"/>
         <source>Typing aids enabled</source>
         <translation>Aiuti alla digitazione abilitati</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1129"/>
+        <location filename="../QScintilla/Editor.py" line="1130"/>
         <source>End-of-Line Type</source>
         <translation>Tipo di fine-linea</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1133"/>
+        <location filename="../QScintilla/Editor.py" line="1134"/>
         <source>Unix</source>
         <translation>Unix</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1140"/>
+        <location filename="../QScintilla/Editor.py" line="1141"/>
         <source>Windows</source>
         <translation>Windows</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1147"/>
+        <location filename="../QScintilla/Editor.py" line="1148"/>
         <source>Macintosh</source>
         <translation>Macintosh</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1088"/>
+        <location filename="../QScintilla/Editor.py" line="1089"/>
         <source>Encodings</source>
         <translation>Codifica</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1068"/>
+        <location filename="../QScintilla/Editor.py" line="1069"/>
         <source>Guessed</source>
         <translation>Indovinato</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1408"/>
+        <location filename="../QScintilla/Editor.py" line="1409"/>
         <source>Alternatives</source>
         <translation>Alternative</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Pygments Lexer</source>
         <translation>Analizzatore lessicale Pygments</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Select the Pygments lexer to apply.</source>
         <translation>Selezione l&apos;analizzatore lessicale di Pygments da applicare.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7833"/>
+        <location filename="../QScintilla/Editor.py" line="7834"/>
         <source>Check spelling...</source>
         <translation>Controllo sillabazione...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="832"/>
+        <location filename="../QScintilla/Editor.py" line="833"/>
         <source>Check spelling of selection...</source>
         <translation>Controllo sillabazione della selezione...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7836"/>
+        <location filename="../QScintilla/Editor.py" line="7837"/>
         <source>Add to dictionary</source>
         <translation>Aggiungi al dizionario</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7838"/>
+        <location filename="../QScintilla/Editor.py" line="7839"/>
         <source>Ignore All</source>
         <translation>Ignora tutto</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="836"/>
+        <location filename="../QScintilla/Editor.py" line="837"/>
         <source>Remove from dictionary</source>
         <translation>Rimuovi dal dizionario</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="364"/>
+        <location filename="../QScintilla/Editor.py" line="365"/>
         <source>&lt;p&gt;The size of the file &lt;b&gt;{0}&lt;/b&gt; is &lt;b&gt;{1} KB&lt;/b&gt;. Do you really want to load it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;La dimensione del file &lt;b&gt;{0}&lt;/b&gt; è &lt;b&gt;{1} KB&lt;/b&gt;. Sei sicuro di volerlo caricare ?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1385"/>
+        <location filename="../QScintilla/Editor.py" line="1386"/>
         <source>&lt;p&gt;No exporter available for the export format &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Nessun esportatore disponibile per il formato di export&lt;b&gt;{0}&lt;/b&gt;. Termino...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1404"/>
+        <location filename="../QScintilla/Editor.py" line="1405"/>
         <source>Alternatives ({0})</source>
         <translation>Alternative ({0})</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has unsaved changes.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Il file &lt;b&gt;{0}&lt;/b&gt; contiene modifiche non salvate.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be opened.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Il file &lt;b&gt;{0}&lt;/b&gt; non può essere aperto.&lt;br /&gt;Motivo: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3231"/>
+        <location filename="../QScintilla/Editor.py" line="3232"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be saved.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Il file &lt;b&gt;{0}&lt;/b&gt; non può essere salvato.&lt;br /&gt;Motivo: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6759"/>
+        <location filename="../QScintilla/Editor.py" line="6760"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Il file macro &lt;b&gt;{0}&lt;/b&gt; non può essere letto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Il file macro &lt;b&gt;{0}&lt;/b&gt; è danneggiato.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Il file macro &lt;b&gt;{0}&lt;/b&gt; non può essere scritto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7165"/>
+        <location filename="../QScintilla/Editor.py" line="7166"/>
         <source>{0} (ro)</source>
         <translation>{0} (ro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; non è un file.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
         <translation>Alias per il file &lt;b&gt;{0}&lt;/b&gt;:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1313"/>
+        <location filename="../QScintilla/Editor.py" line="1314"/>
         <source>Next warning</source>
         <translation>Warning successivo</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1317"/>
+        <location filename="../QScintilla/Editor.py" line="1318"/>
         <source>Previous warning</source>
         <translation>Warning precedente</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1321"/>
+        <location filename="../QScintilla/Editor.py" line="1322"/>
         <source>Show warning message</source>
         <translation>Mostra Warning</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1325"/>
+        <location filename="../QScintilla/Editor.py" line="1326"/>
         <source>Clear warnings</source>
         <translation>Pulisci warning</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Il file &lt;b&gt;{0}&lt;/b&gt; esiste già. Sovrascriverlo ?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Il file  delle macro &lt;b&gt;{0}&lt;/b&gt; esiste già.Sovrascriverlo ?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6605"/>
+        <location filename="../QScintilla/Editor.py" line="6606"/>
         <source>Warning: {0}</source>
         <translation>Attenzione: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6612"/>
+        <location filename="../QScintilla/Editor.py" line="6613"/>
         <source>Error: {0}</source>
         <translation>Errore: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6996"/>
+        <location filename="../QScintilla/Editor.py" line="6997"/>
         <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
         <translation>&lt;br&gt;&lt;b&gt;Attenzione:&lt;/b&gt; con la riapertura le modifiche andranno perse.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="915"/>
+        <location filename="../QScintilla/Editor.py" line="916"/>
         <source>Open &apos;rejection&apos; file</source>
         <translation>Apri file &apos;rifiuto&apos;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1025"/>
+        <location filename="../QScintilla/Editor.py" line="1026"/>
         <source>Load Diagram...</source>
         <translation>Carica Diagramma...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1348"/>
+        <location filename="../QScintilla/Editor.py" line="1349"/>
         <source>Next change</source>
         <translation>Modifica successiva</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1352"/>
+        <location filename="../QScintilla/Editor.py" line="1353"/>
         <source>Previous change</source>
         <translation>Modifica precedente</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>Sort Lines</source>
         <translation>Righe ordinate</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>The selection contains illegal data for a numerical sort.</source>
         <translation>La selezione contiene dati non validi per un ordinamento numerico.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>Warning</source>
         <translation>Attenzione</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>No warning messages available.</source>
         <translation>Nessun messaggio di attenzione disponibile.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6602"/>
+        <location filename="../QScintilla/Editor.py" line="6603"/>
         <source>Style: {0}</source>
         <translation>Stile: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="889"/>
+        <location filename="../QScintilla/Editor.py" line="890"/>
         <source>New Document View</source>
         <translation>Nuova vista Documento</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="892"/>
+        <location filename="../QScintilla/Editor.py" line="893"/>
         <source>New Document View (with new split)</source>
         <translation>Nuova vista Documento (con nuova divisione)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="979"/>
+        <location filename="../QScintilla/Editor.py" line="980"/>
         <source>Tools</source>
         <translation>Strumenti</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1110"/>
+        <location filename="../QScintilla/Editor.py" line="1111"/>
         <source>Re-Open With Encoding</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6990"/>
+        <location filename="../QScintilla/Editor.py" line="6991"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric6. Reread it?&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Il file &lt;b&gt;{0}&lt;/b&gt; è stato modificato mentre era aperto in eric6. Rileggerlo ?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="865"/>
+        <location filename="../QScintilla/Editor.py" line="866"/>
         <source>Automatic Completion enabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="945"/>
+        <location filename="../QScintilla/Editor.py" line="946"/>
         <source>Complete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>Auto-Completion Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>The completion list provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>Call-Tips Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>The call-tips provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>Register Mouse Click Handler</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>A mouse click handler for &quot;{0}&quot; was already registered by &quot;{1}&quot;. Aborting request by &quot;{2}&quot;...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="909"/>
+        <location filename="../QScintilla/Editor.py" line="910"/>
         <source>Save Copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="948"/>
+        <location filename="../QScintilla/Editor.py" line="949"/>
         <source>Clear Completions Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="875"/>
+        <location filename="../QScintilla/Editor.py" line="876"/>
         <source>Code Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1356"/>
+        <location filename="../QScintilla/Editor.py" line="1357"/>
         <source>Clear changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="798"/>
+        <location filename="../QScintilla/Editor.py" line="799"/>
         <source>Execute Selection In Console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>EditorConfig Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1260"/>
+        <location filename="../QScintilla/Editor.py" line="1261"/>
         <source>Toggle all folds</source>
         <translation type="unfinished">Abilita/Disabilita tutti i raggruppamenti</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1265"/>
+        <location filename="../QScintilla/Editor.py" line="1266"/>
         <source>Toggle all folds (including children)</source>
         <translation type="unfinished">Abilita/Disabilita tutti i raggruppamenti (inclusi i figli)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1270"/>
+        <location filename="../QScintilla/Editor.py" line="1271"/>
         <source>Toggle current fold</source>
         <translation type="unfinished">Abilita/Disabilita il raggruppamento corrente</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1276"/>
+        <location filename="../QScintilla/Editor.py" line="1277"/>
         <source>Expand (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1281"/>
+        <location filename="../QScintilla/Editor.py" line="1282"/>
         <source>Collapse (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1287"/>
+        <location filename="../QScintilla/Editor.py" line="1288"/>
         <source>Clear all folds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1168"/>
+        <location filename="../QScintilla/Editor.py" line="1169"/>
         <source>Spell Check Languages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -17484,6 +17484,69 @@
     </message>
 </context>
 <context>
+    <name>EspBackupRestoreFirmwareDialog</name>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="14"/>
+        <source>Dialog</source>
+        <translation type="obsolete">Dialoghi</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="22"/>
+        <source>ESP Chip Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="29"/>
+        <source>Select the ESP chip type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="52"/>
+        <source>Firmware Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="59"/>
+        <source>Select the firmware size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="69"/>
+        <source>Flashmode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="76"/>
+        <source>Select the flash mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="83"/>
+        <source>Firmware:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="93"/>
+        <source>Enter the path of the firmware file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="66"/>
+        <source>Firmware Files (*.img);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="72"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="76"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>EspDevice</name>
     <message>
         <location filename="../MicroPython/EspDevices.py" line="67"/>
@@ -17491,50 +17554,95 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>Erase Flash</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="193"/>
+        <location filename="../MicroPython/EspDevices.py" line="210"/>
         <source>Flash MicroPython Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="234"/>
         <source>Flash Additional Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="141"/>
+        <location filename="../MicroPython/EspDevices.py" line="158"/>
         <source>Install &apos;esptool.py&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="148"/>
+        <location filename="../MicroPython/EspDevices.py" line="165"/>
         <source>Shall the flash of the selected device really be erased?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>&apos;esptool erase_flash&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="182"/>
+        <location filename="../MicroPython/EspDevices.py" line="199"/>
         <source>Unsupported chip type &apos;{0}&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
         <source>&apos;esptool write_flash&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="139"/>
+        <location filename="../MicroPython/EspDevices.py" line="156"/>
         <source>Reset Device</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>Show Chip ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>Show Flash ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>Show MAC Address</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>&apos;esptool read_flash&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>&apos;esptool chip_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>&apos;esptool flash_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>&apos;esptool read_mac&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>EspFirmwareSelectionDialog</name>
@@ -74184,6 +74292,16 @@
         <source>JavaScript batch check</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="256"/>
+        <source>YAML batch check</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="272"/>
+        <source>JSON batch check</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>SyntaxCheckerDialog</name>
@@ -74296,22 +74414,22 @@
 <context>
     <name>SyntaxCheckerPlugin</name>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>Check Syntax</source>
         <translation>Controlla sintassi</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>&amp;Syntax...</source>
         <translation>&amp;Sintassi...</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="156"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="176"/>
         <source>Check syntax.</source>
         <translation>Controlla sintassi.</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="251"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="271"/>
         <source>&lt;b&gt;Check Syntax...&lt;/b&gt;&lt;p&gt;This checks Python files for syntax errors.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Controlla sintassi...&lt;/b&gt;&lt;p&gt;Controlla i file Python per errori di sintassi.&lt;/p&gt;</translation>
     </message>
@@ -84765,27 +84883,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>Edit Spelling Dictionary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6572"/>
+        <location filename="../ViewManager/ViewManager.py" line="6578"/>
         <source>Editing {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6554"/>
+        <location filename="../ViewManager/ViewManager.py" line="6560"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6584"/>
+        <location filename="../ViewManager/ViewManager.py" line="6590"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>The spelling dictionary was saved successfully.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_pt.ts	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/i18n/eric6_pt.ts	Sat Dec 07 17:47:24 2019 +0100
@@ -11153,927 +11153,927 @@
 <context>
     <name>Editor</name>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>Open File</source>
         <translation>Abrir Ficheiro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="364"/>
+        <location filename="../QScintilla/Editor.py" line="365"/>
         <source>&lt;p&gt;The size of the file &lt;b&gt;{0}&lt;/b&gt; is &lt;b&gt;{1} KB&lt;/b&gt;. Do you really want to load it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;O tamanho do ficheiro &lt;b&gt;{0}&lt;/b&gt; é &lt;b&gt;{1} KB&lt;/b&gt;. Tem a certeza de que  o quer carregar?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="453"/>
+        <location filename="../QScintilla/Editor.py" line="454"/>
         <source>&lt;b&gt;A Source Editor Window&lt;/b&gt;&lt;p&gt;This window is used to display and edit a source file.  You can open as many of these as you like. The name of the file is displayed in the window&apos;s titlebar.&lt;/p&gt;&lt;p&gt;In order to set breakpoints just click in the space between the line numbers and the fold markers. Via the context menu of the margins they may be edited.&lt;/p&gt;&lt;p&gt;In order to set bookmarks just Shift click in the space between the line numbers and the fold markers.&lt;/p&gt;&lt;p&gt;These actions can be reversed via the context menu.&lt;/p&gt;&lt;p&gt;Ctrl clicking on a syntax error marker shows some info about this error.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="778"/>
+        <location filename="../QScintilla/Editor.py" line="779"/>
         <source>Undo</source>
         <translation>Desfazer</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="781"/>
+        <location filename="../QScintilla/Editor.py" line="782"/>
         <source>Redo</source>
         <translation>Refazer</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="784"/>
+        <location filename="../QScintilla/Editor.py" line="785"/>
         <source>Revert to last saved state</source>
         <translation>Voltar ao último estado guardado</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="788"/>
+        <location filename="../QScintilla/Editor.py" line="789"/>
         <source>Cut</source>
         <translation>Cortar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="791"/>
+        <location filename="../QScintilla/Editor.py" line="792"/>
         <source>Copy</source>
         <translation>Copiar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="794"/>
+        <location filename="../QScintilla/Editor.py" line="795"/>
         <source>Paste</source>
         <translation>Colar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="802"/>
+        <location filename="../QScintilla/Editor.py" line="803"/>
         <source>Indent</source>
         <translation>Indentar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="805"/>
+        <location filename="../QScintilla/Editor.py" line="806"/>
         <source>Unindent</source>
         <translation>Tirar Indentação</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="808"/>
+        <location filename="../QScintilla/Editor.py" line="809"/>
         <source>Comment</source>
         <translation>Comentar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="811"/>
+        <location filename="../QScintilla/Editor.py" line="812"/>
         <source>Uncomment</source>
         <translation>Descomentar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="814"/>
+        <location filename="../QScintilla/Editor.py" line="815"/>
         <source>Stream Comment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="817"/>
+        <location filename="../QScintilla/Editor.py" line="818"/>
         <source>Box Comment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="821"/>
+        <location filename="../QScintilla/Editor.py" line="822"/>
         <source>Select to brace</source>
         <translation>Selecionar até parentesis</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="823"/>
-        <source>Select all</source>
-        <translation>Selecionar tudo</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="824"/>
+        <source>Select all</source>
+        <translation>Selecionar tudo</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="825"/>
         <source>Deselect all</source>
         <translation>Desselecionar tudo</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7833"/>
+        <location filename="../QScintilla/Editor.py" line="7834"/>
         <source>Check spelling...</source>
         <translation>Verificação ortográfica...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="832"/>
+        <location filename="../QScintilla/Editor.py" line="833"/>
         <source>Check spelling of selection...</source>
         <translation>Verificação ortográfica da seleção...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="836"/>
+        <location filename="../QScintilla/Editor.py" line="837"/>
         <source>Remove from dictionary</source>
         <translation>Retirar do dicionário</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="842"/>
+        <location filename="../QScintilla/Editor.py" line="843"/>
         <source>Shorten empty lines</source>
         <translation>Encolher linhas vazias</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="849"/>
+        <location filename="../QScintilla/Editor.py" line="850"/>
         <source>Use Monospaced Font</source>
         <translation>Usar Tipo de Letra de Tamanho Único</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="854"/>
+        <location filename="../QScintilla/Editor.py" line="855"/>
         <source>Autosave enabled</source>
         <translation>Ativado autogravar </translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="858"/>
+        <location filename="../QScintilla/Editor.py" line="859"/>
         <source>Typing aids enabled</source>
         <translation>Habilitada a ajuda à escritura</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="897"/>
+        <location filename="../QScintilla/Editor.py" line="898"/>
         <source>Close</source>
         <translation>Fechar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="903"/>
+        <location filename="../QScintilla/Editor.py" line="904"/>
         <source>Save</source>
         <translation>Gravar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="906"/>
+        <location filename="../QScintilla/Editor.py" line="907"/>
         <source>Save As...</source>
         <translation>Gravar Como...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="919"/>
+        <location filename="../QScintilla/Editor.py" line="920"/>
         <source>Print Preview</source>
         <translation>Antevisão da Impressão</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="922"/>
+        <location filename="../QScintilla/Editor.py" line="923"/>
         <source>Print</source>
         <translation>Imprimir</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="951"/>
+        <location filename="../QScintilla/Editor.py" line="952"/>
         <source>Complete from Document</source>
         <translation type="unfinished">desde Documento</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="953"/>
+        <location filename="../QScintilla/Editor.py" line="954"/>
         <source>Complete from APIs</source>
         <translation type="unfinished">desde APIs</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="955"/>
+        <location filename="../QScintilla/Editor.py" line="956"/>
         <source>Complete from Document and APIs</source>
         <translation type="unfinished">desde Documento e APIs</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="873"/>
+        <location filename="../QScintilla/Editor.py" line="874"/>
         <source>Calltip</source>
         <translation>Dica</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="969"/>
+        <location filename="../QScintilla/Editor.py" line="970"/>
         <source>Check</source>
         <translation>Verificar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="989"/>
+        <location filename="../QScintilla/Editor.py" line="990"/>
         <source>Show</source>
         <translation>Mostrar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="991"/>
-        <source>Code metrics...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="992"/>
+        <source>Code metrics...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="993"/>
         <source>Code coverage...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="994"/>
+        <location filename="../QScintilla/Editor.py" line="995"/>
         <source>Show code coverage annotations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="997"/>
+        <location filename="../QScintilla/Editor.py" line="998"/>
         <source>Hide code coverage annotations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1000"/>
+        <location filename="../QScintilla/Editor.py" line="1001"/>
         <source>Profile data...</source>
         <translation>Dados de Perfil...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1013"/>
+        <location filename="../QScintilla/Editor.py" line="1014"/>
         <source>Diagrams</source>
         <translation>Diagramas</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1015"/>
+        <location filename="../QScintilla/Editor.py" line="1016"/>
         <source>Class Diagram...</source>
         <translation>Diagrama de Classes...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1017"/>
+        <location filename="../QScintilla/Editor.py" line="1018"/>
         <source>Package Diagram...</source>
         <translation>Diagrama do Pacote...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1019"/>
+        <location filename="../QScintilla/Editor.py" line="1020"/>
         <source>Imports Diagram...</source>
         <translation>Diagrama de Imports...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1021"/>
+        <location filename="../QScintilla/Editor.py" line="1022"/>
         <source>Application Diagram...</source>
         <translation>Diagrama da Aplicação...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1039"/>
+        <location filename="../QScintilla/Editor.py" line="1040"/>
         <source>Languages</source>
         <translation>Linguagens</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1172"/>
+        <location filename="../QScintilla/Editor.py" line="1173"/>
         <source>No Language</source>
         <translation>Nenhuma Linguagem</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1068"/>
+        <location filename="../QScintilla/Editor.py" line="1069"/>
         <source>Guessed</source>
         <translation>Adivinhado</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1408"/>
+        <location filename="../QScintilla/Editor.py" line="1409"/>
         <source>Alternatives</source>
         <translation>Alternativas</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1088"/>
+        <location filename="../QScintilla/Editor.py" line="1089"/>
         <source>Encodings</source>
         <translation>Codificações</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1129"/>
+        <location filename="../QScintilla/Editor.py" line="1130"/>
         <source>End-of-Line Type</source>
         <translation>Tipo do Fim-de-Linha</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1133"/>
+        <location filename="../QScintilla/Editor.py" line="1134"/>
         <source>Unix</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1140"/>
+        <location filename="../QScintilla/Editor.py" line="1141"/>
         <source>Windows</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1147"/>
+        <location filename="../QScintilla/Editor.py" line="1148"/>
         <source>Macintosh</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1197"/>
+        <location filename="../QScintilla/Editor.py" line="1198"/>
         <source>Export as</source>
         <translation>Exportar como</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1219"/>
+        <location filename="../QScintilla/Editor.py" line="1220"/>
         <source>Toggle bookmark</source>
         <translation>Alternar marcadores</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1221"/>
+        <location filename="../QScintilla/Editor.py" line="1222"/>
         <source>Next bookmark</source>
         <translation>Marcador seguinte</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1223"/>
+        <location filename="../QScintilla/Editor.py" line="1224"/>
         <source>Previous bookmark</source>
         <translation>Marcador anterior</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1225"/>
+        <location filename="../QScintilla/Editor.py" line="1226"/>
         <source>Clear all bookmarks</source>
         <translation>Limpar os marcadores todos</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1234"/>
+        <location filename="../QScintilla/Editor.py" line="1235"/>
         <source>Toggle breakpoint</source>
         <translation>Alternar pontos de interrupção</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1236"/>
+        <location filename="../QScintilla/Editor.py" line="1237"/>
         <source>Toggle temporary breakpoint</source>
         <translation>Alternar pontos de interrupção temporais</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1239"/>
+        <location filename="../QScintilla/Editor.py" line="1240"/>
         <source>Edit breakpoint...</source>
         <translation>Editar ponto de interrupção...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5606"/>
+        <location filename="../QScintilla/Editor.py" line="5607"/>
         <source>Enable breakpoint</source>
         <translation>Habilitar pontos de interrupção</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1244"/>
+        <location filename="../QScintilla/Editor.py" line="1245"/>
         <source>Next breakpoint</source>
         <translation>Ponto de interrupção seguinte</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1246"/>
+        <location filename="../QScintilla/Editor.py" line="1247"/>
         <source>Previous breakpoint</source>
         <translation>Ponto de interrupção anterior</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1251"/>
+        <location filename="../QScintilla/Editor.py" line="1252"/>
         <source>Clear all breakpoints</source>
         <translation>Apagar todos os pontos de interrupção</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1299"/>
+        <location filename="../QScintilla/Editor.py" line="1300"/>
         <source>Goto syntax error</source>
         <translation>Ir ao erro de sintaxe</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1303"/>
+        <location filename="../QScintilla/Editor.py" line="1304"/>
         <source>Show syntax error message</source>
         <translation>Mostrar a mensagem de erro de sintaxe</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1308"/>
+        <location filename="../QScintilla/Editor.py" line="1309"/>
         <source>Clear syntax error</source>
         <translation>Limpar o erro de sintaxe</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1313"/>
+        <location filename="../QScintilla/Editor.py" line="1314"/>
         <source>Next warning</source>
         <translation>Aviso seguinte</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1317"/>
+        <location filename="../QScintilla/Editor.py" line="1318"/>
         <source>Previous warning</source>
         <translation>Aviso anterior</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1321"/>
+        <location filename="../QScintilla/Editor.py" line="1322"/>
         <source>Show warning message</source>
         <translation>Mostrar mensagem de aviso</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1325"/>
+        <location filename="../QScintilla/Editor.py" line="1326"/>
         <source>Clear warnings</source>
         <translation>Limpar avisos</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1330"/>
+        <location filename="../QScintilla/Editor.py" line="1331"/>
         <source>Next uncovered line</source>
         <translation>Linha seguinte sem cobrir</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1334"/>
+        <location filename="../QScintilla/Editor.py" line="1335"/>
         <source>Previous uncovered line</source>
         <translation>Linha anterior sem cobrir</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1339"/>
+        <location filename="../QScintilla/Editor.py" line="1340"/>
         <source>Next task</source>
         <translation>Tarefa seguinte</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1343"/>
+        <location filename="../QScintilla/Editor.py" line="1344"/>
         <source>Previous task</source>
         <translation>Tarefa anterior</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>Export source</source>
         <translation>Exportar fonte</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1385"/>
+        <location filename="../QScintilla/Editor.py" line="1386"/>
         <source>&lt;p&gt;No exporter available for the export format &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Não está disponível um exportador para formato &lt;b&gt;{0}&lt;/b&gt;. A cancelar...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>No export format given. Aborting...</source>
         <translation>Não foi dado o formato para exportar. A cancelar...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1404"/>
+        <location filename="../QScintilla/Editor.py" line="1405"/>
         <source>Alternatives ({0})</source>
         <translation>Alternativas ({0})</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Pygments Lexer</source>
         <translation>Analizador Léxico Pygments</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Select the Pygments lexer to apply.</source>
         <translation>Selecionar o analizador léxico Pygments a aplicar.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>Modification of Read Only file</source>
         <translation>Modificação do ficheiro de Apenas Leitura</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>You are attempting to change a read only file. Please save to a different file first.</source>
         <translation>Tenta alterar um ficheiro de Apenas Leitura. Por favor guarde-o primeiro num ficheiro diferente. </translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2662"/>
+        <location filename="../QScintilla/Editor.py" line="2663"/>
         <source>Printing...</source>
         <translation>A imprimir...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2679"/>
+        <location filename="../QScintilla/Editor.py" line="2680"/>
         <source>Printing completed</source>
         <translation>Impressão completa</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2681"/>
+        <location filename="../QScintilla/Editor.py" line="2682"/>
         <source>Error while printing</source>
         <translation>Erro durante a impressão</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2684"/>
+        <location filename="../QScintilla/Editor.py" line="2685"/>
         <source>Printing aborted</source>
         <translation>Impressão cancelada</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>File Modified</source>
         <translation>Ficheiro Modificado</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has unsaved changes.&lt;/p&gt;</source>
         <translation>&lt;p&gt;O ficheiro &lt;b&gt;{0}&lt;/b&gt; tem alterações por gravar.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be opened.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Não se pôde abrir o ficheiro &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt; Motivo: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>Save File</source>
         <translation>Gravar Ficheiro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3231"/>
+        <location filename="../QScintilla/Editor.py" line="3232"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be saved.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;O ficheiro &lt;b&gt;{0}&lt;/b&gt; não se pôde gravar. &lt;br/&gt;Motivo: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;O ficheiro &lt;b&gt;{0}&lt;/b&gt; já existe. Sobreescrever?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion</source>
         <translation>Autocompletar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion is not available because there is no autocompletion source set.</source>
         <translation>Autocompletar não está disponivel porque a fonte de autocompletar não está definida.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5609"/>
+        <location filename="../QScintilla/Editor.py" line="5610"/>
         <source>Disable breakpoint</source>
         <translation>Inabilitar ponto de interrupção</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Code Coverage</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Please select a coverage file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>Show Code Coverage Annotations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6040"/>
+        <location filename="../QScintilla/Editor.py" line="6041"/>
         <source>All lines have been covered.</source>
         <translation>Foram cobertas as linhas todas.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>There is no coverage file available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Profile Data</source>
         <translation>Dados de Perfil</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Please select a profile file</source>
         <translation>Escolha um ficheiro de perfil por favor</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>Syntax Error</source>
         <translation>Erro de Sintaxe</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>No syntax error message available.</source>
         <translation>Não está disponível a mensagem de erro de sintaxe.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Macro Name</source>
         <translation>Nome de Macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Select a macro name:</source>
         <translation>Selecionar um nome de macro:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6745"/>
+        <location filename="../QScintilla/Editor.py" line="6746"/>
         <source>Load macro file</source>
         <translation>Carregar ficheiro macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Macro files (*.macro)</source>
         <translation>Ficheiros Macro (*.macro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>Error loading macro</source>
         <translation>Erro ao carregar macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6759"/>
+        <location filename="../QScintilla/Editor.py" line="6760"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;O ficheiro macro &lt;b&gt;{0}&lt;/b&gt; não se pode ler.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
         <translation>&lt;p&gt;O ficheiro macro &lt;b&gt;{0}&lt;/b&gt; está corrompido.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Save macro file</source>
         <translation>Gravar ficheiro macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>Save macro</source>
         <translation>Gravar macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;O ficheiro macro &lt;b&gt;{0}&lt;/b&gt; já existe. Sobreescrever-lo?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>Error saving macro</source>
         <translation>Erro ao gravar macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;O ficheiro macro &lt;b&gt;{0}&lt;/b&gt; não pode ser escrito.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Start Macro Recording</source>
         <translation>Iniciar Registo de Macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Macro recording is already active. Start new?</source>
         <translation>A gravação de macro já está ativada. Começar nova?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Macro Recording</source>
         <translation>Gravação de Macro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Enter name of the macro:</source>
         <translation>Introduza o nome de macro:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7000"/>
+        <location filename="../QScintilla/Editor.py" line="7001"/>
         <source>File changed</source>
         <translation>Ficheiro alterado</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7165"/>
+        <location filename="../QScintilla/Editor.py" line="7166"/>
         <source>{0} (ro)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>Drop Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; não é um ficheiro.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7327"/>
+        <location filename="../QScintilla/Editor.py" line="7328"/>
         <source>Resources</source>
         <translation>Recursos</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7329"/>
+        <location filename="../QScintilla/Editor.py" line="7330"/>
         <source>Add file...</source>
         <translation>Adicionar Ficheiro...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7331"/>
+        <location filename="../QScintilla/Editor.py" line="7332"/>
         <source>Add files...</source>
         <translation>Adicionar Ficheiros...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7333"/>
+        <location filename="../QScintilla/Editor.py" line="7334"/>
         <source>Add aliased file...</source>
         <translation>Adicionar ficheiro com pseudónimo...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7336"/>
+        <location filename="../QScintilla/Editor.py" line="7337"/>
         <source>Add localized resource...</source>
         <translation>Adicionar recursos localizado...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7340"/>
+        <location filename="../QScintilla/Editor.py" line="7341"/>
         <source>Add resource frame</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7359"/>
+        <location filename="../QScintilla/Editor.py" line="7360"/>
         <source>Add file resource</source>
         <translation>Adicionar recurso de ficheiro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7375"/>
+        <location filename="../QScintilla/Editor.py" line="7376"/>
         <source>Add file resources</source>
         <translation>Adicionar recursos de ficheiro</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Add aliased file resource</source>
         <translation>Adicionar recurso de ficheiro com pseudónimo</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
         <translation>Pseudónimo para o ficheiro &lt;b&gt;{0}&lt;/b&gt;:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Package Diagram</source>
         <translation>Diagrama do Pacote</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Include class attributes?</source>
         <translation>Incluir atributos de classes?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Imports Diagram</source>
         <translation>Diagrama de Imports</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Include imports from external modules?</source>
         <translation>Incluir imports de módulos externos?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Application Diagram</source>
         <translation>Diagrama da Aplicação</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Include module names?</source>
         <translation>Incluir nome dos módulos?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7836"/>
+        <location filename="../QScintilla/Editor.py" line="7837"/>
         <source>Add to dictionary</source>
         <translation>Adicionar dicionário</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7838"/>
+        <location filename="../QScintilla/Editor.py" line="7839"/>
         <source>Ignore All</source>
         <translation>Ignorar Tudo</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6605"/>
+        <location filename="../QScintilla/Editor.py" line="6606"/>
         <source>Warning: {0}</source>
         <translation>Aviso: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6612"/>
+        <location filename="../QScintilla/Editor.py" line="6613"/>
         <source>Error: {0}</source>
         <translation>Erro: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6996"/>
+        <location filename="../QScintilla/Editor.py" line="6997"/>
         <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
         <translation>&lt;br&gt;&lt;b&gt;Aviso:&lt;/b&gt; Perderá todas as alterações uma vez que o volte a abrir.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>Call-Tips Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="915"/>
+        <location filename="../QScintilla/Editor.py" line="916"/>
         <source>Open &apos;rejection&apos; file</source>
         <translation>Abrir ficheiro de &apos;rejeição&apos;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1025"/>
+        <location filename="../QScintilla/Editor.py" line="1026"/>
         <source>Load Diagram...</source>
         <translation>Carregar Diagrama...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1348"/>
+        <location filename="../QScintilla/Editor.py" line="1349"/>
         <source>Next change</source>
         <translation>Alteração seguinte</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1352"/>
+        <location filename="../QScintilla/Editor.py" line="1353"/>
         <source>Previous change</source>
         <translation>Alteração anterior</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>Sort Lines</source>
         <translation>Ordenar Linhas</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>The selection contains illegal data for a numerical sort.</source>
         <translation>A seleção contém dados ilegais para uma ordenação numérica.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>Warning</source>
         <translation>Aviso</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>No warning messages available.</source>
         <translation>Não estão disponíveis mensagens de aviso.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6602"/>
+        <location filename="../QScintilla/Editor.py" line="6603"/>
         <source>Style: {0}</source>
         <translation>Estilo: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="889"/>
+        <location filename="../QScintilla/Editor.py" line="890"/>
         <source>New Document View</source>
         <translation>Vista de Documento Novo</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="892"/>
+        <location filename="../QScintilla/Editor.py" line="893"/>
         <source>New Document View (with new split)</source>
         <translation>Vista de Documento Novo (com divisão nova)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="979"/>
+        <location filename="../QScintilla/Editor.py" line="980"/>
         <source>Tools</source>
         <translation>Ferramentas</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1110"/>
+        <location filename="../QScintilla/Editor.py" line="1111"/>
         <source>Re-Open With Encoding</source>
         <translation>Reabrir Com Codificação</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6990"/>
+        <location filename="../QScintilla/Editor.py" line="6991"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric6. Reread it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;O ficheiro &lt;b&gt;{0}&lt;/b&gt; foi alterado enquanto estava aberto em eric6. Recarregar?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="865"/>
+        <location filename="../QScintilla/Editor.py" line="866"/>
         <source>Automatic Completion enabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="945"/>
+        <location filename="../QScintilla/Editor.py" line="946"/>
         <source>Complete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>Auto-Completion Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>The completion list provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>The call-tips provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>Register Mouse Click Handler</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>A mouse click handler for &quot;{0}&quot; was already registered by &quot;{1}&quot;. Aborting request by &quot;{2}&quot;...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="909"/>
+        <location filename="../QScintilla/Editor.py" line="910"/>
         <source>Save Copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="948"/>
+        <location filename="../QScintilla/Editor.py" line="949"/>
         <source>Clear Completions Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="875"/>
+        <location filename="../QScintilla/Editor.py" line="876"/>
         <source>Code Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1356"/>
+        <location filename="../QScintilla/Editor.py" line="1357"/>
         <source>Clear changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="798"/>
+        <location filename="../QScintilla/Editor.py" line="799"/>
         <source>Execute Selection In Console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>EditorConfig Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1260"/>
+        <location filename="../QScintilla/Editor.py" line="1261"/>
         <source>Toggle all folds</source>
         <translation type="unfinished">Alternar as dobras todas</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1265"/>
+        <location filename="../QScintilla/Editor.py" line="1266"/>
         <source>Toggle all folds (including children)</source>
         <translation type="unfinished">Alternar as dobras todas (incluindo filhos)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1270"/>
+        <location filename="../QScintilla/Editor.py" line="1271"/>
         <source>Toggle current fold</source>
         <translation type="unfinished">Alternar a dobra atual</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1276"/>
+        <location filename="../QScintilla/Editor.py" line="1277"/>
         <source>Expand (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1281"/>
+        <location filename="../QScintilla/Editor.py" line="1282"/>
         <source>Collapse (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1287"/>
+        <location filename="../QScintilla/Editor.py" line="1288"/>
         <source>Clear all folds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1168"/>
+        <location filename="../QScintilla/Editor.py" line="1169"/>
         <source>Spell Check Languages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -17455,6 +17455,69 @@
     </message>
 </context>
 <context>
+    <name>EspBackupRestoreFirmwareDialog</name>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="14"/>
+        <source>Dialog</source>
+        <translation type="obsolete">Caixa de Diálogo</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="22"/>
+        <source>ESP Chip Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="29"/>
+        <source>Select the ESP chip type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="52"/>
+        <source>Firmware Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="59"/>
+        <source>Select the firmware size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="69"/>
+        <source>Flashmode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="76"/>
+        <source>Select the flash mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="83"/>
+        <source>Firmware:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="93"/>
+        <source>Enter the path of the firmware file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="66"/>
+        <source>Firmware Files (*.img);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="72"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="76"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>EspDevice</name>
     <message>
         <location filename="../MicroPython/EspDevices.py" line="67"/>
@@ -17462,50 +17525,95 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>Erase Flash</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="193"/>
+        <location filename="../MicroPython/EspDevices.py" line="210"/>
         <source>Flash MicroPython Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="234"/>
         <source>Flash Additional Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="141"/>
+        <location filename="../MicroPython/EspDevices.py" line="158"/>
         <source>Install &apos;esptool.py&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="148"/>
+        <location filename="../MicroPython/EspDevices.py" line="165"/>
         <source>Shall the flash of the selected device really be erased?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>&apos;esptool erase_flash&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="182"/>
+        <location filename="../MicroPython/EspDevices.py" line="199"/>
         <source>Unsupported chip type &apos;{0}&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
         <source>&apos;esptool write_flash&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="139"/>
+        <location filename="../MicroPython/EspDevices.py" line="156"/>
         <source>Reset Device</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>Show Chip ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>Show Flash ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>Show MAC Address</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>&apos;esptool read_flash&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>&apos;esptool chip_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>&apos;esptool flash_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>&apos;esptool read_mac&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>EspFirmwareSelectionDialog</name>
@@ -73391,6 +73499,16 @@
         <source>JavaScript batch check</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="256"/>
+        <source>YAML batch check</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="272"/>
+        <source>JSON batch check</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>SyntaxCheckerDialog</name>
@@ -73498,22 +73616,22 @@
 <context>
     <name>SyntaxCheckerPlugin</name>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>Check Syntax</source>
         <translation>Verificar Sintaxe</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>&amp;Syntax...</source>
         <translation>&amp;Sintaxe...</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="156"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="176"/>
         <source>Check syntax.</source>
         <translation>Verificar sintaxe.</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="251"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="271"/>
         <source>&lt;b&gt;Check Syntax...&lt;/b&gt;&lt;p&gt;This checks Python files for syntax errors.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Verificar Sintaxe...&lt;/b&gt;&lt;b&gt;Verifica erros de  sintaxe nos ficheiros Python.&lt;/p&gt;</translation>
     </message>
@@ -83923,27 +84041,27 @@
         <translation>Lista de Exceções do Usuário</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>Edit Spelling Dictionary</source>
         <translation>Editar Dicionário Ortográfico</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6572"/>
+        <location filename="../ViewManager/ViewManager.py" line="6578"/>
         <source>Editing {0}</source>
         <translation>A editar {0}</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6554"/>
+        <location filename="../ViewManager/ViewManager.py" line="6560"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6584"/>
+        <location filename="../ViewManager/ViewManager.py" line="6590"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>The spelling dictionary was saved successfully.</source>
         <translation>O dicionário ortográfico foi guradado com êxito.</translation>
     </message>
--- a/eric6/i18n/eric6_ru.ts	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/i18n/eric6_ru.ts	Sat Dec 07 17:47:24 2019 +0100
@@ -10781,927 +10781,927 @@
 <context>
     <name>Editor</name>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>Open File</source>
         <translation>Открыть файл</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="364"/>
+        <location filename="../QScintilla/Editor.py" line="365"/>
         <source>&lt;p&gt;The size of the file &lt;b&gt;{0}&lt;/b&gt; is &lt;b&gt;{1} KB&lt;/b&gt;. Do you really want to load it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Файл &lt;b&gt;{0}&lt;/b&gt; занимает &lt;b&gt;{1} KB&lt;/b&gt;. Вы действительно хотите его загрузить?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="453"/>
+        <location filename="../QScintilla/Editor.py" line="454"/>
         <source>&lt;b&gt;A Source Editor Window&lt;/b&gt;&lt;p&gt;This window is used to display and edit a source file.  You can open as many of these as you like. The name of the file is displayed in the window&apos;s titlebar.&lt;/p&gt;&lt;p&gt;In order to set breakpoints just click in the space between the line numbers and the fold markers. Via the context menu of the margins they may be edited.&lt;/p&gt;&lt;p&gt;In order to set bookmarks just Shift click in the space between the line numbers and the fold markers.&lt;/p&gt;&lt;p&gt;These actions can be reversed via the context menu.&lt;/p&gt;&lt;p&gt;Ctrl clicking on a syntax error marker shows some info about this error.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Окно редактора&lt;/b&gt;&lt;p&gt;Это окно используется для просмотра и редактирования исходных текстов приложений. Вы можете открыть несколько окон одновременно. Имя редактируемого файла отображается в заголовке окна.&lt;/p&gt;&lt;p&gt;Чтобы установить точку останова - кликните в пространство между номером строки и панелью свёртки на нужной строке. Появившийся маркер точки останова можно настроить через контекстное меню.&lt;/p&gt;&lt;p&gt;Чтобы установить закладку кликните в пространство между номером строки и панелью свёртки на нужной строке при нажатой клавише Shift.&lt;/p&gt;&lt;p&gt;Эти действия можно отменить через контекстное меню.&lt;/p&gt;&lt;p&gt;Если при нажатой клавише Ctrl кликнуть на маркер синтаксической ошибки, то будет показана дополнительная информация об ошибке.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="778"/>
+        <location filename="../QScintilla/Editor.py" line="779"/>
         <source>Undo</source>
         <translation>Отмена</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="781"/>
+        <location filename="../QScintilla/Editor.py" line="782"/>
         <source>Redo</source>
         <translation>Повтор</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="784"/>
+        <location filename="../QScintilla/Editor.py" line="785"/>
         <source>Revert to last saved state</source>
         <translation>Вернуть к последнему записанному состоянию</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="788"/>
+        <location filename="../QScintilla/Editor.py" line="789"/>
         <source>Cut</source>
         <translation>Вырезать</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="791"/>
+        <location filename="../QScintilla/Editor.py" line="792"/>
         <source>Copy</source>
         <translation>Копировать</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="794"/>
+        <location filename="../QScintilla/Editor.py" line="795"/>
         <source>Paste</source>
         <translation>Вставить</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="802"/>
+        <location filename="../QScintilla/Editor.py" line="803"/>
         <source>Indent</source>
         <translation>Увеличить отступ</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="805"/>
+        <location filename="../QScintilla/Editor.py" line="806"/>
         <source>Unindent</source>
         <translation>Уменьшить отступ</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="808"/>
+        <location filename="../QScintilla/Editor.py" line="809"/>
         <source>Comment</source>
         <translation>Закомментировать</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="811"/>
+        <location filename="../QScintilla/Editor.py" line="812"/>
         <source>Uncomment</source>
         <translation>Раскомментировать</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="814"/>
+        <location filename="../QScintilla/Editor.py" line="815"/>
         <source>Stream Comment</source>
         <translation>Поточный комментарий</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="817"/>
+        <location filename="../QScintilla/Editor.py" line="818"/>
         <source>Box Comment</source>
         <translation>Прямоугольный комментарий</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="821"/>
+        <location filename="../QScintilla/Editor.py" line="822"/>
         <source>Select to brace</source>
         <translation>Выбрать до скобки</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="823"/>
-        <source>Select all</source>
-        <translation>Выбрать всё</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="824"/>
+        <source>Select all</source>
+        <translation>Выбрать всё</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="825"/>
         <source>Deselect all</source>
         <translation>Снять выделение</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7833"/>
+        <location filename="../QScintilla/Editor.py" line="7834"/>
         <source>Check spelling...</source>
         <translation>Проверка орфографии...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="832"/>
+        <location filename="../QScintilla/Editor.py" line="833"/>
         <source>Check spelling of selection...</source>
         <translation>Проверка орфографии выделенного участка...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="836"/>
+        <location filename="../QScintilla/Editor.py" line="837"/>
         <source>Remove from dictionary</source>
         <translation>Удалить из словаря</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="842"/>
+        <location filename="../QScintilla/Editor.py" line="843"/>
         <source>Shorten empty lines</source>
         <translation>Укоротить пустые строки</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="849"/>
+        <location filename="../QScintilla/Editor.py" line="850"/>
         <source>Use Monospaced Font</source>
         <translation>Использовать моноширинный шрифт</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="854"/>
+        <location filename="../QScintilla/Editor.py" line="855"/>
         <source>Autosave enabled</source>
         <translation>Автосохранение разрешено</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="858"/>
+        <location filename="../QScintilla/Editor.py" line="859"/>
         <source>Typing aids enabled</source>
         <translation>Разрешить помощь при наборе</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="897"/>
+        <location filename="../QScintilla/Editor.py" line="898"/>
         <source>Close</source>
         <translation>Закрыть</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="903"/>
+        <location filename="../QScintilla/Editor.py" line="904"/>
         <source>Save</source>
         <translation>Сохранить</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="906"/>
+        <location filename="../QScintilla/Editor.py" line="907"/>
         <source>Save As...</source>
         <translation>Сохранить как...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="919"/>
+        <location filename="../QScintilla/Editor.py" line="920"/>
         <source>Print Preview</source>
         <translation>Предварительный просмотр печати</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="922"/>
+        <location filename="../QScintilla/Editor.py" line="923"/>
         <source>Print</source>
         <translation>Печать</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="951"/>
+        <location filename="../QScintilla/Editor.py" line="952"/>
         <source>Complete from Document</source>
         <translation>Дополнение из документа</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="953"/>
+        <location filename="../QScintilla/Editor.py" line="954"/>
         <source>Complete from APIs</source>
         <translation>Дополнение из API</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="955"/>
+        <location filename="../QScintilla/Editor.py" line="956"/>
         <source>Complete from Document and APIs</source>
         <translation>Дополнение из документа и API</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="873"/>
+        <location filename="../QScintilla/Editor.py" line="874"/>
         <source>Calltip</source>
         <translation>Подсказка</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="969"/>
+        <location filename="../QScintilla/Editor.py" line="970"/>
         <source>Check</source>
         <translation>Проверки</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="989"/>
+        <location filename="../QScintilla/Editor.py" line="990"/>
         <source>Show</source>
         <translation>Показать</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="991"/>
-        <source>Code metrics...</source>
-        <translation>Метрики кода...</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="992"/>
+        <source>Code metrics...</source>
+        <translation>Метрики кода...</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="993"/>
         <source>Code coverage...</source>
         <translation>Покрытие кода...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="994"/>
+        <location filename="../QScintilla/Editor.py" line="995"/>
         <source>Show code coverage annotations</source>
         <translation>Показать аннотации по покрытию кода</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="997"/>
+        <location filename="../QScintilla/Editor.py" line="998"/>
         <source>Hide code coverage annotations</source>
         <translation>Не показывать аннотации по покрытию кода</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1000"/>
+        <location filename="../QScintilla/Editor.py" line="1001"/>
         <source>Profile data...</source>
         <translation>Данные профайлера...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1013"/>
+        <location filename="../QScintilla/Editor.py" line="1014"/>
         <source>Diagrams</source>
         <translation>Диаграммы</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1015"/>
+        <location filename="../QScintilla/Editor.py" line="1016"/>
         <source>Class Diagram...</source>
         <translation>Диаграмма классов...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1017"/>
+        <location filename="../QScintilla/Editor.py" line="1018"/>
         <source>Package Diagram...</source>
         <translation>Диаграмма пакетов...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1019"/>
+        <location filename="../QScintilla/Editor.py" line="1020"/>
         <source>Imports Diagram...</source>
         <translation>Диаграмма импортирования...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1021"/>
+        <location filename="../QScintilla/Editor.py" line="1022"/>
         <source>Application Diagram...</source>
         <translation>Диаграмма приложения...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1039"/>
+        <location filename="../QScintilla/Editor.py" line="1040"/>
         <source>Languages</source>
         <translation>Языки</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1172"/>
+        <location filename="../QScintilla/Editor.py" line="1173"/>
         <source>No Language</source>
         <translation>Нет языка</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1068"/>
+        <location filename="../QScintilla/Editor.py" line="1069"/>
         <source>Guessed</source>
         <translation>Предполагаемый язык</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1408"/>
+        <location filename="../QScintilla/Editor.py" line="1409"/>
         <source>Alternatives</source>
         <translation>Альтернативная подсветка</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1088"/>
+        <location filename="../QScintilla/Editor.py" line="1089"/>
         <source>Encodings</source>
         <translation>Кодировки</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1129"/>
+        <location filename="../QScintilla/Editor.py" line="1130"/>
         <source>End-of-Line Type</source>
         <translation>Тип конца строки</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1133"/>
+        <location filename="../QScintilla/Editor.py" line="1134"/>
         <source>Unix</source>
         <translation>Unix</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1140"/>
+        <location filename="../QScintilla/Editor.py" line="1141"/>
         <source>Windows</source>
         <translation>Windows</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1147"/>
+        <location filename="../QScintilla/Editor.py" line="1148"/>
         <source>Macintosh</source>
         <translation>Macintosh</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1197"/>
+        <location filename="../QScintilla/Editor.py" line="1198"/>
         <source>Export as</source>
         <translation>Экспортировать как</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1219"/>
+        <location filename="../QScintilla/Editor.py" line="1220"/>
         <source>Toggle bookmark</source>
         <translation>Создать/Удалить закладку</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1221"/>
+        <location filename="../QScintilla/Editor.py" line="1222"/>
         <source>Next bookmark</source>
         <translation>Следующая закладка</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1223"/>
+        <location filename="../QScintilla/Editor.py" line="1224"/>
         <source>Previous bookmark</source>
         <translation>Предыдущая закладка</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1225"/>
+        <location filename="../QScintilla/Editor.py" line="1226"/>
         <source>Clear all bookmarks</source>
         <translation>Очистить все закладки</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1234"/>
+        <location filename="../QScintilla/Editor.py" line="1235"/>
         <source>Toggle breakpoint</source>
         <translation>Поставить/убрать точку останова</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1236"/>
+        <location filename="../QScintilla/Editor.py" line="1237"/>
         <source>Toggle temporary breakpoint</source>
         <translation>Поставить/убрать временную точку останова</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1239"/>
+        <location filename="../QScintilla/Editor.py" line="1240"/>
         <source>Edit breakpoint...</source>
         <translation>Редактировать точку останова...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5606"/>
+        <location filename="../QScintilla/Editor.py" line="5607"/>
         <source>Enable breakpoint</source>
         <translation>Разрешить точку останова</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1244"/>
+        <location filename="../QScintilla/Editor.py" line="1245"/>
         <source>Next breakpoint</source>
         <translation>Следующая точка останова</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1246"/>
+        <location filename="../QScintilla/Editor.py" line="1247"/>
         <source>Previous breakpoint</source>
         <translation>Предыдущая точка останова</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1251"/>
+        <location filename="../QScintilla/Editor.py" line="1252"/>
         <source>Clear all breakpoints</source>
         <translation>Убрать все точки останова</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1299"/>
+        <location filename="../QScintilla/Editor.py" line="1300"/>
         <source>Goto syntax error</source>
         <translation>Перейти к синтаксической ошибке</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1303"/>
+        <location filename="../QScintilla/Editor.py" line="1304"/>
         <source>Show syntax error message</source>
         <translation>Показать сообщение о синтаксической ошибке</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1308"/>
+        <location filename="../QScintilla/Editor.py" line="1309"/>
         <source>Clear syntax error</source>
         <translation>Очистить синтаксическую ошибку</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1313"/>
+        <location filename="../QScintilla/Editor.py" line="1314"/>
         <source>Next warning</source>
         <translation>Следующее предупреждение</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1317"/>
+        <location filename="../QScintilla/Editor.py" line="1318"/>
         <source>Previous warning</source>
         <translation>Предыдущее предупреждение</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1321"/>
+        <location filename="../QScintilla/Editor.py" line="1322"/>
         <source>Show warning message</source>
         <translation>Показать предупреждение</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1325"/>
+        <location filename="../QScintilla/Editor.py" line="1326"/>
         <source>Clear warnings</source>
         <translation>Очистить предупреждения</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1330"/>
+        <location filename="../QScintilla/Editor.py" line="1331"/>
         <source>Next uncovered line</source>
         <translation>Следующая неохваченная строка</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1334"/>
+        <location filename="../QScintilla/Editor.py" line="1335"/>
         <source>Previous uncovered line</source>
         <translation>Предыдущая неохваченная строка</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1339"/>
+        <location filename="../QScintilla/Editor.py" line="1340"/>
         <source>Next task</source>
         <translation>Следующая задача</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1343"/>
+        <location filename="../QScintilla/Editor.py" line="1344"/>
         <source>Previous task</source>
         <translation>Предыдущая задача</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>Export source</source>
         <translation>Экспортировать исходник</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1385"/>
+        <location filename="../QScintilla/Editor.py" line="1386"/>
         <source>&lt;p&gt;No exporter available for the export format &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;Не найден экспортёр для формата &lt;b&gt;{0}&lt;/b&gt;. Отмена...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>No export format given. Aborting...</source>
         <translation>Не задан формат экспорта. Прерывание...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1404"/>
+        <location filename="../QScintilla/Editor.py" line="1405"/>
         <source>Alternatives ({0})</source>
         <translation>Альтернативы ({0})</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Pygments Lexer</source>
         <translation>Лексер Pygments</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Select the Pygments lexer to apply.</source>
         <translation>Выберите для использования лексер Pygments.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>Modification of Read Only file</source>
         <translation>Редактирование файла, открытого только на чтение</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>You are attempting to change a read only file. Please save to a different file first.</source>
         <translation>Попытка редактирования файла, открытого только на чтение. Пожалуйста, сначала сохраните изменения в другой файл.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2662"/>
+        <location filename="../QScintilla/Editor.py" line="2663"/>
         <source>Printing...</source>
         <translation>Печать...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2679"/>
+        <location filename="../QScintilla/Editor.py" line="2680"/>
         <source>Printing completed</source>
         <translation>Печать завершена</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2681"/>
+        <location filename="../QScintilla/Editor.py" line="2682"/>
         <source>Error while printing</source>
         <translation>Ошибка печати</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2684"/>
+        <location filename="../QScintilla/Editor.py" line="2685"/>
         <source>Printing aborted</source>
         <translation>Печать прервана</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>File Modified</source>
         <translation>Файл изменён</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has unsaved changes.&lt;/p&gt;</source>
         <translation>&lt;p&gt;В файле &lt;b&gt;{0}&lt;/b&gt; есть несохранённые изменения.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be opened.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Невозможно прочитать файл &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Причина: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>Save File</source>
         <translation>Сохранить файл</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3231"/>
+        <location filename="../QScintilla/Editor.py" line="3232"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be saved.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Невозможно сохранить файл &lt;b&gt;{0}&lt;/b&gt;:&lt;br&gt;Причина: {1}.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Файл &lt;b&gt;{0}&lt;/b&gt; уже существует. Переписать?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion</source>
         <translation>Автодополнение</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion is not available because there is no autocompletion source set.</source>
         <translation>Автодополнение недоступно, так как не задан источник автодополнения.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5609"/>
+        <location filename="../QScintilla/Editor.py" line="5610"/>
         <source>Disable breakpoint</source>
         <translation>Запретить точку останова</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Code Coverage</source>
         <translation>Покрытие кода</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Please select a coverage file</source>
         <translation>Пожалуйста, выберите файл покрытия</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>Show Code Coverage Annotations</source>
         <translation>Показать аннотации по покрытию кода</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6040"/>
+        <location filename="../QScintilla/Editor.py" line="6041"/>
         <source>All lines have been covered.</source>
         <translation>Все строки были охвачены.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>There is no coverage file available.</source>
         <translation>Нет доступного файла покрытия.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Profile Data</source>
         <translation>Данные профайлера</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Please select a profile file</source>
         <translation>Пожалуйста, выберите файл профиля</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>Syntax Error</source>
         <translation>Синтаксическая ошибка</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>No syntax error message available.</source>
         <translation>Нет сообщения о синтаксической ошибке.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Macro Name</source>
         <translation>Имя макроса</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Select a macro name:</source>
         <translation>Задайте имя макроса:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6745"/>
+        <location filename="../QScintilla/Editor.py" line="6746"/>
         <source>Load macro file</source>
         <translation>Загрузить макрос</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Macro files (*.macro)</source>
         <translation>Макросы (*.macro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>Error loading macro</source>
         <translation>Ошибка при загрузке макроса</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6759"/>
+        <location filename="../QScintilla/Editor.py" line="6760"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Невозможно прочитать файл с макросами: &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Файл с макросами &lt;b&gt;{0}&lt;/b&gt; повреждён.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Save macro file</source>
         <translation>Сохранить файл с макросами</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>Save macro</source>
         <translation>Сохранить макрос</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Макро &lt;b&gt;{0}&lt;/b&gt; уже существует. Переписать?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>Error saving macro</source>
         <translation>Ошибка при сохранении макроса</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Невозможно сохранить файл с макросами: &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Start Macro Recording</source>
         <translation>Начать запись макроса</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Macro recording is already active. Start new?</source>
         <translation>Запись макроса уже идёт. Начать новую запись?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Macro Recording</source>
         <translation>Запись макроса</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Enter name of the macro:</source>
         <translation>Задайте имя макроса:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7000"/>
+        <location filename="../QScintilla/Editor.py" line="7001"/>
         <source>File changed</source>
         <translation>Файл изменен</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7165"/>
+        <location filename="../QScintilla/Editor.py" line="7166"/>
         <source>{0} (ro)</source>
         <translation>{0} (только чтение)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>Drop Error</source>
         <translation>Ошибка Drag&amp;&amp;Drop</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; не является файлом.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7327"/>
+        <location filename="../QScintilla/Editor.py" line="7328"/>
         <source>Resources</source>
         <translation>Ресурсы</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7329"/>
+        <location filename="../QScintilla/Editor.py" line="7330"/>
         <source>Add file...</source>
         <translation>Добавить файл...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7331"/>
+        <location filename="../QScintilla/Editor.py" line="7332"/>
         <source>Add files...</source>
         <translation>Добавить файлы...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7333"/>
+        <location filename="../QScintilla/Editor.py" line="7334"/>
         <source>Add aliased file...</source>
         <translation>Добавить файл под другим именем...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7336"/>
+        <location filename="../QScintilla/Editor.py" line="7337"/>
         <source>Add localized resource...</source>
         <translation>Добавить локализованный ресурс...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7340"/>
+        <location filename="../QScintilla/Editor.py" line="7341"/>
         <source>Add resource frame</source>
         <translation>Добавить фрагмент ресурсов</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7359"/>
+        <location filename="../QScintilla/Editor.py" line="7360"/>
         <source>Add file resource</source>
         <translation>Добавить файл ресурсов</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7375"/>
+        <location filename="../QScintilla/Editor.py" line="7376"/>
         <source>Add file resources</source>
         <translation>Добавить файлы ресурсов</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Add aliased file resource</source>
         <translation>Добавить файл ресурсов под другим именем</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
         <translation>Другое имя для файла &lt;b&gt;{0}&lt;/b&gt;:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Package Diagram</source>
         <translation>Диаграмма пакетов</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Include class attributes?</source>
         <translation>Включать атрибуты класса?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Imports Diagram</source>
         <translation>Диаграмма импортов</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Include imports from external modules?</source>
         <translation>Включать импорты из внешних модулей?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Application Diagram</source>
         <translation>Диаграмма приложения</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Include module names?</source>
         <translation>Включать имена модулей?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7836"/>
+        <location filename="../QScintilla/Editor.py" line="7837"/>
         <source>Add to dictionary</source>
         <translation>Добавить в словарь</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7838"/>
+        <location filename="../QScintilla/Editor.py" line="7839"/>
         <source>Ignore All</source>
         <translation>Игнорировать всё</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6605"/>
+        <location filename="../QScintilla/Editor.py" line="6606"/>
         <source>Warning: {0}</source>
         <translation>Предупреждение: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6612"/>
+        <location filename="../QScintilla/Editor.py" line="6613"/>
         <source>Error: {0}</source>
         <translation>Ошибка: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6996"/>
+        <location filename="../QScintilla/Editor.py" line="6997"/>
         <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
         <translation>&lt;br&gt;&lt;b&gt;Предупреждение:&lt;/b&gt; При переоткрытии все изменения будут потеряны.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="915"/>
+        <location filename="../QScintilla/Editor.py" line="916"/>
         <source>Open &apos;rejection&apos; file</source>
         <translation>Открыть &apos;отбракованный&apos; файл</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1025"/>
+        <location filename="../QScintilla/Editor.py" line="1026"/>
         <source>Load Diagram...</source>
         <translation>Загрузить диаграмму...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1348"/>
+        <location filename="../QScintilla/Editor.py" line="1349"/>
         <source>Next change</source>
         <translation>Следующее изменение</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1352"/>
+        <location filename="../QScintilla/Editor.py" line="1353"/>
         <source>Previous change</source>
         <translation>Предыдущее изменение</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>Sort Lines</source>
         <translation>Сортировать строки</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>The selection contains illegal data for a numerical sort.</source>
         <translation>Выборка содержит данные неподходящие для сортировки как числа.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>Warning</source>
         <translation>Предупреждение</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>No warning messages available.</source>
         <translation>Нет предупреждающего сообщения.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6602"/>
+        <location filename="../QScintilla/Editor.py" line="6603"/>
         <source>Style: {0}</source>
         <translation>Стиль: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="889"/>
+        <location filename="../QScintilla/Editor.py" line="890"/>
         <source>New Document View</source>
         <translation>Новое окно для документа</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="892"/>
+        <location filename="../QScintilla/Editor.py" line="893"/>
         <source>New Document View (with new split)</source>
         <translation>Новое окно для документа (в новом разделе)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="979"/>
+        <location filename="../QScintilla/Editor.py" line="980"/>
         <source>Tools</source>
         <translation>Инструменты</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1110"/>
+        <location filename="../QScintilla/Editor.py" line="1111"/>
         <source>Re-Open With Encoding</source>
         <translation>Открыть заново с кодировкой</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6990"/>
+        <location filename="../QScintilla/Editor.py" line="6991"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric6. Reread it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Файл &lt;b&gt;{0}&lt;/b&gt; был изменён, будучи открытым в eric6. Перепрочесть?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="865"/>
+        <location filename="../QScintilla/Editor.py" line="866"/>
         <source>Automatic Completion enabled</source>
         <translation>Автоматическое дополнение</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="945"/>
+        <location filename="../QScintilla/Editor.py" line="946"/>
         <source>Complete</source>
         <translation>Дополнить</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>Auto-Completion Provider</source>
         <translation>Источник автодополнений</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>The completion list provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation>Список дополнений источника &apos;{0}&apos; уже зарегистрирован. Повторный запрос проигнорирован.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>Call-Tips Provider</source>
         <translation>Источник всплывающих подсказок</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>The call-tips provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation>Источник всплывающих подсказок &apos;{0}&apos; уже зарегистрирован. Повторный запрос проигнорирован.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>Register Mouse Click Handler</source>
         <translation>Регистрация обработчика кликов мышки</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>A mouse click handler for &quot;{0}&quot; was already registered by &quot;{1}&quot;. Aborting request by &quot;{2}&quot;...</source>
         <translation>Обработчик кликов мышки для &quot;{0}&quot; уже зарегистрирован &quot;{1}&quot;. Запрос прерван &quot;{2}&quot;...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="909"/>
+        <location filename="../QScintilla/Editor.py" line="910"/>
         <source>Save Copy...</source>
         <translation>Сохранить копию...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="948"/>
+        <location filename="../QScintilla/Editor.py" line="949"/>
         <source>Clear Completions Cache</source>
         <translation>Очистить кэш дополнений</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="875"/>
+        <location filename="../QScintilla/Editor.py" line="876"/>
         <source>Code Info</source>
         <translation>Инфо для кода</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1356"/>
+        <location filename="../QScintilla/Editor.py" line="1357"/>
         <source>Clear changes</source>
         <translation>Очистить изменения</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="798"/>
+        <location filename="../QScintilla/Editor.py" line="799"/>
         <source>Execute Selection In Console</source>
         <translation>Выполнить выбор в консоли</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>EditorConfig Properties</source>
         <translation>Свойства EditorConfig</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Не удается загрузить свойства EditorConfig для файла &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1260"/>
+        <location filename="../QScintilla/Editor.py" line="1261"/>
         <source>Toggle all folds</source>
         <translation>Свернуть/Развернуть все свертки</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1265"/>
+        <location filename="../QScintilla/Editor.py" line="1266"/>
         <source>Toggle all folds (including children)</source>
         <translation>Свернуть/Развернуть все свёртки (включая дочерние)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1270"/>
+        <location filename="../QScintilla/Editor.py" line="1271"/>
         <source>Toggle current fold</source>
         <translation>Свернуть/Развернуть текущую свертку</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1276"/>
+        <location filename="../QScintilla/Editor.py" line="1277"/>
         <source>Expand (including children)</source>
         <translation>Развернуть (включая дочерние)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1281"/>
+        <location filename="../QScintilla/Editor.py" line="1282"/>
         <source>Collapse (including children)</source>
         <translation>Свернуть (включая дочерние)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1287"/>
+        <location filename="../QScintilla/Editor.py" line="1288"/>
         <source>Clear all folds</source>
         <translation>Очистить все свертки</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1168"/>
+        <location filename="../QScintilla/Editor.py" line="1169"/>
         <source>Spell Check Languages</source>
         <translation>Языки проверки правописания</translation>
     </message>
@@ -16975,57 +16975,165 @@
     </message>
 </context>
 <context>
+    <name>EspBackupRestoreFirmwareDialog</name>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="14"/>
+        <source>Dialog</source>
+        <translation type="obsolete">Диалог</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="22"/>
+        <source>ESP Chip Type:</source>
+        <translation type="unfinished">Тип ESP-чипа:</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="29"/>
+        <source>Select the ESP chip type</source>
+        <translation type="unfinished">Выберите тип ESP-чипа</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="52"/>
+        <source>Firmware Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="59"/>
+        <source>Select the firmware size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="69"/>
+        <source>Flashmode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="76"/>
+        <source>Select the flash mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="83"/>
+        <source>Firmware:</source>
+        <translation type="unfinished">Прошивка:</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="93"/>
+        <source>Enter the path of the firmware file</source>
+        <translation type="unfinished">Введите путь к файлу прошивки</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="66"/>
+        <source>Firmware Files (*.img);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="72"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="76"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>EspDevice</name>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="77"/>
+        <location filename="../MicroPython/EspDevices.py" line="67"/>
         <source>ESP8266, ESP32</source>
         <translation>ESP8266, ESP32</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="170"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>Erase Flash</source>
         <translation>Очистить Flash-память</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="203"/>
+        <location filename="../MicroPython/EspDevices.py" line="210"/>
         <source>Flash MicroPython Firmware</source>
         <translation>Прошивка Flash MicroPython</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="227"/>
+        <location filename="../MicroPython/EspDevices.py" line="234"/>
         <source>Flash Additional Firmware</source>
         <translation>Дополнительная прошивка Flash</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="151"/>
-        <source>Install &apos;esptool.py&apos;</source>
-        <translation>Установить &apos;esptool.py&apos;</translation>
-    </message>
-    <message>
         <location filename="../MicroPython/EspDevices.py" line="158"/>
+        <source>Install &apos;esptool.py&apos;</source>
+        <translation>Установить &apos;esptool.py&apos;</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="165"/>
         <source>Shall the flash of the selected device really be erased?</source>
         <translation>Действительно ли flash-память выбранного устройства должна быть очищена?</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="170"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>&apos;esptool erase_flash&apos; Output</source>
         <translation>Вывод команды &apos;esptool erase_flash&apos;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="192"/>
+        <location filename="../MicroPython/EspDevices.py" line="199"/>
         <source>Unsupported chip type &apos;{0}&apos;.</source>
         <translation>Неподдерживаемый тип чипа &apos;{0}&apos;.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="227"/>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
         <source>&apos;esptool write_flash&apos; Output</source>
         <translation>Вывод команды &apos;esptool write_flash&apos;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="149"/>
+        <location filename="../MicroPython/EspDevices.py" line="156"/>
         <source>Reset Device</source>
         <translation>Сбросить устройство</translation>
     </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>Show Chip ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>Show Flash ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>Show MAC Address</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>&apos;esptool read_flash&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>&apos;esptool chip_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>&apos;esptool flash_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>&apos;esptool read_mac&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>EspFirmwareSelectionDialog</name>
@@ -80997,27 +81105,27 @@
         <translation>Список исключений пользователя</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>Edit Spelling Dictionary</source>
         <translation>Редактировать орфографический словарь</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6572"/>
+        <location filename="../ViewManager/ViewManager.py" line="6578"/>
         <source>Editing {0}</source>
         <translation>Редактирование {0}</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6554"/>
+        <location filename="../ViewManager/ViewManager.py" line="6560"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Невозможно прочитать файл словаря&lt;b&gt;{0}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Причина: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6584"/>
+        <location filename="../ViewManager/ViewManager.py" line="6590"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Невозможно записать файл словаря&lt;b&gt;{0}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Причина: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>The spelling dictionary was saved successfully.</source>
         <translation>Файл словаря успешно сохранён.</translation>
     </message>
--- a/eric6/i18n/eric6_tr.ts	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/i18n/eric6_tr.ts	Sat Dec 07 17:47:24 2019 +0100
@@ -11004,927 +11004,927 @@
 <context>
     <name>Editor</name>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>Open File</source>
         <translation>Dosya Aç</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="364"/>
+        <location filename="../QScintilla/Editor.py" line="365"/>
         <source>&lt;p&gt;The size of the file &lt;b&gt;{0}&lt;/b&gt; is &lt;b&gt;{1} KB&lt;/b&gt;. Do you really want to load it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt;dosyasının boyutu &lt;b&gt;{1} KB&lt;/b&gt;. Bu dosyayı yüklemek istiyor musunuz?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="453"/>
+        <location filename="../QScintilla/Editor.py" line="454"/>
         <source>&lt;b&gt;A Source Editor Window&lt;/b&gt;&lt;p&gt;This window is used to display and edit a source file.  You can open as many of these as you like. The name of the file is displayed in the window&apos;s titlebar.&lt;/p&gt;&lt;p&gt;In order to set breakpoints just click in the space between the line numbers and the fold markers. Via the context menu of the margins they may be edited.&lt;/p&gt;&lt;p&gt;In order to set bookmarks just Shift click in the space between the line numbers and the fold markers.&lt;/p&gt;&lt;p&gt;These actions can be reversed via the context menu.&lt;/p&gt;&lt;p&gt;Ctrl clicking on a syntax error marker shows some info about this error.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Kaynak Düzenleme Penceresi&lt;/b&gt;&lt;p&gt;Bu pencere kaynak kod dosyalarını düzenlemek ve göstermek için kullanılır.Bunu pekçok kez kullanmak üzere açabilirsiniz. Dosyanın isim başlıkçubuğunda gösterilir.&lt;/p&gt;&lt;p&gt;Bekleme noktaların kolayca ekleyip düzenleyebilmeniz için satır numaraları ve işaret alanı vardır..İçerik  menüsü aracılığı ile sınırları düzenleyebilirsiniz.&lt;/p&gt;&lt;p&gt;Bekleme noktalarını ayarlamak için Shift ve ara çubuğuna beraber basabilirsiniz.&lt;/p&gt;&lt;p&gt;Bu işlem içerik menüsü ilede yapılabilir.&lt;/p&gt;&lt;p&gt;Bir yazım hatasının üzerinde Ctrl ile tıklarsanız o hata ile ilgili ayrıntılı yardım alırsınız.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="778"/>
+        <location filename="../QScintilla/Editor.py" line="779"/>
         <source>Undo</source>
         <translation>Geri Al</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="781"/>
+        <location filename="../QScintilla/Editor.py" line="782"/>
         <source>Redo</source>
         <translation>İleri al</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="784"/>
+        <location filename="../QScintilla/Editor.py" line="785"/>
         <source>Revert to last saved state</source>
         <translation>En son kaydedileni eski haline getir</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="788"/>
+        <location filename="../QScintilla/Editor.py" line="789"/>
         <source>Cut</source>
         <translation>Kes</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="791"/>
+        <location filename="../QScintilla/Editor.py" line="792"/>
         <source>Copy</source>
         <translation>Kopyala</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="794"/>
+        <location filename="../QScintilla/Editor.py" line="795"/>
         <source>Paste</source>
         <translation>Yapıştır</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="802"/>
+        <location filename="../QScintilla/Editor.py" line="803"/>
         <source>Indent</source>
         <translation>Girinti</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="805"/>
+        <location filename="../QScintilla/Editor.py" line="806"/>
         <source>Unindent</source>
         <translation>Girintisiz</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="808"/>
+        <location filename="../QScintilla/Editor.py" line="809"/>
         <source>Comment</source>
         <translation>Yorumlayıcı</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="811"/>
+        <location filename="../QScintilla/Editor.py" line="812"/>
         <source>Uncomment</source>
         <translation>Yorumlanamaz</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="814"/>
+        <location filename="../QScintilla/Editor.py" line="815"/>
         <source>Stream Comment</source>
         <translation>Yorumlayıcı</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="817"/>
+        <location filename="../QScintilla/Editor.py" line="818"/>
         <source>Box Comment</source>
         <translation>Kutu Yorumlayıcı</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="821"/>
+        <location filename="../QScintilla/Editor.py" line="822"/>
         <source>Select to brace</source>
         <translation>Köşeli ayracı seç</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="823"/>
-        <source>Select all</source>
-        <translation>Hepsini seç</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="824"/>
+        <source>Select all</source>
+        <translation>Hepsini seç</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="825"/>
         <source>Deselect all</source>
         <translation>Tüm seçimi iptal et</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7833"/>
+        <location filename="../QScintilla/Editor.py" line="7834"/>
         <source>Check spelling...</source>
         <translation>Yazım Kontrolü...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="832"/>
+        <location filename="../QScintilla/Editor.py" line="833"/>
         <source>Check spelling of selection...</source>
         <translation>Seçilen alanın yazım kontrolü...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="836"/>
+        <location filename="../QScintilla/Editor.py" line="837"/>
         <source>Remove from dictionary</source>
         <translation>Sözlükten çıkar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="842"/>
+        <location filename="../QScintilla/Editor.py" line="843"/>
         <source>Shorten empty lines</source>
         <translation>Boş satırları kısalt</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="849"/>
+        <location filename="../QScintilla/Editor.py" line="850"/>
         <source>Use Monospaced Font</source>
         <translation>Tek hacimli yazıtipi kullan</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="854"/>
+        <location filename="../QScintilla/Editor.py" line="855"/>
         <source>Autosave enabled</source>
         <translation>Otomatik kayıt kabul edildi</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="858"/>
+        <location filename="../QScintilla/Editor.py" line="859"/>
         <source>Typing aids enabled</source>
         <translation>Yazım yardımı etkinleştirildi</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="897"/>
+        <location filename="../QScintilla/Editor.py" line="898"/>
         <source>Close</source>
         <translation>Kapat</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="903"/>
+        <location filename="../QScintilla/Editor.py" line="904"/>
         <source>Save</source>
         <translation>Kaydet</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="906"/>
+        <location filename="../QScintilla/Editor.py" line="907"/>
         <source>Save As...</source>
         <translation>Farklı Kaydet...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="919"/>
+        <location filename="../QScintilla/Editor.py" line="920"/>
         <source>Print Preview</source>
         <translation>Baskı Öngörünümü</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="922"/>
+        <location filename="../QScintilla/Editor.py" line="923"/>
         <source>Print</source>
         <translation>Yazdır</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="951"/>
+        <location filename="../QScintilla/Editor.py" line="952"/>
         <source>Complete from Document</source>
         <translation type="unfinished">Belgeden</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="953"/>
+        <location filename="../QScintilla/Editor.py" line="954"/>
         <source>Complete from APIs</source>
         <translation type="unfinished">API&apos;den</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="955"/>
+        <location filename="../QScintilla/Editor.py" line="956"/>
         <source>Complete from Document and APIs</source>
         <translation type="unfinished">Belgeden ve API&apos;den</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="873"/>
+        <location filename="../QScintilla/Editor.py" line="874"/>
         <source>Calltip</source>
         <translation>İpucu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="969"/>
+        <location filename="../QScintilla/Editor.py" line="970"/>
         <source>Check</source>
         <translation>Kontrol</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="989"/>
+        <location filename="../QScintilla/Editor.py" line="990"/>
         <source>Show</source>
         <translation>Göster</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="991"/>
-        <source>Code metrics...</source>
-        <translation>Metrik Kod...</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="992"/>
+        <source>Code metrics...</source>
+        <translation>Metrik Kod...</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="993"/>
         <source>Code coverage...</source>
         <translation>Kod koruyucu...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="994"/>
+        <location filename="../QScintilla/Editor.py" line="995"/>
         <source>Show code coverage annotations</source>
         <translation>Kodun dipnotunu göster</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="997"/>
+        <location filename="../QScintilla/Editor.py" line="998"/>
         <source>Hide code coverage annotations</source>
         <translation>Kod koruyucu dipnotunu gizle</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1000"/>
+        <location filename="../QScintilla/Editor.py" line="1001"/>
         <source>Profile data...</source>
         <translation>Veri kesiti...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1013"/>
+        <location filename="../QScintilla/Editor.py" line="1014"/>
         <source>Diagrams</source>
         <translation>Şema</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1015"/>
+        <location filename="../QScintilla/Editor.py" line="1016"/>
         <source>Class Diagram...</source>
         <translation>Sınıf Şeması...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1017"/>
+        <location filename="../QScintilla/Editor.py" line="1018"/>
         <source>Package Diagram...</source>
         <translation>Paket Şeması...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1019"/>
+        <location filename="../QScintilla/Editor.py" line="1020"/>
         <source>Imports Diagram...</source>
         <translation>Şemayı İçe aktar...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1021"/>
+        <location filename="../QScintilla/Editor.py" line="1022"/>
         <source>Application Diagram...</source>
         <translation>Uygulama Şeması...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1039"/>
+        <location filename="../QScintilla/Editor.py" line="1040"/>
         <source>Languages</source>
         <translation>Diller</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1172"/>
+        <location filename="../QScintilla/Editor.py" line="1173"/>
         <source>No Language</source>
         <translation>Dil Yok</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1068"/>
+        <location filename="../QScintilla/Editor.py" line="1069"/>
         <source>Guessed</source>
         <translation>Tahmin edilen</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1408"/>
+        <location filename="../QScintilla/Editor.py" line="1409"/>
         <source>Alternatives</source>
         <translation>Alternatifler</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1088"/>
+        <location filename="../QScintilla/Editor.py" line="1089"/>
         <source>Encodings</source>
         <translation>Kodlama</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1129"/>
+        <location filename="../QScintilla/Editor.py" line="1130"/>
         <source>End-of-Line Type</source>
         <translation>Yazım satırının sonu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1133"/>
+        <location filename="../QScintilla/Editor.py" line="1134"/>
         <source>Unix</source>
         <translation>Unix</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1140"/>
+        <location filename="../QScintilla/Editor.py" line="1141"/>
         <source>Windows</source>
         <translation>Windows</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1147"/>
+        <location filename="../QScintilla/Editor.py" line="1148"/>
         <source>Macintosh</source>
         <translation>Macintosh</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1197"/>
+        <location filename="../QScintilla/Editor.py" line="1198"/>
         <source>Export as</source>
         <translation>Farklı Dışaktar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1219"/>
+        <location filename="../QScintilla/Editor.py" line="1220"/>
         <source>Toggle bookmark</source>
         <translation>Yerimi açkapa</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1221"/>
+        <location filename="../QScintilla/Editor.py" line="1222"/>
         <source>Next bookmark</source>
         <translation>Sonraki yerimi</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1223"/>
+        <location filename="../QScintilla/Editor.py" line="1224"/>
         <source>Previous bookmark</source>
         <translation>Önceki yerimi</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1225"/>
+        <location filename="../QScintilla/Editor.py" line="1226"/>
         <source>Clear all bookmarks</source>
         <translation>Tüm yerimlerini temizle</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1234"/>
+        <location filename="../QScintilla/Editor.py" line="1235"/>
         <source>Toggle breakpoint</source>
         <translation>Beklemenoktası açkapa</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1236"/>
+        <location filename="../QScintilla/Editor.py" line="1237"/>
         <source>Toggle temporary breakpoint</source>
         <translation>Geçici bekleme noktası açkapa</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1239"/>
+        <location filename="../QScintilla/Editor.py" line="1240"/>
         <source>Edit breakpoint...</source>
         <translation>Bekleme noktasını düzenle...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5606"/>
+        <location filename="../QScintilla/Editor.py" line="5607"/>
         <source>Enable breakpoint</source>
         <translation>Beklemenoktasını etkinleştir</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1244"/>
+        <location filename="../QScintilla/Editor.py" line="1245"/>
         <source>Next breakpoint</source>
         <translation>Sonraki Beklemenoktası</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1246"/>
+        <location filename="../QScintilla/Editor.py" line="1247"/>
         <source>Previous breakpoint</source>
         <translation>Önceki bekleme noktası</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1251"/>
+        <location filename="../QScintilla/Editor.py" line="1252"/>
         <source>Clear all breakpoints</source>
         <translation>Tüm beklemenoktalarını temizle</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1299"/>
+        <location filename="../QScintilla/Editor.py" line="1300"/>
         <source>Goto syntax error</source>
         <translation>Sözdizimi hatasına git</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1303"/>
+        <location filename="../QScintilla/Editor.py" line="1304"/>
         <source>Show syntax error message</source>
         <translation>Sözdizimi hata mesajını göster</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1308"/>
+        <location filename="../QScintilla/Editor.py" line="1309"/>
         <source>Clear syntax error</source>
         <translation>Sözdizimi hatalarını sil</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1313"/>
+        <location filename="../QScintilla/Editor.py" line="1314"/>
         <source>Next warning</source>
         <translation>Sonraki Uyarı</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1317"/>
+        <location filename="../QScintilla/Editor.py" line="1318"/>
         <source>Previous warning</source>
         <translation>Önceki Uyarı</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1321"/>
+        <location filename="../QScintilla/Editor.py" line="1322"/>
         <source>Show warning message</source>
         <translation>Uyarı mesajını göster</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1325"/>
+        <location filename="../QScintilla/Editor.py" line="1326"/>
         <source>Clear warnings</source>
         <translation>Uyarıları temizle</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1330"/>
+        <location filename="../QScintilla/Editor.py" line="1331"/>
         <source>Next uncovered line</source>
         <translation>Sonraki kapanmamış satır</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1334"/>
+        <location filename="../QScintilla/Editor.py" line="1335"/>
         <source>Previous uncovered line</source>
         <translation>Önceki kaplanmamış satır</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1339"/>
+        <location filename="../QScintilla/Editor.py" line="1340"/>
         <source>Next task</source>
         <translation>Sonraki görev</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1343"/>
+        <location filename="../QScintilla/Editor.py" line="1344"/>
         <source>Previous task</source>
         <translation>Önceki görev</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>Export source</source>
         <translation>Kaynağı dışaktar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1385"/>
+        <location filename="../QScintilla/Editor.py" line="1386"/>
         <source>&lt;p&gt;No exporter available for the export format &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;dışa katarma tipi &lt;b&gt;{0}&lt;/b&gt;için dışaaktarıcı yok. Vazgeçiliyior...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>No export format given. Aborting...</source>
         <translation>Girilen dışaaktarma formatı yok. İptal edildi...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1404"/>
+        <location filename="../QScintilla/Editor.py" line="1405"/>
         <source>Alternatives ({0})</source>
         <translation>Alternatifler ({0})</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Pygments Lexer</source>
         <translation>Pygments Lexer</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Select the Pygments lexer to apply.</source>
         <translation>Kullanmak için Pygment lexer seç.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>Modification of Read Only file</source>
         <translation>Yalnızca okunabilir dosyada değişiklik</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>You are attempting to change a read only file. Please save to a different file first.</source>
         <translation>Yalnızca okunabilir bir dosyayı değiştirmeşe çalışıyorsunuz. Lütfen önce farklı bir isimde kaydediniz.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2662"/>
+        <location filename="../QScintilla/Editor.py" line="2663"/>
         <source>Printing...</source>
         <translation>Yazılıyor...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2679"/>
+        <location filename="../QScintilla/Editor.py" line="2680"/>
         <source>Printing completed</source>
         <translation>Yazdırma tamalandı</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2681"/>
+        <location filename="../QScintilla/Editor.py" line="2682"/>
         <source>Error while printing</source>
         <translation>Yazdırılırken hata</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2684"/>
+        <location filename="../QScintilla/Editor.py" line="2685"/>
         <source>Printing aborted</source>
         <translation>Yazdırma iptal edildi</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>File Modified</source>
         <translation>Dosya Değiştirildi</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has unsaved changes.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt;dosyasında kaydedilmemiş değişiklikler var.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be opened.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Dosya &lt;b&gt;{0}&lt;/b&gt; açılamıyor.&lt;/p&gt;&lt;p&gt;Sebep: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>Save File</source>
         <translation>Dosyayı Kaydet</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3231"/>
+        <location filename="../QScintilla/Editor.py" line="3232"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be saved.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Dosya &lt;b&gt;{0}&lt;/b&gt; kaydedilemiyor.&lt;/p&gt;&lt;p&gt;Sebep: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion</source>
         <translation>Otomatik tamamlama</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion is not available because there is no autocompletion source set.</source>
         <translation>Otomatiktamamlama uygun değil çünkü bu otomatiktamamlama kaynağı değil.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5609"/>
+        <location filename="../QScintilla/Editor.py" line="5610"/>
         <source>Disable breakpoint</source>
         <translation>Durmanoktasını iptal et</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Code Coverage</source>
         <translation>Kod Koruyucu</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Please select a coverage file</source>
         <translation>Lütfen bir koruyucu dosya seçiniz</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>Show Code Coverage Annotations</source>
         <translation>Kodların Dipnotunu Göster</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6040"/>
+        <location filename="../QScintilla/Editor.py" line="6041"/>
         <source>All lines have been covered.</source>
         <translation>Tüm satırlar korumaya alındı.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>There is no coverage file available.</source>
         <translation>Hazırda koruma dosyası yok.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Profile Data</source>
         <translation>Veri Kesiti</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Please select a profile file</source>
         <translation>Lütfen kesit dosyasını seçiniz</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>Syntax Error</source>
         <translation>Sözdizimi Hatası</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>No syntax error message available.</source>
         <translation>Uygun söz dizimi hata mesajı yok.</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Macro Name</source>
         <translation>Makro Adı</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Select a macro name:</source>
         <translation>Bir makro ismi seç:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6745"/>
+        <location filename="../QScintilla/Editor.py" line="6746"/>
         <source>Load macro file</source>
         <translation>Makro dosyasını yükle</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Macro files (*.macro)</source>
         <translation>Makro dosyaları (*.macro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>Error loading macro</source>
         <translation>Makronun yüklenmesinde hata</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6759"/>
+        <location filename="../QScintilla/Editor.py" line="6760"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Makro dosyası &lt;b&gt;{0}&lt;/b&gt; okunamıyor.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Makro dosyası &lt;b&gt;{0}&lt;/b&gt; bozuk.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Save macro file</source>
         <translation>Makro Dosyasını Kaydet</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>Save macro</source>
         <translation>Makro Kaydet</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>Error saving macro</source>
         <translation>Makronun kaydedilmesinde hata</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Makro dosyası &lt;b&gt;{0}&lt;/b&gt; yazılamıyor.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Start Macro Recording</source>
         <translation>Makro Kaydı Başladı</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Macro recording is already active. Start new?</source>
         <translation>Makro kaydı şuan aktif. Yeniden başlasın mı?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Macro Recording</source>
         <translation>Makro Kaydediliyor</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Enter name of the macro:</source>
         <translation>Makronun ismini gir:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7000"/>
+        <location filename="../QScintilla/Editor.py" line="7001"/>
         <source>File changed</source>
         <translation>Dosya değiştirilmiş</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7165"/>
+        <location filename="../QScintilla/Editor.py" line="7166"/>
         <source>{0} (ro)</source>
         <translation>{0} (ro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>Drop Error</source>
         <translation>Düşme hatası</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; bir dosya değil.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7327"/>
+        <location filename="../QScintilla/Editor.py" line="7328"/>
         <source>Resources</source>
         <translation>Kaynaklar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7329"/>
+        <location filename="../QScintilla/Editor.py" line="7330"/>
         <source>Add file...</source>
         <translation>Dosya ekle...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7331"/>
+        <location filename="../QScintilla/Editor.py" line="7332"/>
         <source>Add files...</source>
         <translation>Dosyaları ekle...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7333"/>
+        <location filename="../QScintilla/Editor.py" line="7334"/>
         <source>Add aliased file...</source>
         <translation>Kısaltmalar dosyasına ekle...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7336"/>
+        <location filename="../QScintilla/Editor.py" line="7337"/>
         <source>Add localized resource...</source>
         <translation>Yaral kaynak ekle...</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7340"/>
+        <location filename="../QScintilla/Editor.py" line="7341"/>
         <source>Add resource frame</source>
         <translation>Çerçeve kaynağı ekle</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7359"/>
+        <location filename="../QScintilla/Editor.py" line="7360"/>
         <source>Add file resource</source>
         <translation>Dosya kaynağını ekle</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7375"/>
+        <location filename="../QScintilla/Editor.py" line="7376"/>
         <source>Add file resources</source>
         <translation>Dosya kaynaklarını ekle</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Add aliased file resource</source>
         <translation>Kısaltmalar dosyası kaynağını ekle</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
         <translation>&lt;b&gt;{0} dosyası için takma ad&lt;/b&gt;:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Package Diagram</source>
         <translation>Paket Şeması</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Include class attributes?</source>
         <translation>Sınıf nitelikleri dahil edilsin mi?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Imports Diagram</source>
         <translation>Şemayı İçe Aktar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Include imports from external modules?</source>
         <translation>Harici modüllerdan içe aktarım dahil edilsin mi?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Application Diagram</source>
         <translation>Uygulama Şeması</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Include module names?</source>
         <translation>Modül isimleri dahil edilsin mi?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7836"/>
+        <location filename="../QScintilla/Editor.py" line="7837"/>
         <source>Add to dictionary</source>
         <translation>Sözlüğe ekle</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7838"/>
+        <location filename="../QScintilla/Editor.py" line="7839"/>
         <source>Ignore All</source>
         <translation>Hepsini Yoksay</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; dosyası halen mevcut. Üzerine yazılsın mı?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6605"/>
+        <location filename="../QScintilla/Editor.py" line="6606"/>
         <source>Warning: {0}</source>
         <translation>Dikkat: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6612"/>
+        <location filename="../QScintilla/Editor.py" line="6613"/>
         <source>Error: {0}</source>
         <translation>Hata: {0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;Makro dosyası &lt;b&gt;{0}&lt;/b&gt; zaten var. Üzerine yazılsın mı?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6996"/>
+        <location filename="../QScintilla/Editor.py" line="6997"/>
         <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="915"/>
+        <location filename="../QScintilla/Editor.py" line="916"/>
         <source>Open &apos;rejection&apos; file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1025"/>
+        <location filename="../QScintilla/Editor.py" line="1026"/>
         <source>Load Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1348"/>
+        <location filename="../QScintilla/Editor.py" line="1349"/>
         <source>Next change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1352"/>
+        <location filename="../QScintilla/Editor.py" line="1353"/>
         <source>Previous change</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>Sort Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>The selection contains illegal data for a numerical sort.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>Warning</source>
         <translation type="unfinished">Dikkat</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>No warning messages available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6602"/>
+        <location filename="../QScintilla/Editor.py" line="6603"/>
         <source>Style: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="889"/>
+        <location filename="../QScintilla/Editor.py" line="890"/>
         <source>New Document View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="892"/>
+        <location filename="../QScintilla/Editor.py" line="893"/>
         <source>New Document View (with new split)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="979"/>
+        <location filename="../QScintilla/Editor.py" line="980"/>
         <source>Tools</source>
         <translation type="unfinished">Araçlar</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1110"/>
+        <location filename="../QScintilla/Editor.py" line="1111"/>
         <source>Re-Open With Encoding</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6990"/>
+        <location filename="../QScintilla/Editor.py" line="6991"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric6. Reread it?&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;Eric5 ile açıldıktan sonra &lt;b&gt;{0}&lt;/b&gt; dosyasında değişiklik olmuş. Yeniden açılsın mı?&lt;/p&gt; {0}?} {6.?}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="865"/>
+        <location filename="../QScintilla/Editor.py" line="866"/>
         <source>Automatic Completion enabled</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="945"/>
+        <location filename="../QScintilla/Editor.py" line="946"/>
         <source>Complete</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>Auto-Completion Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>The completion list provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>Call-Tips Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>The call-tips provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>Register Mouse Click Handler</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>A mouse click handler for &quot;{0}&quot; was already registered by &quot;{1}&quot;. Aborting request by &quot;{2}&quot;...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="909"/>
+        <location filename="../QScintilla/Editor.py" line="910"/>
         <source>Save Copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="948"/>
+        <location filename="../QScintilla/Editor.py" line="949"/>
         <source>Clear Completions Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="875"/>
+        <location filename="../QScintilla/Editor.py" line="876"/>
         <source>Code Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1356"/>
+        <location filename="../QScintilla/Editor.py" line="1357"/>
         <source>Clear changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="798"/>
+        <location filename="../QScintilla/Editor.py" line="799"/>
         <source>Execute Selection In Console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>EditorConfig Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1260"/>
+        <location filename="../QScintilla/Editor.py" line="1261"/>
         <source>Toggle all folds</source>
         <translation type="unfinished">Tüm Açkapaları Kapat</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1265"/>
+        <location filename="../QScintilla/Editor.py" line="1266"/>
         <source>Toggle all folds (including children)</source>
         <translation type="unfinished">Tüm açkapalar (iç içe olanlar dahil)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1270"/>
+        <location filename="../QScintilla/Editor.py" line="1271"/>
         <source>Toggle current fold</source>
         <translation type="unfinished">Geçerli açkapayı kapat</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1276"/>
+        <location filename="../QScintilla/Editor.py" line="1277"/>
         <source>Expand (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1281"/>
+        <location filename="../QScintilla/Editor.py" line="1282"/>
         <source>Collapse (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1287"/>
+        <location filename="../QScintilla/Editor.py" line="1288"/>
         <source>Clear all folds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1168"/>
+        <location filename="../QScintilla/Editor.py" line="1169"/>
         <source>Spell Check Languages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -17228,6 +17228,69 @@
     </message>
 </context>
 <context>
+    <name>EspBackupRestoreFirmwareDialog</name>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="14"/>
+        <source>Dialog</source>
+        <translation type="obsolete">Diyalog</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="22"/>
+        <source>ESP Chip Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="29"/>
+        <source>Select the ESP chip type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="52"/>
+        <source>Firmware Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="59"/>
+        <source>Select the firmware size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="69"/>
+        <source>Flashmode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="76"/>
+        <source>Select the flash mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="83"/>
+        <source>Firmware:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="93"/>
+        <source>Enter the path of the firmware file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="66"/>
+        <source>Firmware Files (*.img);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="72"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="76"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>EspDevice</name>
     <message>
         <location filename="../MicroPython/EspDevices.py" line="67"/>
@@ -17235,50 +17298,95 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>Erase Flash</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="193"/>
+        <location filename="../MicroPython/EspDevices.py" line="210"/>
         <source>Flash MicroPython Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="234"/>
         <source>Flash Additional Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="141"/>
+        <location filename="../MicroPython/EspDevices.py" line="158"/>
         <source>Install &apos;esptool.py&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="148"/>
+        <location filename="../MicroPython/EspDevices.py" line="165"/>
         <source>Shall the flash of the selected device really be erased?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>&apos;esptool erase_flash&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="182"/>
+        <location filename="../MicroPython/EspDevices.py" line="199"/>
         <source>Unsupported chip type &apos;{0}&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
         <source>&apos;esptool write_flash&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="139"/>
+        <location filename="../MicroPython/EspDevices.py" line="156"/>
         <source>Reset Device</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>Show Chip ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>Show Flash ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>Show MAC Address</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>&apos;esptool read_flash&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>&apos;esptool chip_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>&apos;esptool flash_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>&apos;esptool read_mac&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>EspFirmwareSelectionDialog</name>
@@ -72706,6 +72814,16 @@
         <source>JavaScript batch check</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="256"/>
+        <source>YAML batch check</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="272"/>
+        <source>JSON batch check</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>SyntaxCheckerDialog</name>
@@ -72815,22 +72933,22 @@
 <context>
     <name>SyntaxCheckerPlugin</name>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>Check Syntax</source>
         <translation>Sözdizimi Kontrolü</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>&amp;Syntax...</source>
         <translation>&amp;Sözdizimi...</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="156"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="176"/>
         <source>Check syntax.</source>
         <translation>Sözdizimini kontrol et.</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="251"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="271"/>
         <source>&lt;b&gt;Check Syntax...&lt;/b&gt;&lt;p&gt;This checks Python files for syntax errors.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Sözdizimini Kontrol Et...&lt;/b&gt;&lt;p&gt;Bu kontrol Python dosyalarını sözdizimi hatalarına karşı yapılır.&lt;/p&gt;</translation>
     </message>
@@ -83214,27 +83332,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>Edit Spelling Dictionary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6572"/>
+        <location filename="../ViewManager/ViewManager.py" line="6578"/>
         <source>Editing {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6554"/>
+        <location filename="../ViewManager/ViewManager.py" line="6560"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6584"/>
+        <location filename="../ViewManager/ViewManager.py" line="6590"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>The spelling dictionary was saved successfully.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_zh_CN.ts	Thu Dec 05 19:44:27 2019 +0100
+++ b/eric6/i18n/eric6_zh_CN.ts	Sat Dec 07 17:47:24 2019 +0100
@@ -10944,927 +10944,927 @@
 <context>
     <name>Editor</name>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>Open File</source>
         <translation>打开文件</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="453"/>
+        <location filename="../QScintilla/Editor.py" line="454"/>
         <source>&lt;b&gt;A Source Editor Window&lt;/b&gt;&lt;p&gt;This window is used to display and edit a source file.  You can open as many of these as you like. The name of the file is displayed in the window&apos;s titlebar.&lt;/p&gt;&lt;p&gt;In order to set breakpoints just click in the space between the line numbers and the fold markers. Via the context menu of the margins they may be edited.&lt;/p&gt;&lt;p&gt;In order to set bookmarks just Shift click in the space between the line numbers and the fold markers.&lt;/p&gt;&lt;p&gt;These actions can be reversed via the context menu.&lt;/p&gt;&lt;p&gt;Ctrl clicking on a syntax error marker shows some info about this error.&lt;/p&gt;</source>
         <translation>&lt;b&gt;源代码编辑器窗口&lt;/b&gt;&lt;p&gt;该窗口用于显示和编辑源文件。可以打开任意多个窗口。文件名显示在窗口标题栏中。&lt;/p&gt;&lt;p&gt;要设置断点只需在行号与折叠标记之间的空白处点击即可。通过页边空白的上下文菜单可进行编辑。&lt;/p&gt;&lt;p&gt;要设置书签只需按住 Shift 键再在行号与折叠标记之间的空白处点击即可。&lt;/p&gt;&lt;p&gt;以上行为都可能通过上下文菜单进行反转。&lt;/p&gt;&lt;p&gt;按住 Ctrl 再语法错误标记上点击可显示该错误的部分信息。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="778"/>
+        <location filename="../QScintilla/Editor.py" line="779"/>
         <source>Undo</source>
         <translation>撤消</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="781"/>
+        <location filename="../QScintilla/Editor.py" line="782"/>
         <source>Redo</source>
         <translation>重做</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="784"/>
+        <location filename="../QScintilla/Editor.py" line="785"/>
         <source>Revert to last saved state</source>
         <translation>还原到最后保存的状态</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="788"/>
+        <location filename="../QScintilla/Editor.py" line="789"/>
         <source>Cut</source>
         <translation>剪切</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="791"/>
+        <location filename="../QScintilla/Editor.py" line="792"/>
         <source>Copy</source>
         <translation>复制</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="794"/>
+        <location filename="../QScintilla/Editor.py" line="795"/>
         <source>Paste</source>
         <translation>粘贴</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="802"/>
+        <location filename="../QScintilla/Editor.py" line="803"/>
         <source>Indent</source>
         <translation>缩进</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="805"/>
+        <location filename="../QScintilla/Editor.py" line="806"/>
         <source>Unindent</source>
         <translation>取消缩进</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="808"/>
+        <location filename="../QScintilla/Editor.py" line="809"/>
         <source>Comment</source>
         <translation>注释</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="811"/>
+        <location filename="../QScintilla/Editor.py" line="812"/>
         <source>Uncomment</source>
         <translation>取消注释</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="814"/>
+        <location filename="../QScintilla/Editor.py" line="815"/>
         <source>Stream Comment</source>
         <translation>流注释</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="817"/>
+        <location filename="../QScintilla/Editor.py" line="818"/>
         <source>Box Comment</source>
         <translation>块注释</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="821"/>
+        <location filename="../QScintilla/Editor.py" line="822"/>
         <source>Select to brace</source>
         <translation>选择括号内容</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="823"/>
-        <source>Select all</source>
-        <translation>全选</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="824"/>
+        <source>Select all</source>
+        <translation>全选</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="825"/>
         <source>Deselect all</source>
         <translation>全部取消选择</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7833"/>
+        <location filename="../QScintilla/Editor.py" line="7834"/>
         <source>Check spelling...</source>
         <translation>正在进行拼写检查…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="832"/>
+        <location filename="../QScintilla/Editor.py" line="833"/>
         <source>Check spelling of selection...</source>
         <translation>正在对所选内容进行拼写检查…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="842"/>
+        <location filename="../QScintilla/Editor.py" line="843"/>
         <source>Shorten empty lines</source>
         <translation>缩减空行</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="849"/>
+        <location filename="../QScintilla/Editor.py" line="850"/>
         <source>Use Monospaced Font</source>
         <translation>使用单空格字体</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="854"/>
+        <location filename="../QScintilla/Editor.py" line="855"/>
         <source>Autosave enabled</source>
         <translation>允许自动保存</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="858"/>
+        <location filename="../QScintilla/Editor.py" line="859"/>
         <source>Typing aids enabled</source>
         <translation>允许输入辅助</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="897"/>
+        <location filename="../QScintilla/Editor.py" line="898"/>
         <source>Close</source>
         <translation>关闭</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="903"/>
+        <location filename="../QScintilla/Editor.py" line="904"/>
         <source>Save</source>
         <translation>保存</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="906"/>
+        <location filename="../QScintilla/Editor.py" line="907"/>
         <source>Save As...</source>
         <translation>另存为…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="919"/>
+        <location filename="../QScintilla/Editor.py" line="920"/>
         <source>Print Preview</source>
         <translation>打印预览</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="922"/>
+        <location filename="../QScintilla/Editor.py" line="923"/>
         <source>Print</source>
         <translation>打印</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="951"/>
+        <location filename="../QScintilla/Editor.py" line="952"/>
         <source>Complete from Document</source>
         <translation type="unfinished">从文档</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="953"/>
+        <location filename="../QScintilla/Editor.py" line="954"/>
         <source>Complete from APIs</source>
         <translation type="unfinished">从 APIs</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="955"/>
+        <location filename="../QScintilla/Editor.py" line="956"/>
         <source>Complete from Document and APIs</source>
         <translation type="unfinished">从文档和 APIs</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="873"/>
+        <location filename="../QScintilla/Editor.py" line="874"/>
         <source>Calltip</source>
         <translation>调用提示</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="969"/>
+        <location filename="../QScintilla/Editor.py" line="970"/>
         <source>Check</source>
         <translation>检查</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="989"/>
+        <location filename="../QScintilla/Editor.py" line="990"/>
         <source>Show</source>
         <translation>显示</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="991"/>
-        <source>Code metrics...</source>
-        <translation>代码度量…</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Editor.py" line="992"/>
+        <source>Code metrics...</source>
+        <translation>代码度量…</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="993"/>
         <source>Code coverage...</source>
         <translation>代码覆盖率…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="994"/>
+        <location filename="../QScintilla/Editor.py" line="995"/>
         <source>Show code coverage annotations</source>
         <translation>显示代码覆盖率注解</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="997"/>
+        <location filename="../QScintilla/Editor.py" line="998"/>
         <source>Hide code coverage annotations</source>
         <translation>隐藏代码覆盖率注解</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1000"/>
+        <location filename="../QScintilla/Editor.py" line="1001"/>
         <source>Profile data...</source>
         <translation>剖析数据…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1013"/>
+        <location filename="../QScintilla/Editor.py" line="1014"/>
         <source>Diagrams</source>
         <translation>图表</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1015"/>
+        <location filename="../QScintilla/Editor.py" line="1016"/>
         <source>Class Diagram...</source>
         <translation>类图…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1017"/>
+        <location filename="../QScintilla/Editor.py" line="1018"/>
         <source>Package Diagram...</source>
         <translation>程序包图…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1019"/>
+        <location filename="../QScintilla/Editor.py" line="1020"/>
         <source>Imports Diagram...</source>
         <translation>引用图…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1021"/>
+        <location filename="../QScintilla/Editor.py" line="1022"/>
         <source>Application Diagram...</source>
         <translation>应用程序图…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1039"/>
+        <location filename="../QScintilla/Editor.py" line="1040"/>
         <source>Languages</source>
         <translation>语言</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1172"/>
+        <location filename="../QScintilla/Editor.py" line="1173"/>
         <source>No Language</source>
         <translation>无语言</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1068"/>
+        <location filename="../QScintilla/Editor.py" line="1069"/>
         <source>Guessed</source>
         <translation>猜测</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1408"/>
+        <location filename="../QScintilla/Editor.py" line="1409"/>
         <source>Alternatives</source>
         <translation>备选</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1088"/>
+        <location filename="../QScintilla/Editor.py" line="1089"/>
         <source>Encodings</source>
         <translation>编码</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1129"/>
+        <location filename="../QScintilla/Editor.py" line="1130"/>
         <source>End-of-Line Type</source>
         <translation>行尾类型</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1133"/>
+        <location filename="../QScintilla/Editor.py" line="1134"/>
         <source>Unix</source>
         <translation>Unix</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1140"/>
+        <location filename="../QScintilla/Editor.py" line="1141"/>
         <source>Windows</source>
         <translation>Windows</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1147"/>
+        <location filename="../QScintilla/Editor.py" line="1148"/>
         <source>Macintosh</source>
         <translation>Macintosh</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1197"/>
+        <location filename="../QScintilla/Editor.py" line="1198"/>
         <source>Export as</source>
         <translation>导出为</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1219"/>
+        <location filename="../QScintilla/Editor.py" line="1220"/>
         <source>Toggle bookmark</source>
         <translation>切换书签</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1221"/>
+        <location filename="../QScintilla/Editor.py" line="1222"/>
         <source>Next bookmark</source>
         <translation>下一个书签</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1223"/>
+        <location filename="../QScintilla/Editor.py" line="1224"/>
         <source>Previous bookmark</source>
         <translation>上一个书签</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1225"/>
+        <location filename="../QScintilla/Editor.py" line="1226"/>
         <source>Clear all bookmarks</source>
         <translation>清除所有书签</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1234"/>
+        <location filename="../QScintilla/Editor.py" line="1235"/>
         <source>Toggle breakpoint</source>
         <translation>切换断点</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1236"/>
+        <location filename="../QScintilla/Editor.py" line="1237"/>
         <source>Toggle temporary breakpoint</source>
         <translation>切换临时断点</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1239"/>
+        <location filename="../QScintilla/Editor.py" line="1240"/>
         <source>Edit breakpoint...</source>
         <translation>编辑断点…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5606"/>
+        <location filename="../QScintilla/Editor.py" line="5607"/>
         <source>Enable breakpoint</source>
         <translation>允许断点</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1244"/>
+        <location filename="../QScintilla/Editor.py" line="1245"/>
         <source>Next breakpoint</source>
         <translation>下一个断点</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1246"/>
+        <location filename="../QScintilla/Editor.py" line="1247"/>
         <source>Previous breakpoint</source>
         <translation>上一个断点</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1251"/>
+        <location filename="../QScintilla/Editor.py" line="1252"/>
         <source>Clear all breakpoints</source>
         <translation>清除所有断点</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1299"/>
+        <location filename="../QScintilla/Editor.py" line="1300"/>
         <source>Goto syntax error</source>
         <translation>转到语法错误处</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1303"/>
+        <location filename="../QScintilla/Editor.py" line="1304"/>
         <source>Show syntax error message</source>
         <translation>显示语法错误消息</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1308"/>
+        <location filename="../QScintilla/Editor.py" line="1309"/>
         <source>Clear syntax error</source>
         <translation>清除语法错误</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1330"/>
+        <location filename="../QScintilla/Editor.py" line="1331"/>
         <source>Next uncovered line</source>
         <translation>下一个未覆盖行</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1334"/>
+        <location filename="../QScintilla/Editor.py" line="1335"/>
         <source>Previous uncovered line</source>
         <translation>上一个未覆盖行</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1339"/>
+        <location filename="../QScintilla/Editor.py" line="1340"/>
         <source>Next task</source>
         <translation>下一个任务</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1343"/>
+        <location filename="../QScintilla/Editor.py" line="1344"/>
         <source>Previous task</source>
         <translation>上一个任务</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>Export source</source>
         <translation>导出源代码</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1393"/>
+        <location filename="../QScintilla/Editor.py" line="1394"/>
         <source>No export format given. Aborting...</source>
         <translation>没有给定导出格式。终止…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Pygments Lexer</source>
         <translation>Pygments 词法分析器</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1424"/>
+        <location filename="../QScintilla/Editor.py" line="1425"/>
         <source>Select the Pygments lexer to apply.</source>
         <translation>选择要应用的 Pygments 词法分析器。</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>Modification of Read Only file</source>
         <translation>只读文件的改变</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1954"/>
+        <location filename="../QScintilla/Editor.py" line="1955"/>
         <source>You are attempting to change a read only file. Please save to a different file first.</source>
         <translation>试图改变只读文件。请先保存到另一个文件中。</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2662"/>
+        <location filename="../QScintilla/Editor.py" line="2663"/>
         <source>Printing...</source>
         <translation>打印中…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2679"/>
+        <location filename="../QScintilla/Editor.py" line="2680"/>
         <source>Printing completed</source>
         <translation>打印已完成</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2681"/>
+        <location filename="../QScintilla/Editor.py" line="2682"/>
         <source>Error while printing</source>
         <translation>打印时出错</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2684"/>
+        <location filename="../QScintilla/Editor.py" line="2685"/>
         <source>Printing aborted</source>
         <translation>打印失败</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>File Modified</source>
         <translation>文件已改变</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>Save File</source>
         <translation>保存文件</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion</source>
         <translation>自动完成</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4771"/>
+        <location filename="../QScintilla/Editor.py" line="4772"/>
         <source>Autocompletion is not available because there is no autocompletion source set.</source>
         <translation>自动完成无效,没有设定自动完成源。</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5609"/>
+        <location filename="../QScintilla/Editor.py" line="5610"/>
         <source>Disable breakpoint</source>
         <translation>去除断点</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Code Coverage</source>
         <translation>代码覆盖率</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5984"/>
+        <location filename="../QScintilla/Editor.py" line="5985"/>
         <source>Please select a coverage file</source>
         <translation>请选择一个覆盖率文件</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>Show Code Coverage Annotations</source>
         <translation>显示代码覆盖率注解</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6040"/>
+        <location filename="../QScintilla/Editor.py" line="6041"/>
         <source>All lines have been covered.</source>
         <translation>所有行均被已覆盖。</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6047"/>
+        <location filename="../QScintilla/Editor.py" line="6048"/>
         <source>There is no coverage file available.</source>
         <translation>没有有效的覆盖率文件。</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Profile Data</source>
         <translation>剖析数据</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6164"/>
+        <location filename="../QScintilla/Editor.py" line="6165"/>
         <source>Please select a profile file</source>
         <translation>请选择一个剖析文件</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>Syntax Error</source>
         <translation>语法错误</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6326"/>
+        <location filename="../QScintilla/Editor.py" line="6327"/>
         <source>No syntax error message available.</source>
         <translation>语法错误消息无效。</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Macro Name</source>
         <translation>宏名称</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6717"/>
+        <location filename="../QScintilla/Editor.py" line="6718"/>
         <source>Select a macro name:</source>
         <translation>选择一个宏名称:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6745"/>
+        <location filename="../QScintilla/Editor.py" line="6746"/>
         <source>Load macro file</source>
         <translation>输入宏文件</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Macro files (*.macro)</source>
         <translation>宏文件 (*.macro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>Error loading macro</source>
         <translation>载入宏文件出错</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6788"/>
+        <location filename="../QScintilla/Editor.py" line="6789"/>
         <source>Save macro file</source>
         <translation>保存宏文件</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>Save macro</source>
         <translation>保存宏</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>Error saving macro</source>
         <translation>保存宏出错</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Start Macro Recording</source>
         <translation>开始宏录制</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6834"/>
+        <location filename="../QScintilla/Editor.py" line="6835"/>
         <source>Macro recording is already active. Start new?</source>
         <translation>宏录制已激活。开始录制新宏?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Macro Recording</source>
         <translation>宏录制</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6860"/>
+        <location filename="../QScintilla/Editor.py" line="6861"/>
         <source>Enter name of the macro:</source>
         <translation>输入宏名称:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7000"/>
+        <location filename="../QScintilla/Editor.py" line="7001"/>
         <source>File changed</source>
         <translation>文件已改变</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>Drop Error</source>
         <translation>降落误差</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7327"/>
+        <location filename="../QScintilla/Editor.py" line="7328"/>
         <source>Resources</source>
         <translation>资源</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7329"/>
+        <location filename="../QScintilla/Editor.py" line="7330"/>
         <source>Add file...</source>
         <translation>添加文件…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7331"/>
+        <location filename="../QScintilla/Editor.py" line="7332"/>
         <source>Add files...</source>
         <translation>添加文件…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7333"/>
+        <location filename="../QScintilla/Editor.py" line="7334"/>
         <source>Add aliased file...</source>
         <translation>添加别名文件…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7336"/>
+        <location filename="../QScintilla/Editor.py" line="7337"/>
         <source>Add localized resource...</source>
         <translation>添加本地资源…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7340"/>
+        <location filename="../QScintilla/Editor.py" line="7341"/>
         <source>Add resource frame</source>
         <translation>添加资源结构</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7359"/>
+        <location filename="../QScintilla/Editor.py" line="7360"/>
         <source>Add file resource</source>
         <translation>添加文件资源</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7375"/>
+        <location filename="../QScintilla/Editor.py" line="7376"/>
         <source>Add file resources</source>
         <translation>添加多个文件资源</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Add aliased file resource</source>
         <translation>添加别名文件资源</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Package Diagram</source>
         <translation>程序包图</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7468"/>
+        <location filename="../QScintilla/Editor.py" line="7469"/>
         <source>Include class attributes?</source>
         <translation>包含类属性?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Imports Diagram</source>
         <translation>引用图</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7490"/>
+        <location filename="../QScintilla/Editor.py" line="7491"/>
         <source>Include imports from external modules?</source>
         <translation>从外部模块包含引用?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Application Diagram</source>
         <translation>应用程序图</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7504"/>
+        <location filename="../QScintilla/Editor.py" line="7505"/>
         <source>Include module names?</source>
         <translation>包含模块名?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7836"/>
+        <location filename="../QScintilla/Editor.py" line="7837"/>
         <source>Add to dictionary</source>
         <translation>添加到文件夹</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7838"/>
+        <location filename="../QScintilla/Editor.py" line="7839"/>
         <source>Ignore All</source>
         <translation>全部忽略</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="836"/>
+        <location filename="../QScintilla/Editor.py" line="837"/>
         <source>Remove from dictionary</source>
         <translation>从词典里移除</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="364"/>
+        <location filename="../QScintilla/Editor.py" line="365"/>
         <source>&lt;p&gt;The size of the file &lt;b&gt;{0}&lt;/b&gt; is &lt;b&gt;{1} KB&lt;/b&gt;. Do you really want to load it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;文件 &lt;b&gt;{0}&lt;/b&gt; 的大小为 &lt;b&gt;{1} KB&lt;/b&gt;。确认要读取它?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1385"/>
+        <location filename="../QScintilla/Editor.py" line="1386"/>
         <source>&lt;p&gt;No exporter available for the export format &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1404"/>
+        <location filename="../QScintilla/Editor.py" line="1405"/>
         <source>Alternatives ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3045"/>
+        <location filename="../QScintilla/Editor.py" line="3046"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has unsaved changes.&lt;/p&gt;</source>
         <translation>&lt;p&gt;文件 &lt;b&gt;{0}&lt;/b&gt; 有未保存的更改。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3105"/>
+        <location filename="../QScintilla/Editor.py" line="3106"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be opened.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;文件 &lt;b&gt;{0}&lt;/b&gt; 无法打开。&lt;/p&gt;&lt;p&gt;原因:{1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3231"/>
+        <location filename="../QScintilla/Editor.py" line="3232"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be saved.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;文件 &lt;b&gt;{0}&lt;/b&gt; 无法保存。&lt;br /&gt;原因:{1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6759"/>
+        <location filename="../QScintilla/Editor.py" line="6760"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6768"/>
+        <location filename="../QScintilla/Editor.py" line="6769"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6821"/>
+        <location filename="../QScintilla/Editor.py" line="6822"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7165"/>
+        <location filename="../QScintilla/Editor.py" line="7166"/>
         <source>{0} (ro)</source>
         <translation>{0}(只读)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7306"/>
+        <location filename="../QScintilla/Editor.py" line="7307"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; 不是一个文件。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7402"/>
+        <location filename="../QScintilla/Editor.py" line="7403"/>
         <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1313"/>
+        <location filename="../QScintilla/Editor.py" line="1314"/>
         <source>Next warning</source>
         <translation>下一个警告</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1317"/>
+        <location filename="../QScintilla/Editor.py" line="1318"/>
         <source>Previous warning</source>
         <translation>上一个警告</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1321"/>
+        <location filename="../QScintilla/Editor.py" line="1322"/>
         <source>Show warning message</source>
         <translation>显示警告信息</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1325"/>
+        <location filename="../QScintilla/Editor.py" line="1326"/>
         <source>Clear warnings</source>
         <translation>清空警告</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3294"/>
+        <location filename="../QScintilla/Editor.py" line="3295"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;文件 &lt;b&gt;{0}&lt;/b&gt; 已经存在。是否覆盖?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6805"/>
+        <location filename="../QScintilla/Editor.py" line="6806"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;宏文件 &lt;b&gt;{0}&lt;/b&gt; 已经存在。是否覆盖?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6605"/>
+        <location filename="../QScintilla/Editor.py" line="6606"/>
         <source>Warning: {0}</source>
         <translation>警告:{0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6612"/>
+        <location filename="../QScintilla/Editor.py" line="6613"/>
         <source>Error: {0}</source>
         <translation>错误:{0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6996"/>
+        <location filename="../QScintilla/Editor.py" line="6997"/>
         <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
         <translation>&lt;br&gt;&lt;b&gt;警告:&lt;/b&gt;您在重新打开时将丢失所有更改。</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="915"/>
+        <location filename="../QScintilla/Editor.py" line="916"/>
         <source>Open &apos;rejection&apos; file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1025"/>
+        <location filename="../QScintilla/Editor.py" line="1026"/>
         <source>Load Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1348"/>
+        <location filename="../QScintilla/Editor.py" line="1349"/>
         <source>Next change</source>
         <translation>下一个更改</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1352"/>
+        <location filename="../QScintilla/Editor.py" line="1353"/>
         <source>Previous change</source>
         <translation>上一个更改</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>Sort Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8254"/>
+        <location filename="../QScintilla/Editor.py" line="8255"/>
         <source>The selection contains illegal data for a numerical sort.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>Warning</source>
         <translation>警告</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6540"/>
+        <location filename="../QScintilla/Editor.py" line="6541"/>
         <source>No warning messages available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6602"/>
+        <location filename="../QScintilla/Editor.py" line="6603"/>
         <source>Style: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="889"/>
+        <location filename="../QScintilla/Editor.py" line="890"/>
         <source>New Document View</source>
         <translation>新建文档视图</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="892"/>
+        <location filename="../QScintilla/Editor.py" line="893"/>
         <source>New Document View (with new split)</source>
         <translation>新建文档视图(在新拆分页中)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="979"/>
+        <location filename="../QScintilla/Editor.py" line="980"/>
         <source>Tools</source>
         <translation>工具</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1110"/>
+        <location filename="../QScintilla/Editor.py" line="1111"/>
         <source>Re-Open With Encoding</source>
         <translation>使用指定编码重新打开</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6990"/>
+        <location filename="../QScintilla/Editor.py" line="6991"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric6. Reread it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="865"/>
+        <location filename="../QScintilla/Editor.py" line="866"/>
         <source>Automatic Completion enabled</source>
         <translation>允许自动补全</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="945"/>
+        <location filename="../QScintilla/Editor.py" line="946"/>
         <source>Complete</source>
         <translation>补全</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>Auto-Completion Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4901"/>
+        <location filename="../QScintilla/Editor.py" line="4902"/>
         <source>The completion list provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>Call-Tips Provider</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5176"/>
+        <location filename="../QScintilla/Editor.py" line="5177"/>
         <source>The call-tips provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>Register Mouse Click Handler</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <location filename="../QScintilla/Editor.py" line="8344"/>
         <source>A mouse click handler for &quot;{0}&quot; was already registered by &quot;{1}&quot;. Aborting request by &quot;{2}&quot;...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="909"/>
+        <location filename="../QScintilla/Editor.py" line="910"/>
         <source>Save Copy...</source>
         <translation type="unfinished">保存副本…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="948"/>
+        <location filename="../QScintilla/Editor.py" line="949"/>
         <source>Clear Completions Cache</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="875"/>
+        <location filename="../QScintilla/Editor.py" line="876"/>
         <source>Code Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1356"/>
+        <location filename="../QScintilla/Editor.py" line="1357"/>
         <source>Clear changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="798"/>
+        <location filename="../QScintilla/Editor.py" line="799"/>
         <source>Execute Selection In Console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>EditorConfig Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8464"/>
+        <location filename="../QScintilla/Editor.py" line="8465"/>
         <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1260"/>
+        <location filename="../QScintilla/Editor.py" line="1261"/>
         <source>Toggle all folds</source>
         <translation type="unfinished">开关所有折叠</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1265"/>
+        <location filename="../QScintilla/Editor.py" line="1266"/>
         <source>Toggle all folds (including children)</source>
         <translation type="unfinished">开关所有折叠(包含子项)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1270"/>
+        <location filename="../QScintilla/Editor.py" line="1271"/>
         <source>Toggle current fold</source>
         <translation type="unfinished">开关当前折叠</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1276"/>
+        <location filename="../QScintilla/Editor.py" line="1277"/>
         <source>Expand (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1281"/>
+        <location filename="../QScintilla/Editor.py" line="1282"/>
         <source>Collapse (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1287"/>
+        <location filename="../QScintilla/Editor.py" line="1288"/>
         <source>Clear all folds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1168"/>
+        <location filename="../QScintilla/Editor.py" line="1169"/>
         <source>Spell Check Languages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -17228,6 +17228,69 @@
     </message>
 </context>
 <context>
+    <name>EspBackupRestoreFirmwareDialog</name>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="14"/>
+        <source>Dialog</source>
+        <translation type="obsolete">对话框</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="22"/>
+        <source>ESP Chip Type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="29"/>
+        <source>Select the ESP chip type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="52"/>
+        <source>Firmware Size:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="59"/>
+        <source>Select the firmware size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="69"/>
+        <source>Flashmode:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="76"/>
+        <source>Select the flash mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="83"/>
+        <source>Firmware:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.ui" line="93"/>
+        <source>Enter the path of the firmware file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="66"/>
+        <source>Firmware Files (*.img);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="72"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspBackupRestoreFirmwareDialog.py" line="76"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>EspDevice</name>
     <message>
         <location filename="../MicroPython/EspDevices.py" line="67"/>
@@ -17235,50 +17298,95 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>Erase Flash</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="193"/>
+        <location filename="../MicroPython/EspDevices.py" line="210"/>
         <source>Flash MicroPython Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="234"/>
         <source>Flash Additional Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="141"/>
+        <location filename="../MicroPython/EspDevices.py" line="158"/>
         <source>Install &apos;esptool.py&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="148"/>
+        <location filename="../MicroPython/EspDevices.py" line="165"/>
         <source>Shall the flash of the selected device really be erased?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="160"/>
+        <location filename="../MicroPython/EspDevices.py" line="177"/>
         <source>&apos;esptool erase_flash&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="182"/>
+        <location filename="../MicroPython/EspDevices.py" line="199"/>
         <source>Unsupported chip type &apos;{0}&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="217"/>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
         <source>&apos;esptool write_flash&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/EspDevices.py" line="139"/>
+        <location filename="../MicroPython/EspDevices.py" line="156"/>
         <source>Reset Device</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>Backup Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="293"/>
+        <source>Restore Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>Show Chip ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>Show Flash ID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>Show MAC Address</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="260"/>
+        <source>&apos;esptool read_flash&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="310"/>
+        <source>&apos;esptool chip_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="327"/>
+        <source>&apos;esptool flash_id&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/EspDevices.py" line="344"/>
+        <source>&apos;esptool read_mac&apos; Output</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>EspFirmwareSelectionDialog</name>
@@ -73519,6 +73627,16 @@
         <source>JavaScript batch check</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="256"/>
+        <source>YAML batch check</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="272"/>
+        <source>JSON batch check</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>SyntaxCheckerDialog</name>
@@ -73629,22 +73747,22 @@
 <context>
     <name>SyntaxCheckerPlugin</name>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>Check Syntax</source>
         <translation>检查语法</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="247"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
         <source>&amp;Syntax...</source>
         <translation>语法(&amp;S)…</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="156"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="176"/>
         <source>Check syntax.</source>
         <translation>检查语法。</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="251"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="271"/>
         <source>&lt;b&gt;Check Syntax...&lt;/b&gt;&lt;p&gt;This checks Python files for syntax errors.&lt;/p&gt;</source>
         <translation>&lt;b&gt;检查语法…&lt;/b&gt;&lt;p&gt;检查 Python 文件的语法错误。&lt;/p&gt;</translation>
     </message>
@@ -84088,27 +84206,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>Edit Spelling Dictionary</source>
         <translation type="unfinished">编辑拼写字典</translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6572"/>
+        <location filename="../ViewManager/ViewManager.py" line="6578"/>
         <source>Editing {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6554"/>
+        <location filename="../ViewManager/ViewManager.py" line="6560"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6584"/>
+        <location filename="../ViewManager/ViewManager.py" line="6590"/>
         <source>&lt;p&gt;The spelling dictionary file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../ViewManager/ViewManager.py" line="6597"/>
+        <location filename="../ViewManager/ViewManager.py" line="6603"/>
         <source>The spelling dictionary was saved successfully.</source>
         <translation type="unfinished"></translation>
     </message>

eric ide

mercurial