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>