src/eric7/i18n/eric7_zh_CN.ts

branch
eric7-maintenance
changeset 10659
43ead32943ca
parent 10616
4aa36fcd4a30
parent 10646
37900a37e522
child 10694
f46c1e224e8a
--- a/src/eric7/i18n/eric7_zh_CN.ts	Sun Mar 03 10:39:56 2024 +0100
+++ b/src/eric7/i18n/eric7_zh_CN.ts	Tue Apr 02 10:00:22 2024 +0200
@@ -2328,22 +2328,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BluetoothDialogs/BluetoothScanWindow.py" line="107" />
+      <location filename="../MicroPython/BluetoothDialogs/BluetoothScanWindow.py" line="108" />
       <source> - {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BluetoothDialogs/BluetoothScanWindow.py" line="121" />
+      <location filename="../MicroPython/BluetoothDialogs/BluetoothScanWindow.py" line="124" />
       <source>Manufacturer ID: 0x{0:x} - {1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BluetoothDialogs/BluetoothScanWindow.py" line="125" />
+      <location filename="../MicroPython/BluetoothDialogs/BluetoothScanWindow.py" line="128" />
       <source>Manufacturer ID: 0x{0:x}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BluetoothDialogs/BluetoothScanWindow.py" line="134" />
+      <location filename="../MicroPython/BluetoothDialogs/BluetoothScanWindow.py" line="138" />
       <source>Tx Power Level [dBm]: {0}</source>
       <translation type="unfinished" />
     </message>
@@ -2467,136 +2467,136 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="87" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="88" />
       <source> ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="94" />
-      <source>System</source>
-      <translation type="unfinished">系统默认</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="95" />
-      <source>System Name</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/BoardDataDialog.py" line="96" />
-      <source>Node Name</source>
-      <translation type="unfinished" />
+      <source>System</source>
+      <translation type="unfinished">系统默认</translation>
     </message>
     <message>
       <location filename="../MicroPython/BoardDataDialog.py" line="97" />
-      <source>Release</source>
+      <source>System Name</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/BoardDataDialog.py" line="98" />
-      <source>Version</source>
-      <translation type="unfinished">版本</translation>
+      <source>Node Name</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/BoardDataDialog.py" line="99" />
-      <source>Machine</source>
-      <translation type="unfinished" />
+      <source>Release</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/BoardDataDialog.py" line="100" />
+      <source>Version</source>
+      <translation type="unfinished">版本</translation>
     </message>
     <message>
       <location filename="../MicroPython/BoardDataDialog.py" line="101" />
+      <source>Machine</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/BoardDataDialog.py" line="103" />
       <source>Memory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="137" />
-      <location filename="../MicroPython/BoardDataDialog.py" line="105" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="139" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="107" />
       <source>total</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="138" />
-      <location filename="../MicroPython/BoardDataDialog.py" line="106" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="140" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="108" />
       <source>{0} KBytes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="146" />
-      <location filename="../MicroPython/BoardDataDialog.py" line="114" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="148" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="116" />
       <source>used</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="157" />
-      <location filename="../MicroPython/BoardDataDialog.py" line="147" />
-      <location filename="../MicroPython/BoardDataDialog.py" line="125" />
-      <location filename="../MicroPython/BoardDataDialog.py" line="115" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="159" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="149" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="127" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="117" />
       <source>{0} KBytes ({1}%)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="156" />
-      <location filename="../MicroPython/BoardDataDialog.py" line="124" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="158" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="126" />
       <source>free</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="132" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="134" />
       <source>Flash Memory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="164" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="166" />
       <source>No flash file system available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="167" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="169" />
       <source>Features</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="171" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="173" />
       <source>Bluetooth</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="193" />
-      <location filename="../MicroPython/BoardDataDialog.py" line="186" />
-      <location filename="../MicroPython/BoardDataDialog.py" line="179" />
-      <location filename="../MicroPython/BoardDataDialog.py" line="172" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="195" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="188" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="181" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="174" />
       <source>available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="208" />
-      <location filename="../MicroPython/BoardDataDialog.py" line="193" />
-      <location filename="../MicroPython/BoardDataDialog.py" line="186" />
-      <location filename="../MicroPython/BoardDataDialog.py" line="179" />
-      <location filename="../MicroPython/BoardDataDialog.py" line="172" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="210" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="195" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="188" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="181" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="174" />
       <source>not available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="178" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="180" />
       <source>WiFi</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="185" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="187" />
       <source>Ethernet</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="192" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="194" />
       <source>Network Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="203" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="205" />
       <source>Package Installer</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/BoardDataDialog.py" line="207" />
+      <location filename="../MicroPython/BoardDataDialog.py" line="209" />
       <source>µLab</source>
       <translation type="unfinished" />
     </message>
@@ -3573,27 +3573,27 @@
       <translation>名称</translation>
     </message>
     <message>
-      <location filename="../UI/BrowserModel.py" line="737" />
+      <location filename="../UI/BrowserModel.py" line="738" />
       <source>Coding: {0}</source>
       <translation>编码: {0}</translation>
     </message>
     <message>
-      <location filename="../UI/BrowserModel.py" line="747" />
+      <location filename="../UI/BrowserModel.py" line="748" />
       <source>Globals</source>
       <translation>全局</translation>
     </message>
     <message>
-      <location filename="../UI/BrowserModel.py" line="752" />
+      <location filename="../UI/BrowserModel.py" line="753" />
       <source>Imports</source>
       <translation>导入</translation>
     </message>
     <message>
-      <location filename="../UI/BrowserModel.py" line="852" />
+      <location filename="../UI/BrowserModel.py" line="853" />
       <source>Attributes</source>
       <translation>属性</translation>
     </message>
     <message>
-      <location filename="../UI/BrowserModel.py" line="863" />
+      <location filename="../UI/BrowserModel.py" line="864" />
       <source>Class Attributes</source>
       <translation>类属性</translation>
     </message>
@@ -4491,9 +4491,9 @@
   <context>
     <name>CircuitPythonUpdaterInterface</name>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="597" />
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="589" />
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="576" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="599" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="591" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="578" />
       <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="545" />
       <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="516" />
       <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="506" />
@@ -4560,8 +4560,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="638" />
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="617" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="640" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="619" />
       <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="108" />
       <source>Uninstall Modules</source>
       <translation type="unfinished" />
@@ -4600,7 +4600,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="667" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="669" />
       <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="121" />
       <source>Show Local Cache Path</source>
       <translation type="unfinished" />
@@ -4716,37 +4716,37 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="550" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="551" />
       <source>Dependencies:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="577" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="579" />
       <source>&lt;p&gt;Installation complete. These modules were installed successfully.{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="590" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="592" />
       <source>&lt;p&gt;Installation complete. No modules were installed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="598" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="600" />
       <source>&lt;p&gt;No modules installation is required.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="618" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="620" />
       <source>Select the modules/packages to be uninstalled:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="639" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="641" />
       <source>&lt;p&gt;These modules/packages were uninstalled from the connected device.{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="668" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/CircuitPythonUpdaterInterface.py" line="670" />
       <source>&lt;p&gt;&lt;b&gt;circup&lt;/b&gt; stores the downloaded CircuitPython bundles in this directory.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -12591,7 +12591,7 @@
   <context>
     <name>Editor</name>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3521" />
+      <location filename="../QScintilla/Editor.py" line="3524" />
       <location filename="../QScintilla/Editor.py" line="470" />
       <location filename="../QScintilla/Editor.py" line="455" />
       <source>Open File</source>
@@ -12663,7 +12663,7 @@
       <translation>取消注释</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9895" />
+      <location filename="../QScintilla/Editor.py" line="9898" />
       <location filename="../QScintilla/Editor.py" line="969" />
       <source>Generate Docstring</source>
       <translation>生成文档字符串</translation>
@@ -12895,7 +12895,7 @@
       <translation>猜测</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1589" />
+      <location filename="../QScintilla/Editor.py" line="1590" />
       <location filename="../QScintilla/Editor.py" line="1262" />
       <source>Alternatives</source>
       <translation>备选</translation>
@@ -12936,7 +12936,7 @@
       <translation type="unfinished">拼写法</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8988" />
+      <location filename="../QScintilla/Editor.py" line="8991" />
       <location filename="../QScintilla/Editor.py" line="1364" />
       <source>Check spelling...</source>
       <translation>正在进行拼写检查…</translation>
@@ -12997,7 +12997,7 @@
       <translation>编辑断点…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6491" />
+      <location filename="../QScintilla/Editor.py" line="6494" />
       <location filename="../QScintilla/Editor.py" line="1449" />
       <source>Enable breakpoint</source>
       <translation>允许断点</translation>
@@ -13023,570 +13023,570 @@
       <translation type="unfinished">切换所有折叠</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1474" />
+      <location filename="../QScintilla/Editor.py" line="1473" />
       <source>Toggle all folds (including children)</source>
       <translation type="unfinished">切换所有折叠(包含子项)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1477" />
+      <location filename="../QScintilla/Editor.py" line="1478" />
       <source>Toggle current fold</source>
       <translation type="unfinished">切换当前折叠</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1481" />
+      <location filename="../QScintilla/Editor.py" line="1482" />
       <source>Expand (including children)</source>
       <translation>展开(包含子项)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1485" />
+      <location filename="../QScintilla/Editor.py" line="1486" />
       <source>Collapse (including children)</source>
       <translation>折叠(包含子项)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1490" />
+      <location filename="../QScintilla/Editor.py" line="1491" />
       <source>Clear all folds</source>
       <translation>清除所有折叠</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1501" />
+      <location filename="../QScintilla/Editor.py" line="1502" />
       <source>Goto syntax error</source>
       <translation>转到语法错误处</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1504" />
+      <location filename="../QScintilla/Editor.py" line="1505" />
       <source>Show syntax error message</source>
       <translation>显示语法错误消息</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1507" />
+      <location filename="../QScintilla/Editor.py" line="1508" />
       <source>Clear syntax error</source>
       <translation>清除语法错误</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1511" />
+      <location filename="../QScintilla/Editor.py" line="1512" />
       <source>Next warning</source>
       <translation>下一个警告</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1514" />
+      <location filename="../QScintilla/Editor.py" line="1515" />
       <source>Previous warning</source>
       <translation>上一个警告</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1517" />
+      <location filename="../QScintilla/Editor.py" line="1518" />
       <source>Show warning message</source>
       <translation>显示警告信息</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1520" />
+      <location filename="../QScintilla/Editor.py" line="1521" />
       <source>Clear warnings</source>
       <translation>清空警告</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1524" />
+      <location filename="../QScintilla/Editor.py" line="1525" />
       <source>Next uncovered line</source>
       <translation>下一个未覆盖行</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1527" />
+      <location filename="../QScintilla/Editor.py" line="1528" />
       <source>Previous uncovered line</source>
       <translation>上一个未覆盖行</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1531" />
+      <location filename="../QScintilla/Editor.py" line="1532" />
       <source>Next task</source>
       <translation>下一个任务</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1534" />
+      <location filename="../QScintilla/Editor.py" line="1535" />
       <source>Previous task</source>
       <translation>上一个任务</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1538" />
+      <location filename="../QScintilla/Editor.py" line="1539" />
       <source>Next change</source>
       <translation>下一个更改</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1541" />
+      <location filename="../QScintilla/Editor.py" line="1542" />
       <source>Previous change</source>
       <translation>上一个更改</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1544" />
+      <location filename="../QScintilla/Editor.py" line="1545" />
       <source>Clear changes</source>
       <translation>清除更改</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1574" />
-      <location filename="../QScintilla/Editor.py" line="1565" />
-      <source>Export source</source>
-      <translation>导出源代码</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="1566" />
-      <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" />
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="1575" />
+      <location filename="../QScintilla/Editor.py" line="1566" />
+      <source>Export source</source>
+      <translation>导出源代码</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1567" />
+      <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" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1576" />
       <source>No export format given. Aborting...</source>
       <translation>没有给定导出格式。终止…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1586" />
+      <location filename="../QScintilla/Editor.py" line="1587" />
       <source>Alternatives ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1610" />
-      <source>Pygments Lexer</source>
-      <translation>Pygments 词法分析器</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="1611" />
+      <source>Pygments Lexer</source>
+      <translation>Pygments 词法分析器</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1612" />
       <source>Select the Pygments lexer to apply.</source>
       <translation>选择要应用的 Pygments 词法分析器。</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="2213" />
-      <source>Modification of Read Only file</source>
-      <translation>只读文件的改变</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="2214" />
+      <source>Modification of Read Only file</source>
+      <translation>只读文件的改变</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="2215" />
       <source>You are attempting to change a read only file. Please save to a different file first.</source>
       <translation>试图改变只读文件。请先保存到另一个文件中。</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="2697" />
-      <source>Add Breakpoint</source>
-      <translation type="unfinished">添加断点</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="2698" />
+      <source>Add Breakpoint</source>
+      <translation type="unfinished">添加断点</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="2699" />
       <source>No Python byte code will be created for the selected line. No break point will be set!</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3052" />
+      <location filename="../QScintilla/Editor.py" line="3053" />
       <source>Printing...</source>
       <translation>打印中…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3069" />
+      <location filename="../QScintilla/Editor.py" line="3070" />
       <source>Printing completed</source>
       <translation>打印已完成</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3071" />
+      <location filename="../QScintilla/Editor.py" line="3072" />
       <source>Error while printing</source>
       <translation>打印时出错</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3074" />
+      <location filename="../QScintilla/Editor.py" line="3075" />
       <source>Printing aborted</source>
       <translation>打印失败</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3456" />
-      <source>File Modified</source>
-      <translation>文件已改变</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="3457" />
+      <source>File Modified</source>
+      <translation>文件已改变</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="3458" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has unsaved changes.&lt;/p&gt;</source>
       <translation>&lt;p&gt;文件 &lt;b&gt;{0}&lt;/b&gt; 有未保存的更改。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3522" />
+      <location filename="../QScintilla/Editor.py" line="3525" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be opened.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;文件 &lt;b&gt;{0}&lt;/b&gt; 无法打开。&lt;/p&gt;&lt;p&gt;原因:{1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3713" />
-      <location filename="../QScintilla/Editor.py" line="3694" />
-      <location filename="../QScintilla/Editor.py" line="3654" />
+      <location filename="../QScintilla/Editor.py" line="3716" />
+      <location filename="../QScintilla/Editor.py" line="3697" />
+      <location filename="../QScintilla/Editor.py" line="3657" />
       <source>Save File</source>
       <translation>保存文件</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3655" />
+      <location filename="../QScintilla/Editor.py" line="3658" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be saved.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;文件 &lt;b&gt;{0}&lt;/b&gt; 无法保存。&lt;br /&gt;原因:{1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3714" />
+      <location filename="../QScintilla/Editor.py" line="3717" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;文件 &lt;b&gt;{0}&lt;/b&gt; 已经存在。是否覆盖?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3858" />
+      <location filename="../QScintilla/Editor.py" line="3861" />
       <source>Save File to Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3859" />
+      <location filename="../QScintilla/Editor.py" line="3862" />
       <source>Enter the complete device file path:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5647" />
+      <location filename="../QScintilla/Editor.py" line="5650" />
       <source>Autocompletion</source>
       <translation>自动完成</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5648" />
+      <location filename="../QScintilla/Editor.py" line="5651" />
       <source>Autocompletion is not available because there is no autocompletion source set.</source>
       <translation>自动完成无效,没有设定自动完成源。</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5782" />
+      <location filename="../QScintilla/Editor.py" line="5785" />
       <source>Auto-Completion Provider</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5783" />
+      <location filename="../QScintilla/Editor.py" line="5786" />
       <source>The completion list provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6079" />
+      <location filename="../QScintilla/Editor.py" line="6082" />
       <source>Call-Tips Provider</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6080" />
+      <location filename="../QScintilla/Editor.py" line="6083" />
       <source>The call-tips provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6495" />
+      <location filename="../QScintilla/Editor.py" line="6498" />
       <source>Disable breakpoint</source>
       <translation>去除断点</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6910" />
+      <location filename="../QScintilla/Editor.py" line="6913" />
       <source>Code Coverage</source>
       <translation>代码覆盖率</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6911" />
+      <location filename="../QScintilla/Editor.py" line="6914" />
       <source>Please select a coverage file</source>
       <translation>请选择一个覆盖率文件</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6986" />
-      <location filename="../QScintilla/Editor.py" line="6978" />
+      <location filename="../QScintilla/Editor.py" line="6989" />
+      <location filename="../QScintilla/Editor.py" line="6981" />
       <source>Show Code Coverage Annotations</source>
       <translation>显示代码覆盖率注解</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6979" />
+      <location filename="../QScintilla/Editor.py" line="6982" />
       <source>All lines have been covered.</source>
       <translation>所有行均被已覆盖。</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6987" />
+      <location filename="../QScintilla/Editor.py" line="6990" />
       <source>There is no coverage file available.</source>
       <translation>没有有效的覆盖率文件。</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7095" />
+      <location filename="../QScintilla/Editor.py" line="7098" />
       <source>Profile Data</source>
       <translation>剖析数据</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7096" />
+      <location filename="../QScintilla/Editor.py" line="7099" />
       <source>Please select a profile file</source>
       <translation>请选择一个剖析文件</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7258" />
-      <location filename="../QScintilla/Editor.py" line="7252" />
+      <location filename="../QScintilla/Editor.py" line="7261" />
+      <location filename="../QScintilla/Editor.py" line="7255" />
       <source>Syntax Error</source>
       <translation>语法错误</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7259" />
+      <location filename="../QScintilla/Editor.py" line="7262" />
       <source>No syntax error message available.</source>
       <translation>语法错误消息无效。</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7506" />
-      <location filename="../QScintilla/Editor.py" line="7500" />
+      <location filename="../QScintilla/Editor.py" line="7509" />
+      <location filename="../QScintilla/Editor.py" line="7503" />
       <source>Warning</source>
       <translation>警告</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7506" />
+      <location filename="../QScintilla/Editor.py" line="7509" />
       <source>No warning messages available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7585" />
+      <location filename="../QScintilla/Editor.py" line="7588" />
       <source>Info: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7601" />
-      <location filename="../QScintilla/Editor.py" line="7587" />
+      <location filename="../QScintilla/Editor.py" line="7604" />
+      <location filename="../QScintilla/Editor.py" line="7590" />
       <source>Error: {0}</source>
       <translation>错误:{0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7589" />
+      <location filename="../QScintilla/Editor.py" line="7592" />
       <source>Style: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7594" />
+      <location filename="../QScintilla/Editor.py" line="7597" />
       <source>Warning: {0}</source>
       <translation>警告:{0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7724" />
+      <location filename="../QScintilla/Editor.py" line="7727" />
       <source>Macro Name</source>
       <translation>宏名称</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7724" />
+      <location filename="../QScintilla/Editor.py" line="7727" />
       <source>Select a macro name:</source>
       <translation>选择一个宏名称:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7750" />
+      <location filename="../QScintilla/Editor.py" line="7753" />
       <source>Load macro file</source>
       <translation>输入宏文件</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7796" />
-      <location filename="../QScintilla/Editor.py" line="7752" />
+      <location filename="../QScintilla/Editor.py" line="7799" />
+      <location filename="../QScintilla/Editor.py" line="7755" />
       <source>Macro files (*.macro)</source>
       <translation>宏文件 (*.macro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7774" />
-      <location filename="../QScintilla/Editor.py" line="7764" />
+      <location filename="../QScintilla/Editor.py" line="7777" />
+      <location filename="../QScintilla/Editor.py" line="7767" />
       <source>Error loading macro</source>
       <translation>载入宏文件出错</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7765" />
+      <location filename="../QScintilla/Editor.py" line="7768" />
       <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" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7775" />
+      <location filename="../QScintilla/Editor.py" line="7778" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7794" />
+      <location filename="../QScintilla/Editor.py" line="7797" />
       <source>Save macro file</source>
       <translation>保存宏文件</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7812" />
+      <location filename="../QScintilla/Editor.py" line="7815" />
       <source>Save macro</source>
       <translation>保存宏</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7813" />
+      <location filename="../QScintilla/Editor.py" line="7816" />
       <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;宏文件 &lt;b&gt;{0}&lt;/b&gt; 已经存在。是否覆盖?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7828" />
+      <location filename="../QScintilla/Editor.py" line="7831" />
       <source>Error saving macro</source>
       <translation>保存宏出错</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7829" />
+      <location filename="../QScintilla/Editor.py" line="7832" />
       <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" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7842" />
+      <location filename="../QScintilla/Editor.py" line="7845" />
       <source>Start Macro Recording</source>
       <translation>开始宏录制</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7843" />
+      <location filename="../QScintilla/Editor.py" line="7846" />
       <source>Macro recording is already active. Start new?</source>
       <translation>宏录制已激活。开始录制新宏?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7869" />
+      <location filename="../QScintilla/Editor.py" line="7872" />
       <source>Macro Recording</source>
       <translation>宏录制</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7870" />
+      <location filename="../QScintilla/Editor.py" line="7873" />
       <source>Enter name of the macro:</source>
       <translation>输入宏名称:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8053" />
+      <location filename="../QScintilla/Editor.py" line="8056" />
       <source>{0} (ro)</source>
       <translation>{0}(只读)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8238" />
+      <location filename="../QScintilla/Editor.py" line="8241" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric. Reread it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8244" />
+      <location filename="../QScintilla/Editor.py" line="8247" />
       <source>&lt;br&gt;&lt;b&gt;Warning:&lt;/b&gt; You will lose your changes upon reopening it.</source>
       <translation>&lt;br&gt;&lt;b&gt;警告:&lt;/b&gt;您在重新打开时将丢失所有更改。</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8251" />
+      <location filename="../QScintilla/Editor.py" line="8254" />
       <source>File changed</source>
       <translation>文件已改变</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8414" />
+      <location filename="../QScintilla/Editor.py" line="8417" />
       <source>Drop Error</source>
       <translation>降落误差</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8415" />
+      <location filename="../QScintilla/Editor.py" line="8418" />
       <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
       <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; 不是一个文件。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8436" />
-      <source>Resources</source>
-      <translation>资源</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="8438" />
-      <source>Add file...</source>
-      <translation>添加文件…</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8439" />
-      <source>Add files...</source>
+      <source>Resources</source>
+      <translation>资源</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8441" />
+      <source>Add file...</source>
       <translation>添加文件…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8440" />
-      <source>Add aliased file...</source>
-      <translation>添加别名文件…</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="8442" />
-      <source>Add localized resource...</source>
-      <translation>添加本地资源…</translation>
+      <source>Add files...</source>
+      <translation>添加文件…</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8443" />
+      <source>Add aliased file...</source>
+      <translation>添加别名文件…</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="8445" />
+      <source>Add localized resource...</source>
+      <translation>添加本地资源…</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="8448" />
       <source>Add resource frame</source>
       <translation>添加资源结构</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8465" />
+      <location filename="../QScintilla/Editor.py" line="8468" />
       <source>Add file resource</source>
       <translation>添加文件资源</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8479" />
+      <location filename="../QScintilla/Editor.py" line="8482" />
       <source>Add file resources</source>
       <translation>添加多个文件资源</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8503" />
-      <location filename="../QScintilla/Editor.py" line="8497" />
+      <location filename="../QScintilla/Editor.py" line="8506" />
+      <location filename="../QScintilla/Editor.py" line="8500" />
       <source>Add aliased file resource</source>
       <translation>添加别名文件资源</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8504" />
+      <location filename="../QScintilla/Editor.py" line="8507" />
       <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8579" />
+      <location filename="../QScintilla/Editor.py" line="8582" />
       <source>Package Diagram</source>
       <translation>程序包图</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8580" />
+      <location filename="../QScintilla/Editor.py" line="8583" />
       <source>Include class attributes?</source>
       <translation>包含类属性?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8600" />
+      <location filename="../QScintilla/Editor.py" line="8603" />
       <source>Imports Diagram</source>
       <translation>引用图</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8601" />
+      <location filename="../QScintilla/Editor.py" line="8604" />
       <source>Include imports from external modules?</source>
       <translation>从外部模块包含引用?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8620" />
+      <location filename="../QScintilla/Editor.py" line="8623" />
       <source>Application Diagram</source>
       <translation>应用程序图</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8621" />
+      <location filename="../QScintilla/Editor.py" line="8624" />
       <source>Include module names?</source>
       <translation>包含模块名?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8992" />
+      <location filename="../QScintilla/Editor.py" line="8995" />
       <source>Add to dictionary</source>
       <translation>添加到文件夹</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8994" />
+      <location filename="../QScintilla/Editor.py" line="8997" />
       <source>Ignore All</source>
       <translation>全部忽略</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9441" />
+      <location filename="../QScintilla/Editor.py" line="9444" />
       <source>Sort Lines</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9442" />
+      <location filename="../QScintilla/Editor.py" line="9445" />
       <source>The selection contains illegal data for a numerical sort.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9535" />
+      <location filename="../QScintilla/Editor.py" line="9538" />
       <source>Register Mouse Click Handler</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9536" />
+      <location filename="../QScintilla/Editor.py" line="9539" />
       <source>A mouse click handler for "{0}" was already registered by "{1}". Aborting request by "{2}"...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9629" />
+      <location filename="../QScintilla/Editor.py" line="9632" />
       <source>{0:4d}    {1}</source>
       <comment>line number, source code</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9635" />
+      <location filename="../QScintilla/Editor.py" line="9638" />
       <source>{0:4d}    {1}
     =&gt;  {2}</source>
       <comment>line number, source code, file name</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9704" />
+      <location filename="../QScintilla/Editor.py" line="9707" />
       <source>EditorConfig Properties</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="9705" />
+      <location filename="../QScintilla/Editor.py" line="9708" />
       <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" />
     </message>
@@ -20252,40 +20252,40 @@
       <translation type="unfinished">--分隔符--</translation>
     </message>
     <message>
-      <location filename="../EricWidgets/EricToolBarDialog.py" line="167" />
-      <location filename="../EricWidgets/EricToolBarDialog.py" line="158" />
+      <location filename="../EricWidgets/EricToolBarDialog.py" line="169" />
+      <location filename="../EricWidgets/EricToolBarDialog.py" line="160" />
       <source>New Toolbar</source>
       <translation type="unfinished">新建工具栏</translation>
     </message>
     <message>
-      <location filename="../EricWidgets/EricToolBarDialog.py" line="159" />
+      <location filename="../EricWidgets/EricToolBarDialog.py" line="161" />
       <source>Toolbar Name:</source>
       <translation type="unfinished">工具栏名称:</translation>
     </message>
     <message>
-      <location filename="../EricWidgets/EricToolBarDialog.py" line="236" />
-      <location filename="../EricWidgets/EricToolBarDialog.py" line="168" />
+      <location filename="../EricWidgets/EricToolBarDialog.py" line="238" />
+      <location filename="../EricWidgets/EricToolBarDialog.py" line="170" />
       <source>A toolbar with the name &lt;b&gt;{0}&lt;/b&gt; already exists.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../EricWidgets/EricToolBarDialog.py" line="195" />
+      <location filename="../EricWidgets/EricToolBarDialog.py" line="197" />
       <source>Remove Toolbar</source>
       <translation type="unfinished">移除工具栏</translation>
     </message>
     <message>
-      <location filename="../EricWidgets/EricToolBarDialog.py" line="196" />
+      <location filename="../EricWidgets/EricToolBarDialog.py" line="198" />
       <source>Should the toolbar &lt;b&gt;{0}&lt;/b&gt; really be removed?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../EricWidgets/EricToolBarDialog.py" line="235" />
-      <location filename="../EricWidgets/EricToolBarDialog.py" line="223" />
+      <location filename="../EricWidgets/EricToolBarDialog.py" line="237" />
+      <location filename="../EricWidgets/EricToolBarDialog.py" line="225" />
       <source>Rename Toolbar</source>
       <translation type="unfinished">重命名工具栏</translation>
     </message>
     <message>
-      <location filename="../EricWidgets/EricToolBarDialog.py" line="224" />
+      <location filename="../EricWidgets/EricToolBarDialog.py" line="226" />
       <source>New Toolbar Name:</source>
       <translation type="unfinished">新工具栏名称:</translation>
     </message>
@@ -23153,64 +23153,64 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="786" />
+      <location filename="../UI/FindFileWidget.py" line="788" />
       <source>{0} / {1}</source>
       <comment>occurrences / files</comment>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../UI/FindFileWidget.py" line="789" />
+      <location filename="../UI/FindFileWidget.py" line="791" />
       <source>%n occurrence(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../UI/FindFileWidget.py" line="790" />
+      <location filename="../UI/FindFileWidget.py" line="792" />
       <source>%n file(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="989" />
-      <location filename="../UI/FindFileWidget.py" line="964" />
-      <location filename="../UI/FindFileWidget.py" line="950" />
+      <location filename="../UI/FindFileWidget.py" line="991" />
+      <location filename="../UI/FindFileWidget.py" line="966" />
+      <location filename="../UI/FindFileWidget.py" line="952" />
       <source>Replace in Files</source>
       <translation type="unfinished">在文件中替换</translation>
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="951" />
+      <location filename="../UI/FindFileWidget.py" line="953" />
       <source>&lt;p&gt;Could not read the file &lt;b&gt;{0}&lt;/b&gt;. Skipping it.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="965" />
+      <location filename="../UI/FindFileWidget.py" line="967" />
       <source>&lt;p&gt;The current and the original hash of the file &lt;b&gt;{0}&lt;/b&gt; are different. Skipping it.&lt;/p&gt;&lt;p&gt;Hash 1: {1}&lt;/p&gt;&lt;p&gt;Hash 2: {2}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="990" />
+      <location filename="../UI/FindFileWidget.py" line="992" />
       <source>&lt;p&gt;Could not save the file &lt;b&gt;{0}&lt;/b&gt;. Skipping it.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="1019" />
-      <source>Open</source>
-      <translation type="unfinished">打开</translation>
-    </message>
-    <message>
       <location filename="../UI/FindFileWidget.py" line="1021" />
+      <source>Open</source>
+      <translation type="unfinished">打开</translation>
+    </message>
+    <message>
+      <location filename="../UI/FindFileWidget.py" line="1023" />
       <source>Copy Path to Clipboard</source>
       <translation type="unfinished">将路径复制到剪贴板</translation>
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="1025" />
+      <location filename="../UI/FindFileWidget.py" line="1027" />
       <source>Select All</source>
       <translation type="unfinished">全选</translation>
     </message>
     <message>
-      <location filename="../UI/FindFileWidget.py" line="1026" />
+      <location filename="../UI/FindFileWidget.py" line="1028" />
       <source>Deselect All</source>
       <translation type="unfinished" />
     </message>
@@ -23687,17 +23687,17 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/GenericMicroPythonDevices.py" line="317" />
+      <location filename="../MicroPython/Devices/GenericMicroPythonDevices.py" line="318" />
       <source>&lt;tr&gt;&lt;td&gt;Variant:&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/GenericMicroPythonDevices.py" line="324" />
+      <location filename="../MicroPython/Devices/GenericMicroPythonDevices.py" line="326" />
       <source>&lt;p&gt;&lt;b&gt;Update available!&lt;/b&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/GenericMicroPythonDevices.py" line="328" />
+      <location filename="../MicroPython/Devices/GenericMicroPythonDevices.py" line="330" />
       <source>MicroPython Version</source>
       <translation type="unfinished" />
     </message>
@@ -32098,12 +32098,12 @@
   <context>
     <name>HelpViewer</name>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="29" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="30" />
       <source>&lt;html&gt;&lt;head&gt;&lt;title&gt;about:blank&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="34" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="35" />
       <source>&lt;html&gt;&lt;head&gt;&lt;title&gt;Error 404...&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;div align="center"&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;The page could not be found&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;'{0}'&lt;/h3&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -32111,83 +32111,83 @@
   <context>
     <name>HelpViewerImplQTB</name>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="191" />
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="180" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="192" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="181" />
       <source>Empty Page</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="456" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="457" />
       <source>Backward</source>
       <translation type="unfinished">后退</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="461" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="462" />
       <source>Forward</source>
       <translation type="unfinished">前移</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="466" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="467" />
       <source>Reload</source>
       <translation type="unfinished">重新载入</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="475" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="476" />
       <source>Copy Page URL to Clipboard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="481" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="482" />
       <source>Bookmark Page</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="489" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="490" />
       <source>Zoom in</source>
       <translation type="unfinished">放大</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="494" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="495" />
       <source>Zoom out</source>
       <translation type="unfinished">缩小</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="499" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="500" />
       <source>Zoom reset</source>
       <translation type="unfinished">重置缩放</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="505" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="506" />
       <source>Copy</source>
       <translation type="unfinished">复制</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="511" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="512" />
       <source>Select All</source>
       <translation type="unfinished">全选</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="518" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="519" />
       <source>Close</source>
       <translation type="unfinished">关闭</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="523" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="524" />
       <source>Close Others</source>
       <translation type="unfinished">关闭其它</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="543" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="544" />
       <source>Open Link in New Page</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="550" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="551" />
       <source>Open Link in Background Page</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="558" />
+      <location filename="../HelpViewer/HelpViewerImplQTB.py" line="559" />
       <source>Copy URL to Clipboard</source>
       <translation type="unfinished" />
     </message>
@@ -32195,83 +32195,83 @@
   <context>
     <name>HelpViewerImplQWE</name>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="175" />
-      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="164" />
+      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="176" />
+      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="165" />
       <source>Empty Page</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="572" />
+      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="573" />
       <source>Backward</source>
       <translation type="unfinished">后退</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="577" />
+      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="578" />
       <source>Forward</source>
       <translation type="unfinished">前移</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="582" />
+      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="583" />
       <source>Reload</source>
       <translation type="unfinished">重新载入</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="594" />
+      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="595" />
       <source>Copy Page URL to Clipboard</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="600" />
+      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="601" />
       <source>Bookmark Page</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="608" />
+      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="609" />
       <source>Zoom in</source>
       <translation type="unfinished">放大</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="613" />
+      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="614" />
       <source>Zoom out</source>
       <translation type="unfinished">缩小</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="618" />
+      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="619" />
       <source>Zoom reset</source>
       <translation type="unfinished">重置缩放</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="624" />
+      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="625" />
       <source>Copy</source>
       <translation type="unfinished">复制</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="630" />
+      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="631" />
       <source>Select All</source>
       <translation type="unfinished">全选</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="637" />
+      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="638" />
       <source>Close</source>
       <translation type="unfinished">关闭</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="642" />
+      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="643" />
       <source>Close Others</source>
       <translation type="unfinished">关闭其它</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="660" />
+      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="661" />
       <source>Open Link in New Page</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="667" />
+      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="668" />
       <source>Open Link in Background Page</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="675" />
+      <location filename="../HelpViewer/HelpViewerImplQWE.py" line="676" />
       <source>Copy URL to Clipboard</source>
       <translation type="unfinished" />
     </message>
@@ -32279,82 +32279,82 @@
   <context>
     <name>HelpViewerWidget</name>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="129" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="126" />
       <source>Open a local file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="135" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="132" />
       <source>Select action from menu</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="151" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="148" />
       <source>Move one page backward</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="156" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="153" />
       <source>Move one page forward</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="168" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="165" />
       <source>Reload the current page</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="179" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="176" />
       <source>Zoom in on the current page</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="185" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="182" />
       <source>Zoom out on the current page</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="192" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="189" />
       <source>Reset the zoom level of the current page</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="204" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="201" />
       <source>Add a new empty page</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="210" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="207" />
       <source>Close the current page</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="221" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="218" />
       <source>Show or hide the search pane</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="294" />
+      <source>Show list of open pages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../HelpViewer/HelpViewerWidget.py" line="297" />
-      <source>Show list of open pages</source>
+      <source>Show the table of contents</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../HelpViewer/HelpViewerWidget.py" line="300" />
-      <source>Show the table of contents</source>
+      <source>Show the help document index</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../HelpViewer/HelpViewerWidget.py" line="303" />
-      <source>Show the help document index</source>
+      <source>Show the help search window</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../HelpViewer/HelpViewerWidget.py" line="306" />
-      <source>Show the help search window</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="309" />
       <source>Show list of bookmarks</source>
       <translation type="unfinished" />
     </message>
@@ -32409,54 +32409,54 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="699" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="697" />
       <source>Help Engine</source>
       <translation type="unfinished">帮助引擎</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="723" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="721" />
       <source>Looking for Documentation...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="734" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="732" />
       <source>eric Help Viewer</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="759" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="757" />
       <source>Manage QtHelp Documents</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="762" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="760" />
       <source>Reindex Documentation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="767" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="765" />
       <source>Configure Help Documentation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="860" />
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="840" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="858" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="838" />
       <source>Clear History</source>
       <translation type="unfinished">清除历史记录</translation>
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="970" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="961" />
       <source>Updating search index</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="1028" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="1019" />
       <source>Filtered by: </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="1064" />
-      <location filename="../HelpViewer/HelpViewerWidget.py" line="1059" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="1055" />
+      <location filename="../HelpViewer/HelpViewerWidget.py" line="1050" />
       <source>Unfiltered</source>
       <translation type="unfinished" />
     </message>
@@ -32480,6 +32480,7 @@
     </message>
     <message>
       <location filename="../Preferences/ConfigurationPages/HelpViewersPage.ui" line="0" />
+      <location filename="../Preferences/ConfigurationPages/HelpViewersPage.ui" line="0" />
       <source>Internal Viewer</source>
       <translation>内部查看器</translation>
     </message>
@@ -32528,6 +32529,27 @@
       <source>Enter the custom viewer to be used</source>
       <translation>输入要使用的自定义浏览器</translation>
     </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/HelpViewersPage.ui" line="0" />
+      <source>&lt;font color="#FF0000"&gt;&lt;b&gt;Note:&lt;/b&gt; All settings below are activated at the next startup of the application.&lt;/font&gt;</source>
+      <translation type="unfinished">&lt;font color="#FF0000"&gt;&lt;b&gt;注意:&lt;/b&gt; 以上所有设置将在下次启动应用程序时生效。&lt;/font&gt;</translation>
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/HelpViewersPage.ui" line="0" />
+      <source>Select this in order to enforce the use of the QTextBrowser based help viewer implementation.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/HelpViewersPage.ui" line="0" />
+      <source>&lt;b&gt;Enforce 'QTextBrowser' based viewer&lt;/b&gt;
+&lt;p&gt;Select this in order to enforce the use of the QTextBrowser based help viewer implementation. Without this option the viewer implementation will be selected automatically from QWebEngine or QTextBrowser (in that order).&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Preferences/ConfigurationPages/HelpViewersPage.ui" line="0" />
+      <source>Enforce 'QTextBrowser' based viewer</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>HexEditGotoWidget</name>
@@ -47204,93 +47226,93 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="101" />
+      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="102" />
       <source>Python {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="103" />
+      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="104" />
       <source>Python {0}.{1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="135" />
-      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="133" />
-      <source>Project File</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="137" />
+      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="135" />
+      <source>Project File</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="139" />
       <source>Defaults</source>
       <translation type="unfinished">默认值</translation>
     </message>
     <message>
-      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="138" />
+      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="140" />
       <source>Configuration Below</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="152" />
-      <source>Grid</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="153" />
-      <source>Vertical</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="154" />
-      <source>Hanging Indent</source>
+      <source>Grid</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="155" />
+      <source>Vertical</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="156" />
+      <source>Hanging Indent</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="158" />
       <source>Vertical Hanging Indent</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="159" />
-      <source>Hanging Grid</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="160" />
-      <source>Hanging Grid Grouped</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="161" />
-      <source>NOQA</source>
+      <source>Hanging Grid</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="162" />
+      <source>Hanging Grid Grouped</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="163" />
+      <source>NOQA</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="165" />
       <source>Vertical Hanging Indent Bracket</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="167" />
+      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="169" />
       <source>Vertical Prefix From Module Import</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="171" />
+      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="173" />
       <source>Hanging Indent With Parentheses</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="174" />
+      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="176" />
       <source>Backslash Grid</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="336" />
+      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="338" />
       <source>Create TOML snippet</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="337" />
+      <location filename="../CodeFormatting/IsortConfigurationDialog.py" line="339" />
       <source>The 'pyproject.toml' snippet was copied to the clipboard successfully.</source>
       <translation type="unfinished" />
     </message>
@@ -51142,18 +51164,18 @@
   <context>
     <name>MicroPythonDevice</name>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="295" />
+      <location filename="../MicroPython/Devices/__init__.py" line="321" />
       <source>Generic MicroPython Board</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="335" />
+      <location filename="../MicroPython/Devices/__init__.py" line="361" />
       <source>RP2040 based</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/__init__.py" line="496" />
-      <location filename="../MicroPython/Devices/__init__.py" line="485" />
+      <location filename="../MicroPython/Devices/__init__.py" line="522" />
+      <location filename="../MicroPython/Devices/__init__.py" line="511" />
       <source>Unknown Device</source>
       <translation type="unfinished" />
     </message>
@@ -51161,50 +51183,50 @@
   <context>
     <name>MicroPythonFileManager</name>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="314" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="316" />
       <source>The given name '{0}' is not a directory or does not exist.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="321" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="323" />
       <source>{1}Synchronizing &lt;b&gt;{0}&lt;/b&gt;.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="324" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="326" />
       <source>{1}Done synchronizing &lt;b&gt;{0}&lt;/b&gt;.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="454" />
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="374" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="456" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="376" />
       <source>{1}Adding &lt;b&gt;{0}&lt;/b&gt;...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="516" />
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="423" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="518" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="425" />
       <source>Source &lt;b&gt;{0}&lt;/b&gt; is a directory and destination &lt;b&gt;{1}&lt;/b&gt; is a file. Ignoring it.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="525" />
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="432" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="527" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="434" />
       <source>Source &lt;b&gt;{0}&lt;/b&gt; is a file and destination &lt;b&gt;{1}&lt;/b&gt; is a directory. Ignoring it.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="441" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="443" />
       <source>Updating &lt;b&gt;{0}&lt;/b&gt;...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="482" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="484" />
       <source>{1}Removing &lt;b&gt;{0}&lt;/b&gt;...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonFileManager.py" line="534" />
+      <location filename="../MicroPython/MicroPythonFileManager.py" line="536" />
       <source>{1}Updating &lt;b&gt;{0}&lt;/b&gt;...</source>
       <translation type="unfinished" />
     </message>
@@ -54509,153 +54531,153 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="466" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="467" />
       <source>Editing a loop's mutable iterable often leads to unexpected results/bugs.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="471" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="472" />
       <source>unncessary f-string</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="475" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="476" />
       <source>cannot use 'self.__class__' as first argument of 'super()' call</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="480" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="481" />
       <source>found {0} formatter</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="484" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="485" />
       <source>format string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="488" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="489" />
       <source>docstring does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="492" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="493" />
       <source>other string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="496" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="497" />
       <source>format call uses too large index ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="500" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="501" />
       <source>format call uses missing keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="504" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="505" />
       <source>format call uses keyword arguments but no named entries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="508" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="509" />
       <source>format call uses variable arguments but no numbered entries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="512" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="513" />
       <source>format call uses implicit and explicit indexes together</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="516" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="517" />
       <source>format call provides unused index ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="520" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="521" />
       <source>format call provides unused keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="525" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="526" />
       <source>expected these __future__ imports: {0}; but only got: {1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="529" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="530" />
       <source>expected these __future__ imports: {0}; but got none</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="534" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="535" />
       <source>gettext import with alias _ found: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="539" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="540" />
       <source>print statement found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="544" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="545" />
       <source>one element tuple found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="553" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="549" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="554" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="550" />
       <source>mutable default argument of type {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="557" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="558" />
       <source>mutable default argument of function call '{0}'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="562" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="563" />
       <source>None should not be added at any return if function has no return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="567" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="568" />
       <source>an explicit value at every return should be added if function has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="572" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="573" />
       <source>an explicit return at the end of the function should be added if it has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="577" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="578" />
       <source>a value should not be assigned to a variable if it will be used as a return value only</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="583" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="584" />
       <source>prefer implied line continuation inside parentheses, brackets and braces as opposed to a backslash</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="589" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="590" />
       <source>implicitly concatenated string or bytes literals on one line</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="593" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="594" />
       <source>implicitly concatenated string or bytes literals over continuation line</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="597" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="598" />
       <source>explicitly concatenated string or bytes should be implicitly concatenated</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="602" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="603" />
       <source>commented code lines should be removed</source>
       <translation type="unfinished" />
     </message>
@@ -58112,118 +58134,158 @@
   <context>
     <name>Pip</name>
     <message>
-      <location filename="../PipInterface/Pip.py" line="139" />
+      <location filename="../PipInterface/Pip.py" line="142" />
       <source>python exited with an error ({0}).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="148" />
+      <location filename="../PipInterface/Pip.py" line="151" />
       <source>python did not finish within 30 seconds.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="150" />
+      <location filename="../PipInterface/Pip.py" line="153" />
       <source>python could not be started.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="211" />
+      <location filename="../PipInterface/Pip.py" line="214" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="236" />
+      <location filename="../PipInterface/Pip.py" line="239" />
       <source>Interpreter for Virtual Environment</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="237" />
+      <location filename="../PipInterface/Pip.py" line="240" />
       <source>No interpreter configured for the selected virtual environment.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="277" />
+      <location filename="../PipInterface/Pip.py" line="280" />
       <source>Install PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="324" />
+      <location filename="../PipInterface/Pip.py" line="327" />
       <source>Repair PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="446" />
+      <location filename="../PipInterface/Pip.py" line="449" />
       <source>Upgrade Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="492" />
+      <location filename="../PipInterface/Pip.py" line="495" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="522" />
+      <location filename="../PipInterface/Pip.py" line="525" />
       <source>Install Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="543" />
+      <location filename="../PipInterface/Pip.py" line="546" />
       <source>Install Project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="600" />
+      <location filename="../PipInterface/Pip.py" line="581" />
+      <location filename="../PipInterface/Pip.py" line="571" />
+      <source>Install 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="702" />
       <location filename="../PipInterface/Pip.py" line="572" />
-      <location filename="../PipInterface/Pip.py" line="563" />
-      <source>Uninstall Packages</source>
-      <translation type="unfinished">卸载包</translation>
+      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="582" />
+      <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../PipInterface/Pip.py" line="601" />
-      <location filename="../PipInterface/Pip.py" line="564" />
+      <source>Install Packages from 'pyproject.toml'</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="729" />
+      <location filename="../PipInterface/Pip.py" line="658" />
+      <location filename="../PipInterface/Pip.py" line="630" />
+      <location filename="../PipInterface/Pip.py" line="621" />
+      <source>Uninstall Packages</source>
+      <translation type="unfinished">卸载包</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="730" />
+      <location filename="../PipInterface/Pip.py" line="659" />
+      <location filename="../PipInterface/Pip.py" line="622" />
       <source>Do you really want to uninstall these packages?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="610" />
+      <location filename="../PipInterface/Pip.py" line="675" />
       <source>Uninstall Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1009" />
+      <location filename="../PipInterface/Pip.py" line="712" />
+      <location filename="../PipInterface/Pip.py" line="701" />
+      <source>Uninstall 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="713" />
+      <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read. &lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="740" />
+      <source>Uninstall Packages from 'pyproject.toml'</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="1140" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1035" />
-      <location filename="../PipInterface/Pip.py" line="1026" />
+      <location filename="../PipInterface/Pip.py" line="1166" />
+      <location filename="../PipInterface/Pip.py" line="1157" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1027" />
+      <location filename="../PipInterface/Pip.py" line="1158" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1059" />
-      <location filename="../PipInterface/Pip.py" line="1052" />
+      <location filename="../PipInterface/Pip.py" line="1190" />
+      <location filename="../PipInterface/Pip.py" line="1183" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1053" />
+      <location filename="../PipInterface/Pip.py" line="1184" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1084" />
-      <location filename="../PipInterface/Pip.py" line="1076" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
+      <location filename="../PipInterface/Pip.py" line="1207" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1077" />
+      <location filename="../PipInterface/Pip.py" line="1208" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -58295,31 +58357,46 @@
     </message>
     <message>
       <location filename="../PipInterface/PipFileSelectionDialog.py" line="54" />
-      <source>Enter package file:</source>
+      <source>Enter 'pyproject.toml' file:</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../PipInterface/PipFileSelectionDialog.py" line="57" />
+      <source>Press to select the 'pyproject.toml' file through a file selection dialog.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipFileSelectionDialog.py" line="62" />
+      <source>TOML Files (*.toml);;All Files (*)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipFileSelectionDialog.py" line="64" />
+      <source>Enter package file:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipFileSelectionDialog.py" line="67" />
       <source>Press to select the package file through a file selection dialog.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipFileSelectionDialog.py" line="63" />
-      <source>Python Wheel (*.whl);;Archive Files (*.tar.gz *.zip);;All Files (*)</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PipInterface/PipFileSelectionDialog.py" line="70" />
-      <source>Enter file name:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/PipFileSelectionDialog.py" line="73" />
+      <source>Python Wheel (*.whl);;Archive Files (*.tar.gz *.zip);;All Files (*)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipFileSelectionDialog.py" line="80" />
+      <source>Enter file name:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipFileSelectionDialog.py" line="83" />
       <source>Press to select a file through a file selection dialog.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipFileSelectionDialog.py" line="75" />
+      <location filename="../PipInterface/PipFileSelectionDialog.py" line="85" />
       <source>All Files (*)</source>
       <translation type="unfinished">所有文件 (*)</translation>
     </message>
@@ -58594,37 +58671,37 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackageDetailsDialog.py" line="267" />
+      <location filename="../PipInterface/PipPackageDetailsDialog.py" line="275" />
       <source>&lt;h3&gt;{0}&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;Installed Version:&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Affected Version:&lt;/td&gt;&lt;td&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Advisory:&lt;/td&gt;&lt;td&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackageDetailsDialog.py" line="302" />
+      <location filename="../PipInterface/PipPackageDetailsDialog.py" line="310" />
       <source>any</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackageDetailsDialog.py" line="338" />
+      <location filename="../PipInterface/PipPackageDetailsDialog.py" line="346" />
       <source>B</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackageDetailsDialog.py" line="341" />
+      <location filename="../PipInterface/PipPackageDetailsDialog.py" line="349" />
       <source>KB</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackageDetailsDialog.py" line="344" />
+      <location filename="../PipInterface/PipPackageDetailsDialog.py" line="352" />
       <source>MB</source>
       <translation type="unfinished">兆字节</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackageDetailsDialog.py" line="347" />
+      <location filename="../PipInterface/PipPackageDetailsDialog.py" line="355" />
       <source>GB</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackageDetailsDialog.py" line="348" />
+      <location filename="../PipInterface/PipPackageDetailsDialog.py" line="356" />
       <source>{0:.1f} {1}</source>
       <comment>value, unit</comment>
       <translation type="unfinished" />
@@ -59217,7 +59294,7 @@
       <translation type="unfinished">安装</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1436" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1445" />
       <location filename="../PipInterface/PipPackagesWidget.py" line="1268" />
       <source>Install Packages</source>
       <translation type="unfinished" />
@@ -59254,107 +59331,117 @@
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="1293" />
-      <source>Generate Constraints...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1300" />
-      <source>Cache</source>
+      <source>Install from 'pyproject.toml'</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1297" />
+      <source>Uninstall from 'pyproject.toml'</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="1302" />
-      <source>Show Cache Info...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1305" />
-      <source>Show Cached Files...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1308" />
-      <source>Remove Cached Files...</source>
+      <source>Generate Constraints...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1309" />
+      <source>Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="1311" />
+      <source>Show Cache Info...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1314" />
+      <source>Show Cached Files...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1317" />
+      <source>Remove Cached Files...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1320" />
       <source>Purge Cache...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1328" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1337" />
       <source>Show Licenses...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1332" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1341" />
       <source>Check Vulnerabilities</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1336" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1345" />
       <source>Update Vulnerability Database</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1340" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1349" />
       <source>Create SBOM file</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1347" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1356" />
       <source>Edit User Configuration...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1350" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1359" />
       <source>Edit Environment Configuration...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1355" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1364" />
       <source>Configure...</source>
       <translation type="unfinished">配置…</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1579" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1566" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1555" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1608" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1595" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1584" />
       <source>Edit Configuration</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1580" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1567" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1556" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1609" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1596" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1585" />
       <source>No valid configuration path determined. Aborting</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1789" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1818" />
       <source>{0} {1}</source>
       <comment>package name, package version</comment>
       <translation type="unfinished">{0} {1}</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1810" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1839" />
       <source>Affected Version:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1813" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1842" />
       <source>Advisory:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1948" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1923" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1977" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1952" />
       <source>unknown</source>
       <translation type="unfinished">未知</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1945" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1974" />
       <source>any</source>
       <translation type="unfinished" />
     </message>
@@ -60739,18 +60826,18 @@
   <context>
     <name>Preferences</name>
     <message>
-      <location filename="../Preferences/__init__.py" line="1894" />
+      <location filename="../Preferences/__init__.py" line="1895" />
       <source>Export Preferences</source>
       <translation>导出首选项</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1923" />
-      <location filename="../Preferences/__init__.py" line="1896" />
+      <location filename="../Preferences/__init__.py" line="1924" />
+      <location filename="../Preferences/__init__.py" line="1897" />
       <source>Properties File (*.ini);;All Files (*)</source>
       <translation>属性文件 (*.ini);;所有文件 (*)</translation>
     </message>
     <message>
-      <location filename="../Preferences/__init__.py" line="1921" />
+      <location filename="../Preferences/__init__.py" line="1922" />
       <source>Import Preferences</source>
       <translation>导入首选项</translation>
     </message>
@@ -61504,8 +61591,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1436" />
-      <location filename="../Project/Project.py" line="1418" />
+      <location filename="../Project/Project.py" line="1433" />
+      <location filename="../Project/Project.py" line="1415" />
       <location filename="../Project/Project.py" line="1391" />
       <location filename="../Project/Project.py" line="1338" />
       <location filename="../Project/Project.py" line="1310" />
@@ -61541,1459 +61628,1479 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1417" />
+      <location filename="../Project/Project.py" line="1414" />
       <source>Save Debugger Properties</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1449" />
-      <location filename="../Project/Project.py" line="1435" />
+      <location filename="../Project/Project.py" line="1446" />
+      <location filename="../Project/Project.py" line="1432" />
       <source>Delete Debugger Properties</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1450" />
+      <location filename="../Project/Project.py" line="1447" />
       <source>&lt;p&gt;The project debugger properties file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1617" />
+      <location filename="../Project/Project.py" line="1614" />
       <source>Add Language</source>
       <translation>添加语言</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1618" />
+      <location filename="../Project/Project.py" line="1615" />
       <source>You have to specify a translation pattern first.</source>
       <translation>必须先指定一个翻译样式。</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1756" />
-      <location filename="../Project/Project.py" line="1730" />
+      <location filename="../Project/Project.py" line="1753" />
+      <location filename="../Project/Project.py" line="1727" />
       <source>Delete translation</source>
       <translation>删除翻译</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1757" />
-      <location filename="../Project/Project.py" line="1731" />
+      <location filename="../Project/Project.py" line="1754" />
+      <location filename="../Project/Project.py" line="1728" />
       <source>&lt;p&gt;The selected translation file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1891" />
-      <location filename="../Project/Project.py" line="1878" />
-      <location filename="../Project/Project.py" line="1864" />
+      <location filename="../Project/Project.py" line="1888" />
+      <location filename="../Project/Project.py" line="1875" />
+      <location filename="../Project/Project.py" line="1861" />
       <source>Add file</source>
       <translation>添加文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1963" />
-      <location filename="../Project/Project.py" line="1865" />
+      <location filename="../Project/Project.py" line="1960" />
+      <location filename="../Project/Project.py" line="1862" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists.&lt;/p&gt;&lt;p&gt;Overwrite it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1879" />
+      <location filename="../Project/Project.py" line="1876" />
       <source>&lt;p&gt;The selected file &lt;b&gt;{0}&lt;/b&gt; could not be added to &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {2}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2042" />
-      <location filename="../Project/Project.py" line="1892" />
+      <location filename="../Project/Project.py" line="2039" />
+      <location filename="../Project/Project.py" line="1889" />
       <source>The target directory must not be empty.</source>
       <translation>目标文件夹不能为空。</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2053" />
-      <location filename="../Project/Project.py" line="2041" />
-      <location filename="../Project/Project.py" line="1962" />
-      <location filename="../Project/Project.py" line="1943" />
-      <location filename="../Project/Project.py" line="1927" />
+      <location filename="../Project/Project.py" line="2050" />
+      <location filename="../Project/Project.py" line="2038" />
+      <location filename="../Project/Project.py" line="1959" />
+      <location filename="../Project/Project.py" line="1940" />
+      <location filename="../Project/Project.py" line="1924" />
       <source>Add directory</source>
       <translation>添加文件夹</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1928" />
+      <location filename="../Project/Project.py" line="1925" />
       <source>&lt;p&gt;The source directory doesn't contain any files belonging to the selected category.&lt;/p&gt;</source>
       <translation>&lt;p&gt;源文件夹不包含任何属于所选类别的文件。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1944" />
+      <location filename="../Project/Project.py" line="1941" />
       <source>&lt;p&gt;The target directory &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2054" />
+      <location filename="../Project/Project.py" line="2051" />
       <source>The source directory must not be empty.</source>
       <translation>源文件夹不能为空。</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2121" />
+      <location filename="../Project/Project.py" line="2118" />
       <source>Rename file</source>
       <translation>重命名文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2148" />
-      <location filename="../Project/Project.py" line="2133" />
+      <location filename="../Project/Project.py" line="2145" />
+      <location filename="../Project/Project.py" line="2130" />
       <source>Rename File</source>
       <translation>重命名文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3335" />
-      <location filename="../Project/Project.py" line="2134" />
+      <location filename="../Project/Project.py" line="3332" />
+      <location filename="../Project/Project.py" line="2131" />
       <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;文件 &lt;b&gt;{0}&lt;/b&gt; 已经存在。是否覆盖?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2149" />
+      <location filename="../Project/Project.py" line="2146" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be renamed.&lt;br /&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2377" />
+      <location filename="../Project/Project.py" line="2374" />
       <source>Delete file</source>
       <translation>删除文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2378" />
+      <location filename="../Project/Project.py" line="2375" />
       <source>&lt;p&gt;The selected file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2406" />
+      <location filename="../Project/Project.py" line="2403" />
       <source>Delete directory</source>
       <translation>删除文件夹</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2407" />
+      <location filename="../Project/Project.py" line="2404" />
       <source>&lt;p&gt;The selected directory &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2509" />
+      <location filename="../Project/Project.py" line="2506" />
       <source>Create project directory</source>
       <translation>创建项目文件夹</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2510" />
+      <location filename="../Project/Project.py" line="2507" />
       <source>&lt;p&gt;The project directory &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3137" />
-      <location filename="../Project/Project.py" line="2573" />
+      <location filename="../Project/Project.py" line="3134" />
+      <location filename="../Project/Project.py" line="2570" />
       <source>Create project management directory</source>
       <translation>创建项目管理目录</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3138" />
-      <location filename="../Project/Project.py" line="2574" />
+      <location filename="../Project/Project.py" line="3135" />
+      <location filename="../Project/Project.py" line="2571" />
       <source>&lt;p&gt;The project directory &lt;b&gt;{0}&lt;/b&gt; is not writable.&lt;/p&gt;</source>
       <translation>&lt;p&gt;项目目录 &lt;b&gt;{0}&lt;/b&gt; 不可写。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2596" />
+      <location filename="../Project/Project.py" line="2593" />
       <source>Create main script</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2597" />
+      <location filename="../Project/Project.py" line="2594" />
       <source>&lt;p&gt;The mainscript &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2942" />
-      <location filename="../Project/Project.py" line="2621" />
+      <location filename="../Project/Project.py" line="2939" />
+      <location filename="../Project/Project.py" line="2618" />
       <source>Create Makefile</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2943" />
-      <location filename="../Project/Project.py" line="2622" />
+      <location filename="../Project/Project.py" line="2940" />
+      <location filename="../Project/Project.py" line="2619" />
       <source>&lt;p&gt;The makefile &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3166" />
-      <location filename="../Project/Project.py" line="2759" />
-      <location filename="../Project/Project.py" line="2730" />
-      <location filename="../Project/Project.py" line="2687" />
-      <location filename="../Project/Project.py" line="2662" />
-      <location filename="../Project/Project.py" line="2632" />
+      <location filename="../Project/Project.py" line="3163" />
+      <location filename="../Project/Project.py" line="2756" />
+      <location filename="../Project/Project.py" line="2727" />
+      <location filename="../Project/Project.py" line="2684" />
+      <location filename="../Project/Project.py" line="2659" />
+      <location filename="../Project/Project.py" line="2629" />
       <source>New Project</source>
       <translation>新建项目</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2633" />
+      <location filename="../Project/Project.py" line="2630" />
       <source>Add existing files to the project?</source>
       <translation>是否将已有文件添加到项目中?</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3167" />
-      <location filename="../Project/Project.py" line="2663" />
+      <location filename="../Project/Project.py" line="3164" />
+      <location filename="../Project/Project.py" line="2660" />
       <source>Select Version Control System</source>
       <translation>选择版本控制系统</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2760" />
-      <location filename="../Project/Project.py" line="2688" />
+      <location filename="../Project/Project.py" line="2757" />
+      <location filename="../Project/Project.py" line="2685" />
       <source>Would you like to edit the VCS command options?</source>
       <translation>是否编辑版本控制系统命令选项?</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4160" />
-      <location filename="../Project/Project.py" line="2703" />
+      <location filename="../Project/Project.py" line="4157" />
+      <location filename="../Project/Project.py" line="2700" />
       <source>New project</source>
       <translation>新建项目</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2704" />
+      <location filename="../Project/Project.py" line="2701" />
       <source>Shall the project file be added to the repository?</source>
       <translation>是否将项目文件添加到仓库?</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2736" />
-      <location filename="../Project/Project.py" line="2725" />
+      <location filename="../Project/Project.py" line="2733" />
+      <location filename="../Project/Project.py" line="2722" />
       <source>None</source>
       <translation>无</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2731" />
+      <location filename="../Project/Project.py" line="2728" />
       <source>Select version control system for the project</source>
       <translation>为项目选择版本控制系统</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2868" />
+      <location filename="../Project/Project.py" line="2865" />
       <source>Translation Pattern</source>
       <translation>翻译样式</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2869" />
+      <location filename="../Project/Project.py" line="2866" />
       <source>Enter the path pattern for translation files (use '%language%' in place of the language code):</source>
       <translation>为翻译文件输入路径样式(在语言代码的相应位置使用“'%language%”):</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4180" />
-      <location filename="../Project/Project.py" line="3116" />
+      <location filename="../Project/Project.py" line="4177" />
+      <location filename="../Project/Project.py" line="3113" />
       <source>Open project</source>
       <translation>打开项目</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3320" />
-      <location filename="../Project/Project.py" line="3310" />
-      <location filename="../Project/Project.py" line="3118" />
+      <location filename="../Project/Project.py" line="3317" />
+      <location filename="../Project/Project.py" line="3307" />
+      <location filename="../Project/Project.py" line="3115" />
       <source>Project Files (*.epj)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3318" />
+      <location filename="../Project/Project.py" line="3315" />
       <source>Save Project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3334" />
+      <location filename="../Project/Project.py" line="3331" />
       <source>Save File</source>
       <translation>保存文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3374" />
+      <location filename="../Project/Project.py" line="3371" />
       <source>Close Project</source>
       <translation>关闭项目</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3375" />
+      <location filename="../Project/Project.py" line="3372" />
       <source>The current project has unsaved changes.</source>
       <translation>当前项目的更改未保存。</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3568" />
-      <location filename="../Project/Project.py" line="3532" />
+      <location filename="../Project/Project.py" line="3565" />
+      <location filename="../Project/Project.py" line="3529" />
       <source>Syntax errors detected</source>
       <translation>检测到语法错误</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Project/Project.py" line="3569" />
-      <location filename="../Project/Project.py" line="3533" />
+      <location filename="../Project/Project.py" line="3566" />
+      <location filename="../Project/Project.py" line="3530" />
       <source>The project contains %n file(s) with syntax errors.</source>
       <translation>
         <numerusform>项目包含 %n 文件有语法错误。</numerusform>
       </translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4162" />
+      <location filename="../Project/Project.py" line="4159" />
       <source>&amp;New...</source>
       <translation>新建(&amp;N)…</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4168" />
+      <location filename="../Project/Project.py" line="4165" />
       <source>Generate a new project</source>
       <translation>生成新项目</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4170" />
+      <location filename="../Project/Project.py" line="4167" />
       <source>&lt;b&gt;New...&lt;/b&gt;&lt;p&gt;This opens a dialog for entering the info for a new project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;新建…&lt;/b&gt;&lt;p&gt;打开一个对话框为新项目输入信息。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4182" />
+      <location filename="../Project/Project.py" line="4179" />
       <source>&amp;Open...</source>
       <translation>打开(&amp;O)…</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4188" />
+      <location filename="../Project/Project.py" line="4185" />
       <source>Open an existing project</source>
       <translation>打开一个已有项目</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4190" />
+      <location filename="../Project/Project.py" line="4187" />
       <source>&lt;b&gt;Open...&lt;/b&gt;&lt;p&gt;This opens an existing project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;打开…&lt;/b&gt;&lt;p&gt;打开一个已有项目。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4196" />
+      <location filename="../Project/Project.py" line="4193" />
       <source>Reload project</source>
       <translation>重新载入项目</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4198" />
+      <location filename="../Project/Project.py" line="4195" />
       <source>Re&amp;load</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4204" />
+      <location filename="../Project/Project.py" line="4201" />
       <source>Reload the current project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4206" />
+      <location filename="../Project/Project.py" line="4203" />
       <source>&lt;b&gt;Reload&lt;/b&gt;&lt;p&gt;This reloads the current project.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4212" />
+      <location filename="../Project/Project.py" line="4209" />
       <source>Close project</source>
       <translation>关闭项目</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4214" />
+      <location filename="../Project/Project.py" line="4211" />
       <source>&amp;Close</source>
       <translation>关闭(&amp;C)</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4220" />
+      <location filename="../Project/Project.py" line="4217" />
       <source>Close the current project</source>
       <translation>关闭当前项目</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4222" />
+      <location filename="../Project/Project.py" line="4219" />
       <source>&lt;b&gt;Close&lt;/b&gt;&lt;p&gt;This closes the current project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;关闭&lt;/b&gt;&lt;p&gt;关闭当前项目。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4228" />
+      <location filename="../Project/Project.py" line="4225" />
       <source>Save project</source>
       <translation>保存项目</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4503" />
-      <location filename="../Project/Project.py" line="4230" />
+      <location filename="../Project/Project.py" line="4500" />
+      <location filename="../Project/Project.py" line="4227" />
       <source>&amp;Save</source>
       <translation>保存(&amp;S)</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4236" />
+      <location filename="../Project/Project.py" line="4233" />
       <source>Save the current project</source>
       <translation>保存当前项目</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4238" />
+      <location filename="../Project/Project.py" line="4235" />
       <source>&lt;b&gt;Save&lt;/b&gt;&lt;p&gt;This saves the current project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;保存&lt;/b&gt;&lt;p&gt;保存当前项目&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4244" />
+      <location filename="../Project/Project.py" line="4241" />
       <source>Save project as</source>
       <translation>项目另存为</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4246" />
+      <location filename="../Project/Project.py" line="4243" />
       <source>Save &amp;as...</source>
       <translation>另存为(&amp;A)…</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4252" />
+      <location filename="../Project/Project.py" line="4249" />
       <source>Save the current project to a new file</source>
       <translation>将当前项目另存为一个新文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4254" />
+      <location filename="../Project/Project.py" line="4251" />
       <source>&lt;b&gt;Save as&lt;/b&gt;&lt;p&gt;This saves the current project to a new file.&lt;/p&gt;</source>
       <translation>&lt;b&gt;另存为&lt;/b&gt;&lt;p&gt;将当前项目另存为一个新文件。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4269" />
+      <location filename="../Project/Project.py" line="4266" />
       <source>Add files to project</source>
       <translation>将文件添加到项目中</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4271" />
+      <location filename="../Project/Project.py" line="4268" />
       <source>Add &amp;files...</source>
       <translation>添加文件(&amp;F)…</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4277" />
+      <location filename="../Project/Project.py" line="4274" />
       <source>Add files to the current project</source>
       <translation>将文件添加到当前项目中</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4279" />
+      <location filename="../Project/Project.py" line="4276" />
       <source>&lt;b&gt;Add files...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding files to the current project. The place to add is determined by the file extension.&lt;/p&gt;</source>
       <translation>&lt;b&gt;添加文件…&lt;/b&gt;&lt;p&gt;打开一个对话框为当前项目添加文件。添加的位置由文件扩展名决定。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4290" />
+      <location filename="../Project/Project.py" line="4287" />
       <source>Add directory to project</source>
       <translation>将文件夹添加到项目中</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4292" />
+      <location filename="../Project/Project.py" line="4289" />
       <source>Add directory...</source>
       <translation>添加文件夹…</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4296" />
+      <source>Add a directory to the current project</source>
+      <translation>为当前工程添加文件夹</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4299" />
-      <source>Add a directory to the current project</source>
-      <translation>为当前工程添加文件夹</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4302" />
       <source>&lt;b&gt;Add directory...&lt;/b&gt;&lt;p&gt;This opens a dialog for adding a directory to the current project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;添加文件夹…&lt;/b&gt;&lt;p&gt;打开一个对话框将文件夹添加到当前项目中。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4312" />
+      <location filename="../Project/Project.py" line="4309" />
       <source>Add translation to project</source>
       <translation>将翻译添加到项目中</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4314" />
+      <location filename="../Project/Project.py" line="4311" />
       <source>Add &amp;translation...</source>
       <translation>添加翻译(&amp;T)…</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4318" />
+      <source>Add a translation to the current project</source>
+      <translation>将翻译添加到当前项目中</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4321" />
-      <source>Add a translation to the current project</source>
-      <translation>将翻译添加到当前项目中</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4324" />
       <source>&lt;b&gt;Add translation...&lt;/b&gt;&lt;p&gt;This opens a dialog for add a translation to the current project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;添加翻译…&lt;/b&gt;&lt;p&gt;打开一个对话框将翻译添加到当前项目中。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4334" />
+      <location filename="../Project/Project.py" line="4331" />
       <source>Search new files</source>
       <translation>搜索新文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4335" />
+      <location filename="../Project/Project.py" line="4332" />
       <source>Searc&amp;h new files...</source>
       <translation>搜索新文件(&amp;H)…</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4341" />
+      <location filename="../Project/Project.py" line="4338" />
       <source>Search new files in the project directory.</source>
       <translation>在项目文件夹中搜索新文件。</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4343" />
+      <location filename="../Project/Project.py" line="4340" />
       <source>&lt;b&gt;Search new files...&lt;/b&gt;&lt;p&gt;This searches for new files (sources, forms, ...) in the project directory and registered subdirectories.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4353" />
+      <location filename="../Project/Project.py" line="4350" />
       <source>Search Project File</source>
       <translation type="unfinished">搜索项目文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4354" />
+      <location filename="../Project/Project.py" line="4351" />
       <source>Search Project File...</source>
       <translation type="unfinished">搜索项目文件…</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4355" />
+      <location filename="../Project/Project.py" line="4352" />
       <source>Alt+Ctrl+P</source>
       <comment>Project|Search Project File</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4360" />
+      <location filename="../Project/Project.py" line="4357" />
       <source>Search for a file in the project list of files.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4362" />
+      <location filename="../Project/Project.py" line="4359" />
       <source>&lt;b&gt;Search Project File&lt;/b&gt;&lt;p&gt;This searches for a file in the project list of files.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4371" />
+      <location filename="../Project/Project.py" line="4368" />
       <source>Project properties</source>
       <translation>项目属性</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4373" />
+      <location filename="../Project/Project.py" line="4370" />
       <source>&amp;Properties...</source>
       <translation>属性(&amp;P)…</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4379" />
+      <location filename="../Project/Project.py" line="4376" />
       <source>Show the project properties</source>
       <translation>显示项目属性</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4381" />
+      <location filename="../Project/Project.py" line="4378" />
       <source>&lt;b&gt;Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the project properties.&lt;/p&gt;</source>
       <translation>&lt;b&gt;属性…&lt;/b&gt;&lt;p&gt;显示一个对话框可编辑项目属性。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4390" />
+      <location filename="../Project/Project.py" line="4387" />
       <source>User project properties</source>
       <translation>用户项目属性</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4392" />
+      <location filename="../Project/Project.py" line="4389" />
       <source>&amp;User Properties...</source>
       <translation>用户属性(&amp;U)…</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4396" />
+      <source>Show the user specific project properties</source>
+      <translation>显示用户指定的项目属性</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4399" />
-      <source>Show the user specific project properties</source>
-      <translation>显示用户指定的项目属性</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4402" />
       <source>&lt;b&gt;User Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the user specific project properties.&lt;/p&gt;</source>
       <translation>&lt;b&gt;用户属性…&lt;/b&gt;&lt;p&gt;显示一个对话框可编辑用户指定的项目属性。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4412" />
+      <location filename="../Project/Project.py" line="4409" />
       <source>Filetype Associations</source>
       <translation>文件类型关联</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4413" />
+      <location filename="../Project/Project.py" line="4410" />
       <source>Filetype Associations...</source>
       <translation>文件类型关联…</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4417" />
+      <source>Show the project file type associations</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4420" />
-      <source>Show the project file type associations</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4423" />
       <source>&lt;b&gt;Filetype Associations...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the file type associations of the project. These associations determine the type (source, form, interface, protocol or others) with a filename pattern. They are used when adding a file to the project and when performing a search for new files.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4436" />
+      <location filename="../Project/Project.py" line="4433" />
       <source>Lexer Associations</source>
       <translation type="unfinished">词法分析器联想</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4437" />
+      <location filename="../Project/Project.py" line="4434" />
       <source>Lexer Associations...</source>
       <translation type="unfinished">词法分析器联想…</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4441" />
+      <source>Show the project lexer associations (overriding defaults)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4444" />
-      <source>Show the project lexer associations (overriding defaults)</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4447" />
       <source>&lt;b&gt;Lexer Associations...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit the lexer associations of the project. These associations override the global lexer associations. Lexers are used to highlight the editor text.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4465" />
+      <location filename="../Project/Project.py" line="4462" />
       <source>Debugger Properties</source>
       <translation>调试器属性</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4466" />
+      <location filename="../Project/Project.py" line="4463" />
       <source>Debugger &amp;Properties...</source>
       <translation>调试器属性(&amp;P)…</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4472" />
+      <location filename="../Project/Project.py" line="4469" />
       <source>Show the debugger properties</source>
       <translation>显示调试器属性</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4474" />
+      <location filename="../Project/Project.py" line="4471" />
       <source>&lt;b&gt;Debugger Properties...&lt;/b&gt;&lt;p&gt;This shows a dialog to edit project specific debugger settings.&lt;/p&gt;</source>
       <translation>&lt;b&gt;调试器属性…&lt;/b&gt;&lt;p&gt;显示一个对话框以编辑项目指定的调试器设定。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4484" />
+      <location filename="../Project/Project.py" line="4481" />
       <source>Load</source>
       <translation>载入</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4485" />
+      <location filename="../Project/Project.py" line="4482" />
       <source>&amp;Load</source>
       <translation>载入(&amp;L)</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4491" />
+      <location filename="../Project/Project.py" line="4488" />
       <source>Load the debugger properties</source>
       <translation>载入调试器属性</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4493" />
+      <location filename="../Project/Project.py" line="4490" />
       <source>&lt;b&gt;Load Debugger Properties&lt;/b&gt;&lt;p&gt;This loads the project specific debugger settings.&lt;/p&gt;</source>
       <translation>&lt;b&gt;载入调试器属性&lt;/b&gt;&lt;p&gt;载入项目指定的调试器设定。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4502" />
+      <location filename="../Project/Project.py" line="4499" />
       <source>Save</source>
       <translation>保存</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4509" />
+      <location filename="../Project/Project.py" line="4506" />
       <source>Save the debugger properties</source>
       <translation>保存调试器属性</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4511" />
+      <location filename="../Project/Project.py" line="4508" />
       <source>&lt;b&gt;Save Debugger Properties&lt;/b&gt;&lt;p&gt;This saves the project specific debugger settings.&lt;/p&gt;</source>
       <translation>&lt;b&gt;保存调试器属性&lt;/b&gt;&lt;p&gt;保存项目指定的调试器设置。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4520" />
+      <location filename="../Project/Project.py" line="4517" />
       <source>Delete</source>
       <translation>删除</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4521" />
+      <location filename="../Project/Project.py" line="4518" />
       <source>&amp;Delete</source>
       <translation>删除(&amp;D)</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4527" />
+      <location filename="../Project/Project.py" line="4524" />
       <source>Delete the debugger properties</source>
       <translation>删除调试器属性</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4529" />
+      <location filename="../Project/Project.py" line="4526" />
       <source>&lt;b&gt;Delete Debugger Properties&lt;/b&gt;&lt;p&gt;This deletes the file containing the project specific debugger settings.&lt;/p&gt;</source>
       <translation>&lt;b&gt;删除调试器属性&lt;/b&gt;&lt;p&gt;删除包含项目指定调试器设置的文件。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4539" />
+      <location filename="../Project/Project.py" line="4536" />
       <source>Reset</source>
       <translation>重置</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4540" />
+      <location filename="../Project/Project.py" line="4537" />
       <source>&amp;Reset</source>
       <translation>重置(&amp;R)</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4546" />
+      <location filename="../Project/Project.py" line="4543" />
       <source>Reset the debugger properties</source>
       <translation>重围调试器属性</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4548" />
+      <location filename="../Project/Project.py" line="4545" />
       <source>&lt;b&gt;Reset Debugger Properties&lt;/b&gt;&lt;p&gt;This resets the project specific debugger settings.&lt;/p&gt;</source>
       <translation>&lt;b&gt;重置调试器属性&lt;/b&gt;&lt;p&gt;重置项目指定的调试器设置。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4564" />
-      <location filename="../Project/Project.py" line="4563" />
+      <location filename="../Project/Project.py" line="4561" />
+      <location filename="../Project/Project.py" line="4560" />
       <source>Load session</source>
       <translation>载入会话</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4570" />
+      <location filename="../Project/Project.py" line="4567" />
       <source>Load the projects session file.</source>
       <translation>载入项目会话文件。</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4572" />
+      <location filename="../Project/Project.py" line="4569" />
       <source>&lt;b&gt;Load session&lt;/b&gt;&lt;p&gt;This loads the projects session file. The session consists of the following data.&lt;br&gt;- all open source files&lt;br&gt;- all breakpoint&lt;br&gt;- the commandline arguments&lt;br&gt;- the working directory&lt;br&gt;- the exception reporting flag&lt;/p&gt;</source>
       <translation>&lt;b&gt;载入会话&lt;/b&gt;&lt;p&gt;载入项目会话文件。会话包括如下数据。&lt;br&gt;- 所有打开的源文件&lt;br&gt;- 所有断点&lt;br&gt;- 命令行参数&lt;br&gt;- 工作文件夹&lt;br&gt;- 异常报告标志&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4588" />
-      <location filename="../Project/Project.py" line="4587" />
+      <location filename="../Project/Project.py" line="4585" />
+      <location filename="../Project/Project.py" line="4584" />
       <source>Save session</source>
       <translation>保存会话</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4594" />
+      <location filename="../Project/Project.py" line="4591" />
       <source>Save the projects session file.</source>
       <translation>保存项目会话文件。</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4596" />
+      <location filename="../Project/Project.py" line="4593" />
       <source>&lt;b&gt;Save session&lt;/b&gt;&lt;p&gt;This saves the projects session file. The session consists of the following data.&lt;br&gt;- all open source files&lt;br&gt;- all breakpoint&lt;br&gt;- the commandline arguments&lt;br&gt;- the working directory&lt;br&gt;- the exception reporting flag&lt;/p&gt;</source>
       <translation>&lt;b&gt;保存会话&lt;/b&gt;&lt;p&gt;保存项目会话文件。会话包括如下数据。&lt;br&gt;- 所有打开的源文件&lt;br&gt;- 所有断点&lt;br&gt;- 命令行参数&lt;br&gt;- 工作文件夹&lt;br&gt;- 异常报告标志&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4612" />
-      <location filename="../Project/Project.py" line="4611" />
+      <location filename="../Project/Project.py" line="4609" />
+      <location filename="../Project/Project.py" line="4608" />
       <source>Delete session</source>
       <translation>删除会话</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4618" />
+      <location filename="../Project/Project.py" line="4615" />
       <source>Delete the projects session file.</source>
       <translation>删除项目会话文件。</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4620" />
+      <location filename="../Project/Project.py" line="4617" />
       <source>&lt;b&gt;Delete session&lt;/b&gt;&lt;p&gt;This deletes the projects session file&lt;/p&gt;</source>
       <translation>&lt;b&gt;删除会话&lt;/b&gt;&lt;p&gt;删除项目会话文件&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4635" />
+      <location filename="../Project/Project.py" line="4632" />
       <source>Code Metrics</source>
       <translation>代码度量</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4636" />
+      <location filename="../Project/Project.py" line="4633" />
       <source>&amp;Code Metrics...</source>
       <translation>代码度量(&amp;C)…</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4640" />
+      <source>Show some code metrics for the project.</source>
+      <translation>显示项目的部分代码度量。</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4643" />
-      <source>Show some code metrics for the project.</source>
-      <translation>显示项目的部分代码度量。</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4646" />
       <source>&lt;b&gt;Code Metrics...&lt;/b&gt;&lt;p&gt;This shows some code metrics for all Python files in the project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;代码度量…&lt;/b&gt;&lt;p&gt;显示项目中所有 Python 文件的部分代码度量。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4656" />
+      <location filename="../Project/Project.py" line="4653" />
       <source>Python Code Coverage</source>
       <translation>Python 代码覆盖率</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4657" />
+      <location filename="../Project/Project.py" line="4654" />
       <source>Code Co&amp;verage...</source>
       <translation>代码覆盖率(&amp;v)…</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4661" />
+      <source>Show code coverage information for the project.</source>
+      <translation>显示项目的代码覆盖率信息。</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4664" />
-      <source>Show code coverage information for the project.</source>
-      <translation>显示项目的代码覆盖率信息。</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4667" />
       <source>&lt;b&gt;Code Coverage...&lt;/b&gt;&lt;p&gt;This shows the code coverage information for all Python files in the project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;代码覆盖率…&lt;/b&gt;&lt;p&gt;显示项目中所有 Python 文件的代码覆盖率。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6003" />
-      <location filename="../Project/Project.py" line="5990" />
-      <location filename="../Project/Project.py" line="4677" />
+      <location filename="../Project/Project.py" line="6014" />
+      <location filename="../Project/Project.py" line="6001" />
+      <location filename="../Project/Project.py" line="4674" />
       <source>Profile Data</source>
       <translation>剖析数据</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4678" />
+      <location filename="../Project/Project.py" line="4675" />
       <source>&amp;Profile Data...</source>
       <translation>剖析数据(&amp;P)…</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4682" />
+      <source>Show profiling data for the project.</source>
+      <translation>显示项目的剖析数据。</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4685" />
-      <source>Show profiling data for the project.</source>
-      <translation>显示项目的剖析数据。</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4688" />
       <source>&lt;b&gt;Profile Data...&lt;/b&gt;&lt;p&gt;This shows the profiling data for the project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;剖析数据…&lt;/b&gt;&lt;p&gt;显示项目的剖析数据。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6055" />
-      <location filename="../Project/Project.py" line="4703" />
+      <location filename="../Project/Project.py" line="6066" />
+      <location filename="../Project/Project.py" line="4700" />
       <source>Application Diagram</source>
       <translation>应用程序图</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4704" />
+      <location filename="../Project/Project.py" line="4701" />
       <source>&amp;Application Diagram...</source>
       <translation>应用程序(&amp;A)图…</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4708" />
+      <source>Show a diagram of the project.</source>
+      <translation>显示项目图表。</translation>
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4711" />
-      <source>Show a diagram of the project.</source>
-      <translation>显示项目图表。</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4714" />
       <source>&lt;b&gt;Application Diagram...&lt;/b&gt;&lt;p&gt;This shows a diagram of the project.&lt;/p&gt;</source>
       <translation>&lt;b&gt;应用程序图…&lt;/b&gt;&lt;p&gt;显示项目的图表。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4723" />
+      <location filename="../Project/Project.py" line="4720" />
       <source>Load Diagram</source>
       <translation type="unfinished">加载图表</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4724" />
+      <location filename="../Project/Project.py" line="4721" />
       <source>&amp;Load Diagram...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4730" />
+      <location filename="../Project/Project.py" line="4727" />
       <source>Load a diagram from file.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4732" />
+      <location filename="../Project/Project.py" line="4729" />
       <source>&lt;b&gt;Load Diagram...&lt;/b&gt;&lt;p&gt;This loads a diagram from file.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6223" />
-      <location filename="../Project/Project.py" line="6168" />
-      <location filename="../Project/Project.py" line="4747" />
+      <location filename="../Project/Project.py" line="6234" />
+      <location filename="../Project/Project.py" line="6179" />
+      <location filename="../Project/Project.py" line="4744" />
       <source>Create Package List</source>
       <translation>创建程序包列表</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4749" />
+      <location filename="../Project/Project.py" line="4746" />
       <source>Create &amp;Package List</source>
       <translation type="unfinished">创建插件存档(&amp;A)</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4753" />
+      <source>Create an initial PKGLIST file for an eric plugin.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4756" />
-      <source>Create an initial PKGLIST file for an eric plugin.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4759" />
       <source>&lt;b&gt;Create Package List&lt;/b&gt;&lt;p&gt;This creates an initial list of files to include in an eric plugin archive. The list is created from the project file.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6293" />
-      <location filename="../Project/Project.py" line="4770" />
+      <location filename="../Project/Project.py" line="6304" />
+      <location filename="../Project/Project.py" line="4767" />
       <source>Create Plugin Archives</source>
       <translation type="unfinished">创建插件存档</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4772" />
+      <location filename="../Project/Project.py" line="4769" />
       <source>Create Plugin &amp;Archives</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4778" />
+      <location filename="../Project/Project.py" line="4775" />
       <source>Create eric plugin archive files.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4780" />
+      <location filename="../Project/Project.py" line="4777" />
       <source>&lt;b&gt;Create Plugin Archives&lt;/b&gt;&lt;p&gt;This creates eric plugin archive files using the list of files given in a PKGLIST* file. The archive name is built from the main script name if not designated in the package list file.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4792" />
+      <location filename="../Project/Project.py" line="4789" />
       <source>Create Plugin Archives (Snapshot)</source>
       <translation type="unfinished">创建插件存档(快照)</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4794" />
+      <location filename="../Project/Project.py" line="4791" />
       <source>Create Plugin Archives (&amp;Snapshot)</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4798" />
+      <source>Create eric plugin archive files (snapshot releases).</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4801" />
-      <source>Create eric plugin archive files (snapshot releases).</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4804" />
       <source>&lt;b&gt;Create Plugin Archives (Snapshot)&lt;/b&gt;&lt;p&gt;This creates eric plugin archive files using the list of files given in the PKGLIST* file. The archive name is built from the main script name if not designated in the package list file. The version entry of the main script is modified to reflect a snapshot release.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6729" />
-      <location filename="../Project/Project.py" line="6700" />
-      <location filename="../Project/Project.py" line="6654" />
-      <location filename="../Project/Project.py" line="4823" />
+      <location filename="../Project/Project.py" line="6740" />
+      <location filename="../Project/Project.py" line="6711" />
+      <location filename="../Project/Project.py" line="6665" />
+      <location filename="../Project/Project.py" line="4820" />
       <source>Execute Make</source>
       <translation>执行make</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4824" />
+      <location filename="../Project/Project.py" line="4821" />
       <source>&amp;Execute Make</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4830" />
+      <location filename="../Project/Project.py" line="4827" />
       <source>Perform a 'make' run.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4832" />
+      <location filename="../Project/Project.py" line="4829" />
       <source>&lt;b&gt;Execute Make&lt;/b&gt;&lt;p&gt;This performs a 'make' run to rebuild the configured target.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6706" />
-      <location filename="../Project/Project.py" line="4842" />
+      <location filename="../Project/Project.py" line="6717" />
+      <location filename="../Project/Project.py" line="4839" />
       <source>Test for Changes</source>
       <translation>测试变更</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4843" />
+      <location filename="../Project/Project.py" line="4840" />
       <source>&amp;Test for Changes</source>
       <translation>&amp;测试变更</translation>
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4847" />
+      <source>Question 'make', if a rebuild is needed.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4850" />
-      <source>Question 'make', if a rebuild is needed.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4853" />
       <source>&lt;b&gt;Test for Changes&lt;/b&gt;&lt;p&gt;This questions 'make', if a rebuild of the configured target is necessary.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4871" />
+      <location filename="../Project/Project.py" line="4868" />
       <source>Create SBOM File</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4872" />
+      <location filename="../Project/Project.py" line="4869" />
       <source>Create &amp;SBOM File</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Project/Project.py" line="4876" />
+      <source>Create a SBOM file of the project dependencies.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="4879" />
-      <source>Create a SBOM file of the project dependencies.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4882" />
       <source>&lt;b&gt;Create SBOM File&lt;/b&gt;&lt;p&gt;This allows the creation of a SBOM file of the project dependencies. This may be based on various input sources and will be saved as a CycloneDX SBOM file.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4899" />
+      <location filename="../Project/Project.py" line="4890" />
+      <source>Clear Byte Code Caches</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4891" />
+      <source>Clear Byte Code &amp;Caches</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4898" />
+      <source>Clear the byte code caches of the project.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4901" />
+      <source>&lt;b&gt;Clear Byte Code Caches&lt;/b&gt;&lt;p&gt;This deletes all directories containing byte code cache files.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4917" />
       <source>About Black</source>
       <translation type="unfinished">关于Black</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4900" />
+      <location filename="../Project/Project.py" line="4918" />
       <source>&amp;Black</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4906" />
+      <location filename="../Project/Project.py" line="4924" />
       <source>Show some information about 'Black'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4908" />
+      <location filename="../Project/Project.py" line="4926" />
       <source>&lt;b&gt;Black&lt;/b&gt;&lt;p&gt;This shows some information about the installed 'Black' tool.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4920" />
+      <location filename="../Project/Project.py" line="4938" />
       <source>Format Code</source>
       <translation type="unfinished">格式化代码</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4921" />
+      <location filename="../Project/Project.py" line="4939" />
       <source>&amp;Format Code</source>
       <translation type="unfinished">&amp;格式化代码</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4928" />
+      <location filename="../Project/Project.py" line="4946" />
       <source>Format the project sources with 'Black'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4931" />
+      <location filename="../Project/Project.py" line="4949" />
       <source>&lt;b&gt;Format Code&lt;/b&gt;&lt;p&gt;This shows a dialog to enter parameters for the formatting run and reformats the project sources using 'Black'.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4943" />
+      <location filename="../Project/Project.py" line="4961" />
       <source>Check Code Formatting</source>
       <translation>代码格式化</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4944" />
+      <location filename="../Project/Project.py" line="4962" />
       <source>&amp;Check Code Formatting</source>
       <translation type="unfinished">&amp;检查代码格式化</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4951" />
-      <source>Check, if the project sources need to be reformatted with 'Black'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4956" />
-      <source>&lt;b&gt;Check Code Formatting&lt;/b&gt;&lt;p&gt;This shows a dialog to enter parameters for the format check run and performs a check, if the project sources need to be reformatted using 'Black'.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Project/Project.py" line="4969" />
+      <source>Check, if the project sources need to be reformatted with 'Black'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4974" />
+      <source>&lt;b&gt;Check Code Formatting&lt;/b&gt;&lt;p&gt;This shows a dialog to enter parameters for the format check run and performs a check, if the project sources need to be reformatted using 'Black'.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4987" />
       <source>Code Formatting Diff</source>
       <translation type="unfinished">代码格式化差异</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4970" />
+      <location filename="../Project/Project.py" line="4988" />
       <source>Code Formatting &amp;Diff</source>
       <translation type="unfinished">代码格式化&amp;差异</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4977" />
+      <location filename="../Project/Project.py" line="4995" />
       <source>Generate a unified diff of potential project source reformatting with 'Black'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4983" />
+      <location filename="../Project/Project.py" line="5001" />
       <source>&lt;b&gt;Diff Code Formatting&lt;/b&gt;&lt;p&gt;This shows a dialog to enter parameters for the format diff run and generates a unified diff of potential project source reformatting using 'Black'.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5148" />
-      <location filename="../Project/Project.py" line="5098" />
-      <location filename="../Project/Project.py" line="5097" />
-      <location filename="../Project/Project.py" line="4997" />
-      <location filename="../Project/Project.py" line="4996" />
+      <location filename="../Project/Project.py" line="5166" />
+      <location filename="../Project/Project.py" line="5116" />
+      <location filename="../Project/Project.py" line="5115" />
+      <location filename="../Project/Project.py" line="5015" />
+      <location filename="../Project/Project.py" line="5014" />
       <source>Configure</source>
       <translation type="unfinished">配置</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5004" />
+      <location filename="../Project/Project.py" line="5022" />
       <source>Enter the parameters for formatting the project sources with 'Black'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5009" />
+      <location filename="../Project/Project.py" line="5027" />
       <source>&lt;b&gt;Configure&lt;/b&gt;&lt;p&gt;This shows a dialog to enter the parameters for formatting the project sources with 'Black'.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5025" />
+      <location filename="../Project/Project.py" line="5043" />
       <source>About isort</source>
       <translation type="unfinished">关于isort</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5026" />
+      <location filename="../Project/Project.py" line="5044" />
       <source>&amp;isort</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5032" />
+      <location filename="../Project/Project.py" line="5050" />
       <source>Show some information about 'isort'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5034" />
+      <location filename="../Project/Project.py" line="5052" />
       <source>&lt;b&gt;isort&lt;/b&gt;&lt;p&gt;This shows some information about the installed 'isort' tool.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5047" />
-      <location filename="../Project/Project.py" line="5046" />
+      <location filename="../Project/Project.py" line="5065" />
+      <location filename="../Project/Project.py" line="5064" />
       <source>Sort Imports</source>
       <translation type="unfinished">排序 Imports</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5054" />
+      <location filename="../Project/Project.py" line="5072" />
       <source>Sort the import statements of the project sources with 'isort'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5057" />
+      <location filename="../Project/Project.py" line="5075" />
       <source>&lt;b&gt;Sort Imports&lt;/b&gt;&lt;p&gt;This shows a dialog to enter parameters for the imports sorting run and sorts the import statements of the project sources using 'isort'.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5071" />
-      <location filename="../Project/Project.py" line="5070" />
+      <location filename="../Project/Project.py" line="5089" />
+      <location filename="../Project/Project.py" line="5088" />
       <source>Imports Sorting Diff</source>
       <translation type="unfinished">Imports 排序差异</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5078" />
+      <location filename="../Project/Project.py" line="5096" />
       <source>Generate a unified diff of potential project source imports resorting with 'isort'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5084" />
+      <location filename="../Project/Project.py" line="5102" />
       <source>&lt;b&gt;Imports Sorting Diff&lt;/b&gt;&lt;p&gt;This shows a dialog to enter parameters for the imports sorting diff run and generates a unified diff of potential project source changes using 'isort'.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5105" />
+      <location filename="../Project/Project.py" line="5123" />
       <source>Enter the parameters for resorting the project sources import statements with 'isort'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5111" />
+      <location filename="../Project/Project.py" line="5129" />
       <source>&lt;b&gt;Configure&lt;/b&gt;&lt;p&gt;This shows a dialog to enter the parameters for resorting the import statements of the project sources with 'isort'.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5127" />
+      <location filename="../Project/Project.py" line="5145" />
       <source>Install Project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5128" />
+      <location filename="../Project/Project.py" line="5146" />
       <source>&amp;Install Project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5135" />
+      <location filename="../Project/Project.py" line="5153" />
       <source>Install the project into the embedded environment.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5138" />
-      <source>&lt;b&gt;Install Project&lt;/b&gt;&lt;p&gt;This installs the project into the embedded virtual environment in editable mode (i.e. development mode).&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="5149" />
-      <source>&amp;Configure</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Project/Project.py" line="5156" />
+      <source>&lt;b&gt;Install Project&lt;/b&gt;&lt;p&gt;This installs the project into the embedded virtual environment in editable mode (i.e. development mode).&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="5167" />
+      <source>&amp;Configure</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="5174" />
       <source>Configure the embedded environment.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5159" />
+      <location filename="../Project/Project.py" line="5177" />
       <source>&lt;b&gt;Configure&lt;/b&gt;&lt;p&gt;This opens a dialog to configure the embedded virtual environment of the project.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5169" />
+      <location filename="../Project/Project.py" line="5187" />
       <source>Upgrade</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5170" />
+      <location filename="../Project/Project.py" line="5188" />
       <source>&amp;Upgrade</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5176" />
+      <location filename="../Project/Project.py" line="5194" />
       <source>Upgrade the embedded environment.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5178" />
+      <location filename="../Project/Project.py" line="5196" />
       <source>&lt;b&gt;Upgrade&lt;/b&gt;&lt;p&gt;This opens a dialog to enter the parameters to upgrade the embedded virtual environment of the project.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5190" />
+      <location filename="../Project/Project.py" line="5208" />
       <source>Recreate</source>
       <translation>重建</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5191" />
+      <location filename="../Project/Project.py" line="5209" />
       <source>&amp;Recreate</source>
       <translation>&amp;重建</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5197" />
+      <location filename="../Project/Project.py" line="5215" />
       <source>Recreate the embedded environment.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5199" />
+      <location filename="../Project/Project.py" line="5217" />
       <source>&lt;b&gt;Recreate&lt;/b&gt;&lt;p&gt;This opens a dialog to enter the parameters to recreate the embedded virtual environment of the project. The existing environment is cleared first.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5231" />
-      <source>&amp;Project</source>
-      <translation>项目(&amp;P)</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="5232" />
-      <source>Open &amp;Recent Projects</source>
-      <translation>打开最近的项目</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="5233" />
-      <source>Session</source>
-      <translation>会话</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="5234" />
-      <source>Debugger</source>
-      <translation>调试器</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="5235" />
-      <source>Embedded Environment</source>
-      <translation type="unfinished">内嵌环境</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="5237" />
-      <source>Project-T&amp;ools</source>
-      <translation>项目-工&amp;具</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="5238" />
-      <source>&amp;Version Control</source>
-      <translation>版本控制(&amp;V)</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="5242" />
-      <source>Chec&amp;k</source>
-      <translation>检查(&amp;K)</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="5244" />
-      <source>Code &amp;Formatting</source>
-      <translation type="unfinished">代码&amp;格式化</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="5246" />
-      <source>Sho&amp;w</source>
-      <translation>显示(&amp;W)</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="5247" />
-      <source>&amp;Diagrams</source>
-      <translation>图表(&amp;D)</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="5248" />
-      <source>Pac&amp;kagers</source>
-      <translation>打包程序(&amp;K)</translation>
-    </message>
-    <message>
       <location filename="../Project/Project.py" line="5249" />
-      <source>Source &amp;Documentation</source>
-      <translation>源文档(&amp;D)</translation>
+      <source>&amp;Project</source>
+      <translation>项目(&amp;P)</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="5250" />
+      <source>Open &amp;Recent Projects</source>
+      <translation>打开最近的项目</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="5251" />
-      <source>Make</source>
-      <translation type="unfinished" />
+      <source>Session</source>
+      <translation>会话</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="5252" />
+      <source>Debugger</source>
+      <translation>调试器</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="5253" />
+      <source>Embedded Environment</source>
+      <translation type="unfinished">内嵌环境</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="5255" />
+      <source>Project-T&amp;ools</source>
+      <translation>项目-工&amp;具</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="5256" />
+      <source>&amp;Version Control</source>
+      <translation>版本控制(&amp;V)</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="5260" />
+      <source>Chec&amp;k</source>
+      <translation>检查(&amp;K)</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="5262" />
+      <source>Code &amp;Formatting</source>
+      <translation type="unfinished">代码&amp;格式化</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="5264" />
+      <source>Sho&amp;w</source>
+      <translation>显示(&amp;W)</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="5265" />
+      <source>&amp;Diagrams</source>
+      <translation>图表(&amp;D)</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="5266" />
+      <source>Pac&amp;kagers</source>
+      <translation>打包程序(&amp;K)</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="5267" />
+      <source>Source &amp;Documentation</source>
+      <translation>源文档(&amp;D)</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="5269" />
+      <source>Make</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="5270" />
       <source>Other Tools</source>
       <translation>其它工具</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5413" />
-      <location filename="../Project/Project.py" line="5411" />
+      <location filename="../Project/Project.py" line="5431" />
+      <location filename="../Project/Project.py" line="5429" />
       <source>Project</source>
       <translation>项目</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5474" />
+      <location filename="../Project/Project.py" line="5492" />
       <source>&amp;Clear</source>
       <translation>清除(&amp;C)</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5636" />
+      <location filename="../Project/Project.py" line="5647" />
       <source>Search New Files</source>
       <translation>搜索新文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5637" />
+      <location filename="../Project/Project.py" line="5648" />
       <source>There were no new files found to be added.</source>
       <translation>没有要添加的新文件。</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5795" />
-      <location filename="../Project/Project.py" line="5782" />
+      <location filename="../Project/Project.py" line="5806" />
+      <location filename="../Project/Project.py" line="5793" />
       <source>Version Control System</source>
       <translation>版本控制系统</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5783" />
+      <location filename="../Project/Project.py" line="5794" />
       <source>&lt;p&gt;The selected VCS &lt;b&gt;{0}&lt;/b&gt; could not be found. &lt;br/&gt;Reverting override.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5796" />
+      <location filename="../Project/Project.py" line="5807" />
       <source>&lt;p&gt;The selected VCS &lt;b&gt;{0}&lt;/b&gt; could not be found.&lt;br/&gt;Disabling version control.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5945" />
+      <location filename="../Project/Project.py" line="5956" />
       <source>Coverage Data</source>
       <translation>覆盖率数据</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5991" />
-      <location filename="../Project/Project.py" line="5946" />
+      <location filename="../Project/Project.py" line="6002" />
+      <location filename="../Project/Project.py" line="5957" />
       <source>There is no main script defined for the current project. Aborting</source>
       <translation>当前项目未定义主脚本。终止</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5958" />
+      <location filename="../Project/Project.py" line="5969" />
       <source>Code Coverage</source>
       <translation>代码覆盖率</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5959" />
+      <location filename="../Project/Project.py" line="5970" />
       <source>Please select a coverage file</source>
       <translation>请选择一个覆盖率文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6004" />
+      <location filename="../Project/Project.py" line="6015" />
       <source>Please select a profile file</source>
       <translation>请选择一个剖析文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6056" />
+      <location filename="../Project/Project.py" line="6067" />
       <source>Include module names?</source>
       <translation>包含模块名?</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6169" />
+      <location filename="../Project/Project.py" line="6180" />
       <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; already exists.&lt;/p&gt;&lt;p&gt;Overwrite it?&lt;/p&gt;</source>
       <translation>&lt;p&gt;文件 &lt;b&gt;PKGLIST&lt;/b&gt; 已存在。&lt;/p&gt;&lt;p&gt;是否覆盖?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6224" />
+      <location filename="../Project/Project.py" line="6235" />
       <source>&lt;p&gt;The file &lt;b&gt;PKGLIST&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6520" />
-      <location filename="../Project/Project.py" line="6476" />
+      <location filename="../Project/Project.py" line="6531" />
+      <location filename="../Project/Project.py" line="6487" />
+      <location filename="../Project/Project.py" line="6437" />
       <location filename="../Project/Project.py" line="6426" />
-      <location filename="../Project/Project.py" line="6415" />
-      <location filename="../Project/Project.py" line="6397" />
-      <location filename="../Project/Project.py" line="6364" />
-      <location filename="../Project/Project.py" line="6334" />
-      <location filename="../Project/Project.py" line="6306" />
-      <location filename="../Project/Project.py" line="6276" />
-      <location filename="../Project/Project.py" line="6262" />
-      <location filename="../Project/Project.py" line="6245" />
+      <location filename="../Project/Project.py" line="6408" />
+      <location filename="../Project/Project.py" line="6375" />
+      <location filename="../Project/Project.py" line="6345" />
+      <location filename="../Project/Project.py" line="6317" />
+      <location filename="../Project/Project.py" line="6287" />
+      <location filename="../Project/Project.py" line="6273" />
+      <location filename="../Project/Project.py" line="6256" />
       <source>Create Plugin Archive</source>
       <translation>创建插件存档</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6246" />
+      <location filename="../Project/Project.py" line="6257" />
       <source>The project does not have a main script defined. Aborting...</source>
       <translation>项目未定义主脚本。终止…</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6263" />
+      <location filename="../Project/Project.py" line="6274" />
       <source>Select package lists:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6277" />
+      <location filename="../Project/Project.py" line="6288" />
       <source>&lt;p&gt;No package list files (PKGLIST*) available or selected. Aborting...&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6285" />
+      <location filename="../Project/Project.py" line="6296" />
       <source>Creating plugin archives...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6286" />
+      <location filename="../Project/Project.py" line="6297" />
       <source>Abort</source>
       <translation type="unfinished">终止</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6289" />
+      <location filename="../Project/Project.py" line="6300" />
       <source>%v/%m Archives</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6307" />
+      <location filename="../Project/Project.py" line="6318" />
       <source>&lt;p&gt;The 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" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6335" />
+      <location filename="../Project/Project.py" line="6346" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; is not ready yet.&lt;/p&gt;&lt;p&gt;Please rework it and delete the'; initial_list' line of the header.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6365" />
+      <location filename="../Project/Project.py" line="6376" />
       <source>&lt;p&gt;The eric plugin archive file &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6398" />
+      <location filename="../Project/Project.py" line="6409" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be stored in the archive. Ignoring it.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6416" />
-      <source>&lt;p&gt;The eric plugin archive files were created with some errors.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Project/Project.py" line="6427" />
+      <source>&lt;p&gt;The eric plugin archive files were created with some errors.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="6438" />
       <source>&lt;p&gt;The eric plugin archive files were created successfully.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6477" />
+      <location filename="../Project/Project.py" line="6488" />
       <source>&lt;p&gt;The plugin 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" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6521" />
+      <location filename="../Project/Project.py" line="6532" />
       <source>&lt;p&gt;The plugin 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" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6655" />
+      <location filename="../Project/Project.py" line="6666" />
       <source>The make process did not start.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6701" />
+      <location filename="../Project/Project.py" line="6712" />
       <source>The make process crashed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6709" />
+      <location filename="../Project/Project.py" line="6720" />
       <source>&lt;p&gt;There are changes that require the configured make target &lt;b&gt;{0}&lt;/b&gt; to be rebuilt.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6714" />
+      <location filename="../Project/Project.py" line="6725" />
       <source>&lt;p&gt;There are changes that require the default make target to be rebuilt.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="6730" />
+      <location filename="../Project/Project.py" line="6741" />
       <source>The makefile contains errors.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="7149" />
+      <location filename="../Project/Project.py" line="7160" />
       <source>Interpreter Missing</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="7150" />
+      <location filename="../Project/Project.py" line="7161" />
       <source>The configured interpreter of the embedded environment does not exist anymore. Shall the environment be upgraded?</source>
       <translation type="unfinished" />
     </message>
@@ -71287,7 +71394,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1752" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1754" />
       <location filename="../MicroPython/Devices/RP2040Devices.py" line="296" />
       <source>unknown</source>
       <translation type="unfinished">未知</translation>
@@ -71298,150 +71405,150 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="316" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="317" />
       <source>&lt;tr&gt;&lt;td&gt;Variant:&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="326" />
-      <source>&lt;p&gt;Update may be available.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/Devices/RP2040Devices.py" line="328" />
+      <source>&lt;p&gt;Update may be available.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="330" />
       <source>&lt;p&gt;&lt;b&gt;Update available!&lt;/b&gt;&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="332" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="334" />
       <source>MicroPython Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="365" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="367" />
       <source>MicroPython Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="369" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="371" />
       <source>Pimoroni Pico Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="372" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="374" />
       <source>CircuitPython Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="376" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="378" />
       <source>CircuitPython Libraries</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="428" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="430" />
       <source>Set Country</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="431" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="433" />
       <source>Reset Country</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1089" />
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="635" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1091" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="637" />
       <source>unknown ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1215" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1217" />
       <source>Pico Wireless does not support setting the IPv4 parameters of the WiFi access point.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1294" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1296" />
       <source>Pico Wireless does not support reporting of connected clients.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1348" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1350" />
       <source>WebREPL is not supported on this device.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1741" />
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1525" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1743" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1527" />
       <source>Active</source>
       <translation type="unfinished">活动的</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1526" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1528" />
       <source>Name</source>
       <translation type="unfinished">名称</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1759" />
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1527" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1761" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1529" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1530" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1532" />
       <source>Address Type</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1531" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1533" />
       <source>Public</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1531" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1533" />
       <source>Random</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1534" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1536" />
       <source>MTU</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1534" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1536" />
       <source>{0} Bytes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1742" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1744" />
       <source>Connected</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1745" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1747" />
       <source>Status</source>
       <translation type="unfinished">状态</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1751" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1753" />
       <source>Hostname</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1755" />
-      <source>IPv4 Address</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1756" />
-      <source>Netmask</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/Devices/RP2040Devices.py" line="1757" />
-      <source>Gateway</source>
+      <source>IPv4 Address</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/Devices/RP2040Devices.py" line="1758" />
+      <source>Netmask</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1759" />
+      <source>Gateway</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1760" />
       <source>DNS</source>
       <translation type="unfinished" />
     </message>
@@ -72883,7 +72990,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="255" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Use defused.xmlrpc.monkey_patch() function to monkey-patch xmlrpclib and mitigate XML vulnerabilities.</source>
+      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Use defusedxml.xmlrpc.monkey_patch() function to monkey-patch xmlrpclib and mitigate XML vulnerabilities.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -74009,57 +74116,62 @@
       <translation type="unfinished">特殊命令帮助</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="2157" />
-      <location filename="../QScintilla/Shell.py" line="1903" />
-      <location filename="../QScintilla/Shell.py" line="1902" />
-      <location filename="../QScintilla/Shell.py" line="397" />
+      <location filename="../QScintilla/Shell.py" line="326" />
+      <source>Show Source</source>
+      <translation type="unfinished">显示源代码</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Shell.py" line="2169" />
+      <location filename="../QScintilla/Shell.py" line="1907" />
+      <location filename="../QScintilla/Shell.py" line="1906" />
+      <location filename="../QScintilla/Shell.py" line="401" />
       <source>Project</source>
       <translation type="unfinished">项目</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="794" />
+      <location filename="../QScintilla/Shell.py" line="798" />
       <source>Clear History</source>
       <translation type="unfinished">清除历史记录</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="795" />
+      <location filename="../QScintilla/Shell.py" line="799" />
       <source>Shall the current history really be cleared?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="817" />
+      <location filename="../QScintilla/Shell.py" line="821" />
       <source>Select History</source>
       <translation>选择历史</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="818" />
+      <location filename="../QScintilla/Shell.py" line="822" />
       <source>Select the history entry to execute (most recent shown last).</source>
       <translation>选择历史条目以执行(最常用的显示在最后)。</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="893" />
+      <location filename="../QScintilla/Shell.py" line="897" />
       <source>Passive Debug Mode</source>
       <translation>被动调试模式</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="894" />
+      <location filename="../QScintilla/Shell.py" line="898" />
       <source>
 Not connected</source>
       <translation>
 没有连接</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="897" />
+      <location filename="../QScintilla/Shell.py" line="901" />
       <source>No.</source>
       <translation>No.</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="899" />
+      <location filename="../QScintilla/Shell.py" line="903" />
       <source>{0} on {1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="949" />
+      <location filename="../QScintilla/Shell.py" line="953" />
       <source>Exception "{0}"
 {1}
 File: {2}, Line: {3}
@@ -74067,131 +74179,131 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="958" />
+      <location filename="../QScintilla/Shell.py" line="962" />
       <source>Exception "{0}"
 {1}
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="980" />
+      <location filename="../QScintilla/Shell.py" line="984" />
       <source>Unspecified syntax error.
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="983" />
+      <location filename="../QScintilla/Shell.py" line="987" />
       <source>Syntax error "{1}" in file {0} at line {2}, character {3}.
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="1007" />
+      <location filename="../QScintilla/Shell.py" line="1011" />
       <source>Signal "{0}" generated in file {1} at line {2}.
 Function: {3}({4})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="1092" />
+      <location filename="../QScintilla/Shell.py" line="1096" />
       <source>StdOut: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="1101" />
+      <location filename="../QScintilla/Shell.py" line="1105" />
       <source>StdErr: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="1127" />
+      <location filename="../QScintilla/Shell.py" line="1131" />
       <source>&lt;{0}&gt; {1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="1936" />
+      <location filename="../QScintilla/Shell.py" line="1940" />
       <source>Available Virtual Environments:
 {0}
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="2021" />
-      <location filename="../QScintilla/Shell.py" line="1942" />
+      <location filename="../QScintilla/Shell.py" line="2025" />
+      <location filename="../QScintilla/Shell.py" line="1946" />
       <source>Current Virtual Environment: '{0}'
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="1960" />
+      <location filename="../QScintilla/Shell.py" line="1964" />
       <source>Error: Argument must be an integer value.
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="1977" />
+      <location filename="../QScintilla/Shell.py" line="1981" />
       <source>Error: Command '{0}' is not supported.
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="1996" />
+      <location filename="../QScintilla/Shell.py" line="2000" />
       <source>Execution of the interpreter statement timed out after {0} seconds.
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="2308" />
+      <location filename="../QScintilla/Shell.py" line="2320" />
       <source>Drop Error</source>
       <translation>降落误差</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="2309" />
+      <location filename="../QScintilla/Shell.py" line="2321" />
       <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
       <translation type="unfinished">&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; 不是一个文件。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="2555" />
-      <location filename="../QScintilla/Shell.py" line="2541" />
-      <location filename="../QScintilla/Shell.py" line="2520" />
+      <location filename="../QScintilla/Shell.py" line="2567" />
+      <location filename="../QScintilla/Shell.py" line="2553" />
+      <location filename="../QScintilla/Shell.py" line="2532" />
       <source>Save Shell Contents</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="2522" />
+      <location filename="../QScintilla/Shell.py" line="2534" />
       <source>Text Files (*.txt);;All Files (*)</source>
       <translation type="unfinished">文本文件 (*.txt);;所有文件 (*)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="2542" />
+      <location filename="../QScintilla/Shell.py" line="2554" />
       <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;文件 &lt;b&gt;{0}&lt;/b&gt; 已经存在。是否覆盖?&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="2556" />
+      <location filename="../QScintilla/Shell.py" line="2568" />
       <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">&lt;p&gt;文件 &lt;b&gt;{0}&lt;/b&gt; 无法保存。&lt;br /&gt;原因:{1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="2570" />
+      <location filename="../QScintilla/Shell.py" line="2582" />
       <source>&lt;tr&gt;&lt;td&gt;%restart&lt;/td&gt;&lt;td&gt;Kill the shell and start a new one.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%clear&lt;/td&gt;&lt;td&gt;Clear the display of the shell window.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%start [environment]&lt;/td&gt;&lt;td&gt;Start a shell for a virtual environment with the given name. If no name is given, a default shell is started.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%envs&lt;br/&gt;%environments&lt;/td&gt;&lt;td&gt;Show a list of known virtual environment names.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%which&lt;/td&gt;&lt;td&gt;Show the name of the active virtual environment.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%hist [n]&lt;br/&gt;%history [n]&lt;/td&gt;&lt;td&gt;Show the most recent 'n' entries of the history. If 'n' is not given, show all entries.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%shist&lt;br/&gt;%shistory&lt;br/&gt;%select_history&lt;/td&gt;&lt;td&gt;Select a command from the history.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%chist&lt;br/&gt;%chistory&lt;br/&gt;%clear_history&lt;/td&gt;&lt;td&gt;Clear the current history after confirmation.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%help&lt;/td&gt;&lt;td&gt;Show this help text.&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="2592" />
+      <location filename="../QScintilla/Shell.py" line="2604" />
       <source>&lt;tr&gt;&lt;td&gt;%quit&lt;br/&gt;%quit()&lt;br/&gt;%exit&lt;br/&gt;%exit()&lt;/td&gt;&lt;td&gt;Exit the application.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;These commands are available through the window menus as well.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="2600" />
+      <location filename="../QScintilla/Shell.py" line="2612" />
       <source>&lt;/table&gt;&lt;p&gt;These commands are available through the context menu as well.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="2607" />
+      <location filename="../QScintilla/Shell.py" line="2619" />
       <source>Shell Special Commands</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Shell.py" line="2608" />
+      <location filename="../QScintilla/Shell.py" line="2620" />
       <source>The shell supports these special commands:</source>
       <translation type="unfinished" />
     </message>
@@ -75366,38 +75478,38 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="69" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="73" />
       <source>Incorrect '__version__' Metadata</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="72" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="76" />
       <source>Corrupted or Unknown MPY Format</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="75" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="79" />
       <source>MPY Format</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="78" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="82" />
       <source>Major Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="81" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="85" />
       <source>Minor Version</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="92" />
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="89" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="99" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="94" />
       <source>unknown</source>
       <translation type="unfinished">未知</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="107" />
+      <location filename="../MicroPython/Devices/CircuitPythonUpdater/ShowOutdatedDialog.py" line="117" />
       <source>All modules are up-to-date.</source>
       <translation type="unfinished" />
     </message>
@@ -75870,8 +75982,8 @@
   <context>
     <name>SnapWidget</name>
     <message>
-      <location filename="../Snapshot/SnapWidget.py" line="443" />
-      <location filename="../Snapshot/SnapWidget.py" line="420" />
+      <location filename="../Snapshot/SnapWidget.py" line="453" />
+      <location filename="../Snapshot/SnapWidget.py" line="430" />
       <location filename="../Snapshot/SnapWidget.ui" line="0" />
       <source>eric Snapshot</source>
       <translation type="unfinished" />
@@ -75977,144 +76089,154 @@
       <translation>截取快照(&amp;T)…</translation>
     </message>
     <message>
-      <location filename="../Snapshot/SnapWidget.py" line="79" />
+      <location filename="../Snapshot/SnapWidget.py" line="78" />
       <source>Fullscreen</source>
       <translation>全屏</translation>
     </message>
     <message>
-      <location filename="../Snapshot/SnapWidget.py" line="85" />
+      <location filename="../Snapshot/SnapWidget.py" line="84" />
       <source>Select Screen</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Snapshot/SnapWidget.py" line="89" />
+      <location filename="../Snapshot/SnapWidget.py" line="88" />
       <source>Select Window</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Snapshot/SnapWidget.py" line="93" />
+      <location filename="../Snapshot/SnapWidget.py" line="92" />
       <source>Rectangular Selection</source>
       <translation>长方形选区</translation>
     </message>
     <message>
-      <location filename="../Snapshot/SnapWidget.py" line="97" />
+      <location filename="../Snapshot/SnapWidget.py" line="96" />
       <source>Elliptical Selection</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Snapshot/SnapWidget.py" line="101" />
+      <location filename="../Snapshot/SnapWidget.py" line="100" />
       <source>Freehand Selection</source>
       <translation>自由选区</translation>
     </message>
     <message>
-      <location filename="../Snapshot/SnapWidget.py" line="117" />
+      <location filename="../Snapshot/SnapWidget.py" line="116" />
       <source>snapshot</source>
       <translation>快照</translation>
     </message>
     <message>
+      <location filename="../Snapshot/SnapWidget.py" line="141" />
+      <source>Windows Bitmap File (*.bmp)</source>
+      <translation>Windows 位图文件 (*.bmp)</translation>
+    </message>
+    <message>
       <location filename="../Snapshot/SnapWidget.py" line="142" />
-      <source>Windows Bitmap File (*.bmp)</source>
-      <translation>Windows 位图文件 (*.bmp)</translation>
+      <source>Graphic Interchange Format File (*.gif)</source>
+      <translation>图像交换格式 (*.gif)</translation>
     </message>
     <message>
       <location filename="../Snapshot/SnapWidget.py" line="143" />
-      <source>Graphic Interchange Format File (*.gif)</source>
-      <translation>图像交换格式 (*.gif)</translation>
+      <source>Windows Icon File (*.ico)</source>
+      <translation>Windows 图标文件 (*.ico)</translation>
     </message>
     <message>
       <location filename="../Snapshot/SnapWidget.py" line="144" />
-      <source>Windows Icon File (*.ico)</source>
-      <translation>Windows 图标文件 (*.ico)</translation>
+      <source>JPEG File (*.jpg)</source>
+      <translation>JPEG 文件 (*.jpg)</translation>
     </message>
     <message>
       <location filename="../Snapshot/SnapWidget.py" line="145" />
-      <source>JPEG File (*.jpg)</source>
-      <translation>JPEG 文件 (*.jpg)</translation>
+      <source>Multiple-Image Network Graphics File (*.mng)</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Snapshot/SnapWidget.py" line="146" />
-      <source>Multiple-Image Network Graphics File (*.mng)</source>
-      <translation type="unfinished" />
+      <source>Portable Bitmap File (*.pbm)</source>
+      <translation>可移植位图文件 (*.pbm)</translation>
     </message>
     <message>
       <location filename="../Snapshot/SnapWidget.py" line="147" />
-      <source>Portable Bitmap File (*.pbm)</source>
-      <translation>可移植位图文件 (*.pbm)</translation>
+      <source>Paintbrush Bitmap File (*.pcx)</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Snapshot/SnapWidget.py" line="148" />
-      <source>Paintbrush Bitmap File (*.pcx)</source>
+      <source>Portable Graymap File (*.pgm)</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Snapshot/SnapWidget.py" line="149" />
-      <source>Portable Graymap File (*.pgm)</source>
+      <source>Portable Network Graphics File (*.png)</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Snapshot/SnapWidget.py" line="150" />
-      <source>Portable Network Graphics File (*.png)</source>
-      <translation type="unfinished" />
+      <source>Portable Pixmap File (*.ppm)</source>
+      <translation>可移植位图文件 (*.ppm)</translation>
     </message>
     <message>
       <location filename="../Snapshot/SnapWidget.py" line="151" />
-      <source>Portable Pixmap File (*.ppm)</source>
-      <translation>可移植位图文件 (*.ppm)</translation>
+      <source>Silicon Graphics Image File (*.sgi)</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Snapshot/SnapWidget.py" line="152" />
-      <source>Silicon Graphics Image File (*.sgi)</source>
+      <source>Scalable Vector Graphics File (*.svg)</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Snapshot/SnapWidget.py" line="153" />
-      <source>Scalable Vector Graphics File (*.svg)</source>
+      <source>Targa Graphic File (*.tga)</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Snapshot/SnapWidget.py" line="154" />
-      <source>Targa Graphic File (*.tga)</source>
-      <translation type="unfinished" />
+      <source>TIFF File (*.tif)</source>
+      <translation>TIFF 文件 (*.tif)</translation>
     </message>
     <message>
       <location filename="../Snapshot/SnapWidget.py" line="155" />
-      <source>TIFF File (*.tif)</source>
-      <translation>TIFF 文件 (*.tif)</translation>
+      <source>X11 Bitmap File (*.xbm)</source>
+      <translation>X11 位图文件 (*.xbm)</translation>
     </message>
     <message>
       <location filename="../Snapshot/SnapWidget.py" line="156" />
-      <source>X11 Bitmap File (*.xbm)</source>
-      <translation>X11 位图文件 (*.xbm)</translation>
-    </message>
-    <message>
-      <location filename="../Snapshot/SnapWidget.py" line="157" />
       <source>X11 Pixmap File (*.xpm)</source>
       <translation>X11 位图文件 (*.xpm)</translation>
     </message>
     <message>
+      <location filename="../Snapshot/SnapWidget.py" line="278" />
+      <location filename="../Snapshot/SnapWidget.py" line="265" />
+      <location filename="../Snapshot/SnapWidget.py" line="232" />
+      <source>Save Snapshot</source>
+      <translation>保存快照</translation>
+    </message>
+    <message>
+      <location filename="../Snapshot/SnapWidget.py" line="266" />
+      <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
+      <translation>&lt;p&gt;文件 &lt;b&gt;{0}&lt;/b&gt; 已经存在。是否覆盖?&lt;/p&gt;</translation>
+    </message>
+    <message>
       <location filename="../Snapshot/SnapWidget.py" line="279" />
-      <location filename="../Snapshot/SnapWidget.py" line="266" />
-      <location filename="../Snapshot/SnapWidget.py" line="233" />
-      <source>Save Snapshot</source>
-      <translation>保存快照</translation>
-    </message>
-    <message>
-      <location filename="../Snapshot/SnapWidget.py" line="267" />
-      <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
-      <translation>&lt;p&gt;文件 &lt;b&gt;{0}&lt;/b&gt; 已经存在。是否覆盖?&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../Snapshot/SnapWidget.py" line="280" />
       <source>Cannot write file '{0}'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Snapshot/SnapWidget.py" line="382" />
+      <location filename="../Snapshot/SnapWidget.py" line="338" />
+      <source>Snapshot</source>
+      <translation type="unfinished">快照</translation>
+    </message>
+    <message>
+      <location filename="../Snapshot/SnapWidget.py" line="339" />
+      <source>The snapshot functionality is not available for Wayland based desktop environments.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Snapshot/SnapWidget.py" line="392" />
       <source>Preview of the snapshot image ({0} x {1})</source>
       <translation>快照图像预览({0} x {1})</translation>
     </message>
     <message>
-      <location filename="../Snapshot/SnapWidget.py" line="421" />
+      <location filename="../Snapshot/SnapWidget.py" line="431" />
       <source>The application contains an unsaved snapshot.</source>
       <translation>应用程序包含未保存的快照。</translation>
     </message>
@@ -88429,133 +88551,133 @@
   <context>
     <name>UF2FlashDialog</name>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="607" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="659" />
       <source>&lt;h3&gt;CircuitPython Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Switch your device to 'bootloader' mode by double-pressing the reset button.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;(If this does not happen, then try shorter or longer pauses between presses.)&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="632" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="684" />
       <source>&lt;h3&gt;Pi Pico (RP2040) Board&lt;/h3&gt;&lt;p&gt;In order to prepare the board for flashing follow these steps:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Enter 'bootloader' mode (board &lt;b&gt;without&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;Plug in your board while holding the BOOTSEL button.&lt;/li&gt;&lt;/ul&gt;Enter 'bootloader' mode (board &lt;b&gt;with&lt;/b&gt; RESET button):&lt;ul&gt;&lt;li&gt;hold down RESET&lt;/li&gt;&lt;li&gt;hold down BOOTSEL&lt;/li&gt;&lt;li&gt;release RESET&lt;/li&gt;&lt;li&gt;release BOOTSEL&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it).&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/UF2FlashDialog.ui" line="0" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1132" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1140" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1184" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1192" />
       <source>Flash UF2 Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1141" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1193" />
       <source>Select the Boot Volume of the device:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="745" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="797" />
       <source>MicroPython/CircuitPython Files (*.uf2);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="812" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="804" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="788" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="864" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="856" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="840" />
       <source>Manual Select</source>
       <translation type="unfinished">手动选择</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="916" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="884" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="861" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="968" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="936" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="913" />
       <source>Reset Instructions:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="863" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="915" />
       <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the appropriate instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="887" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="939" />
       <source>&lt;h4&gt;Flash {0} Firmware&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;&lt;hr/&gt;{1}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="897" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="949" />
       <source>&lt;h4&gt;Potentially UF2 capable devices found&lt;/h4&gt;&lt;p&gt;Found these potentially UF2 capable devices:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="918" />
-      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="930" />
-      <source>Flash Instructions:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="932" />
-      <source>&lt;h4&gt;Flash method 'manual' selected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to flash a device by entering the data manually.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Change the device to 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it) and select its path.&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="957" />
-      <source>Boot Volume not found:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="959" />
-      <source>&lt;h4&gt;No Boot Volume detected.&lt;/h4&gt;&lt;p&gt;Please ensure that the boot volume of the device to be flashed is available. </source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="965" />
-      <source>This volume should be named &lt;b&gt;{0}&lt;/b&gt;. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="970" />
-      <source>This volume should have one of these names.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="977" />
-      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="996" />
-      <source>Multiple Boot Volumes found:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="998" />
-      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <source>&lt;h4&gt;No known devices detected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set &lt;b&gt;one&lt;/b&gt; board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="982" />
+      <source>Flash Instructions:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="984" />
+      <source>&lt;h4&gt;Flash method 'manual' selected.&lt;/h4&gt;&lt;p&gt;Follow the instructions below to flash a device by entering the data manually.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Change the device to 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Wait until the device has entered 'bootloader' mode.&lt;/li&gt;&lt;li&gt;Ensure the boot volume is available (this may require mounting it) and select its path.&lt;/li&gt;&lt;li&gt;Select the firmware file to be flashed and click the flash button.&lt;/li&gt;&lt;/ol&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1009" />
+      <source>Boot Volume not found:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1011" />
+      <source>&lt;h4&gt;No Boot Volume detected.&lt;/h4&gt;&lt;p&gt;Please ensure that the boot volume of the device to be flashed is available. </source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../MicroPython/UF2FlashDialog.py" line="1017" />
+      <source>This volume should be named &lt;b&gt;{0}&lt;/b&gt;. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1022" />
+      <source>This volume should have one of these names.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1029" />
+      <source>&lt;h4&gt;Reset Instructions&lt;/h4&gt;&lt;p&gt;Follow the instructions below to set the board into 'bootloader' mode. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1048" />
+      <source>Multiple Boot Volumes found:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1050" />
+      <source>&lt;h4&gt;Multiple Boot Volumes were found&lt;/h4&gt;&lt;p&gt;These volume paths were found.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please ensure that only one device of a type is ready for flashing. Press &lt;b&gt;Refresh&lt;/b&gt; when ready.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1069" />
       <source>Flashing Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1019" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1071" />
       <source>&lt;p&gt;Flashing the selected firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1026" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1078" />
       <source>Flashing {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1028" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1080" />
       <source>&lt;p&gt;Flashing the {0} firmware to the device. Please wait until the device resets automatically.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="1133" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="1185" />
       <source>No UF2 device 'boot' volumes found.</source>
       <translation type="unfinished" />
     </message>
@@ -89699,7 +89821,7 @@
       <translation type="unfinished">帮助浏览器</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3540" />
+      <location filename="../UI/UserInterface.py" line="3543" />
       <location filename="../UI/UserInterface.py" line="2519" />
       <location filename="../UI/UserInterface.py" line="2518" />
       <location filename="../UI/UserInterface.py" line="1383" />
@@ -89860,7 +89982,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7706" />
+      <location filename="../UI/UserInterface.py" line="7722" />
       <location filename="../UI/UserInterface.py" line="1930" />
       <location filename="../UI/UserInterface.py" line="1923" />
       <source>Load session</source>
@@ -90557,7 +90679,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4623" />
+      <location filename="../UI/UserInterface.py" line="4627" />
       <location filename="../UI/UserInterface.py" line="2767" />
       <source>Report Bug</source>
       <translation>报告错误</translation>
@@ -90598,7 +90720,7 @@
       <translation>&lt;b&gt;请求功能…&lt;/b&gt;&lt;p&gt;打开一个对话框并发送一个功能请求。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4084" />
+      <location filename="../UI/UserInterface.py" line="4087" />
       <location filename="../UI/UserInterface.py" line="2797" />
       <source>Testing</source>
       <translation>测试</translation>
@@ -90911,1130 +91033,1136 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3100" />
+      <location filename="../UI/UserInterface.py" line="6487" />
+      <location filename="../UI/UserInterface.py" line="3103" />
       <source>Snapshot</source>
       <translation>快照</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3102" />
+      <location filename="../UI/UserInterface.py" line="3105" />
       <source>&amp;Snapshot...</source>
       <translation>快照(&amp;S)…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3108" />
+      <location filename="../UI/UserInterface.py" line="3111" />
       <source>Take snapshots of a screen region</source>
       <translation>截取屏幕区域的快照</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3110" />
+      <location filename="../UI/UserInterface.py" line="3113" />
       <source>&lt;b&gt;Snapshot&lt;/b&gt;&lt;p&gt;This opens a dialog to take snapshots of a screen region.&lt;/p&gt;</source>
       <translation>&lt;b&gt;快照&lt;/b&gt;&lt;p&gt;打开一个对话框来截取屏幕一个区域的快照。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3120" />
+      <location filename="../UI/UserInterface.py" line="3123" />
       <source>eric PDF Viewer</source>
       <translation type="unfinished">eric PDF查看器</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3122" />
+      <location filename="../UI/UserInterface.py" line="3125" />
       <source>eric PDF &amp;Viewer...</source>
       <translation type="unfinished">eric PDF&amp;查看器…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3128" />
+      <location filename="../UI/UserInterface.py" line="3131" />
       <source>Start the eric PDF Viewer</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3130" />
+      <location filename="../UI/UserInterface.py" line="3133" />
       <source>&lt;b&gt;eric PDF Viewer&lt;/b&gt;&lt;p&gt;Starts the eric PDF Viewer for viewing PDF files.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3139" />
+      <location filename="../UI/UserInterface.py" line="3142" />
       <source>Preferences</source>
       <translation>首选项</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3141" />
+      <location filename="../UI/UserInterface.py" line="3144" />
       <source>&amp;Preferences...</source>
       <translation>首选项(&amp;P)…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3147" />
+      <location filename="../UI/UserInterface.py" line="3150" />
       <source>Set the prefered configuration</source>
       <translation>设定偏好配置</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3149" />
+      <location filename="../UI/UserInterface.py" line="3152" />
       <source>&lt;b&gt;Preferences&lt;/b&gt;&lt;p&gt;Set the configuration items of the application with your prefered values.&lt;/p&gt;</source>
       <translation>&lt;b&gt;首选项&lt;/b&gt;&lt;p&gt;将应用程序的配置项设定为你喜欢的值。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3160" />
+      <location filename="../UI/UserInterface.py" line="3163" />
       <source>Export Preferences</source>
       <translation>导出首选项</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3162" />
+      <location filename="../UI/UserInterface.py" line="3165" />
       <source>E&amp;xport Preferences...</source>
       <translation>导出首选项(&amp;X)…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3168" />
+      <location filename="../UI/UserInterface.py" line="3171" />
       <source>Export the current configuration</source>
       <translation>导出当前配置</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3170" />
+      <location filename="../UI/UserInterface.py" line="3173" />
       <source>&lt;b&gt;Export Preferences&lt;/b&gt;&lt;p&gt;Export the current configuration to a file.&lt;/p&gt;</source>
       <translation>&lt;b&gt;导出首选项&lt;/b&gt;&lt;p&gt;将当前配置导出到一个文件中。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3179" />
+      <location filename="../UI/UserInterface.py" line="3182" />
       <source>Import Preferences</source>
       <translation>导入首选项</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3181" />
+      <location filename="../UI/UserInterface.py" line="3184" />
       <source>I&amp;mport Preferences...</source>
       <translation>导入首选项(&amp;M)…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3188" />
-      <source>Import a previously exported configuration</source>
-      <translation>导入以前导出的配置</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="3191" />
+      <source>Import a previously exported configuration</source>
+      <translation>导入以前导出的配置</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3194" />
       <source>&lt;b&gt;Import Preferences&lt;/b&gt;&lt;p&gt;Import a previously exported configuration.&lt;/p&gt;</source>
       <translation>&lt;b&gt;导入首选项&lt;/b&gt;&lt;p&gt;导入以前导出的配置。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3200" />
+      <location filename="../UI/UserInterface.py" line="3203" />
       <source>Export Theme</source>
       <translation type="unfinished">导出主题</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3202" />
+      <location filename="../UI/UserInterface.py" line="3205" />
       <source>Export Theme...</source>
       <translation type="unfinished">导出主题…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3208" />
+      <location filename="../UI/UserInterface.py" line="3211" />
       <source>Export the current theme</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3210" />
+      <location filename="../UI/UserInterface.py" line="3213" />
       <source>&lt;b&gt;Export Theme&lt;/b&gt;&lt;p&gt;Export the current theme to a file.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3219" />
+      <location filename="../UI/UserInterface.py" line="3222" />
       <source>Import Theme</source>
       <translation type="unfinished">导入主题</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3221" />
+      <location filename="../UI/UserInterface.py" line="3224" />
       <source>Import Theme...</source>
       <translation type="unfinished">导入主题…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3227" />
+      <location filename="../UI/UserInterface.py" line="3230" />
       <source>Import a previously exported theme</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3229" />
+      <location filename="../UI/UserInterface.py" line="3232" />
       <source>&lt;b&gt;Import Theme&lt;/b&gt;&lt;p&gt;Import a previously exported theme.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3238" />
+      <location filename="../UI/UserInterface.py" line="3241" />
       <source>Reload APIs</source>
       <translation>重新载入 API</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3238" />
+      <location filename="../UI/UserInterface.py" line="3241" />
       <source>Reload &amp;APIs</source>
       <translation>重新载入 &amp;API</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3240" />
+      <location filename="../UI/UserInterface.py" line="3243" />
       <source>Reload the API information</source>
       <translation>重新载入 API 信息</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3242" />
+      <location filename="../UI/UserInterface.py" line="3245" />
       <source>&lt;b&gt;Reload APIs&lt;/b&gt;&lt;p&gt;Reload the API information.&lt;/p&gt;</source>
       <translation>&lt;b&gt;重新载入 API&lt;/b&gt;&lt;p&gt;重新载入 API 信息。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3256" />
-      <location filename="../UI/UserInterface.py" line="3248" />
+      <location filename="../UI/UserInterface.py" line="3259" />
+      <location filename="../UI/UserInterface.py" line="3251" />
       <source>Show external tools</source>
       <translation>显示外部工具</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3250" />
+      <location filename="../UI/UserInterface.py" line="3253" />
       <source>Show external &amp;tools</source>
       <translation>显示外部工具(&amp;T)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3258" />
+      <location filename="../UI/UserInterface.py" line="3261" />
       <source>&lt;b&gt;Show external tools&lt;/b&gt;&lt;p&gt;Opens a dialog to show the path and versions of all extenal tools used by eric.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3268" />
+      <location filename="../UI/UserInterface.py" line="3271" />
       <source>View Profiles</source>
       <translation>视图模式</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3270" />
+      <location filename="../UI/UserInterface.py" line="3273" />
       <source>&amp;View Profiles...</source>
       <translation>视图模式(&amp;V)…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3276" />
+      <location filename="../UI/UserInterface.py" line="3279" />
       <source>Configure view profiles</source>
       <translation>配置视图模式</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3278" />
+      <location filename="../UI/UserInterface.py" line="3281" />
       <source>&lt;b&gt;View Profiles&lt;/b&gt;&lt;p&gt;Configure the view profiles. With this dialog you may set the visibility of the various windows for the predetermined view profiles.&lt;/p&gt;</source>
       <translation>&lt;b&gt;视图模式&lt;/b&gt;&lt;p&gt;配置视图模式。通过该对话框可以为预先确定的视图设置多个窗口的可见性。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3289" />
+      <location filename="../UI/UserInterface.py" line="3292" />
       <source>Toolbars</source>
       <translation>工具栏</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3291" />
+      <location filename="../UI/UserInterface.py" line="3294" />
       <source>Tool&amp;bars...</source>
       <translation>工具栏(&amp;B)…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3297" />
+      <location filename="../UI/UserInterface.py" line="3300" />
       <source>Configure toolbars</source>
       <translation>配置工具栏</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3299" />
+      <location filename="../UI/UserInterface.py" line="3302" />
       <source>&lt;b&gt;Toolbars&lt;/b&gt;&lt;p&gt;Configure the toolbars. With this dialog you may change the actions shown on the various toolbars and define your own toolbars.&lt;/p&gt;</source>
       <translation>&lt;b&gt;工具栏&lt;/b&gt;&lt;p&gt;配置工具栏通过该对话框可以改变显示于多个工具栏的动作,还可以自定义工具栏。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3310" />
+      <location filename="../UI/UserInterface.py" line="3313" />
       <source>Keyboard Shortcuts</source>
       <translation>键盘快捷键</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3312" />
+      <location filename="../UI/UserInterface.py" line="3315" />
       <source>Keyboard &amp;Shortcuts...</source>
       <translation>键盘快捷键(&amp;S)…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3318" />
+      <location filename="../UI/UserInterface.py" line="3321" />
       <source>Set the keyboard shortcuts</source>
       <translation>设置键盘快捷键</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3320" />
+      <location filename="../UI/UserInterface.py" line="3323" />
       <source>&lt;b&gt;Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Set the keyboard shortcuts of the application with your prefered values.&lt;/p&gt;</source>
       <translation>&lt;b&gt;键盘快捷键&lt;/b&gt;&lt;p&gt;将程序的键盘快捷键设置成你喜欢的按键。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7430" />
-      <location filename="../UI/UserInterface.py" line="7411" />
-      <location filename="../UI/UserInterface.py" line="3330" />
+      <location filename="../UI/UserInterface.py" line="7446" />
+      <location filename="../UI/UserInterface.py" line="7427" />
+      <location filename="../UI/UserInterface.py" line="3333" />
       <source>Export Keyboard Shortcuts</source>
       <translation>导出键盘快捷键</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3332" />
+      <location filename="../UI/UserInterface.py" line="3335" />
       <source>&amp;Export Keyboard Shortcuts...</source>
       <translation>导出键盘快捷键(&amp;E)…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3338" />
+      <location filename="../UI/UserInterface.py" line="3341" />
       <source>Export the keyboard shortcuts</source>
       <translation>导出键盘快捷键</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3340" />
+      <location filename="../UI/UserInterface.py" line="3343" />
       <source>&lt;b&gt;Export Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Export the keyboard shortcuts of the application.&lt;/p&gt;</source>
       <translation>&lt;b&gt;导出键盘快捷键&lt;/b&gt;&lt;p&gt;导出程序的键盘快捷键。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7449" />
-      <location filename="../UI/UserInterface.py" line="3349" />
+      <location filename="../UI/UserInterface.py" line="7465" />
+      <location filename="../UI/UserInterface.py" line="3352" />
       <source>Import Keyboard Shortcuts</source>
       <translation>导入键盘快捷键</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3351" />
+      <location filename="../UI/UserInterface.py" line="3354" />
       <source>&amp;Import Keyboard Shortcuts...</source>
       <translation>导入键盘快捷键(&amp;I)…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3357" />
+      <location filename="../UI/UserInterface.py" line="3360" />
       <source>Import the keyboard shortcuts</source>
       <translation>导入键盘快捷键</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3359" />
+      <location filename="../UI/UserInterface.py" line="3362" />
       <source>&lt;b&gt;Import Keyboard Shortcuts&lt;/b&gt;&lt;p&gt;Import the keyboard shortcuts of the application.&lt;/p&gt;</source>
       <translation>&lt;b&gt;导入键盘快捷键&lt;/b&gt;&lt;p&gt;导入程序的键盘快捷键。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3369" />
+      <location filename="../UI/UserInterface.py" line="3372" />
       <source>Manage SSL Certificates</source>
       <translation>管理 SSL 证书</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3371" />
+      <location filename="../UI/UserInterface.py" line="3374" />
       <source>Manage SSL Certificates...</source>
       <translation>管理 SSL 证书…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3378" />
-      <source>Manage the saved SSL certificates</source>
-      <translation>管理保存的 SSL 证书</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="3381" />
+      <source>Manage the saved SSL certificates</source>
+      <translation>管理保存的 SSL 证书</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3384" />
       <source>&lt;b&gt;Manage SSL Certificates...&lt;/b&gt;&lt;p&gt;Opens a dialog to manage the saved SSL certificates.&lt;/p&gt;</source>
       <translation>&lt;b&gt;管理 SSL 证书…&lt;/b&gt;&lt;p&gt;打开一个对话框来管理保存的 SSL 证书。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3391" />
+      <location filename="../UI/UserInterface.py" line="3394" />
       <source>Edit Message Filters</source>
       <translation>编辑消息过滤器</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3393" />
+      <location filename="../UI/UserInterface.py" line="3396" />
       <source>Edit Message Filters...</source>
       <translation>编辑消息过滤器…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3400" />
-      <source>Edit the message filters used to suppress unwanted messages</source>
-      <translation>编辑消息过滤器使得不期望的消息不显示</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="3403" />
+      <source>Edit the message filters used to suppress unwanted messages</source>
+      <translation>编辑消息过滤器使得不期望的消息不显示</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3406" />
       <source>&lt;b&gt;Edit Message Filters&lt;/b&gt;&lt;p&gt;Opens a dialog to edit the message filters used to suppress unwanted messages been shown in an error window.&lt;/p&gt;</source>
       <translation>&lt;b&gt;编辑消息过滤器&lt;/b&gt;&lt;p&gt;打开对话框来编辑消息过滤器,使得不期望的错误信息不再在错误窗口中显示。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3422" />
-      <location filename="../UI/UserInterface.py" line="3416" />
-      <location filename="../UI/UserInterface.py" line="3414" />
+      <location filename="../UI/UserInterface.py" line="3425" />
+      <location filename="../UI/UserInterface.py" line="3419" />
+      <location filename="../UI/UserInterface.py" line="3417" />
       <source>Clear private data</source>
       <translation type="unfinished">清空隐私数据</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3424" />
+      <location filename="../UI/UserInterface.py" line="3427" />
       <source>&lt;b&gt;Clear private data&lt;/b&gt;&lt;p&gt;Clears the private data like the various list of recently opened files, projects or multi projects.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3435" />
-      <location filename="../UI/UserInterface.py" line="3434" />
+      <location filename="../UI/UserInterface.py" line="3438" />
+      <location filename="../UI/UserInterface.py" line="3437" />
       <source>Activate current editor</source>
       <translation>激活当前编辑器</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3436" />
+      <location filename="../UI/UserInterface.py" line="3439" />
       <source>Alt+Shift+E</source>
       <translation>Alt+Shift+E</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3447" />
-      <location filename="../UI/UserInterface.py" line="3446" />
+      <location filename="../UI/UserInterface.py" line="3450" />
+      <location filename="../UI/UserInterface.py" line="3449" />
       <source>Show next</source>
       <translation>显示下一个</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3448" />
+      <location filename="../UI/UserInterface.py" line="3451" />
       <source>Ctrl+Alt+Tab</source>
       <translation>Ctrl+Alt+Tab</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3459" />
-      <location filename="../UI/UserInterface.py" line="3458" />
+      <location filename="../UI/UserInterface.py" line="3462" />
+      <location filename="../UI/UserInterface.py" line="3461" />
       <source>Show previous</source>
       <translation>显示上一个</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3460" />
+      <location filename="../UI/UserInterface.py" line="3463" />
       <source>Shift+Ctrl+Alt+Tab</source>
       <translation>Shift+Ctrl+Alt+Tab</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3471" />
-      <location filename="../UI/UserInterface.py" line="3470" />
+      <location filename="../UI/UserInterface.py" line="3474" />
+      <location filename="../UI/UserInterface.py" line="3473" />
       <source>Switch between tabs</source>
       <translation>在选项卡间切换</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3472" />
+      <location filename="../UI/UserInterface.py" line="3475" />
       <source>Ctrl+1</source>
       <translation>Ctrl+1</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3482" />
+      <location filename="../UI/UserInterface.py" line="3485" />
       <source>Plugin Infos</source>
       <translation>插件信息</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3484" />
+      <location filename="../UI/UserInterface.py" line="3487" />
       <source>&amp;Plugin Infos...</source>
       <translation>插件信息(&amp;P)…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3490" />
+      <location filename="../UI/UserInterface.py" line="3493" />
       <source>Show Plugin Infos</source>
       <translation>显示插件信息</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3492" />
+      <location filename="../UI/UserInterface.py" line="3495" />
       <source>&lt;b&gt;Plugin Infos...&lt;/b&gt;&lt;p&gt;This opens a dialog, that show some information about loaded plugins.&lt;/p&gt;</source>
       <translation>&lt;b&gt;插件信息…&lt;/b&gt;&lt;p&gt;打开一个对话框,显示与已载入插件有关的一些信息。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3510" />
-      <location filename="../UI/UserInterface.py" line="3502" />
+      <location filename="../UI/UserInterface.py" line="3513" />
+      <location filename="../UI/UserInterface.py" line="3505" />
       <source>Install Plugins</source>
       <translation>安装插件</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3504" />
+      <location filename="../UI/UserInterface.py" line="3507" />
       <source>&amp;Install Plugins...</source>
       <translation>安装插件(&amp;I)…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3512" />
+      <location filename="../UI/UserInterface.py" line="3515" />
       <source>&lt;b&gt;Install Plugins...&lt;/b&gt;&lt;p&gt;This opens a dialog to install or update plugins.&lt;/p&gt;</source>
       <translation>&lt;b&gt;安装插件…&lt;/b&gt;&lt;p&gt;打开一个对话框安装或更新插件。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3529" />
-      <location filename="../UI/UserInterface.py" line="3521" />
+      <location filename="../UI/UserInterface.py" line="3532" />
+      <location filename="../UI/UserInterface.py" line="3524" />
       <source>Uninstall Plugin</source>
       <translation>卸载插件</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3523" />
+      <location filename="../UI/UserInterface.py" line="3526" />
       <source>&amp;Uninstall Plugin...</source>
       <translation>卸载插件(&amp;U)…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3531" />
+      <location filename="../UI/UserInterface.py" line="3534" />
       <source>&lt;b&gt;Uninstall Plugin...&lt;/b&gt;&lt;p&gt;This opens a dialog to uninstall a plugin.&lt;/p&gt;</source>
       <translation>&lt;b&gt;卸载插件…&lt;/b&gt;&lt;p&gt;打开一个对话框卸载插件。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3542" />
+      <location filename="../UI/UserInterface.py" line="3545" />
       <source>Plugin &amp;Repository...</source>
       <translation>插件储存库(&amp;R)…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3548" />
+      <location filename="../UI/UserInterface.py" line="3551" />
       <source>Show Plugins available for download</source>
       <translation>显示可以下载的插件</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3550" />
+      <location filename="../UI/UserInterface.py" line="3553" />
       <source>&lt;b&gt;Plugin Repository...&lt;/b&gt;&lt;p&gt;This opens a dialog, that shows a list of plugins available on the Internet.&lt;/p&gt;</source>
       <translation>&lt;b&gt;插件储存库…&lt;/b&gt;&lt;p&gt;打开一个对话框,显示互联网上可用的插件列表。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3577" />
-      <location filename="../UI/UserInterface.py" line="3576" />
+      <location filename="../UI/UserInterface.py" line="3580" />
+      <location filename="../UI/UserInterface.py" line="3579" />
       <source>Qt5 Documentation</source>
       <translation>Qt5 文档</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3583" />
+      <location filename="../UI/UserInterface.py" line="3586" />
       <source>Open Qt5 Documentation</source>
       <translation>打开 Qt5 文档</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3585" />
+      <location filename="../UI/UserInterface.py" line="3588" />
       <source>&lt;b&gt;Qt5 Documentation&lt;/b&gt;&lt;p&gt;Display the Qt5 Documentation. Dependent upon your settings, this will either show the help in Eric's internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3598" />
-      <location filename="../UI/UserInterface.py" line="3597" />
+      <location filename="../UI/UserInterface.py" line="3601" />
+      <location filename="../UI/UserInterface.py" line="3600" />
       <source>Qt6 Documentation</source>
       <translation type="unfinished">Qt6 文档</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3604" />
+      <location filename="../UI/UserInterface.py" line="3607" />
       <source>Open Qt6 Documentation</source>
       <translation type="unfinished">打开 Qt6 文档</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3606" />
+      <location filename="../UI/UserInterface.py" line="3609" />
       <source>&lt;b&gt;Qt6 Documentation&lt;/b&gt;&lt;p&gt;Display the Qt6 Documentation. Dependent upon your settings, this will either show the help in Eric's internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3619" />
-      <location filename="../UI/UserInterface.py" line="3618" />
+      <location filename="../UI/UserInterface.py" line="3622" />
+      <location filename="../UI/UserInterface.py" line="3621" />
       <source>PyQt5 Documentation</source>
       <translation>PyQt5 文档</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3625" />
+      <location filename="../UI/UserInterface.py" line="3628" />
       <source>Open PyQt5 Documentation</source>
       <translation>打开 PyQt5 文档</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3627" />
+      <location filename="../UI/UserInterface.py" line="3630" />
       <source>&lt;b&gt;PyQt5 Documentation&lt;/b&gt;&lt;p&gt;Display the PyQt5 Documentation. Dependent upon your settings, this will either show the help in Eric's internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3640" />
-      <location filename="../UI/UserInterface.py" line="3639" />
+      <location filename="../UI/UserInterface.py" line="3643" />
+      <location filename="../UI/UserInterface.py" line="3642" />
       <source>PyQt6 Documentation</source>
       <translation type="unfinished">PyQt6 文档</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3646" />
+      <location filename="../UI/UserInterface.py" line="3649" />
       <source>Open PyQt6 Documentation</source>
       <translation type="unfinished">打开 PyQt6 文档</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3648" />
+      <location filename="../UI/UserInterface.py" line="3651" />
       <source>&lt;b&gt;PyQt6 Documentation&lt;/b&gt;&lt;p&gt;Display the PyQt6 Documentation. Dependent upon your settings, this will either show the help in Eric's internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3666" />
-      <location filename="../UI/UserInterface.py" line="3665" />
+      <location filename="../UI/UserInterface.py" line="3669" />
+      <location filename="../UI/UserInterface.py" line="3668" />
       <source>Python 3 Documentation</source>
       <translation>Python 3 文档</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3672" />
+      <location filename="../UI/UserInterface.py" line="3675" />
       <source>Open Python 3 Documentation</source>
       <translation>打开 Python 3 文档</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3674" />
+      <location filename="../UI/UserInterface.py" line="3677" />
       <source>&lt;b&gt;Python 3 Documentation&lt;/b&gt;&lt;p&gt;Display the Python 3 documentation. If no documentation directory is configured, the location of the Python 3 documentation is assumed to be the doc directory underneath the location of the Python 3 executable on Windows and &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt; on Unix. Set PYTHON3DOCDIR in your environment to override this.&lt;/p&gt;</source>
       <translation>&lt;b&gt;Python 3 文档&lt;/b&gt;&lt;p&gt;显示 Python 3 文档。如果尚未配置文档目录,则在 Windows 系统上,文档位置将默认为 Python 3 可执行文件所在目录下的 doc 目录;在类 Unix 系统上,则默认为 &lt;i&gt;/usr/share/doc/packages/python/html&lt;/i&gt;。请在环境中设置 PYTHON3DOCDIR 以覆盖默认行为。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3693" />
-      <location filename="../UI/UserInterface.py" line="3692" />
+      <location filename="../UI/UserInterface.py" line="3696" />
+      <location filename="../UI/UserInterface.py" line="3695" />
       <source>eric API Documentation</source>
       <translation type="unfinished">eric API 文档</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3699" />
+      <location filename="../UI/UserInterface.py" line="3702" />
       <source>Open eric API Documentation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3701" />
+      <location filename="../UI/UserInterface.py" line="3704" />
       <source>&lt;b&gt;eric API Documentation&lt;/b&gt;&lt;p&gt;Display the eric API documentation. The location for the documentation is the Documentation/Source subdirectory of the eric installation directory.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3719" />
-      <location filename="../UI/UserInterface.py" line="3718" />
+      <location filename="../UI/UserInterface.py" line="3722" />
+      <location filename="../UI/UserInterface.py" line="3721" />
       <source>PySide2 Documentation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3725" />
+      <location filename="../UI/UserInterface.py" line="3728" />
       <source>Open PySide2 Documentation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3727" />
+      <location filename="../UI/UserInterface.py" line="3730" />
       <source>&lt;b&gt;PySide2 Documentation&lt;/b&gt;&lt;p&gt;Display the PySide2 Documentation. Dependent upon your settings, this will either show the help in Eric's internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3745" />
-      <location filename="../UI/UserInterface.py" line="3744" />
+      <location filename="../UI/UserInterface.py" line="3748" />
+      <location filename="../UI/UserInterface.py" line="3747" />
       <source>PySide6 Documentation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3751" />
+      <location filename="../UI/UserInterface.py" line="3754" />
       <source>Open PySide6 Documentation</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3753" />
+      <location filename="../UI/UserInterface.py" line="3756" />
       <source>&lt;b&gt;PySide6 Documentation&lt;/b&gt;&lt;p&gt;Display the PySide6 Documentation. Dependent upon your settings, this will either show the help in Eric's internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3855" />
+      <location filename="../UI/UserInterface.py" line="3858" />
       <source>E&amp;xtras</source>
       <translation>扩展(&amp;X)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3865" />
+      <location filename="../UI/UserInterface.py" line="3868" />
       <source>Wi&amp;zards</source>
       <translation>向导(&amp;Z)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3883" />
+      <location filename="../UI/UserInterface.py" line="3886" />
       <source>P&amp;lugins</source>
       <translation>插件(&amp;L)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3892" />
+      <location filename="../UI/UserInterface.py" line="3895" />
       <source>Configure...</source>
       <translation>配置…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3901" />
+      <location filename="../UI/UserInterface.py" line="3904" />
       <source>&amp;Testing</source>
       <translation>&amp;测试</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3918" />
+      <location filename="../UI/UserInterface.py" line="3921" />
       <source>Select Tool Group</source>
       <translation>选择工具组</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3929" />
+      <location filename="../UI/UserInterface.py" line="3932" />
       <source>Se&amp;ttings</source>
       <translation>设置(&amp;T)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3962" />
+      <location filename="../UI/UserInterface.py" line="3965" />
       <source>&amp;Window</source>
       <translation>窗口(&amp;W)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3971" />
+      <location filename="../UI/UserInterface.py" line="3974" />
       <source>&amp;Windows</source>
       <translation>窗口(&amp;W)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3975" />
+      <location filename="../UI/UserInterface.py" line="3978" />
       <source>Central Park</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3979" />
+      <location filename="../UI/UserInterface.py" line="3982" />
       <source>Left Side</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3998" />
+      <location filename="../UI/UserInterface.py" line="4001" />
       <source>Right Side</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4017" />
+      <location filename="../UI/UserInterface.py" line="4020" />
       <source>Bottom Side</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4025" />
+      <location filename="../UI/UserInterface.py" line="4028" />
       <source>Plug-ins</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4031" />
+      <location filename="../UI/UserInterface.py" line="4034" />
       <source>&amp;Toolbars</source>
       <translation>工具栏(&amp;T)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4044" />
+      <location filename="../UI/UserInterface.py" line="4047" />
       <source>&amp;Help</source>
       <translation>帮助(&amp;H)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4099" />
-      <location filename="../UI/UserInterface.py" line="4083" />
+      <location filename="../UI/UserInterface.py" line="4102" />
+      <location filename="../UI/UserInterface.py" line="4086" />
       <source>Tools</source>
       <translation>工具</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4101" />
-      <location filename="../UI/UserInterface.py" line="4087" />
-      <source>Settings</source>
-      <translation>设置</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="6210" />
-      <location filename="../UI/UserInterface.py" line="4102" />
-      <location filename="../UI/UserInterface.py" line="4088" />
-      <source>Help</source>
-      <translation>帮助</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="4103" />
-      <location filename="../UI/UserInterface.py" line="4089" />
-      <source>Profiles</source>
-      <translation>模式</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="4104" />
       <location filename="../UI/UserInterface.py" line="4090" />
+      <source>Settings</source>
+      <translation>设置</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="6215" />
+      <location filename="../UI/UserInterface.py" line="4105" />
+      <location filename="../UI/UserInterface.py" line="4091" />
+      <source>Help</source>
+      <translation>帮助</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="4106" />
+      <location filename="../UI/UserInterface.py" line="4092" />
+      <source>Profiles</source>
+      <translation>模式</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="4107" />
+      <location filename="../UI/UserInterface.py" line="4093" />
       <source>Plugins</source>
       <translation>插件</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4100" />
+      <location filename="../UI/UserInterface.py" line="4103" />
       <source>Unittest</source>
       <translation>单元测试</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4273" />
+      <location filename="../UI/UserInterface.py" line="4277" />
       <source>&lt;p&gt;This part of the status bar displays the current editors language.&lt;/p&gt;</source>
       <translation>&lt;p&gt;状态栏的这一部分显示当前编辑器语言。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4282" />
+      <location filename="../UI/UserInterface.py" line="4286" />
       <source>&lt;p&gt;This part of the status bar displays the current editors encoding.&lt;/p&gt;</source>
       <translation>&lt;p&gt;状态栏的这一部分显示当前编辑器编码。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4291" />
+      <location filename="../UI/UserInterface.py" line="4295" />
       <source>&lt;p&gt;This part of the status bar displays the current editors eol setting.&lt;/p&gt;</source>
       <translation>&lt;p&gt;状态栏的这一部分显示当前编辑器行尾设置。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4300" />
+      <location filename="../UI/UserInterface.py" line="4304" />
       <source>&lt;p&gt;This part of the status bar displays an indication of the current editors files writability.&lt;/p&gt;</source>
       <translation>&lt;p&gt;状态栏的这一部分显示当前编辑器文件是否可写。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4309" />
+      <location filename="../UI/UserInterface.py" line="4313" />
       <source>&lt;p&gt;This part of the status bar displays the line number of the current editor.&lt;/p&gt;</source>
       <translation>&lt;p&gt;状态栏的这一部分显示当前编辑的行号。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4318" />
+      <location filename="../UI/UserInterface.py" line="4322" />
       <source>&lt;p&gt;This part of the status bar displays the cursor position of the current editor.&lt;/p&gt;</source>
       <translation>&lt;p&gt;状态栏的这一部分显示当前编辑器的光标位置。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4332" />
+      <location filename="../UI/UserInterface.py" line="4336" />
       <source>&lt;p&gt;This part of the status bar allows zooming the current editor or shell.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4403" />
-      <location filename="../UI/UserInterface.py" line="4362" />
+      <location filename="../UI/UserInterface.py" line="4407" />
+      <location filename="../UI/UserInterface.py" line="4366" />
       <source>External Tools/{0}</source>
       <translation>外部工具/{0}</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4511" />
+      <location filename="../UI/UserInterface.py" line="4515" />
       <source>&lt;h2&gt;Version Numbers&lt;/h2&gt;&lt;table&gt;</source>
       <translation type="unfinished">&lt;h3&gt;版本号&lt;/h3&gt;&lt;table&gt; {2&gt;?} {2&gt;?}</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4560" />
+      <location filename="../UI/UserInterface.py" line="4564" />
       <source>&lt;tr&gt;&lt;td&gt;&lt;b&gt;WebEngine (Security)&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4577" />
-      <source>Desktop</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="4581" />
+      <source>Desktop</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="4585" />
       <source>Session Type</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4584" />
+      <location filename="../UI/UserInterface.py" line="4588" />
       <source>&lt;/table&gt;</source>
       <translation>&lt;/table&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4624" />
+      <location filename="../UI/UserInterface.py" line="4628" />
       <source>Email address or mail server address is empty. Please configure your Email settings in the Preferences Dialog.</source>
       <translation>电子邮件地址或邮件服务器地址为空。请在首选项对话框中配置你的电子邮件设置。</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4959" />
+      <location filename="../UI/UserInterface.py" line="4963" />
       <source>Restart application</source>
       <translation>重启程序</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4960" />
+      <location filename="../UI/UserInterface.py" line="4964" />
       <source>The application needs to be restarted. Do it now?</source>
       <translation>程序需要重启。现在重启?</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4984" />
+      <location filename="../UI/UserInterface.py" line="4988" />
       <source>Upgrade PyQt</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="4985" />
+      <location filename="../UI/UserInterface.py" line="4989" />
       <source>eric needs to be closed in order to upgrade PyQt. It will be restarted once the upgrade process has finished. This may take some time.
 
 Shall the upgrade be done now?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5035" />
-      <location filename="../UI/UserInterface.py" line="5009" />
+      <location filename="../UI/UserInterface.py" line="5039" />
+      <location filename="../UI/UserInterface.py" line="5013" />
       <source>Upgrade Eric</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5010" />
+      <location filename="../UI/UserInterface.py" line="5014" />
       <source>eric needs to be closed in order to be upgraded. It will be restarted once the upgrade process has finished. This may take some time.
 
 Shall the upgrade be done now?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5036" />
+      <location filename="../UI/UserInterface.py" line="5040" />
       <source>eric needs to be closed in order to upgrade eric and PyQt. It will be restarted once the upgrade process has finished. This may take some time.
 
  Shall the upgrade be done now?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5094" />
+      <location filename="../UI/UserInterface.py" line="5098" />
       <source>&amp;Builtin Tools</source>
       <translation>内建工具(&amp;B)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5112" />
+      <location filename="../UI/UserInterface.py" line="5117" />
       <source>&amp;Plugin Tools</source>
       <translation>插件工具(&amp;P)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5115" />
+      <location filename="../UI/UserInterface.py" line="5120" />
       <source>&amp;User Tools</source>
       <translation>用户工具(&amp;U)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5141" />
+      <location filename="../UI/UserInterface.py" line="5146" />
       <source>Configure Tool Groups ...</source>
       <translation>配置工具组…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5145" />
+      <location filename="../UI/UserInterface.py" line="5150" />
       <source>Configure current Tool Group ...</source>
       <translation>配置当前工具组…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5184" />
-      <location filename="../UI/UserInterface.py" line="5164" />
+      <location filename="../UI/UserInterface.py" line="5189" />
+      <location filename="../UI/UserInterface.py" line="5169" />
       <source>No User Tools Configured</source>
       <translation>没有配置的用户工具</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5260" />
+      <location filename="../UI/UserInterface.py" line="5265" />
       <source>&amp;Show all</source>
       <translation>全部显示(&amp;S)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5262" />
+      <location filename="../UI/UserInterface.py" line="5267" />
       <source>&amp;Hide all</source>
       <translation>全部隐藏(&amp;H)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6347" />
-      <location filename="../UI/UserInterface.py" line="6336" />
-      <location filename="../UI/UserInterface.py" line="6288" />
-      <location filename="../UI/UserInterface.py" line="6278" />
-      <location filename="../UI/UserInterface.py" line="6109" />
-      <location filename="../UI/UserInterface.py" line="6099" />
-      <location filename="../UI/UserInterface.py" line="6041" />
-      <location filename="../UI/UserInterface.py" line="6031" />
+      <location filename="../UI/UserInterface.py" line="6352" />
+      <location filename="../UI/UserInterface.py" line="6341" />
+      <location filename="../UI/UserInterface.py" line="6293" />
+      <location filename="../UI/UserInterface.py" line="6283" />
+      <location filename="../UI/UserInterface.py" line="6114" />
+      <location filename="../UI/UserInterface.py" line="6104" />
+      <location filename="../UI/UserInterface.py" line="6046" />
+      <location filename="../UI/UserInterface.py" line="6036" />
       <source>Problem</source>
       <translation>问题</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6348" />
-      <location filename="../UI/UserInterface.py" line="6337" />
-      <location filename="../UI/UserInterface.py" line="6289" />
-      <location filename="../UI/UserInterface.py" line="6279" />
-      <location filename="../UI/UserInterface.py" line="6110" />
-      <location filename="../UI/UserInterface.py" line="6100" />
-      <location filename="../UI/UserInterface.py" line="6042" />
-      <location filename="../UI/UserInterface.py" line="6032" />
+      <location filename="../UI/UserInterface.py" line="6353" />
+      <location filename="../UI/UserInterface.py" line="6342" />
+      <location filename="../UI/UserInterface.py" line="6294" />
+      <location filename="../UI/UserInterface.py" line="6284" />
+      <location filename="../UI/UserInterface.py" line="6115" />
+      <location filename="../UI/UserInterface.py" line="6105" />
+      <location filename="../UI/UserInterface.py" line="6047" />
+      <location filename="../UI/UserInterface.py" line="6037" />
       <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; does not exist or is zero length.&lt;/p&gt;</source>
       <translation>&lt;p&gt;文件 &lt;b&gt;{0}&lt;/b&gt; 不存在或者长度为零。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6580" />
-      <location filename="../UI/UserInterface.py" line="6491" />
-      <location filename="../UI/UserInterface.py" line="6383" />
-      <location filename="../UI/UserInterface.py" line="6360" />
-      <location filename="../UI/UserInterface.py" line="6301" />
-      <location filename="../UI/UserInterface.py" line="6248" />
-      <location filename="../UI/UserInterface.py" line="6226" />
-      <location filename="../UI/UserInterface.py" line="6185" />
-      <location filename="../UI/UserInterface.py" line="6176" />
-      <location filename="../UI/UserInterface.py" line="6141" />
-      <location filename="../UI/UserInterface.py" line="6132" />
-      <location filename="../UI/UserInterface.py" line="6073" />
-      <location filename="../UI/UserInterface.py" line="6064" />
+      <location filename="../UI/UserInterface.py" line="6596" />
+      <location filename="../UI/UserInterface.py" line="6507" />
+      <location filename="../UI/UserInterface.py" line="6388" />
+      <location filename="../UI/UserInterface.py" line="6365" />
+      <location filename="../UI/UserInterface.py" line="6306" />
+      <location filename="../UI/UserInterface.py" line="6253" />
+      <location filename="../UI/UserInterface.py" line="6231" />
+      <location filename="../UI/UserInterface.py" line="6190" />
+      <location filename="../UI/UserInterface.py" line="6181" />
+      <location filename="../UI/UserInterface.py" line="6146" />
+      <location filename="../UI/UserInterface.py" line="6137" />
+      <location filename="../UI/UserInterface.py" line="6078" />
+      <location filename="../UI/UserInterface.py" line="6069" />
       <source>Process Generation Error</source>
       <translation>进程生成错误</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6065" />
+      <location filename="../UI/UserInterface.py" line="6070" />
       <source>&lt;p&gt;Could not start Qt-Designer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;无法启动 Qt 设计师。&lt;br&gt;请确保它作为 &lt;b&gt;{0}&lt;/b&gt; 可用。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6074" />
+      <location filename="../UI/UserInterface.py" line="6079" />
       <source>&lt;p&gt;Could not find the Qt-Designer executable.&lt;br&gt;Ensure that it is installed and optionally configured on the Qt configuration page.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6133" />
+      <location filename="../UI/UserInterface.py" line="6138" />
       <source>&lt;p&gt;Could not start Qt-Linguist.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;无法启动 Qt 语言家。&lt;br&gt;请确保它作为 &lt;b&gt;{0}&lt;/b&gt; 可用。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6142" />
+      <location filename="../UI/UserInterface.py" line="6147" />
       <source>&lt;p&gt;Could not find the Qt-Linguist executable.&lt;br&gt;Ensure that it is installed and optionally configured on the Qt configuration page.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6177" />
+      <location filename="../UI/UserInterface.py" line="6182" />
       <source>&lt;p&gt;Could not start Qt-Assistant.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;无法启动 Qt 助手。&lt;br&gt;请确保它作为 &lt;b&gt;{0}&lt;/b&gt; 可用。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6186" />
+      <location filename="../UI/UserInterface.py" line="6191" />
       <source>&lt;p&gt;Could not find the Qt-Assistant executable.&lt;br&gt;Ensure that it is installed and optionally configured on the Qt configuration page.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6211" />
+      <location filename="../UI/UserInterface.py" line="6216" />
       <source>Currently no custom viewer is selected. Please use the preferences dialog to specify one.</source>
       <translation>目前没有选择自定义浏览器。请使用首选项对话框指定一个。</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6227" />
+      <location filename="../UI/UserInterface.py" line="6232" />
       <source>&lt;p&gt;Could not start custom viewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;无法启动自定义的查看器。&lt;br&gt;请确保它作为 &lt;b&gt;{0}&lt;/b&gt; 可用。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6249" />
+      <location filename="../UI/UserInterface.py" line="6254" />
       <source>&lt;p&gt;Could not start the help viewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;hh&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;无法开启帮助浏览器。&lt;br&gt;确保其有效如 &lt;b&gt;hh&lt;/b&gt;。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6302" />
+      <location filename="../UI/UserInterface.py" line="6307" />
       <source>&lt;p&gt;Could not start UI Previewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;无法启动 UI 预览器。&lt;br&gt;请确保它作为 &lt;b&gt;{0}&lt;/b&gt; 可用。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6361" />
+      <location filename="../UI/UserInterface.py" line="6366" />
       <source>&lt;p&gt;Could not start Translation Previewer.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;无法启动翻译预览器。&lt;br&gt;请确保它作为 &lt;b&gt;{0}&lt;/b&gt; 可用。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6384" />
+      <location filename="../UI/UserInterface.py" line="6389" />
       <source>&lt;p&gt;Could not start SQL Browser.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;无法启动 SQL 浏览器。&lt;br&gt;请确保它作为 &lt;b&gt;{0}&lt;/b&gt; 可用。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6492" />
+      <location filename="../UI/UserInterface.py" line="6488" />
+      <source>&lt;p&gt;The snapshot utility is not available for Wayland desktop sessions.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="6508" />
       <source>&lt;p&gt;Could not start Snapshot tool.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;无法启动快照工具。&lt;br&gt;请确保它作为 &lt;b&gt;{0}&lt;/b&gt; 可用。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6525" />
-      <location filename="../UI/UserInterface.py" line="6515" />
+      <location filename="../UI/UserInterface.py" line="6541" />
+      <location filename="../UI/UserInterface.py" line="6531" />
       <source>External Tools</source>
       <translation>外部工具</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6516" />
+      <location filename="../UI/UserInterface.py" line="6532" />
       <source>No tool entry found for external tool '{0}' in tool group '{1}'.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6526" />
+      <location filename="../UI/UserInterface.py" line="6542" />
       <source>No toolgroup entry '{0}' found.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6563" />
+      <location filename="../UI/UserInterface.py" line="6579" />
       <source>Starting process '{0} {1}'.
 </source>
       <translation>正在启动进程“{0} {1}”。
 </translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6581" />
+      <location filename="../UI/UserInterface.py" line="6597" />
       <source>&lt;p&gt;Could not start the tool entry &lt;b&gt;{0}&lt;/b&gt;.&lt;br&gt;Ensure that it is available as &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6660" />
+      <location filename="../UI/UserInterface.py" line="6676" />
       <source>Process '{0}' has exited.
 </source>
       <translation>进程“{0}”已退出。
 </translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6947" />
-      <location filename="../UI/UserInterface.py" line="6885" />
-      <location filename="../UI/UserInterface.py" line="6841" />
-      <location filename="../UI/UserInterface.py" line="6767" />
-      <location filename="../UI/UserInterface.py" line="6703" />
+      <location filename="../UI/UserInterface.py" line="6963" />
+      <location filename="../UI/UserInterface.py" line="6901" />
+      <location filename="../UI/UserInterface.py" line="6857" />
+      <location filename="../UI/UserInterface.py" line="6783" />
+      <location filename="../UI/UserInterface.py" line="6719" />
       <source>Documentation Missing</source>
       <translation>文档缺失</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6948" />
-      <location filename="../UI/UserInterface.py" line="6886" />
-      <location filename="../UI/UserInterface.py" line="6842" />
-      <location filename="../UI/UserInterface.py" line="6768" />
-      <location filename="../UI/UserInterface.py" line="6704" />
+      <location filename="../UI/UserInterface.py" line="6964" />
+      <location filename="../UI/UserInterface.py" line="6902" />
+      <location filename="../UI/UserInterface.py" line="6858" />
+      <location filename="../UI/UserInterface.py" line="6784" />
+      <location filename="../UI/UserInterface.py" line="6720" />
       <source>&lt;p&gt;The documentation starting point "&lt;b&gt;{0}&lt;/b&gt;" could not be found.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6929" />
-      <location filename="../UI/UserInterface.py" line="6811" />
+      <location filename="../UI/UserInterface.py" line="6945" />
+      <location filename="../UI/UserInterface.py" line="6827" />
       <source>Documentation</source>
       <translation>文档</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6812" />
+      <location filename="../UI/UserInterface.py" line="6828" />
       <source>&lt;p&gt;The PyQt{0} documentation starting point has not been configured.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6930" />
+      <location filename="../UI/UserInterface.py" line="6946" />
       <source>&lt;p&gt;The PySide{0} documentation starting point has not been configured.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7109" />
-      <location filename="../UI/UserInterface.py" line="7045" />
+      <location filename="../UI/UserInterface.py" line="7125" />
+      <location filename="../UI/UserInterface.py" line="7061" />
       <source>Start Web Browser</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7046" />
+      <location filename="../UI/UserInterface.py" line="7062" />
       <source>The eric web browser could not be started.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7110" />
+      <location filename="../UI/UserInterface.py" line="7126" />
       <source>&lt;p&gt;The eric web browser is not started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7156" />
+      <location filename="../UI/UserInterface.py" line="7172" />
       <source>Open Browser</source>
       <translation>打开浏览器</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7156" />
+      <location filename="../UI/UserInterface.py" line="7172" />
       <source>Could not start a web browser</source>
       <translation>无法启动网络浏览器</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7451" />
-      <location filename="../UI/UserInterface.py" line="7413" />
+      <location filename="../UI/UserInterface.py" line="7467" />
+      <location filename="../UI/UserInterface.py" line="7429" />
       <source>Keyboard Shortcuts File (*.ekj)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7431" />
+      <location filename="../UI/UserInterface.py" line="7447" />
       <source>&lt;p&gt;The keyboard shortcuts file &lt;b&gt;{0}&lt;/b&gt; exists already. Overwrite it?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7659" />
+      <location filename="../UI/UserInterface.py" line="7675" />
       <source>Read Session</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7660" />
+      <location filename="../UI/UserInterface.py" line="7676" />
       <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
       <translation>&lt;p&gt;会话文件 &lt;b&gt;{0}&lt;/b&gt; 无法读取。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7683" />
+      <location filename="../UI/UserInterface.py" line="7699" />
       <source>Save Session</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7708" />
-      <location filename="../UI/UserInterface.py" line="7685" />
+      <location filename="../UI/UserInterface.py" line="7724" />
+      <location filename="../UI/UserInterface.py" line="7701" />
       <source>eric Session Files (*.esj)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7753" />
+      <location filename="../UI/UserInterface.py" line="7769" />
       <source>Crash Session found!</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7754" />
+      <location filename="../UI/UserInterface.py" line="7770" />
       <source>A session file of a crashed session was found. Shall this session be restored?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="8131" />
+      <location filename="../UI/UserInterface.py" line="8147" />
       <source>Drop Error</source>
       <translation>降落误差</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="8132" />
+      <location filename="../UI/UserInterface.py" line="8148" />
       <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; is not a file.&lt;/p&gt;</source>
       <translation>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; 不是一个文件。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="8314" />
+      <location filename="../UI/UserInterface.py" line="8330" />
       <source>Upgrade available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="8315" />
+      <location filename="../UI/UserInterface.py" line="8331" />
       <source>&lt;p&gt;A newer version of the &lt;b&gt;eric-ide&lt;/b&gt; package is available at &lt;a href="{0}/eric-ide/"&gt;PyPI&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Installed: {1}&lt;br/&gt;Available: &lt;b&gt;{2}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Shall &lt;b&gt;eric-ide&lt;/b&gt; be upgraded?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="8360" />
+      <location filename="../UI/UserInterface.py" line="8376" />
       <source>First time usage</source>
       <translation>第一次使用</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="8361" />
+      <location filename="../UI/UserInterface.py" line="8377" />
       <source>eric has not been configured yet. The configuration dialog will be started.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="8383" />
+      <location filename="../UI/UserInterface.py" line="8399" />
       <source>Select Workspace Directory</source>
       <translation>选择工作区目录</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="8548" />
+      <location filename="../UI/UserInterface.py" line="8564" />
       <source>Unsaved Data Detected</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="8549" />
+      <location filename="../UI/UserInterface.py" line="8565" />
       <source>Some editors contain unsaved data. Shall these be saved?</source>
       <translation type="unfinished" />
     </message>
@@ -97096,75 +97224,75 @@
       <translation>&lt;p&gt;文件 &lt;b&gt;{0}&lt;/b&gt; 有未保存的更改。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="5917" />
+      <location filename="../ViewManager/ViewManager.py" line="5921" />
       <source>Line: {0:5}</source>
       <translation>行:{0:5}</translation>
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="5923" />
+      <location filename="../ViewManager/ViewManager.py" line="5927" />
       <source>Pos: {0:5}</source>
       <translation>列:{0:5}</translation>
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="5943" />
+      <location filename="../ViewManager/ViewManager.py" line="5947" />
       <source>Language: {0}</source>
       <translation>语言:{0}</translation>
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="5952" />
+      <location filename="../ViewManager/ViewManager.py" line="5956" />
       <source>EOL Mode: {0}</source>
       <translation>行尾模式:{0}</translation>
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="6447" />
-      <location filename="../ViewManager/ViewManager.py" line="6404" />
+      <location filename="../ViewManager/ViewManager.py" line="6451" />
+      <location filename="../ViewManager/ViewManager.py" line="6408" />
       <source>&amp;Clear</source>
       <translation>清除(&amp;C)</translation>
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="6441" />
+      <location filename="../ViewManager/ViewManager.py" line="6445" />
       <source>&amp;Add</source>
       <translation>添加(&amp;A)</translation>
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="6444" />
+      <location filename="../ViewManager/ViewManager.py" line="6448" />
       <source>&amp;Edit...</source>
       <translation>编辑(&amp;E)…</translation>
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="7510" />
-      <location filename="../ViewManager/ViewManager.py" line="7496" />
-      <location filename="../ViewManager/ViewManager.py" line="7464" />
+      <location filename="../ViewManager/ViewManager.py" line="7514" />
+      <location filename="../ViewManager/ViewManager.py" line="7500" />
+      <location filename="../ViewManager/ViewManager.py" line="7468" />
       <source>Edit Spelling Dictionary</source>
       <translation type="unfinished">编辑拼写字典</translation>
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="7467" />
+      <location filename="../ViewManager/ViewManager.py" line="7471" />
       <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" />
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="7483" />
+      <location filename="../ViewManager/ViewManager.py" line="7487" />
       <source>Editing {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="7499" />
+      <location filename="../ViewManager/ViewManager.py" line="7503" />
       <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" />
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="7513" />
+      <location filename="../ViewManager/ViewManager.py" line="7517" />
       <source>The spelling dictionary was saved successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="6625" />
+      <location filename="../ViewManager/ViewManager.py" line="6629" />
       <source>Clear Editor</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../ViewManager/ViewManager.py" line="6626" />
+      <location filename="../ViewManager/ViewManager.py" line="6630" />
       <source>Do you really want to delete all text of the current editor?</source>
       <translation type="unfinished" />
     </message>

eric ide

mercurial