eric7/i18n/eric7_zh_CN.ts

branch
eric7-maintenance
changeset 9111
4ac66b6c33a4
parent 9043
592e5feecf83
child 9192
a763d57e23bc
--- a/eric7/i18n/eric7_zh_CN.ts	Mon May 02 15:53:05 2022 +0200
+++ b/eric7/i18n/eric7_zh_CN.ts	Wed Jun 01 13:48:49 2022 +0200
@@ -2666,8 +2666,8 @@
     </message>
     <message>
       <location filename="../UI/Browser.py" line="115" />
-      <source>&lt;b&gt;The Browser Window&lt;/b&gt;&lt;p&gt;This allows you to easily navigate the hierarchy of directories and files on your system, identify the Python programs and open them up in a Source Viewer window. The window displays several separate hierarchies.&lt;/p&gt;&lt;p&gt;The first hierarchy is only shown if you have opened a program for debugging and its root is the directory containing that program. Usually all of the separate files that make up a Python application are held in the same directory, so this hierarchy gives you easy access to most of what you will need.&lt;/p&gt;&lt;p&gt;The next hierarchy is used to easily navigate the directories that are specified in the Python &lt;tt&gt;sys.path&lt;/tt&gt; variable.&lt;/p&gt;&lt;p&gt;The remaining hierarchies allow you navigate your system as a whole. On a UNIX system there will be a hierarchy with &lt;tt&gt;/&lt;/tt&gt; at its root and another with the user home directory. On a Windows system there will be a hierarchy for each drive on the system.&lt;/p&gt;&lt;p&gt;Python programs (i.e. those with a &lt;tt&gt;.py&lt;/tt&gt; file name suffix) are identified in the hierarchies with a Python icon. The right mouse button will popup a menu which lets you open the file in a Source Viewer window, open the file for debugging or use it for a unittest run.&lt;/p&gt;&lt;p&gt;The context menu of a class, function or method allows you to open the file defining this class, function or method and will ensure, that the correct source line is visible.&lt;/p&gt;&lt;p&gt;Qt-Designer files (i.e. those with a &lt;tt&gt;.ui&lt;/tt&gt; file name suffix) are shown with a Designer icon. The context menu of these files allows you to start Qt-Designer with that file.&lt;/p&gt;&lt;p&gt;Qt-Linguist files (i.e. those with a &lt;tt&gt;.ts&lt;/tt&gt; file name suffix) are shown with a Linguist icon. The context menu of these files allows you to start Qt-Linguist with that file.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;浏览器窗口&lt;/b&gt;&lt;p&gt;让您轻易地找到您系统中文件(夹)的层级,确认 Python 程序并在源码查看器中打开它们。该窗口显示独立的多级层次。&lt;/p&gt;&lt;p&gt;第一级仅在您已打开一个程序用来调试,且其根路径系包含该程序的目录时才会显示。通常,所有这些分离的文件构成了一个 Python 应用,而该应用亦在同一目录中。因此,此层级可让您轻易地访问到大多数您所需的文件。&lt;/p&gt;&lt;p&gt;下一个层级用以访问在 Python &lt;tt&gt;sys.path&lt;/tt&gt; 变量中声明的目录。&lt;/p&gt;&lt;p&gt;剩下的层次可让您在您的整个系统中导航。在 UNIX 系统中,在根路径有一个 &lt;tt&gt;/&lt;/tt&gt; 层级,另一个则是用户的家目录。在 Windows 系统中,每一个驱动器都有一个层级。&lt;/p&gt;&lt;p&gt;Python 程序(如:以 &lt;tt&gt;.py&lt;/tt&gt; 为扩展名)将在该层级中以 Python 图标标识。单击鼠标右键将会弹出快捷菜单,让您可以在源码查看器中打开此文件,以便调试或进行单元测试&lt;/p&gt;&lt;p&gt;一个类、函数或方法的关联菜单可让您打开此文件并定义该类、函数或方法,同时确保正确的源码行可见。&lt;/p&gt;&lt;p&gt;Qt-Designer 文件(如:以 &lt;tt&gt;.ui&lt;/tt&gt; 为扩展名) 将以设计器的图标显示。该类文件的关联菜单可让您用 Qt-Designer 打开这些文件。&lt;/p&gt;&lt;p&gt;Qt-Linguist 文件(如:以 &lt;tt&gt;.ts&lt;/tt&gt; 为扩展名)将以语言家的图标显示。该类文件的关联菜单可让您用 Qt-Linguist 打开这些文件。&lt;/p&gt;</translation>
+      <source>&lt;b&gt;The Browser Window&lt;/b&gt;&lt;p&gt;This allows you to easily navigate the hierarchy of directories and files on your system, identify the Python programs and open them up in a Source Viewer window. The window displays several separate hierarchies.&lt;/p&gt;&lt;p&gt;The first hierarchy is only shown if you have opened a program for debugging and its root is the directory containing that program. Usually all of the separate files that make up a Python application are held in the same directory, so this hierarchy gives you easy access to most of what you will need.&lt;/p&gt;&lt;p&gt;The next hierarchy is used to easily navigate the directories that are specified in the Python &lt;tt&gt;sys.path&lt;/tt&gt; variable.&lt;/p&gt;&lt;p&gt;The remaining hierarchies allow you navigate your system as a whole. On a UNIX system there will be a hierarchy with &lt;tt&gt;/&lt;/tt&gt; at its root and another with the user home directory. On a Windows system there will be a hierarchy for each drive on the system.&lt;/p&gt;&lt;p&gt;Python programs (i.e. those with a &lt;tt&gt;.py&lt;/tt&gt; file name suffix) are identified in the hierarchies with a Python icon. The right mouse button will popup a menu which lets you open the file in a Source Viewer window, open the file for debugging or use it for a test run.&lt;/p&gt;&lt;p&gt;The context menu of a class, function or method allows you to open the file defining this class, function or method and will ensure, that the correct source line is visible.&lt;/p&gt;&lt;p&gt;Qt-Designer files (i.e. those with a &lt;tt&gt;.ui&lt;/tt&gt; file name suffix) are shown with a Designer icon. The context menu of these files allows you to start Qt-Designer with that file.&lt;/p&gt;&lt;p&gt;Qt-Linguist files (i.e. those with a &lt;tt&gt;.ts&lt;/tt&gt; file name suffix) are shown with a Linguist icon. The context menu of these files allows you to start Qt-Linguist with that file.&lt;/p&gt;</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../UI/Browser.py" line="217" />
@@ -2698,8 +2698,8 @@
     </message>
     <message>
       <location filename="../UI/Browser.py" line="236" />
-      <source>Run unittest...</source>
-      <translation>运行单元测试…</translation>
+      <source>Run Test...</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../UI/Browser.py" line="565" />
@@ -2909,6 +2909,14 @@
       <translation type="unfinished" />
     </message>
     <message>
+      <source>&lt;b&gt;The Browser Window&lt;/b&gt;&lt;p&gt;This allows you to easily navigate the hierarchy of directories and files on your system, identify the Python programs and open them up in a Source Viewer window. The window displays several separate hierarchies.&lt;/p&gt;&lt;p&gt;The first hierarchy is only shown if you have opened a program for debugging and its root is the directory containing that program. Usually all of the separate files that make up a Python application are held in the same directory, so this hierarchy gives you easy access to most of what you will need.&lt;/p&gt;&lt;p&gt;The next hierarchy is used to easily navigate the directories that are specified in the Python &lt;tt&gt;sys.path&lt;/tt&gt; variable.&lt;/p&gt;&lt;p&gt;The remaining hierarchies allow you navigate your system as a whole. On a UNIX system there will be a hierarchy with &lt;tt&gt;/&lt;/tt&gt; at its root and another with the user home directory. On a Windows system there will be a hierarchy for each drive on the system.&lt;/p&gt;&lt;p&gt;Python programs (i.e. those with a &lt;tt&gt;.py&lt;/tt&gt; file name suffix) are identified in the hierarchies with a Python icon. The right mouse button will popup a menu which lets you open the file in a Source Viewer window, open the file for debugging or use it for a unittest run.&lt;/p&gt;&lt;p&gt;The context menu of a class, function or method allows you to open the file defining this class, function or method and will ensure, that the correct source line is visible.&lt;/p&gt;&lt;p&gt;Qt-Designer files (i.e. those with a &lt;tt&gt;.ui&lt;/tt&gt; file name suffix) are shown with a Designer icon. The context menu of these files allows you to start Qt-Designer with that file.&lt;/p&gt;&lt;p&gt;Qt-Linguist files (i.e. those with a &lt;tt&gt;.ts&lt;/tt&gt; file name suffix) are shown with a Linguist icon. The context menu of these files allows you to start Qt-Linguist with that file.&lt;/p&gt;</source>
+      <translation type="vanished">&lt;b&gt;浏览器窗口&lt;/b&gt;&lt;p&gt;让您轻易地找到您系统中文件(夹)的层级,确认 Python 程序并在源码查看器中打开它们。该窗口显示独立的多级层次。&lt;/p&gt;&lt;p&gt;第一级仅在您已打开一个程序用来调试,且其根路径系包含该程序的目录时才会显示。通常,所有这些分离的文件构成了一个 Python 应用,而该应用亦在同一目录中。因此,此层级可让您轻易地访问到大多数您所需的文件。&lt;/p&gt;&lt;p&gt;下一个层级用以访问在 Python &lt;tt&gt;sys.path&lt;/tt&gt; 变量中声明的目录。&lt;/p&gt;&lt;p&gt;剩下的层次可让您在您的整个系统中导航。在 UNIX 系统中,在根路径有一个 &lt;tt&gt;/&lt;/tt&gt; 层级,另一个则是用户的家目录。在 Windows 系统中,每一个驱动器都有一个层级。&lt;/p&gt;&lt;p&gt;Python 程序(如:以 &lt;tt&gt;.py&lt;/tt&gt; 为扩展名)将在该层级中以 Python 图标标识。单击鼠标右键将会弹出快捷菜单,让您可以在源码查看器中打开此文件,以便调试或进行单元测试&lt;/p&gt;&lt;p&gt;一个类、函数或方法的关联菜单可让您打开此文件并定义该类、函数或方法,同时确保正确的源码行可见。&lt;/p&gt;&lt;p&gt;Qt-Designer 文件(如:以 &lt;tt&gt;.ui&lt;/tt&gt; 为扩展名) 将以设计器的图标显示。该类文件的关联菜单可让您用 Qt-Designer 打开这些文件。&lt;/p&gt;&lt;p&gt;Qt-Linguist 文件(如:以 &lt;tt&gt;.ts&lt;/tt&gt; 为扩展名)将以语言家的图标显示。该类文件的关联菜单可让您用 Qt-Linguist 打开这些文件。&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <source>Run unittest...</source>
+      <translation type="vanished">运行单元测试…</translation>
+    </message>
+    <message>
       <source>Configure...</source>
       <translation type="vanished">配置…</translation>
     </message>
@@ -3673,12 +3681,12 @@
     </message>
     <message>
       <location filename="../UI/ClearPrivateDataDialog.ui" line="0" />
-      <source>Select to clear the unittest histories</source>
+      <source>Select to clear the test histories</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../UI/ClearPrivateDataDialog.ui" line="0" />
-      <source>Unittest histories</source>
+      <source>Test histories</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -5739,14 +5747,18 @@
     </message>
     <message>
       <location filename="../CondaInterface/Conda.py" line="707" />
-      <source>conda did not finish within 30 seconds.</source>
-      <translation>Conda 无法在30秒内完成。</translation>
+      <source>conda did not finish within 3 seconds.</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../CondaInterface/Conda.py" line="710" />
       <source>conda could not be started.</source>
       <translation>Conda 无法启动。</translation>
     </message>
+    <message>
+      <source>conda did not finish within 30 seconds.</source>
+      <translation type="vanished">Conda 无法在30秒内完成。</translation>
+    </message>
   </context>
   <context>
     <name>CondaExecDialog</name>
@@ -7649,59 +7661,55 @@
   <context>
     <name>DebugServer</name>
     <message>
-      <location filename="../Debugger/DebugServer.py" line="207" />
+      <location filename="../Debugger/DebugServer.py" line="178" />
       <source>created</source>
       <comment>must be same as in EditWatchpointDialog</comment>
       <translation>创建</translation>
     </message>
     <message>
-      <location filename="../Debugger/DebugServer.py" line="209" />
+      <location filename="../Debugger/DebugServer.py" line="180" />
       <source>changed</source>
       <comment>must be same as in EditWatchpointDialog</comment>
       <translation>改变</translation>
     </message>
     <message>
-      <location filename="../Debugger/DebugServer.py" line="358" />
+      <location filename="../Debugger/DebugServer.py" line="329" />
       <source>Register Debugger Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugServer.py" line="359" />
+      <location filename="../Debugger/DebugServer.py" line="330" />
       <source>&lt;p&gt;The debugger interface &lt;b&gt;{0}&lt;/b&gt; has already been registered. Ignoring this request.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugServer.py" line="880" />
+      <location filename="../Debugger/DebugServer.py" line="854" />
       <source>Connection from illegal host</source>
       <translation>连接非法主机</translation>
     </message>
     <message>
-      <location filename="../Debugger/DebugServer.py" line="881" />
+      <location filename="../Debugger/DebugServer.py" line="855" />
       <source>&lt;p&gt;A connection was attempted by the illegal host &lt;b&gt;{0}&lt;/b&gt;. Accept this connection?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugServer.py" line="1629" />
-      <location filename="../Debugger/DebugServer.py" line="1565" />
-      <location filename="../Debugger/DebugServer.py" line="1197" />
-      <location filename="../Debugger/DebugServer.py" line="1132" />
-      <location filename="../Debugger/DebugServer.py" line="1066" />
-      <location filename="../Debugger/DebugServer.py" line="998" />
+      <location filename="../Debugger/DebugServer.py" line="1171" />
+      <location filename="../Debugger/DebugServer.py" line="1106" />
+      <location filename="../Debugger/DebugServer.py" line="1040" />
+      <location filename="../Debugger/DebugServer.py" line="972" />
       <source>Start Debugger</source>
       <translation type="unfinished">启动调试器</translation>
     </message>
     <message>
-      <location filename="../Debugger/DebugServer.py" line="1630" />
-      <location filename="../Debugger/DebugServer.py" line="1566" />
-      <location filename="../Debugger/DebugServer.py" line="1198" />
-      <location filename="../Debugger/DebugServer.py" line="1133" />
-      <location filename="../Debugger/DebugServer.py" line="1067" />
-      <location filename="../Debugger/DebugServer.py" line="999" />
+      <location filename="../Debugger/DebugServer.py" line="1172" />
+      <location filename="../Debugger/DebugServer.py" line="1107" />
+      <location filename="../Debugger/DebugServer.py" line="1041" />
+      <location filename="../Debugger/DebugServer.py" line="973" />
       <source>&lt;p&gt;The debugger type &lt;b&gt;{0}&lt;/b&gt; is not supported or not configured.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugServer.py" line="1903" />
+      <location filename="../Debugger/DebugServer.py" line="1746" />
       <source>
 Not connected
 </source>
@@ -7710,13 +7718,13 @@
 </translation>
     </message>
     <message>
-      <location filename="../Debugger/DebugServer.py" line="2169" />
+      <location filename="../Debugger/DebugServer.py" line="1893" />
       <source>Passive debug connection received
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebugServer.py" line="2183" />
+      <location filename="../Debugger/DebugServer.py" line="1907" />
       <source>Passive debug connection closed
 </source>
       <translation type="unfinished" />
@@ -8973,10 +8981,10 @@
   <context>
     <name>DebuggerInterfacePython</name>
     <message>
-      <location filename="../Debugger/DebuggerInterfacePython.py" line="512" />
-      <location filename="../Debugger/DebuggerInterfacePython.py" line="494" />
-      <location filename="../Debugger/DebuggerInterfacePython.py" line="434" />
-      <location filename="../Debugger/DebuggerInterfacePython.py" line="398" />
+      <location filename="../Debugger/DebuggerInterfacePython.py" line="502" />
+      <location filename="../Debugger/DebuggerInterfacePython.py" line="484" />
+      <location filename="../Debugger/DebuggerInterfacePython.py" line="424" />
+      <location filename="../Debugger/DebuggerInterfacePython.py" line="388" />
       <location filename="../Debugger/DebuggerInterfacePython.py" line="329" />
       <location filename="../Debugger/DebuggerInterfacePython.py" line="311" />
       <location filename="../Debugger/DebuggerInterfacePython.py" line="253" />
@@ -8985,15 +8993,15 @@
       <translation>启动调试器</translation>
     </message>
     <message>
-      <location filename="../Debugger/DebuggerInterfacePython.py" line="399" />
+      <location filename="../Debugger/DebuggerInterfacePython.py" line="389" />
       <location filename="../Debugger/DebuggerInterfacePython.py" line="194" />
       <source>&lt;p&gt;No suitable Python3 environment configured.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebuggerInterfacePython.py" line="513" />
-      <location filename="../Debugger/DebuggerInterfacePython.py" line="495" />
-      <location filename="../Debugger/DebuggerInterfacePython.py" line="435" />
+      <location filename="../Debugger/DebuggerInterfacePython.py" line="503" />
+      <location filename="../Debugger/DebuggerInterfacePython.py" line="485" />
+      <location filename="../Debugger/DebuggerInterfacePython.py" line="425" />
       <location filename="../Debugger/DebuggerInterfacePython.py" line="330" />
       <location filename="../Debugger/DebuggerInterfacePython.py" line="312" />
       <location filename="../Debugger/DebuggerInterfacePython.py" line="254" />
@@ -9001,12 +9009,12 @@
       <translation type="unfinished">&lt;p&gt;调试器后端无法启动。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Debugger/DebuggerInterfacePython.py" line="1351" />
+      <location filename="../Debugger/DebuggerInterfacePython.py" line="1243" />
       <source>Debug Protocol Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Debugger/DebuggerInterfacePython.py" line="1352" />
+      <location filename="../Debugger/DebuggerInterfacePython.py" line="1244" />
       <source>&lt;p&gt;The response received from the debugger backend could not be decoded. Please report this issue with the received data to the eric bugs email address.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Data:&lt;br/&gt;{1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -11596,7 +11604,7 @@
   <context>
     <name>Editor</name>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3203" />
+      <location filename="../QScintilla/Editor.py" line="3206" />
       <location filename="../QScintilla/Editor.py" line="405" />
       <source>Open File</source>
       <translation>打开文件</translation>
@@ -11612,924 +11620,924 @@
       <translation>&lt;b&gt;源代码编辑器窗口&lt;/b&gt;&lt;p&gt;该窗口用于显示和编辑源文件。可以打开任意多个窗口。文件名显示在窗口标题栏中。&lt;/p&gt;&lt;p&gt;要设置断点只需在行号与折叠标记之间的空白处点击即可。通过页边空白的上下文菜单可进行编辑。&lt;/p&gt;&lt;p&gt;要设置书签只需按住 Shift 键再在行号与折叠标记之间的空白处点击即可。&lt;/p&gt;&lt;p&gt;以上行为都可能通过上下文菜单进行反转。&lt;/p&gt;&lt;p&gt;按住 Ctrl 再语法错误标记上点击可显示该错误的部分信息。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="828" />
+      <location filename="../QScintilla/Editor.py" line="831" />
       <source>Undo</source>
       <translation>撤消</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="831" />
+      <location filename="../QScintilla/Editor.py" line="834" />
       <source>Redo</source>
       <translation>重做</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="833" />
+      <location filename="../QScintilla/Editor.py" line="836" />
       <source>Revert to last saved state</source>
       <translation>还原到最后保存的状态</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="838" />
-      <source>Cut</source>
-      <translation>剪切</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="841" />
-      <source>Copy</source>
-      <translation>复制</translation>
+      <source>Cut</source>
+      <translation>剪切</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="844" />
+      <source>Copy</source>
+      <translation>复制</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="847" />
       <source>Paste</source>
       <translation>粘贴</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="849" />
-      <source>Indent</source>
-      <translation>缩进</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="852" />
-      <source>Unindent</source>
-      <translation>取消缩进</translation>
+      <source>Indent</source>
+      <translation>缩进</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="855" />
-      <source>Comment</source>
-      <translation>注释</translation>
+      <source>Unindent</source>
+      <translation>取消缩进</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="858" />
+      <source>Comment</source>
+      <translation>注释</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="861" />
       <source>Uncomment</source>
       <translation>取消注释</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8867" />
-      <location filename="../QScintilla/Editor.py" line="861" />
+      <location filename="../QScintilla/Editor.py" line="8843" />
+      <location filename="../QScintilla/Editor.py" line="864" />
       <source>Generate Docstring</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="865" />
-      <source>Select to brace</source>
-      <translation>选择括号内容</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="866" />
-      <source>Select all</source>
-      <translation>全选</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="868" />
+      <source>Select to brace</source>
+      <translation>选择括号内容</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="869" />
+      <source>Select all</source>
+      <translation>全选</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="871" />
       <source>Deselect all</source>
       <translation>全部取消选择</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="870" />
+      <location filename="../QScintilla/Editor.py" line="873" />
       <source>Execute Selection In Console</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="882" />
+      <location filename="../QScintilla/Editor.py" line="885" />
       <source>Use Monospaced Font</source>
       <translation>使用单空格字体</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="887" />
+      <location filename="../QScintilla/Editor.py" line="890" />
       <source>Autosave enabled</source>
       <translation>允许自动保存</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="891" />
+      <location filename="../QScintilla/Editor.py" line="894" />
       <source>Typing aids enabled</source>
       <translation>允许输入辅助</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="898" />
+      <location filename="../QScintilla/Editor.py" line="901" />
       <source>Automatic Completion enabled</source>
       <translation>允许自动补全</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="906" />
+      <location filename="../QScintilla/Editor.py" line="909" />
       <source>Calltip</source>
       <translation>调用提示</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="908" />
+      <location filename="../QScintilla/Editor.py" line="911" />
       <source>Code Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="923" />
-      <source>New Document View</source>
-      <translation>新建文档视图</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="926" />
+      <source>New Document View</source>
+      <translation>新建文档视图</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="929" />
       <source>New Document View (with new split)</source>
       <translation>新建文档视图(在新拆分页中)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="934" />
-      <source>Save</source>
-      <translation>保存</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="937" />
-      <source>Save As...</source>
-      <translation>另存为…</translation>
+      <source>Save</source>
+      <translation>保存</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="940" />
+      <source>Save As...</source>
+      <translation>另存为…</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="943" />
       <source>Save Copy...</source>
       <translation type="unfinished">保存副本…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="961" />
-      <location filename="../QScintilla/Editor.py" line="958" />
-      <source>Complete</source>
-      <translation>补全</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="964" />
-      <source>Clear Completions Cache</source>
-      <translation type="unfinished" />
+      <location filename="../QScintilla/Editor.py" line="961" />
+      <source>Complete</source>
+      <translation>补全</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="967" />
+      <source>Clear Completions Cache</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="970" />
       <source>Complete from Document</source>
       <translation type="unfinished">从文档</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="969" />
+      <location filename="../QScintilla/Editor.py" line="972" />
       <source>Complete from APIs</source>
       <translation type="unfinished">从 APIs</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="971" />
+      <location filename="../QScintilla/Editor.py" line="974" />
       <source>Complete from Document and APIs</source>
       <translation type="unfinished">从文档和 APIs</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="985" />
+      <location filename="../QScintilla/Editor.py" line="988" />
       <source>Check</source>
       <translation>检查</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="996" />
+      <location filename="../QScintilla/Editor.py" line="999" />
       <source>Tools</source>
       <translation>工具</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1007" />
+      <location filename="../QScintilla/Editor.py" line="1010" />
       <source>Show</source>
       <translation>显示</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1009" />
+      <location filename="../QScintilla/Editor.py" line="1012" />
       <source>Code metrics...</source>
       <translation>代码度量…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1011" />
+      <location filename="../QScintilla/Editor.py" line="1014" />
       <source>Code coverage...</source>
       <translation>代码覆盖率…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1013" />
-      <source>Show code coverage annotations</source>
-      <translation>显示代码覆盖率注解</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="1016" />
-      <source>Hide code coverage annotations</source>
-      <translation>隐藏代码覆盖率注解</translation>
+      <source>Show code coverage annotations</source>
+      <translation>显示代码覆盖率注解</translation>
     </message>
     <message>
       <location filename="../QScintilla/Editor.py" line="1019" />
+      <source>Hide code coverage annotations</source>
+      <translation>隐藏代码覆盖率注解</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1022" />
       <source>Profile data...</source>
       <translation>剖析数据…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1032" />
-      <source>Diagrams</source>
-      <translation>图表</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="1035" />
+      <source>Diagrams</source>
+      <translation>图表</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1038" />
       <source>Class Diagram...</source>
       <translation>类图…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1037" />
+      <location filename="../QScintilla/Editor.py" line="1040" />
       <source>Package Diagram...</source>
       <translation>程序包图…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1039" />
+      <location filename="../QScintilla/Editor.py" line="1042" />
       <source>Imports Diagram...</source>
       <translation>引用图…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1041" />
+      <location filename="../QScintilla/Editor.py" line="1044" />
       <source>Application Diagram...</source>
       <translation>应用程序图…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1046" />
+      <location filename="../QScintilla/Editor.py" line="1049" />
       <source>Load Diagram...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1059" />
+      <location filename="../QScintilla/Editor.py" line="1062" />
       <source>Languages</source>
       <translation>语言</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1064" />
+      <location filename="../QScintilla/Editor.py" line="1067" />
       <source>Text</source>
       <translation type="unfinished">文本</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1088" />
+      <location filename="../QScintilla/Editor.py" line="1091" />
       <source>Guessed</source>
       <translation>猜测</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1433" />
-      <location filename="../QScintilla/Editor.py" line="1092" />
+      <location filename="../QScintilla/Editor.py" line="1436" />
+      <location filename="../QScintilla/Editor.py" line="1095" />
       <source>Alternatives</source>
       <translation>备选</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1109" />
+      <location filename="../QScintilla/Editor.py" line="1112" />
       <source>Encodings</source>
       <translation>编码</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1132" />
+      <location filename="../QScintilla/Editor.py" line="1135" />
       <source>Re-Open With Encoding</source>
       <translation>使用指定编码重新打开</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1152" />
+      <location filename="../QScintilla/Editor.py" line="1155" />
       <source>End-of-Line Type</source>
       <translation>行尾类型</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1157" />
+      <location filename="../QScintilla/Editor.py" line="1160" />
       <source>Unix</source>
       <translation>Unix</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1164" />
+      <location filename="../QScintilla/Editor.py" line="1167" />
       <source>Windows</source>
       <translation>Windows</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1171" />
+      <location filename="../QScintilla/Editor.py" line="1174" />
       <source>Macintosh</source>
       <translation>Macintosh</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1189" />
+      <location filename="../QScintilla/Editor.py" line="1192" />
       <source>Spelling</source>
       <translation type="unfinished">拼写法</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8000" />
-      <location filename="../QScintilla/Editor.py" line="1197" />
+      <location filename="../QScintilla/Editor.py" line="7976" />
+      <location filename="../QScintilla/Editor.py" line="1200" />
       <source>Check spelling...</source>
       <translation>正在进行拼写检查…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1200" />
-      <source>Check spelling of selection...</source>
-      <translation>正在对所选内容进行拼写检查…</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="1203" />
+      <source>Check spelling of selection...</source>
+      <translation>正在对所选内容进行拼写检查…</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1206" />
       <source>Remove from dictionary</source>
       <translation>从词典里移除</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1221" />
+      <location filename="../QScintilla/Editor.py" line="1224" />
       <source>Spell Check Languages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1226" />
+      <location filename="../QScintilla/Editor.py" line="1229" />
       <source>No Language</source>
       <translation>无语言</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1254" />
+      <location filename="../QScintilla/Editor.py" line="1257" />
       <source>Toggle bookmark</source>
       <translation>切换书签</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1256" />
+      <location filename="../QScintilla/Editor.py" line="1259" />
       <source>Next bookmark</source>
       <translation>下一个书签</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1258" />
+      <location filename="../QScintilla/Editor.py" line="1261" />
       <source>Previous bookmark</source>
       <translation>上一个书签</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1260" />
+      <location filename="../QScintilla/Editor.py" line="1263" />
       <source>Clear all bookmarks</source>
       <translation>清除所有书签</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1269" />
+      <location filename="../QScintilla/Editor.py" line="1272" />
       <source>Toggle breakpoint</source>
       <translation>切换断点</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1271" />
-      <source>Toggle temporary breakpoint</source>
-      <translation>切换临时断点</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="1274" />
+      <source>Toggle temporary breakpoint</source>
+      <translation>切换临时断点</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1277" />
       <source>Edit breakpoint...</source>
       <translation>编辑断点…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5722" />
-      <location filename="../QScintilla/Editor.py" line="1276" />
+      <location filename="../QScintilla/Editor.py" line="5715" />
+      <location filename="../QScintilla/Editor.py" line="1279" />
       <source>Enable breakpoint</source>
       <translation>允许断点</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1279" />
-      <source>Next breakpoint</source>
-      <translation>下一个断点</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="1282" />
+      <source>Next breakpoint</source>
+      <translation>下一个断点</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="1285" />
       <source>Previous breakpoint</source>
       <translation>上一个断点</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1286" />
+      <location filename="../QScintilla/Editor.py" line="1289" />
       <source>Clear all breakpoints</source>
       <translation>清除所有断点</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1296" />
+      <location filename="../QScintilla/Editor.py" line="1299" />
       <source>Toggle all folds</source>
       <translation type="unfinished">开关所有折叠</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1301" />
+      <location filename="../QScintilla/Editor.py" line="1304" />
       <source>Toggle all folds (including children)</source>
       <translation type="unfinished">开关所有折叠(包含子项)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1306" />
+      <location filename="../QScintilla/Editor.py" line="1309" />
       <source>Toggle current fold</source>
       <translation type="unfinished">开关当前折叠</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1312" />
+      <location filename="../QScintilla/Editor.py" line="1315" />
       <source>Expand (including children)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1317" />
+      <location filename="../QScintilla/Editor.py" line="1320" />
       <source>Collapse (including children)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1323" />
+      <location filename="../QScintilla/Editor.py" line="1326" />
       <source>Clear all folds</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1335" />
+      <location filename="../QScintilla/Editor.py" line="1338" />
       <source>Goto syntax error</source>
       <translation>转到语法错误处</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1339" />
+      <location filename="../QScintilla/Editor.py" line="1342" />
       <source>Show syntax error message</source>
       <translation>显示语法错误消息</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1344" />
+      <location filename="../QScintilla/Editor.py" line="1347" />
       <source>Clear syntax error</source>
       <translation>清除语法错误</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1349" />
+      <location filename="../QScintilla/Editor.py" line="1352" />
       <source>Next warning</source>
       <translation>下一个警告</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1353" />
+      <location filename="../QScintilla/Editor.py" line="1356" />
       <source>Previous warning</source>
       <translation>上一个警告</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1357" />
+      <location filename="../QScintilla/Editor.py" line="1360" />
       <source>Show warning message</source>
       <translation>显示警告信息</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1361" />
+      <location filename="../QScintilla/Editor.py" line="1364" />
       <source>Clear warnings</source>
       <translation>清空警告</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1366" />
+      <location filename="../QScintilla/Editor.py" line="1369" />
       <source>Next uncovered line</source>
       <translation>下一个未覆盖行</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1370" />
+      <location filename="../QScintilla/Editor.py" line="1373" />
       <source>Previous uncovered line</source>
       <translation>上一个未覆盖行</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1375" />
+      <location filename="../QScintilla/Editor.py" line="1378" />
       <source>Next task</source>
       <translation>下一个任务</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1379" />
+      <location filename="../QScintilla/Editor.py" line="1382" />
       <source>Previous task</source>
       <translation>上一个任务</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1384" />
+      <location filename="../QScintilla/Editor.py" line="1387" />
       <source>Next change</source>
       <translation>下一个更改</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1388" />
+      <location filename="../QScintilla/Editor.py" line="1391" />
       <source>Previous change</source>
       <translation>上一个更改</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1392" />
+      <location filename="../QScintilla/Editor.py" line="1395" />
       <source>Clear changes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1420" />
-      <location filename="../QScintilla/Editor.py" line="1412" />
+      <location filename="../QScintilla/Editor.py" line="1423" />
+      <location filename="../QScintilla/Editor.py" line="1415" />
       <source>Export source</source>
       <translation>导出源代码</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1413" />
+      <location filename="../QScintilla/Editor.py" line="1416" />
       <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="1421" />
+      <location filename="../QScintilla/Editor.py" line="1424" />
       <source>No export format given. Aborting...</source>
       <translation>没有给定导出格式。终止…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1430" />
+      <location filename="../QScintilla/Editor.py" line="1433" />
       <source>Alternatives ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1451" />
+      <location filename="../QScintilla/Editor.py" line="1454" />
       <source>Pygments Lexer</source>
       <translation>Pygments 词法分析器</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="1452" />
+      <location filename="../QScintilla/Editor.py" line="1455" />
       <source>Select the Pygments lexer to apply.</source>
       <translation>选择要应用的 Pygments 词法分析器。</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="2016" />
+      <location filename="../QScintilla/Editor.py" line="2019" />
       <source>Modification of Read Only file</source>
       <translation>只读文件的改变</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="2017" />
+      <location filename="../QScintilla/Editor.py" line="2020" />
       <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="2435" />
+      <location filename="../QScintilla/Editor.py" line="2438" />
       <source>Add Breakpoint</source>
       <translation type="unfinished">添加断点</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="2436" />
+      <location filename="../QScintilla/Editor.py" line="2439" />
       <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="2765" />
+      <location filename="../QScintilla/Editor.py" line="2768" />
       <source>Printing...</source>
       <translation>打印中…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="2785" />
+      <location filename="../QScintilla/Editor.py" line="2788" />
       <source>Printing completed</source>
       <translation>打印已完成</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="2787" />
-      <source>Error while printing</source>
-      <translation>打印时出错</translation>
-    </message>
-    <message>
       <location filename="../QScintilla/Editor.py" line="2790" />
+      <source>Error while printing</source>
+      <translation>打印时出错</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="2793" />
       <source>Printing aborted</source>
       <translation>打印失败</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3145" />
+      <location filename="../QScintilla/Editor.py" line="3148" />
       <source>File Modified</source>
       <translation>文件已改变</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3146" />
+      <location filename="../QScintilla/Editor.py" line="3149" />
       <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="3204" />
+      <location filename="../QScintilla/Editor.py" line="3207" />
       <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="3384" />
-      <location filename="../QScintilla/Editor.py" line="3366" />
-      <location filename="../QScintilla/Editor.py" line="3321" />
+      <location filename="../QScintilla/Editor.py" line="3387" />
+      <location filename="../QScintilla/Editor.py" line="3369" />
+      <location filename="../QScintilla/Editor.py" line="3324" />
       <source>Save File</source>
       <translation>保存文件</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="3322" />
+      <location filename="../QScintilla/Editor.py" line="3325" />
       <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="3385" />
+      <location filename="../QScintilla/Editor.py" line="3388" />
       <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="4873" />
+      <location filename="../QScintilla/Editor.py" line="4876" />
       <source>Autocompletion</source>
       <translation>自动完成</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="4874" />
+      <location filename="../QScintilla/Editor.py" line="4877" />
       <source>Autocompletion is not available because there is no autocompletion source set.</source>
       <translation>自动完成无效,没有设定自动完成源。</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5011" />
+      <location filename="../QScintilla/Editor.py" line="5014" />
       <source>Auto-Completion Provider</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5012" />
+      <location filename="../QScintilla/Editor.py" line="5015" />
       <source>The completion list provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5305" />
+      <location filename="../QScintilla/Editor.py" line="5308" />
       <source>Call-Tips Provider</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5306" />
+      <location filename="../QScintilla/Editor.py" line="5309" />
       <source>The call-tips provider '{0}' was already registered. Ignoring duplicate request.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="5725" />
+      <location filename="../QScintilla/Editor.py" line="5718" />
       <source>Disable breakpoint</source>
       <translation>去除断点</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6092" />
+      <location filename="../QScintilla/Editor.py" line="6073" />
       <source>Code Coverage</source>
       <translation>代码覆盖率</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6093" />
+      <location filename="../QScintilla/Editor.py" line="6074" />
       <source>Please select a coverage file</source>
       <translation>请选择一个覆盖率文件</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6155" />
       <location filename="../QScintilla/Editor.py" line="6148" />
+      <location filename="../QScintilla/Editor.py" line="6141" />
       <source>Show Code Coverage Annotations</source>
       <translation>显示代码覆盖率注解</translation>
     </message>
     <message>
+      <location filename="../QScintilla/Editor.py" line="6142" />
+      <source>All lines have been covered.</source>
+      <translation>所有行均被已覆盖。</translation>
+    </message>
+    <message>
       <location filename="../QScintilla/Editor.py" line="6149" />
-      <source>All lines have been covered.</source>
-      <translation>所有行均被已覆盖。</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="6156" />
       <source>There is no coverage file available.</source>
       <translation>没有有效的覆盖率文件。</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6272" />
+      <location filename="../QScintilla/Editor.py" line="6248" />
       <source>Profile Data</source>
       <translation>剖析数据</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6273" />
+      <location filename="../QScintilla/Editor.py" line="6249" />
       <source>Please select a profile file</source>
       <translation>请选择一个剖析文件</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6434" />
-      <location filename="../QScintilla/Editor.py" line="6428" />
+      <location filename="../QScintilla/Editor.py" line="6410" />
+      <location filename="../QScintilla/Editor.py" line="6404" />
       <source>Syntax Error</source>
       <translation>语法错误</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6435" />
+      <location filename="../QScintilla/Editor.py" line="6411" />
       <source>No syntax error message available.</source>
       <translation>语法错误消息无效。</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6646" />
-      <location filename="../QScintilla/Editor.py" line="6640" />
+      <location filename="../QScintilla/Editor.py" line="6622" />
+      <location filename="../QScintilla/Editor.py" line="6616" />
       <source>Warning</source>
       <translation>警告</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6647" />
+      <location filename="../QScintilla/Editor.py" line="6623" />
       <source>No warning messages available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6707" />
+      <location filename="../QScintilla/Editor.py" line="6683" />
       <source>Style: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6710" />
+      <location filename="../QScintilla/Editor.py" line="6686" />
       <source>Warning: {0}</source>
       <translation>警告:{0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6717" />
+      <location filename="../QScintilla/Editor.py" line="6693" />
       <source>Error: {0}</source>
       <translation>错误:{0}</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6823" />
+      <location filename="../QScintilla/Editor.py" line="6799" />
       <source>Macro Name</source>
       <translation>宏名称</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6824" />
+      <location filename="../QScintilla/Editor.py" line="6800" />
       <source>Select a macro name:</source>
       <translation>选择一个宏名称:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6851" />
+      <location filename="../QScintilla/Editor.py" line="6827" />
       <source>Load macro file</source>
       <translation>输入宏文件</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6895" />
-      <location filename="../QScintilla/Editor.py" line="6853" />
+      <location filename="../QScintilla/Editor.py" line="6871" />
+      <location filename="../QScintilla/Editor.py" line="6829" />
       <source>Macro files (*.macro)</source>
       <translation>宏文件 (*.macro)</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6873" />
-      <location filename="../QScintilla/Editor.py" line="6864" />
+      <location filename="../QScintilla/Editor.py" line="6849" />
+      <location filename="../QScintilla/Editor.py" line="6840" />
       <source>Error loading macro</source>
       <translation>载入宏文件出错</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6865" />
+      <location filename="../QScintilla/Editor.py" line="6841" />
       <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="6874" />
+      <location filename="../QScintilla/Editor.py" line="6850" />
       <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="6893" />
+      <location filename="../QScintilla/Editor.py" line="6869" />
       <source>Save macro file</source>
       <translation>保存宏文件</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6910" />
+      <location filename="../QScintilla/Editor.py" line="6886" />
       <source>Save macro</source>
       <translation>保存宏</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6911" />
+      <location filename="../QScintilla/Editor.py" line="6887" />
       <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="6925" />
+      <location filename="../QScintilla/Editor.py" line="6901" />
       <source>Error saving macro</source>
       <translation>保存宏出错</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6926" />
+      <location filename="../QScintilla/Editor.py" line="6902" />
       <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="6938" />
+      <location filename="../QScintilla/Editor.py" line="6914" />
       <source>Start Macro Recording</source>
       <translation>开始宏录制</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6939" />
+      <location filename="../QScintilla/Editor.py" line="6915" />
       <source>Macro recording is already active. Start new?</source>
       <translation>宏录制已激活。开始录制新宏?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6964" />
+      <location filename="../QScintilla/Editor.py" line="6940" />
       <source>Macro Recording</source>
       <translation>宏录制</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="6965" />
+      <location filename="../QScintilla/Editor.py" line="6941" />
       <source>Enter name of the macro:</source>
       <translation>输入宏名称:</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7117" />
+      <location filename="../QScintilla/Editor.py" line="7093" />
       <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="7123" />
+      <location filename="../QScintilla/Editor.py" line="7099" />
       <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="7129" />
+      <location filename="../QScintilla/Editor.py" line="7105" />
       <source>File changed</source>
       <translation>文件已改变</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7180" />
+      <location filename="../QScintilla/Editor.py" line="7156" />
       <source>{0} (ro)</source>
       <translation>{0}(只读)</translation>
     </message>
     <message>
+      <location filename="../QScintilla/Editor.py" line="7453" />
+      <source>Drop Error</source>
+      <translation>降落误差</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7454" />
+      <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="7472" />
+      <source>Resources</source>
+      <translation>资源</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7475" />
+      <source>Add file...</source>
+      <translation>添加文件…</translation>
+    </message>
+    <message>
       <location filename="../QScintilla/Editor.py" line="7477" />
-      <source>Drop Error</source>
-      <translation>降落误差</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7478" />
-      <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="7496" />
-      <source>Resources</source>
-      <translation>资源</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7499" />
-      <source>Add file...</source>
-      <translation>添加文件…</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7501" />
       <source>Add files...</source>
       <translation>添加文件…</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7503" />
+      <location filename="../QScintilla/Editor.py" line="7479" />
       <source>Add aliased file...</source>
       <translation>添加别名文件…</translation>
     </message>
     <message>
+      <location filename="../QScintilla/Editor.py" line="7482" />
+      <source>Add localized resource...</source>
+      <translation>添加本地资源…</translation>
+    </message>
+    <message>
+      <location filename="../QScintilla/Editor.py" line="7486" />
+      <source>Add resource frame</source>
+      <translation>添加资源结构</translation>
+    </message>
+    <message>
       <location filename="../QScintilla/Editor.py" line="7506" />
-      <source>Add localized resource...</source>
-      <translation>添加本地资源…</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7510" />
-      <source>Add resource frame</source>
-      <translation>添加资源结构</translation>
-    </message>
-    <message>
-      <location filename="../QScintilla/Editor.py" line="7530" />
       <source>Add file resource</source>
       <translation>添加文件资源</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7546" />
+      <location filename="../QScintilla/Editor.py" line="7522" />
       <source>Add file resources</source>
       <translation>添加多个文件资源</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7573" />
-      <location filename="../QScintilla/Editor.py" line="7566" />
+      <location filename="../QScintilla/Editor.py" line="7549" />
+      <location filename="../QScintilla/Editor.py" line="7542" />
       <source>Add aliased file resource</source>
       <translation>添加别名文件资源</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7574" />
+      <location filename="../QScintilla/Editor.py" line="7550" />
       <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7639" />
+      <location filename="../QScintilla/Editor.py" line="7615" />
       <source>Package Diagram</source>
       <translation>程序包图</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7640" />
+      <location filename="../QScintilla/Editor.py" line="7616" />
       <source>Include class attributes?</source>
       <translation>包含类属性?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7658" />
+      <location filename="../QScintilla/Editor.py" line="7634" />
       <source>Imports Diagram</source>
       <translation>引用图</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7659" />
+      <location filename="../QScintilla/Editor.py" line="7635" />
       <source>Include imports from external modules?</source>
       <translation>从外部模块包含引用?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7672" />
+      <location filename="../QScintilla/Editor.py" line="7648" />
       <source>Application Diagram</source>
       <translation>应用程序图</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="7673" />
+      <location filename="../QScintilla/Editor.py" line="7649" />
       <source>Include module names?</source>
       <translation>包含模块名?</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8002" />
+      <location filename="../QScintilla/Editor.py" line="7978" />
       <source>Add to dictionary</source>
       <translation>添加到文件夹</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8004" />
+      <location filename="../QScintilla/Editor.py" line="7980" />
       <source>Ignore All</source>
       <translation>全部忽略</translation>
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8418" />
+      <location filename="../QScintilla/Editor.py" line="8394" />
       <source>Sort Lines</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8419" />
+      <location filename="../QScintilla/Editor.py" line="8395" />
       <source>The selection contains illegal data for a numerical sort.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8509" />
+      <location filename="../QScintilla/Editor.py" line="8485" />
       <source>Register Mouse Click Handler</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8510" />
+      <location filename="../QScintilla/Editor.py" line="8486" />
       <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="8603" />
+      <location filename="../QScintilla/Editor.py" line="8579" />
       <source>{0:4d}    {1}</source>
       <comment>line number, source code</comment>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8608" />
+      <location filename="../QScintilla/Editor.py" line="8584" />
       <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="8673" />
+      <location filename="../QScintilla/Editor.py" line="8649" />
       <source>EditorConfig Properties</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../QScintilla/Editor.py" line="8674" />
+      <location filename="../QScintilla/Editor.py" line="8650" />
       <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>
@@ -17919,14 +17927,27 @@
     </message>
   </context>
   <context>
+    <name>EricJsonReader</name>
+    <message>
+      <location filename="../EricNetwork/EricJsonStreamReader.py" line="130" />
+      <source>JSON Protocol Error</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../EricNetwork/EricJsonStreamReader.py" line="131" />
+      <source>&lt;p&gt;The data received from the writer could not be decoded. Please report this issue with the received data to the eric bugs email address.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Data:&lt;br/&gt;{1}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>EricJsonServer</name>
     <message>
+      <location filename="../EricNetwork/EricJsonServer.py" line="156" />
+      <source>JSON Protocol Error</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../EricNetwork/EricJsonServer.py" line="157" />
-      <source>JSON Protocol Error</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../EricNetwork/EricJsonServer.py" line="158" />
       <source>&lt;p&gt;The response received from the client could not be decoded. Please report this issue with the received data to the eric bugs email address.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Data:&lt;br/&gt;{1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -18434,7 +18455,7 @@
   <context>
     <name>EricPlainTextDialog</name>
     <message>
-      <location filename="../EricWidgets/EricPlainTextDialog.py" line="36" />
+      <location filename="../EricWidgets/EricPlainTextDialog.py" line="38" />
       <source>Copy to Clipboard</source>
       <translation type="unfinished" />
     </message>
@@ -29435,27 +29456,27 @@
   <context>
     <name>Globals</name>
     <message>
-      <location filename="../Globals/__init__.py" line="466" />
+      <location filename="../Globals/__init__.py" line="468" />
       <source>{0:4.2f} Bytes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Globals/__init__.py" line="470" />
+      <location filename="../Globals/__init__.py" line="472" />
       <source>{0:4.2f} KiB</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Globals/__init__.py" line="474" />
+      <location filename="../Globals/__init__.py" line="476" />
       <source>{0:4.2f} MiB</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Globals/__init__.py" line="478" />
+      <location filename="../Globals/__init__.py" line="480" />
       <source>{0:4.2f} GiB</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Globals/__init__.py" line="482" />
+      <location filename="../Globals/__init__.py" line="484" />
       <source>{0:4.2f} TiB</source>
       <translation type="unfinished" />
     </message>
@@ -42602,17 +42623,17 @@
   <context>
     <name>HgUtilities</name>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsMercurial/HgUtilities.py" line="128" />
+      <location filename="../Plugins/VcsPlugins/vcsMercurial/HgUtilities.py" line="131" />
       <source>The hg process finished with the exit code {0}</source>
       <translation type="unfinished">hg 进程已结束,返回值为 {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsMercurial/HgUtilities.py" line="133" />
+      <location filename="../Plugins/VcsPlugins/vcsMercurial/HgUtilities.py" line="136" />
       <source>The hg process did not finish within 30s.</source>
       <translation type="unfinished">hg 进程没有在 30 秒内结束。</translation>
     </message>
     <message>
-      <location filename="../Plugins/VcsPlugins/vcsMercurial/HgUtilities.py" line="137" />
+      <location filename="../Plugins/VcsPlugins/vcsMercurial/HgUtilities.py" line="140" />
       <source>Could not start the hg executable.</source>
       <translation type="unfinished">无法启动 hg 可执行程序。</translation>
     </message>
@@ -44998,7 +45019,7 @@
   <context>
     <name>InputDialogWizardDialog</name>
     <message>
-      <location filename="../Plugins/WizardPlugins/InputDialogWizard/InputDialogWizardDialog.py" line="44" />
+      <location filename="../Plugins/WizardPlugins/InputDialogWizard/InputDialogWizardDialog.py" line="50" />
       <source>Test</source>
       <translation>测试</translation>
     </message>
@@ -45021,6 +45042,12 @@
     <message>
       <location filename="../Plugins/WizardPlugins/InputDialogWizard/InputDialogWizardDialog.ui" line="0" />
       <location filename="../Plugins/WizardPlugins/InputDialogWizard/InputDialogWizardDialog.ui" line="0" />
+      <source>Multiline Text</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/WizardPlugins/InputDialogWizard/InputDialogWizardDialog.ui" line="0" />
+      <location filename="../Plugins/WizardPlugins/InputDialogWizard/InputDialogWizardDialog.ui" line="0" />
       <source>Integer</source>
       <translation>整型</translation>
     </message>
@@ -45120,11 +45147,18 @@
       <location filename="../Plugins/WizardPlugins/InputDialogWizard/InputDialogWizardDialog.ui" line="0" />
       <location filename="../Plugins/WizardPlugins/InputDialogWizard/InputDialogWizardDialog.ui" line="0" />
       <location filename="../Plugins/WizardPlugins/InputDialogWizard/InputDialogWizardDialog.ui" line="0" />
+      <location filename="../Plugins/WizardPlugins/InputDialogWizard/InputDialogWizardDialog.ui" line="0" />
       <source>Default</source>
       <translation>默认</translation>
     </message>
     <message>
       <location filename="../Plugins/WizardPlugins/InputDialogWizard/InputDialogWizardDialog.ui" line="0" />
+      <location filename="../Plugins/WizardPlugins/InputDialogWizard/InputDialogWizardDialog.ui" line="0" />
+      <source>Translate Default</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/WizardPlugins/InputDialogWizard/InputDialogWizardDialog.ui" line="0" />
       <source>Step</source>
       <translation>步长</translation>
     </message>
@@ -48097,7 +48131,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="649" />
+      <location filename="../JediInterface/JediServer.py" line="651" />
       <location filename="../JediInterface/JediServer.py" line="507" />
       <source>Rename Variable</source>
       <translation type="unfinished" />
@@ -48108,47 +48142,47 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="544" />
+      <location filename="../JediInterface/JediServer.py" line="545" />
       <source>Extract Variable</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="545" />
+      <location filename="../JediInterface/JediServer.py" line="546" />
       <source>Enter the name for the new variable:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="613" />
+      <location filename="../JediInterface/JediServer.py" line="615" />
       <source>Extract Function</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="614" />
+      <location filename="../JediInterface/JediServer.py" line="616" />
       <source>Enter the name for the function:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="657" />
+      <location filename="../JediInterface/JediServer.py" line="659" />
       <source>Refactoring</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="658" />
+      <location filename="../JediInterface/JediServer.py" line="660" />
       <source>&lt;p&gt;The refactoring could not be performed.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="706" />
+      <location filename="../JediInterface/JediServer.py" line="708" />
       <source>Apply Refactoring</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="707" />
+      <location filename="../JediInterface/JediServer.py" line="709" />
       <source>&lt;p&gt;The refactoring could not be applied.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="735" />
+      <location filename="../JediInterface/JediServer.py" line="737" />
       <source>The data received from the Jedi server could not be decoded. Please report this issue with the received data to the eric bugs email address.
 Error: {0}
 Data:
@@ -48157,7 +48191,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="744" />
+      <location filename="../JediInterface/JediServer.py" line="746" />
       <source>An exception happened in the Jedi client. Please report it to the eric bugs email address.
 Exception: {0}
 Value: {1}
@@ -48166,25 +48200,25 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="778" />
+      <location filename="../JediInterface/JediServer.py" line="780" />
       <source>The jedi and/or parso library is not installed.
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="782" />
+      <location filename="../JediInterface/JediServer.py" line="784" />
       <source>'{0}' is not supported because the configured interpreter could not be started.
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="787" />
+      <location filename="../JediInterface/JediServer.py" line="789" />
       <source>'{0}' is not supported because no suitable interpreter is configured.
 </source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../JediInterface/JediServer.py" line="901" />
+      <location filename="../JediInterface/JediServer.py" line="889" />
       <source>Jedi</source>
       <translation type="unfinished" />
     </message>
@@ -50775,12 +50809,32 @@
   <context>
     <name>MercurialPage</name>
     <message>
+      <location filename="../Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.py" line="45" />
+      <source>Executable Files (*.exe);;All Files (*)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.py" line="50" />
+      <source>All Files (*)</source>
+      <translation type="unfinished">所有文件 (*)</translation>
+    </message>
+    <message>
       <location filename="../Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.ui" line="0" />
       <source>&lt;b&gt;Configure Mercurial Interface&lt;/b&gt;</source>
       <translation>&lt;b&gt;配置 Mercurial 界面&lt;/b&gt;</translation>
     </message>
     <message>
       <location filename="../Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.ui" line="0" />
+      <source>Mercurial Executable</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.ui" line="0" />
+      <source>Enter the path of the Mercurial executable (hg or hg.exe) to override the automatism.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.ui" line="0" />
       <source>Global Options</source>
       <translation>全局选项</translation>
     </message>
@@ -51290,52 +51344,52 @@
   <context>
     <name>MicroPythonDevice</name>
     <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="212" />
+      <location filename="../MicroPython/MicroPythonDevices.py" line="238" />
       <source>RP2040 based</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="221" />
+      <location filename="../MicroPython/MicroPythonDevices.py" line="247" />
       <source>Generic Board</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="325" />
+      <location filename="../MicroPython/MicroPythonDevices.py" line="351" />
       <source>Unknown Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="450" />
+      <location filename="../MicroPython/MicroPythonDevices.py" line="476" />
       <source>Unsupported Device</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="460" />
+      <location filename="../MicroPython/MicroPythonDevices.py" line="486" />
       <source>REPL is not supported by this device.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="479" />
+      <location filename="../MicroPython/MicroPythonDevices.py" line="505" />
       <source>Plotter is not supported by this device.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="498" />
+      <location filename="../MicroPython/MicroPythonDevices.py" line="524" />
       <source>Running scripts is not supported by this device.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="518" />
+      <location filename="../MicroPython/MicroPythonDevices.py" line="544" />
       <source>File Manager is not supported by this device.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="563" />
+      <location filename="../MicroPython/MicroPythonDevices.py" line="589" />
       <source>Select Device Directory</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/MicroPythonDevices.py" line="564" />
+      <location filename="../MicroPython/MicroPythonDevices.py" line="590" />
       <source>Select the directory for the connected device:</source>
       <translation type="unfinished" />
     </message>
@@ -56129,93 +56183,93 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="222" />
+      <location filename="../PipInterface/Pip.py" line="215" />
       <source>Interpreter for Virtual Environment</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="223" />
+      <location filename="../PipInterface/Pip.py" line="216" />
       <source>No interpreter configured for the selected virtual environment.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="258" />
+      <location filename="../PipInterface/Pip.py" line="251" />
       <source>Install PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="300" />
+      <location filename="../PipInterface/Pip.py" line="293" />
       <source>Repair PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="385" />
+      <location filename="../PipInterface/Pip.py" line="378" />
       <source>Upgrade Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="425" />
+      <location filename="../PipInterface/Pip.py" line="418" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="454" />
+      <location filename="../PipInterface/Pip.py" line="447" />
       <source>Install Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="517" />
-      <location filename="../PipInterface/Pip.py" line="486" />
-      <location filename="../PipInterface/Pip.py" line="477" />
+      <location filename="../PipInterface/Pip.py" line="510" />
+      <location filename="../PipInterface/Pip.py" line="479" />
+      <location filename="../PipInterface/Pip.py" line="470" />
       <source>Uninstall Packages</source>
       <translation type="unfinished">卸载包</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="518" />
-      <location filename="../PipInterface/Pip.py" line="478" />
+      <location filename="../PipInterface/Pip.py" line="511" />
+      <location filename="../PipInterface/Pip.py" line="471" />
       <source>Do you really want to uninstall these packages?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="529" />
+      <location filename="../PipInterface/Pip.py" line="522" />
       <source>Uninstall Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="846" />
+      <location filename="../PipInterface/Pip.py" line="839" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="871" />
-      <location filename="../PipInterface/Pip.py" line="863" />
-      <source>List Cached Files</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="864" />
+      <location filename="../PipInterface/Pip.py" line="856" />
+      <source>List Cached Files</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="857" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="895" />
-      <location filename="../PipInterface/Pip.py" line="889" />
+      <location filename="../PipInterface/Pip.py" line="888" />
+      <location filename="../PipInterface/Pip.py" line="882" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="890" />
+      <location filename="../PipInterface/Pip.py" line="883" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="918" />
-      <location filename="../PipInterface/Pip.py" line="913" />
+      <location filename="../PipInterface/Pip.py" line="911" />
+      <location filename="../PipInterface/Pip.py" line="906" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="914" />
+      <location filename="../PipInterface/Pip.py" line="907" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -56461,6 +56515,16 @@
     </message>
     <message>
       <location filename="../PipInterface/PipLicensesDialog.ui" line="0" />
+      <source>License Filter:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipLicensesDialog.ui" line="0" />
+      <source>Select the license to filter the packages list</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipLicensesDialog.ui" line="0" />
       <source>Select to show only licenses of locally installed packages</source>
       <translation type="unfinished" />
     </message>
@@ -56501,33 +56565,38 @@
       <translation type="unfinished">总计</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipLicensesDialog.py" line="57" />
+      <location filename="../PipInterface/PipLicensesDialog.py" line="56" />
+      <source>&lt;All&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipLicensesDialog.py" line="59" />
       <source>Save as CSV...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipLicensesDialog.py" line="71" />
+      <location filename="../PipInterface/PipLicensesDialog.py" line="73" />
       <source>Licenses of "{0}"</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipLicensesDialog.py" line="75" />
+      <location filename="../PipInterface/PipLicensesDialog.py" line="77" />
       <source>No environment specified.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipLicensesDialog.py" line="171" />
-      <location filename="../PipInterface/PipLicensesDialog.py" line="141" />
+      <location filename="../PipInterface/PipLicensesDialog.py" line="200" />
+      <location filename="../PipInterface/PipLicensesDialog.py" line="170" />
       <source>Save as CSV</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipLicensesDialog.py" line="143" />
-      <source>CSV Files (*.csv);;All Files (*)</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/PipLicensesDialog.py" line="172" />
+      <source>CSV Files (*.csv);;All Files (*)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipLicensesDialog.py" line="201" />
       <source>&lt;p&gt;The license information could not be saved into the CSV file &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
@@ -57028,259 +57097,259 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="185" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="186" />
       <source>pip Menu</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="230" />
-      <source>Name:</source>
-      <translation type="unfinished">名称:</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="231" />
-      <source>Version:</source>
-      <translation type="unfinished">版本:</translation>
+      <source>Name:</source>
+      <translation type="unfinished">名称:</translation>
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="232" />
-      <source>Location:</source>
-      <translation type="unfinished" />
+      <source>Version:</source>
+      <translation type="unfinished">版本:</translation>
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="233" />
-      <source>Requires:</source>
+      <source>Location:</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="234" />
-      <source>Summary:</source>
+      <source>Requires:</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="235" />
-      <source>Homepage:</source>
+      <source>Summary:</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="236" />
-      <source>Author:</source>
-      <translation type="unfinished">作者:</translation>
+      <source>Homepage:</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="237" />
-      <source>Author Email:</source>
-      <translation type="unfinished" />
+      <source>Author:</source>
+      <translation type="unfinished">作者:</translation>
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="238" />
-      <source>License:</source>
+      <source>Author Email:</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="239" />
-      <source>Metadata Version:</source>
+      <source>License:</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="240" />
-      <source>Installer:</source>
+      <source>Metadata Version:</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="241" />
-      <source>Classifiers:</source>
+      <source>Installer:</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="242" />
-      <source>Entry Points:</source>
+      <source>Classifiers:</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="243" />
+      <source>Entry Points:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.py" line="244" />
       <source>Files:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="427" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="428" />
       <source>Getting installed packages...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="443" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="444" />
       <source>Getting outdated packages...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1141" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="972" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="961" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="930" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1146" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="973" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="962" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="931" />
       <source>Search PyPI</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="931" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="932" />
       <source>&lt;p&gt;Received an error while searching for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Error: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../PipInterface/PipPackagesWidget.py" line="946" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="947" />
       <source>%n package(s) found.</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="950" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="951" />
       <source>Showing first {0} packages found.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="966" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="962" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="967" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="963" />
       <source>&lt;p&gt;There were no results for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="973" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="974" />
       <source>&lt;p&gt;There were no more results for &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1142" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1147" />
       <source>&lt;p&gt;No package details info for &lt;b&gt;{0}&lt;/b&gt; available.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1156" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1161" />
       <source>Install Pip</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1159" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1164" />
       <source>Install Pip to User-Site</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1162" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1167" />
       <source>Repair Pip</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1299" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1166" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1304" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1171" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1169" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1174" />
       <source>Install Local Package</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1173" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1178" />
       <source>Install Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1176" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1181" />
       <source>Re-Install Selected Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1179" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1184" />
       <source>Uninstall Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1182" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1187" />
       <source>Generate Requirements...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1186" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1191" />
       <source>Show Licenses...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1190" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1195" />
       <source>Check Vulnerabilities</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1194" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1199" />
       <source>Update Vulnerability Database</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1198" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1203" />
       <source>Show Cache Info...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1201" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1206" />
       <source>Show Cached Files...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1204" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1209" />
       <source>Remove Cached Files...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1207" />
-      <source>Purge Cache...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="1212" />
+      <source>Purge Cache...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1217" />
       <source>Edit User Configuration...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1215" />
-      <source>Edit Environment Configuration...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/PipPackagesWidget.py" line="1220" />
+      <source>Edit Environment Configuration...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1225" />
       <source>Configure...</source>
       <translation type="unfinished">配置…</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1421" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1408" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1397" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1426" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1413" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1402" />
       <source>Edit Configuration</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1422" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1409" />
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1398" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1427" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1414" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1403" />
       <source>No valid configuration path determined. Aborting</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1576" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1581" />
       <source>{0} {1}</source>
       <comment>package name, package version</comment>
       <translation type="unfinished">{0} {1}</translation>
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1598" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1603" />
       <source>Affected Version:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1601" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1606" />
       <source>Advisory:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/PipPackagesWidget.py" line="1716" />
+      <location filename="../PipInterface/PipPackagesWidget.py" line="1721" />
       <source>any</source>
       <translation type="unfinished" />
     </message>
@@ -59330,1328 +59399,1328 @@
   <context>
     <name>Project</name>
     <message>
-      <location filename="../Project/Project.py" line="192" />
+      <location filename="../Project/Project.py" line="193" />
       <source>Python3 Files (*.py *.py3);;Python3 GUI Files (*.pyw *.pyw3);;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="289" />
-      <source>PyQt5 GUI</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Project/Project.py" line="290" />
-      <source>PyQt5 Console</source>
+      <source>PyQt5 GUI</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Project/Project.py" line="291" />
-      <source>PyQt6 GUI</source>
+      <source>PyQt5 Console</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Project/Project.py" line="292" />
-      <source>PyQt6 Console</source>
+      <source>PyQt6 GUI</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Project/Project.py" line="293" />
-      <source>Eric7 Plugin</source>
+      <source>PyQt6 Console</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Project/Project.py" line="294" />
-      <source>Console</source>
-      <translation>控制台程序</translation>
+      <source>Eric7 Plugin</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Project/Project.py" line="295" />
+      <source>Console</source>
+      <translation>控制台程序</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="296" />
       <source>Other</source>
       <translation>其它</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="307" />
-      <source>PySide2 GUI</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Project/Project.py" line="308" />
+      <source>PySide2 GUI</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="309" />
       <source>PySide2 Console</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="313" />
-      <source>PySide6 GUI</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Project/Project.py" line="314" />
+      <source>PySide6 GUI</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="315" />
       <source>PySide6 Console</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="397" />
-      <location filename="../Project/Project.py" line="385" />
-      <location filename="../Project/Project.py" line="374" />
-      <source>Registering Project Type</source>
-      <translation>注册项目类型</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="375" />
-      <source>&lt;p&gt;The Programming Language &lt;b&gt;{0}&lt;/b&gt; is not supported (project type: {1}).&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="386" />
-      <source>&lt;p&gt;The Project type &lt;b&gt;{0}&lt;/b&gt; is already registered with Programming Language &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Project/Project.py" line="398" />
+      <location filename="../Project/Project.py" line="386" />
+      <location filename="../Project/Project.py" line="375" />
+      <source>Registering Project Type</source>
+      <translation>注册项目类型</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="376" />
+      <source>&lt;p&gt;The Programming Language &lt;b&gt;{0}&lt;/b&gt; is not supported (project type: {1}).&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="387" />
+      <source>&lt;p&gt;The Project type &lt;b&gt;{0}&lt;/b&gt; is already registered with Programming Language &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="399" />
       <source>&lt;p&gt;The Project type &lt;b&gt;{0}&lt;/b&gt; is already registered.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="839" />
+      <location filename="../Project/Project.py" line="841" />
       <source>Read Project File</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="840" />
+      <location filename="../Project/Project.py" line="842" />
       <source>&lt;p&gt;The project file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="967" />
+      <location filename="../Project/Project.py" line="969" />
       <source>Read User Project Properties</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="968" />
+      <location filename="../Project/Project.py" line="970" />
       <source>&lt;p&gt;The user specific project properties file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1017" />
+      <location filename="../Project/Project.py" line="1019" />
       <source>Read Project Session</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1247" />
-      <location filename="../Project/Project.py" line="1229" />
-      <location filename="../Project/Project.py" line="1183" />
-      <location filename="../Project/Project.py" line="1105" />
-      <location filename="../Project/Project.py" line="1078" />
-      <location filename="../Project/Project.py" line="1061" />
-      <location filename="../Project/Project.py" line="1018" />
+      <location filename="../Project/Project.py" line="1249" />
+      <location filename="../Project/Project.py" line="1231" />
+      <location filename="../Project/Project.py" line="1185" />
+      <location filename="../Project/Project.py" line="1107" />
+      <location filename="../Project/Project.py" line="1080" />
+      <location filename="../Project/Project.py" line="1063" />
+      <location filename="../Project/Project.py" line="1020" />
       <source>Please save the project first.</source>
       <translation>请先保存项目。</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1042" />
+      <location filename="../Project/Project.py" line="1044" />
       <source>Read project session</source>
       <translation>读取项目会话</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1043" />
+      <location filename="../Project/Project.py" line="1045" />
       <source>&lt;p&gt;The project session file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1060" />
+      <location filename="../Project/Project.py" line="1062" />
       <source>Save Project Session</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1092" />
-      <location filename="../Project/Project.py" line="1077" />
+      <location filename="../Project/Project.py" line="1094" />
+      <location filename="../Project/Project.py" line="1079" />
       <source>Delete Project Session</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1093" />
+      <location filename="../Project/Project.py" line="1095" />
       <source>&lt;p&gt;The project session 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="1128" />
-      <location filename="../Project/Project.py" line="1104" />
+      <location filename="../Project/Project.py" line="1130" />
+      <location filename="../Project/Project.py" line="1106" />
       <source>Read Tasks</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1129" />
+      <location filename="../Project/Project.py" line="1131" />
       <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be read.&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="1211" />
-      <location filename="../Project/Project.py" line="1182" />
+      <location filename="../Project/Project.py" line="1213" />
+      <location filename="../Project/Project.py" line="1184" />
       <source>Read Debugger Properties</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1212" />
+      <location filename="../Project/Project.py" line="1214" />
       <source>&lt;p&gt;The project debugger properties file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1228" />
+      <location filename="../Project/Project.py" line="1230" />
       <source>Save Debugger Properties</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1261" />
-      <location filename="../Project/Project.py" line="1246" />
+      <location filename="../Project/Project.py" line="1263" />
+      <location filename="../Project/Project.py" line="1248" />
       <source>Delete Debugger Properties</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1262" />
+      <location filename="../Project/Project.py" line="1264" />
       <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="1405" />
+      <location filename="../Project/Project.py" line="1407" />
       <source>Add Language</source>
       <translation>添加语言</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1406" />
+      <location filename="../Project/Project.py" line="1408" />
       <source>You have to specify a translation pattern first.</source>
       <translation>必须先指定一个翻译样式。</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1529" />
-      <location filename="../Project/Project.py" line="1507" />
+      <location filename="../Project/Project.py" line="1531" />
+      <location filename="../Project/Project.py" line="1509" />
       <source>Delete translation</source>
       <translation>删除翻译</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1530" />
-      <location filename="../Project/Project.py" line="1508" />
+      <location filename="../Project/Project.py" line="1532" />
+      <location filename="../Project/Project.py" line="1510" />
       <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="1691" />
-      <location filename="../Project/Project.py" line="1678" />
-      <location filename="../Project/Project.py" line="1665" />
+      <location filename="../Project/Project.py" line="1693" />
+      <location filename="../Project/Project.py" line="1680" />
+      <location filename="../Project/Project.py" line="1667" />
       <source>Add file</source>
       <translation>添加文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1756" />
-      <location filename="../Project/Project.py" line="1666" />
+      <location filename="../Project/Project.py" line="1758" />
+      <location filename="../Project/Project.py" line="1668" />
       <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="1679" />
+      <location filename="../Project/Project.py" line="1681" />
       <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="1824" />
-      <location filename="../Project/Project.py" line="1692" />
+      <location filename="../Project/Project.py" line="1826" />
+      <location filename="../Project/Project.py" line="1694" />
       <source>The target directory must not be empty.</source>
       <translation>目标文件夹不能为空。</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1834" />
-      <location filename="../Project/Project.py" line="1823" />
-      <location filename="../Project/Project.py" line="1755" />
-      <location filename="../Project/Project.py" line="1737" />
-      <location filename="../Project/Project.py" line="1722" />
+      <location filename="../Project/Project.py" line="1836" />
+      <location filename="../Project/Project.py" line="1825" />
+      <location filename="../Project/Project.py" line="1757" />
+      <location filename="../Project/Project.py" line="1739" />
+      <location filename="../Project/Project.py" line="1724" />
       <source>Add directory</source>
       <translation>添加文件夹</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1723" />
+      <location filename="../Project/Project.py" line="1725" />
       <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="1738" />
+      <location filename="../Project/Project.py" line="1740" />
       <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="1835" />
+      <location filename="../Project/Project.py" line="1837" />
       <source>The source directory must not be empty.</source>
       <translation>源文件夹不能为空。</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1971" />
+      <location filename="../Project/Project.py" line="1973" />
       <source>Rename file</source>
       <translation>重命名文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="1995" />
-      <location filename="../Project/Project.py" line="1982" />
+      <location filename="../Project/Project.py" line="1997" />
+      <location filename="../Project/Project.py" line="1984" />
       <source>Rename File</source>
       <translation>重命名文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3134" />
-      <location filename="../Project/Project.py" line="1983" />
+      <location filename="../Project/Project.py" line="3136" />
+      <location filename="../Project/Project.py" line="1985" />
       <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="1996" />
+      <location filename="../Project/Project.py" line="1998" />
       <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="2242" />
+      <location filename="../Project/Project.py" line="2244" />
       <source>Delete file</source>
       <translation>删除文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2243" />
+      <location filename="../Project/Project.py" line="2245" />
       <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="2272" />
+      <location filename="../Project/Project.py" line="2274" />
       <source>Delete directory</source>
       <translation>删除文件夹</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2273" />
+      <location filename="../Project/Project.py" line="2275" />
       <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="2364" />
+      <location filename="../Project/Project.py" line="2366" />
       <source>Create project directory</source>
       <translation>创建项目文件夹</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2365" />
+      <location filename="../Project/Project.py" line="2367" />
       <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="2951" />
-      <location filename="../Project/Project.py" line="2429" />
+      <location filename="../Project/Project.py" line="2953" />
+      <location filename="../Project/Project.py" line="2431" />
       <source>Create project management directory</source>
       <translation>创建项目管理目录</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2952" />
-      <location filename="../Project/Project.py" line="2430" />
+      <location filename="../Project/Project.py" line="2954" />
+      <location filename="../Project/Project.py" line="2432" />
       <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="2450" />
+      <location filename="../Project/Project.py" line="2452" />
       <source>Create main script</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2451" />
+      <location filename="../Project/Project.py" line="2453" />
       <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="2765" />
-      <location filename="../Project/Project.py" line="2474" />
+      <location filename="../Project/Project.py" line="2767" />
+      <location filename="../Project/Project.py" line="2476" />
       <source>Create Makefile</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2766" />
-      <location filename="../Project/Project.py" line="2475" />
+      <location filename="../Project/Project.py" line="2768" />
+      <location filename="../Project/Project.py" line="2477" />
       <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="2981" />
-      <location filename="../Project/Project.py" line="2611" />
-      <location filename="../Project/Project.py" line="2583" />
-      <location filename="../Project/Project.py" line="2537" />
-      <location filename="../Project/Project.py" line="2514" />
-      <location filename="../Project/Project.py" line="2484" />
+      <location filename="../Project/Project.py" line="2983" />
+      <location filename="../Project/Project.py" line="2613" />
+      <location filename="../Project/Project.py" line="2585" />
+      <location filename="../Project/Project.py" line="2539" />
+      <location filename="../Project/Project.py" line="2516" />
+      <location filename="../Project/Project.py" line="2486" />
       <source>New Project</source>
       <translation>新建项目</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2485" />
+      <location filename="../Project/Project.py" line="2487" />
       <source>Add existing files to the project?</source>
       <translation>是否将已有文件添加到项目中?</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2982" />
-      <location filename="../Project/Project.py" line="2515" />
+      <location filename="../Project/Project.py" line="2984" />
+      <location filename="../Project/Project.py" line="2517" />
       <source>Select Version Control System</source>
       <translation>选择版本控制系统</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2612" />
-      <location filename="../Project/Project.py" line="2538" />
+      <location filename="../Project/Project.py" line="2614" />
+      <location filename="../Project/Project.py" line="2540" />
       <source>Would you like to edit the VCS command options?</source>
       <translation>是否编辑版本控制系统命令选项?</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3836" />
-      <location filename="../Project/Project.py" line="2554" />
+      <location filename="../Project/Project.py" line="3916" />
+      <location filename="../Project/Project.py" line="2556" />
       <source>New project</source>
       <translation>新建项目</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2555" />
+      <location filename="../Project/Project.py" line="2557" />
       <source>Shall the project file be added to the repository?</source>
       <translation>是否将项目文件添加到仓库?</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2588" />
-      <location filename="../Project/Project.py" line="2577" />
+      <location filename="../Project/Project.py" line="2590" />
+      <location filename="../Project/Project.py" line="2579" />
       <source>None</source>
       <translation>无</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2584" />
+      <location filename="../Project/Project.py" line="2586" />
       <source>Select version control system for the project</source>
       <translation>为项目选择版本控制系统</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2692" />
+      <location filename="../Project/Project.py" line="2694" />
       <source>Translation Pattern</source>
       <translation>翻译样式</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2693" />
+      <location filename="../Project/Project.py" line="2695" />
       <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="3850" />
-      <location filename="../Project/Project.py" line="2930" />
+      <location filename="../Project/Project.py" line="3930" />
+      <location filename="../Project/Project.py" line="2932" />
       <source>Open project</source>
       <translation>打开项目</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="2933" />
+      <location filename="../Project/Project.py" line="2935" />
       <source>Project Files (*.epj);;XML Project Files (*.e4p)</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Project/Project.py" line="3122" />
+      <location filename="../Project/Project.py" line="3111" />
+      <source>Project Files (*.epj)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Project/Project.py" line="3120" />
-      <location filename="../Project/Project.py" line="3109" />
-      <source>Project Files (*.epj)</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3118" />
       <source>Save Project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3133" />
+      <location filename="../Project/Project.py" line="3135" />
       <source>Save File</source>
       <translation>保存文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3169" />
+      <location filename="../Project/Project.py" line="3171" />
       <source>Close Project</source>
       <translation>关闭项目</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3170" />
+      <location filename="../Project/Project.py" line="3172" />
       <source>The current project has unsaved changes.</source>
       <translation>当前项目的更改未保存。</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3351" />
-      <location filename="../Project/Project.py" line="3319" />
+      <location filename="../Project/Project.py" line="3353" />
+      <location filename="../Project/Project.py" line="3321" />
       <source>Syntax errors detected</source>
       <translation>检测到语法错误</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Project/Project.py" line="3352" />
-      <location filename="../Project/Project.py" line="3320" />
+      <location filename="../Project/Project.py" line="3354" />
+      <location filename="../Project/Project.py" line="3322" />
       <source>The project contains %n file(s) with syntax errors.</source>
       <translation>
         <numerusform>项目包含 %n 文件有语法错误。</numerusform>
       </translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3838" />
+      <location filename="../Project/Project.py" line="3918" />
       <source>&amp;New...</source>
       <translation>新建(&amp;N)…</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="3840" />
-      <source>Generate a new project</source>
-      <translation>生成新项目</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3841" />
-      <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="3852" />
-      <source>&amp;Open...</source>
-      <translation>打开(&amp;O)…</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3854" />
-      <source>Open an existing project</source>
-      <translation>打开一个已有项目</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3855" />
-      <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="3863" />
-      <source>Close project</source>
-      <translation>关闭项目</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3865" />
-      <source>&amp;Close</source>
-      <translation>关闭(&amp;C)</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3866" />
-      <source>Close the current project</source>
-      <translation>关闭当前项目</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3867" />
-      <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="3875" />
-      <source>Save project</source>
-      <translation>保存项目</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4068" />
-      <location filename="../Project/Project.py" line="3877" />
-      <source>&amp;Save</source>
-      <translation>保存(&amp;S)</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3878" />
-      <source>Save the current project</source>
-      <translation>保存当前项目</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3879" />
-      <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="3887" />
-      <source>Save project as</source>
-      <translation>项目另存为</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3889" />
-      <source>Save &amp;as...</source>
-      <translation>另存为(&amp;A)…</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3890" />
-      <source>Save the current project to a new file</source>
-      <translation>将当前项目另存为一个新文件</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3892" />
-      <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="3902" />
-      <source>Add files to project</source>
-      <translation>将文件添加到项目中</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3904" />
-      <source>Add &amp;files...</source>
-      <translation>添加文件(&amp;F)…</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3906" />
-      <source>Add files to the current project</source>
-      <translation>将文件添加到当前项目中</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3908" />
-      <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="3918" />
-      <source>Add directory to project</source>
-      <translation>将文件夹添加到项目中</translation>
-    </message>
-    <message>
       <location filename="../Project/Project.py" line="3920" />
-      <source>Add directory...</source>
-      <translation>添加文件夹…</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3923" />
-      <source>Add a directory to the current project</source>
-      <translation>为当前工程添加文件夹</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3924" />
-      <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="3933" />
-      <source>Add translation to project</source>
-      <translation>将翻译添加到项目中</translation>
+      <source>Generate a new project</source>
+      <translation>生成新项目</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="3921" />
+      <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="3932" />
+      <source>&amp;Open...</source>
+      <translation>打开(&amp;O)…</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="3934" />
+      <source>Open an existing project</source>
+      <translation>打开一个已有项目</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="3935" />
-      <source>Add &amp;translation...</source>
-      <translation>添加翻译(&amp;T)…</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3938" />
-      <source>Add a translation to the current project</source>
-      <translation>将翻译添加到当前项目中</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3939" />
-      <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="3948" />
-      <source>Search new files</source>
-      <translation>搜索新文件</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3949" />
-      <source>Searc&amp;h new files...</source>
-      <translation>搜索新文件(&amp;H)…</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3951" />
-      <source>Search new files in the project directory.</source>
-      <translation>在项目文件夹中搜索新文件。</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3953" />
-      <source>&lt;b&gt;Search new files...&lt;/b&gt;&lt;p&gt;This searches for new files (sources, *.ui, *.idl, *.proto) in the project directory and registered subdirectories.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3963" />
-      <source>Search Project File</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3964" />
-      <source>Search Project File...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3965" />
-      <source>Alt+Ctrl+P</source>
-      <comment>Project|Search Project File</comment>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3968" />
-      <source>Search for a file in the project list of files.</source>
-      <translation type="unfinished" />
+      <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="3943" />
+      <source>Close project</source>
+      <translation>关闭项目</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="3945" />
+      <source>&amp;Close</source>
+      <translation>关闭(&amp;C)</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="3946" />
+      <source>Close the current project</source>
+      <translation>关闭当前项目</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="3947" />
+      <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="3955" />
+      <source>Save project</source>
+      <translation>保存项目</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4148" />
+      <location filename="../Project/Project.py" line="3957" />
+      <source>&amp;Save</source>
+      <translation>保存(&amp;S)</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="3958" />
+      <source>Save the current project</source>
+      <translation>保存当前项目</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="3959" />
+      <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="3967" />
+      <source>Save project as</source>
+      <translation>项目另存为</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="3969" />
+      <source>Save &amp;as...</source>
+      <translation>另存为(&amp;A)…</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="3970" />
-      <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="3978" />
-      <source>Project properties</source>
-      <translation>项目属性</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3980" />
-      <source>&amp;Properties...</source>
-      <translation>属性(&amp;P)…</translation>
+      <source>Save the current project to a new file</source>
+      <translation>将当前项目另存为一个新文件</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="3972" />
+      <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="3982" />
-      <source>Show the project properties</source>
-      <translation>显示项目属性</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3983" />
-      <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="3991" />
-      <source>User project properties</source>
-      <translation>用户项目属性</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3993" />
-      <source>&amp;User Properties...</source>
-      <translation>用户属性(&amp;U)…</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3995" />
-      <source>Show the user specific project properties</source>
-      <translation>显示用户指定的项目属性</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="3997" />
-      <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="4006" />
-      <source>Filetype Associations</source>
-      <translation>文件类型关联</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4007" />
-      <source>Filetype Associations...</source>
-      <translation>文件类型关联…</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4010" />
-      <source>Show the project file type associations</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4011" />
-      <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="4024" />
-      <source>Lexer Associations</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4025" />
-      <source>Lexer Associations...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4027" />
-      <source>Show the project lexer associations (overriding defaults)</source>
-      <translation type="unfinished" />
+      <source>Add files to project</source>
+      <translation>将文件添加到项目中</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="3984" />
+      <source>Add &amp;files...</source>
+      <translation>添加文件(&amp;F)…</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="3986" />
+      <source>Add files to the current project</source>
+      <translation>将文件添加到当前项目中</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="3988" />
+      <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="3998" />
+      <source>Add directory to project</source>
+      <translation>将文件夹添加到项目中</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4000" />
+      <source>Add directory...</source>
+      <translation>添加文件夹…</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4003" />
+      <source>Add a directory to the current project</source>
+      <translation>为当前工程添加文件夹</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4004" />
+      <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="4013" />
+      <source>Add translation to project</source>
+      <translation>将翻译添加到项目中</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4015" />
+      <source>Add &amp;translation...</source>
+      <translation>添加翻译(&amp;T)…</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4018" />
+      <source>Add a translation to the current project</source>
+      <translation>将翻译添加到当前项目中</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4019" />
+      <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="4028" />
+      <source>Search new files</source>
+      <translation>搜索新文件</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="4029" />
-      <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="4042" />
-      <source>Debugger Properties</source>
-      <translation>调试器属性</translation>
+      <source>Searc&amp;h new files...</source>
+      <translation>搜索新文件(&amp;H)…</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4031" />
+      <source>Search new files in the project directory.</source>
+      <translation>在项目文件夹中搜索新文件。</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4033" />
+      <source>&lt;b&gt;Search new files...&lt;/b&gt;&lt;p&gt;This searches for new files (sources, *.ui, *.idl, *.proto) in the project directory and registered subdirectories.&lt;/p&gt;</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Project/Project.py" line="4043" />
-      <source>Debugger &amp;Properties...</source>
-      <translation>调试器属性(&amp;P)…</translation>
+      <source>Search Project File</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4044" />
+      <source>Search Project File...</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Project/Project.py" line="4045" />
-      <source>Show the debugger properties</source>
-      <translation>显示调试器属性</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4046" />
-      <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="4055" />
-      <source>Load</source>
-      <translation>载入</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4056" />
-      <source>&amp;Load</source>
-      <translation>载入(&amp;L)</translation>
+      <source>Alt+Ctrl+P</source>
+      <comment>Project|Search Project File</comment>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4048" />
+      <source>Search for a file in the project list of files.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4050" />
+      <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="4058" />
-      <source>Load the debugger properties</source>
-      <translation>载入调试器属性</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4059" />
-      <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="4067" />
-      <source>Save</source>
-      <translation>保存</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4070" />
-      <source>Save the debugger properties</source>
-      <translation>保存调试器属性</translation>
+      <source>Project properties</source>
+      <translation>项目属性</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4060" />
+      <source>&amp;Properties...</source>
+      <translation>属性(&amp;P)…</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4062" />
+      <source>Show the project properties</source>
+      <translation>显示项目属性</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4063" />
+      <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="4071" />
-      <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="4079" />
-      <source>Delete</source>
-      <translation>删除</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4080" />
-      <source>&amp;Delete</source>
-      <translation>删除(&amp;D)</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4082" />
-      <source>Delete the debugger properties</source>
-      <translation>删除调试器属性</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4083" />
-      <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="4092" />
-      <source>Reset</source>
-      <translation>重置</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4093" />
-      <source>&amp;Reset</source>
-      <translation>重置(&amp;R)</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4095" />
-      <source>Reset the debugger properties</source>
-      <translation>重围调试器属性</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4096" />
-      <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>
+      <source>User project properties</source>
+      <translation>用户项目属性</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4073" />
+      <source>&amp;User Properties...</source>
+      <translation>用户属性(&amp;U)…</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4075" />
+      <source>Show the user specific project properties</source>
+      <translation>显示用户指定的项目属性</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4077" />
+      <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="4086" />
+      <source>Filetype Associations</source>
+      <translation>文件类型关联</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4087" />
+      <source>Filetype Associations...</source>
+      <translation>文件类型关联…</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4090" />
+      <source>Show the project file type associations</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4091" />
+      <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="4104" />
+      <source>Lexer Associations</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4105" />
+      <source>Lexer Associations...</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Project/Project.py" line="4107" />
-      <location filename="../Project/Project.py" line="4106" />
-      <source>Load session</source>
-      <translation>载入会话</translation>
+      <source>Show the project lexer associations (overriding defaults)</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Project/Project.py" line="4109" />
-      <source>Load the projects session file.</source>
-      <translation>载入项目会话文件。</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4110" />
-      <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>
+      <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="4122" />
+      <source>Debugger Properties</source>
+      <translation>调试器属性</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4123" />
+      <source>Debugger &amp;Properties...</source>
+      <translation>调试器属性(&amp;P)…</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="4125" />
-      <location filename="../Project/Project.py" line="4124" />
-      <source>Save session</source>
-      <translation>保存会话</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4127" />
-      <source>Save the projects session file.</source>
-      <translation>保存项目会话文件。</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4128" />
-      <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="4143" />
-      <location filename="../Project/Project.py" line="4142" />
-      <source>Delete session</source>
-      <translation>删除会话</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4145" />
-      <source>Delete the projects session file.</source>
-      <translation>删除项目会话文件。</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4146" />
-      <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="4156" />
-      <source>Code Metrics</source>
-      <translation>代码度量</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4157" />
-      <source>&amp;Code Metrics...</source>
-      <translation>代码度量(&amp;C)…</translation>
+      <source>Show the debugger properties</source>
+      <translation>显示调试器属性</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4126" />
+      <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="4135" />
+      <source>Load</source>
+      <translation>载入</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4136" />
+      <source>&amp;Load</source>
+      <translation>载入(&amp;L)</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4138" />
+      <source>Load the debugger properties</source>
+      <translation>载入调试器属性</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4139" />
+      <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="4147" />
+      <source>Save</source>
+      <translation>保存</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4150" />
+      <source>Save the debugger properties</source>
+      <translation>保存调试器属性</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4151" />
+      <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="4159" />
+      <source>Delete</source>
+      <translation>删除</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="4160" />
-      <source>Show some code metrics for the project.</source>
-      <translation>显示项目的部分代码度量。</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4161" />
-      <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="4170" />
-      <source>Python Code Coverage</source>
-      <translation>Python 代码覆盖率</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4171" />
-      <source>Code Co&amp;verage...</source>
-      <translation>代码覆盖率(&amp;v)…</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4174" />
-      <source>Show code coverage information for the project.</source>
-      <translation>显示项目的代码覆盖率信息。</translation>
+      <source>&amp;Delete</source>
+      <translation>删除(&amp;D)</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4162" />
+      <source>Delete the debugger properties</source>
+      <translation>删除调试器属性</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4163" />
+      <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="4172" />
+      <source>Reset</source>
+      <translation>重置</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4173" />
+      <source>&amp;Reset</source>
+      <translation>重置(&amp;R)</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="4175" />
-      <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="5060" />
-      <location filename="../Project/Project.py" line="5037" />
-      <location filename="../Project/Project.py" line="4184" />
-      <source>Profile Data</source>
-      <translation>剖析数据</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4185" />
-      <source>&amp;Profile Data...</source>
-      <translation>剖析数据(&amp;P)…</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4188" />
-      <source>Show profiling data for the project.</source>
-      <translation>显示项目的剖析数据。</translation>
+      <source>Reset the debugger properties</source>
+      <translation>重围调试器属性</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4176" />
+      <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="4187" />
+      <location filename="../Project/Project.py" line="4186" />
+      <source>Load session</source>
+      <translation>载入会话</translation>
     </message>
     <message>
       <location filename="../Project/Project.py" line="4189" />
+      <source>Load the projects session file.</source>
+      <translation>载入项目会话文件。</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4190" />
+      <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="4205" />
+      <location filename="../Project/Project.py" line="4204" />
+      <source>Save session</source>
+      <translation>保存会话</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4207" />
+      <source>Save the projects session file.</source>
+      <translation>保存项目会话文件。</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4208" />
+      <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="4223" />
+      <location filename="../Project/Project.py" line="4222" />
+      <source>Delete session</source>
+      <translation>删除会话</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4225" />
+      <source>Delete the projects session file.</source>
+      <translation>删除项目会话文件。</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4226" />
+      <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="4236" />
+      <source>Code Metrics</source>
+      <translation>代码度量</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4237" />
+      <source>&amp;Code Metrics...</source>
+      <translation>代码度量(&amp;C)…</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4240" />
+      <source>Show some code metrics for the project.</source>
+      <translation>显示项目的部分代码度量。</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4241" />
+      <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="4250" />
+      <source>Python Code Coverage</source>
+      <translation>Python 代码覆盖率</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4251" />
+      <source>Code Co&amp;verage...</source>
+      <translation>代码覆盖率(&amp;v)…</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4254" />
+      <source>Show code coverage information for the project.</source>
+      <translation>显示项目的代码覆盖率信息。</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4255" />
+      <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="5116" />
+      <location filename="../Project/Project.py" line="5105" />
+      <location filename="../Project/Project.py" line="4264" />
+      <source>Profile Data</source>
+      <translation>剖析数据</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4265" />
+      <source>&amp;Profile Data...</source>
+      <translation>剖析数据(&amp;P)…</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4268" />
+      <source>Show profiling data for the project.</source>
+      <translation>显示项目的剖析数据。</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4269" />
       <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="5114" />
-      <location filename="../Project/Project.py" line="4199" />
+      <location filename="../Project/Project.py" line="5167" />
+      <location filename="../Project/Project.py" line="4279" />
       <source>Application Diagram</source>
       <translation>应用程序图</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4200" />
+      <location filename="../Project/Project.py" line="4280" />
       <source>&amp;Application Diagram...</source>
       <translation>应用程序(&amp;A)图…</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4203" />
+      <location filename="../Project/Project.py" line="4283" />
       <source>Show a diagram of the project.</source>
       <translation>显示项目图表。</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4204" />
+      <location filename="../Project/Project.py" line="4284" />
       <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="4213" />
+      <location filename="../Project/Project.py" line="4293" />
       <source>Load Diagram</source>
       <translation type="unfinished">加载图表</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4214" />
+      <location filename="../Project/Project.py" line="4294" />
       <source>&amp;Load Diagram...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4217" />
+      <location filename="../Project/Project.py" line="4297" />
       <source>Load a diagram from file.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4218" />
+      <location filename="../Project/Project.py" line="4298" />
       <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="5296" />
-      <location filename="../Project/Project.py" line="5248" />
-      <location filename="../Project/Project.py" line="4228" />
-      <source>Create Package List</source>
-      <translation>创建程序包列表</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4230" />
-      <source>Create &amp;Package List</source>
-      <translation type="unfinished">创建插件存档(&amp;A)</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4233" />
-      <source>Create an initial PKGLIST file for an eric plugin.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4234" />
-      <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="5349" />
-      <location filename="../Project/Project.py" line="4244" />
+      <location filename="../Project/Project.py" line="5301" />
+      <location filename="../Project/Project.py" line="4308" />
+      <source>Create Package List</source>
+      <translation>创建程序包列表</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4310" />
+      <source>Create &amp;Package List</source>
+      <translation type="unfinished">创建插件存档(&amp;A)</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4313" />
+      <source>Create an initial PKGLIST file for an eric plugin.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4314" />
+      <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="5402" />
+      <location filename="../Project/Project.py" line="4324" />
       <source>Create Plugin Archives</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4246" />
+      <location filename="../Project/Project.py" line="4326" />
       <source>Create Plugin &amp;Archives</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4249" />
-      <source>Create eric plugin archive files.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4250" />
-      <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="4261" />
-      <source>Create Plugin Archives (Snapshot)</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4263" />
-      <source>Create Plugin Archives (&amp;Snapshot)</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4265" />
-      <source>Create eric plugin archive files (snapshot releases).</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4267" />
-      <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="5747" />
-      <location filename="../Project/Project.py" line="5721" />
-      <location filename="../Project/Project.py" line="5676" />
-      <location filename="../Project/Project.py" line="4282" />
-      <source>Execute Make</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4283" />
-      <source>&amp;Execute Make</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4286" />
-      <source>Perform a 'make' run.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4287" />
-      <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="5726" />
-      <location filename="../Project/Project.py" line="4296" />
-      <source>Test for Changes</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4297" />
-      <source>&amp;Test for Changes</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4300" />
-      <source>Question 'make', if a rebuild is needed.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4301" />
-      <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="4329" />
-      <source>&amp;Project</source>
-      <translation>项目(&amp;P)</translation>
+      <source>Create eric plugin archive files.</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Project/Project.py" line="4330" />
-      <source>Open &amp;Recent Projects</source>
-      <translation>打开最近的项目</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4331" />
-      <source>Session</source>
-      <translation>会话</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4332" />
-      <source>Debugger</source>
-      <translation>调试器</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4334" />
-      <source>Project-T&amp;ools</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4335" />
-      <source>&amp;Version Control</source>
-      <translation>版本控制(&amp;V)</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4339" />
-      <source>Chec&amp;k</source>
-      <translation>检查(&amp;K)</translation>
+      <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="4341" />
-      <source>Sho&amp;w</source>
-      <translation>显示(&amp;W)</translation>
-    </message>
-    <message>
-      <location filename="../Project/Project.py" line="4342" />
-      <source>&amp;Diagrams</source>
-      <translation>图表(&amp;D)</translation>
+      <source>Create Plugin Archives (Snapshot)</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Project/Project.py" line="4343" />
+      <source>Create Plugin Archives (&amp;Snapshot)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4345" />
+      <source>Create eric plugin archive files (snapshot releases).</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4347" />
+      <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="5800" />
+      <location filename="../Project/Project.py" line="5774" />
+      <location filename="../Project/Project.py" line="5729" />
+      <location filename="../Project/Project.py" line="4362" />
+      <source>Execute Make</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4363" />
+      <source>&amp;Execute Make</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4366" />
+      <source>Perform a 'make' run.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4367" />
+      <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="5779" />
+      <location filename="../Project/Project.py" line="4376" />
+      <source>Test for Changes</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4377" />
+      <source>&amp;Test for Changes</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4380" />
+      <source>Question 'make', if a rebuild is needed.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4381" />
+      <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="4409" />
+      <source>&amp;Project</source>
+      <translation>项目(&amp;P)</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4410" />
+      <source>Open &amp;Recent Projects</source>
+      <translation>打开最近的项目</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4411" />
+      <source>Session</source>
+      <translation>会话</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4412" />
+      <source>Debugger</source>
+      <translation>调试器</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4414" />
+      <source>Project-T&amp;ools</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4415" />
+      <source>&amp;Version Control</source>
+      <translation>版本控制(&amp;V)</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4419" />
+      <source>Chec&amp;k</source>
+      <translation>检查(&amp;K)</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4421" />
+      <source>Sho&amp;w</source>
+      <translation>显示(&amp;W)</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4422" />
+      <source>&amp;Diagrams</source>
+      <translation>图表(&amp;D)</translation>
+    </message>
+    <message>
+      <location filename="../Project/Project.py" line="4423" />
       <source>Pac&amp;kagers</source>
       <translation>打包程序(&amp;K)</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4344" />
+      <location filename="../Project/Project.py" line="4424" />
       <source>Source &amp;Documentation</source>
       <translation>源文档(&amp;D)</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4346" />
+      <location filename="../Project/Project.py" line="4426" />
       <source>Make</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4469" />
-      <location filename="../Project/Project.py" line="4466" />
+      <location filename="../Project/Project.py" line="4549" />
+      <location filename="../Project/Project.py" line="4546" />
       <source>Project</source>
       <translation>项目</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4530" />
+      <location filename="../Project/Project.py" line="4610" />
       <source>&amp;Clear</source>
       <translation>清除(&amp;C)</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4692" />
+      <location filename="../Project/Project.py" line="4772" />
       <source>Search New Files</source>
       <translation>搜索新文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4693" />
+      <location filename="../Project/Project.py" line="4773" />
       <source>There were no new files found to be added.</source>
       <translation>没有要添加的新文件。</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4840" />
-      <location filename="../Project/Project.py" line="4828" />
+      <location filename="../Project/Project.py" line="4920" />
+      <location filename="../Project/Project.py" line="4908" />
       <source>Version Control System</source>
       <translation>版本控制系统</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="4829" />
+      <location filename="../Project/Project.py" line="4909" />
       <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="4841" />
+      <location filename="../Project/Project.py" line="4921" />
       <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="4987" />
+      <location filename="../Project/Project.py" line="5067" />
       <source>Coverage Data</source>
       <translation>覆盖率数据</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5038" />
-      <location filename="../Project/Project.py" line="4988" />
+      <location filename="../Project/Project.py" line="5106" />
+      <location filename="../Project/Project.py" line="5068" />
       <source>There is no main script defined for the current project. Aborting</source>
       <translation>当前项目未定义主脚本。终止</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5010" />
+      <location filename="../Project/Project.py" line="5078" />
       <source>Code Coverage</source>
       <translation>代码覆盖率</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5011" />
+      <location filename="../Project/Project.py" line="5079" />
       <source>Please select a coverage file</source>
       <translation>请选择一个覆盖率文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5061" />
+      <location filename="../Project/Project.py" line="5117" />
       <source>Please select a profile file</source>
       <translation>请选择一个剖析文件</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5115" />
+      <location filename="../Project/Project.py" line="5168" />
       <source>Include module names?</source>
       <translation>包含模块名?</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5249" />
+      <location filename="../Project/Project.py" line="5302" />
       <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="5297" />
+      <location filename="../Project/Project.py" line="5350" />
       <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="5561" />
-      <location filename="../Project/Project.py" line="5520" />
-      <location filename="../Project/Project.py" line="5476" />
-      <location filename="../Project/Project.py" line="5468" />
-      <location filename="../Project/Project.py" line="5451" />
-      <location filename="../Project/Project.py" line="5416" />
-      <location filename="../Project/Project.py" line="5389" />
-      <location filename="../Project/Project.py" line="5362" />
-      <location filename="../Project/Project.py" line="5340" />
-      <location filename="../Project/Project.py" line="5328" />
-      <location filename="../Project/Project.py" line="5315" />
+      <location filename="../Project/Project.py" line="5614" />
+      <location filename="../Project/Project.py" line="5573" />
+      <location filename="../Project/Project.py" line="5529" />
+      <location filename="../Project/Project.py" line="5521" />
+      <location filename="../Project/Project.py" line="5504" />
+      <location filename="../Project/Project.py" line="5469" />
+      <location filename="../Project/Project.py" line="5442" />
+      <location filename="../Project/Project.py" line="5415" />
+      <location filename="../Project/Project.py" line="5393" />
+      <location filename="../Project/Project.py" line="5381" />
+      <location filename="../Project/Project.py" line="5368" />
       <source>Create Plugin Archive</source>
       <translation>创建插件存档</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5316" />
+      <location filename="../Project/Project.py" line="5369" />
       <source>The project does not have a main script defined. Aborting...</source>
       <translation>项目未定义主脚本。终止…</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5329" />
+      <location filename="../Project/Project.py" line="5382" />
       <source>Select package lists:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5341" />
+      <location filename="../Project/Project.py" line="5394" />
       <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="5346" />
+      <location filename="../Project/Project.py" line="5399" />
       <source>Creating plugin archives...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5346" />
+      <location filename="../Project/Project.py" line="5399" />
       <source>Abort</source>
       <translation type="unfinished">终止</translation>
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5347" />
+      <location filename="../Project/Project.py" line="5400" />
       <source>%v/%m Archives</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5363" />
+      <location filename="../Project/Project.py" line="5416" />
       <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="5390" />
+      <location filename="../Project/Project.py" line="5443" />
       <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="5417" />
+      <location filename="../Project/Project.py" line="5470" />
       <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="5452" />
+      <location filename="../Project/Project.py" line="5505" />
       <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="5469" />
+      <location filename="../Project/Project.py" line="5522" />
       <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="5477" />
+      <location filename="../Project/Project.py" line="5530" />
       <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="5521" />
+      <location filename="../Project/Project.py" line="5574" />
       <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="5562" />
+      <location filename="../Project/Project.py" line="5615" />
       <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="5677" />
+      <location filename="../Project/Project.py" line="5730" />
       <source>The make process did not start.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5722" />
+      <location filename="../Project/Project.py" line="5775" />
       <source>The make process crashed.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/Project.py" line="5729" />
+      <location filename="../Project/Project.py" line="5782" />
       <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="5734" />
+      <location filename="../Project/Project.py" line="5787" />
       <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="5748" />
+      <location filename="../Project/Project.py" line="5801" />
       <source>The makefile contains errors.</source>
       <translation type="unfinished" />
     </message>
@@ -62455,8 +62524,8 @@
     </message>
     <message>
       <location filename="../Project/ProjectSourcesBrowser.py" line="165" />
-      <source>Run unittest...</source>
-      <translation>运行单元测试…</translation>
+      <source>Run tests...</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Project/ProjectSourcesBrowser.py" line="467" />
@@ -62628,87 +62697,91 @@
       <translation type="unfinished">跳转</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectSourcesBrowser.py" line="877" />
-      <location filename="../Project/ProjectSourcesBrowser.py" line="862" />
+      <location filename="../Project/ProjectSourcesBrowser.py" line="869" />
+      <location filename="../Project/ProjectSourcesBrowser.py" line="854" />
       <source>Add new Python package</source>
       <translation>添加新的 Python 程序包</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectSourcesBrowser.py" line="863" />
+      <location filename="../Project/ProjectSourcesBrowser.py" line="855" />
       <source>&lt;p&gt;The package directory &lt;b&gt;{0}&lt;/b&gt; could not be created. Aborting...&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/ProjectSourcesBrowser.py" line="878" />
+      <location filename="../Project/ProjectSourcesBrowser.py" line="870" />
       <source>&lt;p&gt;The package file &lt;b&gt;{0}&lt;/b&gt; could not be created. Aborting...&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Project/ProjectSourcesBrowser.py" line="945" />
+      <location filename="../Project/ProjectSourcesBrowser.py" line="937" />
       <source>Delete files</source>
       <translation>删除文件</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectSourcesBrowser.py" line="946" />
+      <location filename="../Project/ProjectSourcesBrowser.py" line="938" />
       <source>Do you really want to delete these files from the project?</source>
       <translation>确定要从项目中删除这些文件?</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectSourcesBrowser.py" line="1019" />
+      <location filename="../Project/ProjectSourcesBrowser.py" line="993" />
       <source>Code Coverage</source>
       <translation>代码覆盖率</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectSourcesBrowser.py" line="1020" />
+      <location filename="../Project/ProjectSourcesBrowser.py" line="994" />
       <source>Please select a coverage file</source>
       <translation>请选择一个覆盖率文件</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectSourcesBrowser.py" line="1073" />
+      <location filename="../Project/ProjectSourcesBrowser.py" line="1029" />
       <source>Profile Data</source>
       <translation>剖析数据</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectSourcesBrowser.py" line="1074" />
+      <location filename="../Project/ProjectSourcesBrowser.py" line="1030" />
       <source>Please select a profile file</source>
       <translation>请选择一个剖析文件</translation>
     </message>
     <message>
+      <location filename="../Project/ProjectSourcesBrowser.py" line="1066" />
+      <source>Class Diagram</source>
+      <translation>类图</translation>
+    </message>
+    <message>
       <location filename="../Project/ProjectSourcesBrowser.py" line="1110" />
-      <source>Class Diagram</source>
-      <translation>类图</translation>
-    </message>
-    <message>
-      <location filename="../Project/ProjectSourcesBrowser.py" line="1154" />
-      <location filename="../Project/ProjectSourcesBrowser.py" line="1111" />
+      <location filename="../Project/ProjectSourcesBrowser.py" line="1067" />
       <source>Include class attributes?</source>
       <translation>包含类属性?</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectSourcesBrowser.py" line="1132" />
+      <location filename="../Project/ProjectSourcesBrowser.py" line="1088" />
       <source>Imports Diagram</source>
       <translation>引用图</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectSourcesBrowser.py" line="1133" />
+      <location filename="../Project/ProjectSourcesBrowser.py" line="1089" />
       <source>Include imports from external modules?</source>
       <translation>从外部模块包含引用?</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectSourcesBrowser.py" line="1153" />
+      <location filename="../Project/ProjectSourcesBrowser.py" line="1109" />
       <source>Package Diagram</source>
       <translation>程序包图</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectSourcesBrowser.py" line="1169" />
+      <location filename="../Project/ProjectSourcesBrowser.py" line="1125" />
       <source>Application Diagram</source>
       <translation>应用程序图</translation>
     </message>
     <message>
-      <location filename="../Project/ProjectSourcesBrowser.py" line="1170" />
+      <location filename="../Project/ProjectSourcesBrowser.py" line="1126" />
       <source>Include module names?</source>
       <translation>包含模块名?</translation>
     </message>
+    <message>
+      <source>Run unittest...</source>
+      <translation type="vanished">运行单元测试…</translation>
+    </message>
   </context>
   <context>
     <name>ProjectTranslationsBrowser</name>
@@ -63012,18 +63085,8 @@
     </message>
     <message>
       <location filename="../Project/PropertiesDialog.ui" line="0" />
-      <source>Press to edit the spell checking properties</source>
-      <translation>点击编辑拼写检查属性</translation>
-    </message>
-    <message>
-      <location filename="../Project/PropertiesDialog.ui" line="0" />
-      <source>Spell Checking Properties...</source>
-      <translation>拼写检查属性…</translation>
-    </message>
-    <message>
-      <location filename="../Project/PropertiesDialog.ui" line="0" />
-      <source>&amp;Progr. Language:</source>
-      <translation>项目语言(&amp;P):</translation>
+      <source>&amp;Programming Language:</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Project/PropertiesDialog.ui" line="0" />
@@ -63047,21 +63110,6 @@
     </message>
     <message>
       <location filename="../Project/PropertiesDialog.ui" line="0" />
-      <source>Select to activate the 'make' support</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/PropertiesDialog.ui" line="0" />
-      <source>Enable 'make' Support</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/PropertiesDialog.ui" line="0" />
-      <source>Press to open a dialog to enter the 'make' parameters</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Project/PropertiesDialog.ui" line="0" />
       <source>Project &amp;Type:</source>
       <translation>项目类型(&amp;T):</translation>
     </message>
@@ -63125,16 +63173,6 @@
     </message>
     <message>
       <location filename="../Project/PropertiesDialog.ui" line="0" />
-      <source>Press to edit the translations properties</source>
-      <translation>点击编辑翻译属性</translation>
-    </message>
-    <message>
-      <location filename="../Project/PropertiesDialog.ui" line="0" />
-      <source>Translations Properties...</source>
-      <translation>翻译属性…</translation>
-    </message>
-    <message>
-      <location filename="../Project/PropertiesDialog.ui" line="0" />
       <source>End of &amp;Line Character:</source>
       <translation>行末字符(&amp;L):</translation>
     </message>
@@ -63228,6 +63266,51 @@
     </message>
     <message>
       <location filename="../Project/PropertiesDialog.ui" line="0" />
+      <source>Testing Framework:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/PropertiesDialog.ui" line="0" />
+      <source>Select the testing framework used by the project</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/PropertiesDialog.ui" line="0" />
+      <source>Press to edit the spell checking properties</source>
+      <translation>点击编辑拼写检查属性</translation>
+    </message>
+    <message>
+      <location filename="../Project/PropertiesDialog.ui" line="0" />
+      <source>Spell Checking Properties...</source>
+      <translation>拼写检查属性…</translation>
+    </message>
+    <message>
+      <location filename="../Project/PropertiesDialog.ui" line="0" />
+      <source>Press to edit the translations properties</source>
+      <translation>点击编辑翻译属性</translation>
+    </message>
+    <message>
+      <location filename="../Project/PropertiesDialog.ui" line="0" />
+      <source>Translations Properties...</source>
+      <translation>翻译属性…</translation>
+    </message>
+    <message>
+      <location filename="../Project/PropertiesDialog.ui" line="0" />
+      <source>Select to activate the 'make' support</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/PropertiesDialog.ui" line="0" />
+      <source>Enable 'make' Support</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/PropertiesDialog.ui" line="0" />
+      <source>Press to open a dialog to enter the 'make' parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Project/PropertiesDialog.ui" line="0" />
       <source>Select to create a version controlled project</source>
       <translation>选择创建进行版本控制的项目</translation>
     </message>
@@ -63252,22 +63335,23 @@
       <translation>Alt+R</translation>
     </message>
     <message>
-      <location filename="../Project/PropertiesDialog.py" line="50" />
+      <location filename="../Project/PropertiesDialog.py" line="188" />
+      <location filename="../Project/PropertiesDialog.py" line="53" />
       <source>None</source>
       <translation type="unfinished">无</translation>
     </message>
     <message>
-      <location filename="../Project/PropertiesDialog.py" line="66" />
+      <location filename="../Project/PropertiesDialog.py" line="73" />
       <source>Source Files ({0});;All Files (*)</source>
       <translation>源文件 ({0});;所有文件 (*)</translation>
     </message>
     <message>
-      <location filename="../Project/PropertiesDialog.py" line="122" />
+      <location filename="../Project/PropertiesDialog.py" line="129" />
       <source>The project is version controlled by &lt;b&gt;{0}&lt;/b&gt;.</source>
       <translation>本项目由 &lt;b&gt;{0}&lt;/b&gt; 进行版本控制。</translation>
     </message>
     <message>
-      <location filename="../Project/PropertiesDialog.py" line="128" />
+      <location filename="../Project/PropertiesDialog.py" line="135" />
       <source>The project is not version controlled.</source>
       <translation>项目未进行版本控制。</translation>
     </message>
@@ -63283,6 +63367,10 @@
       <translation>&lt;b&gt;描述&lt;/b&gt;
 &lt;p&gt;为多重项目输入简短描述。&lt;/p&gt;</translation>
     </message>
+    <message>
+      <source>&amp;Progr. Language:</source>
+      <translation type="vanished">项目语言(&amp;P):</translation>
+    </message>
   </context>
   <context>
     <name>ProtobufPage</name>
@@ -63567,64 +63655,57 @@
   <context>
     <name>PyCoverageDialog</name>
     <message>
-      <location filename="../DataViews/PyCoverageDialog.py" line="63" />
-      <source>Open</source>
-      <translation>打开</translation>
-    </message>
-    <message>
-      <location filename="../DataViews/PyCoverageDialog.py" line="66" />
-      <source>Annotate</source>
-      <translation>注解</translation>
+      <location filename="../DataViews/PyCoverageDialog.py" line="64" />
+      <source>Create Report</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageDialog.py" line="65" />
+      <source>HTML Report</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../DataViews/PyCoverageDialog.py" line="67" />
-      <source>Annotate all</source>
-      <translation>注解全部</translation>
-    </message>
-    <message>
-      <location filename="../DataViews/PyCoverageDialog.py" line="69" />
-      <source>Delete annotated files</source>
-      <translation>删除已注解的文件</translation>
-    </message>
-    <message>
-      <location filename="../DataViews/PyCoverageDialog.py" line="71" />
+      <source>JSON Report</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageDialog.py" line="425" />
+      <location filename="../DataViews/PyCoverageDialog.py" line="68" />
+      <source>LCOV Report</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageDialog.py" line="73" />
+      <source>Open</source>
+      <translation>打开</translation>
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageDialog.py" line="77" />
       <source>Erase Coverage Info</source>
       <translation>擦除覆盖率信息</translation>
     </message>
     <message>
-      <location filename="../DataViews/PyCoverageDialog.py" line="248" />
+      <location filename="../DataViews/PyCoverageDialog.py" line="279" />
       <source>Parse Error</source>
       <translation>解析错误</translation>
     </message>
     <message numerus="yes">
-      <location filename="../DataViews/PyCoverageDialog.py" line="249" />
+      <location filename="../DataViews/PyCoverageDialog.py" line="280" />
       <source>%n file(s) could not be parsed. Coverage info for these is not available.</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../DataViews/PyCoverageDialog.py" line="358" />
-      <source>Annotating files...</source>
-      <translation>正在注解文件…</translation>
-    </message>
-    <message>
-      <location filename="../DataViews/PyCoverageDialog.py" line="358" />
-      <source>Abort</source>
-      <translation>终止</translation>
-    </message>
-    <message>
-      <location filename="../DataViews/PyCoverageDialog.ui" line="0" />
-      <location filename="../DataViews/PyCoverageDialog.py" line="359" />
-      <source>%v/%m Files</source>
-      <translation type="unfinished">%v/%m 文件</translation>
-    </message>
-    <message>
-      <location filename="../DataViews/PyCoverageDialog.ui" line="0" />
-      <location filename="../DataViews/PyCoverageDialog.ui" line="0" />
-      <location filename="../DataViews/PyCoverageDialog.py" line="361" />
-      <source>Coverage</source>
-      <translation>覆盖率</translation>
+      <location filename="../DataViews/PyCoverageDialog.py" line="426" />
+      <source>Enter the path of the output file:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageDialog.py" line="430" />
+      <source>LCOV Files (*.lcov);;All Files (*)</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../DataViews/PyCoverageDialog.ui" line="0" />
@@ -63691,6 +63772,12 @@
     </message>
     <message>
       <location filename="../DataViews/PyCoverageDialog.ui" line="0" />
+      <location filename="../DataViews/PyCoverageDialog.ui" line="0" />
+      <source>Coverage</source>
+      <translation>覆盖率</translation>
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageDialog.ui" line="0" />
       <source>Excluded</source>
       <translation>已排除</translation>
     </message>
@@ -63716,6 +63803,112 @@
       <source>Shows the progress of the code coverage action</source>
       <translation>显示代码覆盖率行为的进程</translation>
     </message>
+    <message>
+      <location filename="../DataViews/PyCoverageDialog.ui" line="0" />
+      <source>%v/%m Files</source>
+      <translation type="unfinished">%v/%m 文件</translation>
+    </message>
+    <message>
+      <source>Annotate</source>
+      <translation type="vanished">注解</translation>
+    </message>
+    <message>
+      <source>Annotate all</source>
+      <translation type="vanished">注解全部</translation>
+    </message>
+    <message>
+      <source>Delete annotated files</source>
+      <translation type="vanished">删除已注解的文件</translation>
+    </message>
+    <message>
+      <source>Annotating files...</source>
+      <translation type="vanished">正在注解文件…</translation>
+    </message>
+    <message>
+      <source>Abort</source>
+      <translation type="vanished">终止</translation>
+    </message>
+  </context>
+  <context>
+    <name>PyCoverageHtmlReportDialog</name>
+    <message>
+      <location filename="../DataViews/PyCoverageHtmlReportDialog.ui" line="0" />
+      <source>HTML Report</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageHtmlReportDialog.ui" line="0" />
+      <source>Title:</source>
+      <translation type="unfinished">标题:</translation>
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageHtmlReportDialog.ui" line="0" />
+      <source>Enter the path of a file containing additional CSS definitions</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageHtmlReportDialog.ui" line="0" />
+      <source>Extra CSS:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageHtmlReportDialog.ui" line="0" />
+      <source>Enter the title for the HTML report</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageHtmlReportDialog.ui" line="0" />
+      <source>Output Directory:</source>
+      <translation type="unfinished">输出文件夹:</translation>
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageHtmlReportDialog.ui" line="0" />
+      <source>Enter the path of the output directory</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageHtmlReportDialog.ui" line="0" />
+      <source>Select to open the generated report</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageHtmlReportDialog.ui" line="0" />
+      <source>Open Report</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
+    <name>PyCoverageJsonReportDialog</name>
+    <message>
+      <location filename="../DataViews/PyCoverageJsonReportDialog.ui" line="0" />
+      <source>JSON Report</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageJsonReportDialog.ui" line="0" />
+      <source>Select to create the report using the compact format</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageJsonReportDialog.ui" line="0" />
+      <source>Compact Format</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageJsonReportDialog.ui" line="0" />
+      <source>Output File:</source>
+      <translation type="unfinished">输出文件:</translation>
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageJsonReportDialog.ui" line="0" />
+      <source>Enter the path of the output file</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../DataViews/PyCoverageJsonReportDialog.py" line="43" />
+      <source>JSON Files (*.json);;All Files (*)</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>PyProfileDialog</name>
@@ -65198,6 +65391,51 @@
     </message>
   </context>
   <context>
+    <name>PytestExecutor</name>
+    <message>
+      <location filename="../Testing/Interfaces/PytestExecutor.py" line="40" />
+      <source>Failure</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/Interfaces/PytestExecutor.py" line="41" />
+      <source>Skipped</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/Interfaces/PytestExecutor.py" line="42" />
+      <source>Expected Failure</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/Interfaces/PytestExecutor.py" line="43" />
+      <source>Unexpected Success</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/Interfaces/PytestExecutor.py" line="44" />
+      <source>Success</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/Interfaces/PytestExecutor.py" line="228" />
+      <source>Error</source>
+      <translation type="unfinished">错误</translation>
+    </message>
+    <message>
+      <location filename="../Testing/Interfaces/PytestExecutor.py" line="238" />
+      <source>ERROR at {0}: {1}</source>
+      <comment>phase, message</comment>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/Interfaces/PytestExecutor.py" line="242" />
+      <source>ERROR at {0}: {1}</source>
+      <comment>phase, extra text</comment>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>PythonAstViewer</name>
     <message>
       <location filename="../UI/PythonAstViewer.py" line="59" />
@@ -74842,7 +75080,7 @@
     </message>
     <message>
       <location filename="../Debugger/StartDialog.py" line="325" />
-      <source>Command Line</source>
+      <source>Script Parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -83698,6 +83936,454 @@
     </message>
   </context>
   <context>
+    <name>TestResultsModel</name>
+    <message>
+      <location filename="../Testing/TestResultsTree.py" line="44" />
+      <source>Status</source>
+      <translation type="unfinished">状态</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestResultsTree.py" line="45" />
+      <source>Name</source>
+      <translation type="unfinished">名称</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestResultsTree.py" line="46" />
+      <source>Message</source>
+      <translation type="unfinished">消息</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestResultsTree.py" line="47" />
+      <source>Duration [ms]</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestResultsTree.py" line="384" />
+      <source>No results to show</source>
+      <translation type="unfinished" />
+    </message>
+    <message numerus="yes">
+      <location filename="../Testing/TestResultsTree.py" line="392" />
+      <source>Collected %n test(s)</source>
+      <translation type="unfinished">
+        <numerusform />
+      </translation>
+    </message>
+    <message numerus="yes">
+      <location filename="../Testing/TestResultsTree.py" line="394" />
+      <source>%n test(s)/subtest(s) total, {0} failed, {1} passed, {2} skipped, {3} pending</source>
+      <translation type="unfinished">
+        <numerusform />
+      </translation>
+    </message>
+  </context>
+  <context>
+    <name>TestResultsTreeView</name>
+    <message>
+      <location filename="../Testing/TestResultsTree.py" line="577" />
+      <source>Collapse</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestResultsTree.py" line="580" />
+      <source>Expand</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestResultsTree.py" line="585" />
+      <source>Show Source</source>
+      <translation type="unfinished">显示源代码</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestResultsTree.py" line="605" />
+      <location filename="../Testing/TestResultsTree.py" line="592" />
+      <source>Collapse All</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestResultsTree.py" line="606" />
+      <location filename="../Testing/TestResultsTree.py" line="593" />
+      <source>Expand All</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
+    <name>TestingWidget</name>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="153" />
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Testing</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Virtual Environment:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Select the virtual environment to be used</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>&lt;b&gt;Virtual Environment&lt;/b&gt;\n&lt;p&gt;Enter the virtual environment to be used. Leave it empty to use the default environment, i.e. the one configured globally or per project.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Test Framework:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Select the test framwork to be used</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Press to show the test framework versions</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Test Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Select to discover tests automatically</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Discover tests (test modules must be importable)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Press to clear the various histories</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Discovery Start:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Enter name of the directory at which to start the test file discovery</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>&lt;b&gt;Discovery Start&lt;/b&gt;
+&lt;p&gt;Enter name of the directory at which to start the test file discovery.
+Note that all test modules must be importable from this directory.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Test Filename:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Enter name of file defining the testsuite</source>
+      <translation type="unfinished">输入在测试组件中定义的文件名称</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>&lt;b&gt;Testsuite&lt;/b&gt;&lt;p&gt;Enter the name of the file defining the testsuite. It should contain a method with a name given below. If no name is given, the 'suite()' method will be tried. If no such method can be found, the module will be inspected for proper test cases.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Test Name:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Enter the test name. Leave empty to use the default name "suite".</source>
+      <translation type="unfinished">选择是否在局部运行测试</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>&lt;b&gt;Testname&lt;/b&gt;&lt;p&gt;Enter the name of the test to be performed. This name must follow the rules given by selecte test framework. If this field is empty, the default name of "suite" will be used.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Run Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Select whether coverage data should be collected</source>
+      <translation type="unfinished">选择是否收集覆盖率数据</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Collect coverage data</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Select whether old coverage data should be erased</source>
+      <translation type="unfinished">选择是否擦除原有的覆盖率数据</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Erase coverage data</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Select to stop the test run on the first error or failure</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Stop on First Error or Failure</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Results</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Progress</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>%v/%m Tests</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Run:</source>
+      <translation type="unfinished">运行:</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Number of tests run</source>
+      <translation type="unfinished">测试运行的数目</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Remaining:</source>
+      <translation type="unfinished">剩余:</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Number of tests to be run</source>
+      <translation type="unfinished">将要运行的测试的数目</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.ui" line="0" />
+      <source>Idle</source>
+      <translation type="unfinished">空闲</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="104" />
+      <source>Show Output...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="107" />
+      <source>Show the output of the test runner process</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="108" />
+      <source>&lt;b&gt;Show Output...&lt;/b&lt;p&gt;This button opens a dialog containing the output of the test runner process of the most recent run.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="114" />
+      <source>Show Coverage...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="117" />
+      <source>Show code coverage in a new dialog</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="118" />
+      <source>&lt;b&gt;Show Coverage...&lt;/b&gt;&lt;p&gt;This button opens a dialog containing the collected code coverage data.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="124" />
+      <source>Start</source>
+      <translation type="unfinished">开始</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="126" />
+      <source>Start the selected testsuite</source>
+      <translation type="unfinished">开启所选测试套件</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="128" />
+      <source>&lt;b&gt;Start Test&lt;/b&gt;&lt;p&gt;This button starts the test run.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="133" />
+      <source>Rerun Failed</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="135" />
+      <source>Reruns failed tests of the selected testsuite</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="136" />
+      <source>&lt;b&gt;Rerun Failed&lt;/b&gt;&lt;p&gt;This button reruns all failed tests of the most recent test run.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="142" />
+      <source>Stop</source>
+      <translation type="unfinished">中止</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="143" />
+      <source>Stop the running test</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="144" />
+      <source>&lt;b&gt;Stop Test&lt;/b&gt;&lt;p&gt;This button stops a running test.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="257" />
+      <source>{0} (not available)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="562" />
+      <source>Running</source>
+      <translation type="unfinished">正在运行</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="616" />
+      <source>Python3 Files ({0});;All Files (*)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="621" />
+      <source>Python Files (*.py);;All Files (*)</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="708" />
+      <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="725" />
+      <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="736" />
+      <source>No version information available.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="740" />
+      <source>Versions</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="782" />
+      <source>Preparing Testsuite</source>
+      <translation type="unfinished">准备测试套件</translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="844" />
+      <source>pending</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="870" />
+      <source>Failure</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="879" />
+      <location filename="../Testing/TestingWidget.py" line="873" />
+      <source>Collection Error</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="880" />
+      <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="901" />
+      <source>running</source>
+      <translation type="unfinished">运行中</translation>
+    </message>
+    <message numerus="yes">
+      <location filename="../Testing/TestingWidget.py" line="951" />
+      <source>Ran %n test(s) in {0}s</source>
+      <translation type="unfinished">
+        <numerusform />
+      </translation>
+    </message>
+    <message numerus="yes">
+      <location filename="../Testing/TestingWidget.py" line="963" />
+      <source>Ran %n test(s)</source>
+      <translation type="unfinished">
+        <numerusform />
+      </translation>
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="984" />
+      <source>not run</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/TestingWidget.py" line="1027" />
+      <source>Test Run Output</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <source>&amp;Erase coverage data</source>
+      <translation type="vanished">擦除覆盖率数据(&amp;E)</translation>
+    </message>
+    <message>
+      <source>&lt;b&gt;Testname&lt;/b&gt;&lt;p&gt;Enter the name of the test to be performed. This name must follow the rules given by Python's unittest module. If this field is empty, the default name of "suite" will be used.&lt;/p&gt;</source>
+      <translation type="vanished">&lt;b&gt;测试名&lt;/b&gt;&lt;p&gt;输入要执行测试的名称。该名称必须遵循由 Python 的单元测试模块所给出的规则。如果该区域没有输入,则使用默认名称“suite”。&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <source>&lt;b&gt;Testsuite&lt;/b&gt;
+&lt;p&gt;Enter the name of the file defining the testsuite.
+It should have a method with a name given below. If no name is given, the suite() method will be tried. If no such method can be
+found, the module will be inspected for proper test
+cases.&lt;/p&gt;</source>
+      <translation type="vanished">&lt;b&gt;测试组件&lt;/b&gt;
+&lt;p&gt;输入在测试组件中定义的文件名称。
+以上给出的一个名称应对应一个方法。如果没有给出名称,则尝试 suite() 方法。
+如果没有找到相应的方法,则将在模块中检查合适的测试案例。&lt;/p&gt;</translation>
+    </message>
+  </context>
+  <context>
     <name>ThemeManager</name>
     <message>
       <location filename="../Preferences/ThemeManager.py" line="112" />
@@ -85091,8 +85777,8 @@
     </message>
     <message>
       <location filename="../Tools/TrayStarter.py" line="109" />
-      <source>Unittest</source>
-      <translation>单元测试</translation>
+      <source>Testing</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Tools/TrayStarter.py" line="114" />
@@ -85225,6 +85911,10 @@
       <translation type="unfinished">&lt;/table&gt;</translation>
     </message>
     <message>
+      <source>Unittest</source>
+      <translation type="vanished">单元测试</translation>
+    </message>
+    <message>
       <source>QRegExp editor</source>
       <translation type="vanished">QRegExp 编辑器</translation>
     </message>
@@ -85350,122 +86040,122 @@
       <translation type="unfinished">刷新</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="472" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="490" />
       <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="531" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="498" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="549" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="516" />
       <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.py" line="606" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="624" />
       <source>'{0}' Board</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="637" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="655" />
       <source>MicroPython/CircuitPython Files (*.uf2);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="709" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="696" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="684" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="727" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="714" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="702" />
       <source>Manual Select</source>
       <translation type="unfinished">手动选择</translation>
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="814" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="778" />
-      <location filename="../MicroPython/UF2FlashDialog.py" line="752" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="832" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="796" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="770" />
       <source>Reset Instructions:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="754" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="772" />
       <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="781" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="799" />
       <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="791" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="809" />
       <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="816" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="834" />
       <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="828" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="846" />
       <source>Flash Instructions:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="830" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="848" />
       <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="855" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="873" />
       <source>Boot Volume not found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="857" />
-      <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="863" />
-      <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="868" />
-      <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="875" />
+      <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="881" />
+      <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="886" />
+      <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="893" />
       <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="894" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="912" />
       <source>Multiple Boot Volumes found:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="896" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="914" />
       <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="915" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="933" />
       <source>Flashing Firmware</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="916" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="934" />
       <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="923" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="941" />
       <source>Flashing {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/UF2FlashDialog.py" line="924" />
+      <location filename="../MicroPython/UF2FlashDialog.py" line="942" />
       <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>
@@ -86085,476 +86775,167 @@
   <context>
     <name>UnittestDialog</name>
     <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="103" />
-      <source>Discover</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="104" />
-      <source>Discover tests</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="106" />
-      <source>&lt;b&gt;Discover&lt;/b&gt;&lt;p&gt;This button starts a discovery of available tests.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="110" />
       <source>Start</source>
-      <translation>开始</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="112" />
+      <translation type="vanished">开始</translation>
+    </message>
+    <message>
       <source>Start the selected testsuite</source>
-      <translation>开启所选测试套件</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="114" />
+      <translation type="vanished">开启所选测试套件</translation>
+    </message>
+    <message>
       <source>&lt;b&gt;Start Test&lt;/b&gt;&lt;p&gt;This button starts the selected testsuite.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;开始测试&lt;/b&gt;&lt;p&gt;该按钮开启所选测试套件。&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="119" />
-      <source>Rerun Failed</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="121" />
-      <source>Reruns failed tests of the selected testsuite</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="122" />
-      <source>&lt;b&gt;Rerun Failed&lt;/b&gt;&lt;p&gt;This button reruns all failed tests of the selected testsuite.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="128" />
+      <translation type="vanished">&lt;b&gt;开始测试&lt;/b&gt;&lt;p&gt;该按钮开启所选测试套件。&lt;/p&gt;</translation>
+    </message>
+    <message>
       <source>Stop</source>
-      <translation>中止</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="129" />
+      <translation type="vanished">中止</translation>
+    </message>
+    <message>
       <source>Stop the running unittest</source>
-      <translation>中止正在运行的单元测试</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="130" />
+      <translation type="vanished">中止正在运行的单元测试</translation>
+    </message>
+    <message>
       <source>&lt;b&gt;Stop Test&lt;/b&gt;&lt;p&gt;This button stops a running unittest.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;中止测试&lt;/b&gt;&lt;p&gt;该按钮中止一个正在运行的单元测试。&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <location filename="../PyUnit/UnittestDialog.py" line="1019" />
-      <location filename="../PyUnit/UnittestDialog.py" line="991" />
-      <location filename="../PyUnit/UnittestDialog.py" line="959" />
-      <location filename="../PyUnit/UnittestDialog.py" line="897" />
-      <location filename="../PyUnit/UnittestDialog.py" line="858" />
-      <location filename="../PyUnit/UnittestDialog.py" line="830" />
-      <location filename="../PyUnit/UnittestDialog.py" line="800" />
-      <location filename="../PyUnit/UnittestDialog.py" line="731" />
-      <location filename="../PyUnit/UnittestDialog.py" line="578" />
-      <location filename="../PyUnit/UnittestDialog.py" line="558" />
-      <location filename="../PyUnit/UnittestDialog.py" line="530" />
-      <location filename="../PyUnit/UnittestDialog.py" line="514" />
-      <location filename="../PyUnit/UnittestDialog.py" line="147" />
+      <translation type="vanished">&lt;b&gt;中止测试&lt;/b&gt;&lt;p&gt;该按钮中止一个正在运行的单元测试。&lt;/p&gt;</translation>
+    </message>
+    <message>
       <source>Unittest</source>
-      <translation>单元测试</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="182" />
+      <translation type="vanished">单元测试</translation>
+    </message>
+    <message>
       <source>^Failure: </source>
-      <translation>^失败:</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="183" />
+      <translation type="vanished">^失败:</translation>
+    </message>
+    <message>
       <source>^Error: </source>
-      <translation>^错误:</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="338" />
-      <source>Python3 Files ({0});;All Files (*)</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="342" />
-      <source>Python Files (*.py);;All Files (*)</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="491" />
-      <source>Discovering Tests</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="811" />
-      <location filename="../PyUnit/UnittestDialog.py" line="494" />
-      <source>Unittest with auto-discovery</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="898" />
-      <location filename="../PyUnit/UnittestDialog.py" line="859" />
-      <location filename="../PyUnit/UnittestDialog.py" line="531" />
-      <location filename="../PyUnit/UnittestDialog.py" line="515" />
-      <source>You must enter a start directory for auto-discovery.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="559" />
-      <source>&lt;p&gt;Unable to discover tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
-      <translation type="unfinished" />
+      <translation type="vanished">^错误:</translation>
     </message>
     <message numerus="yes">
-      <location filename="../PyUnit/UnittestDialog.py" line="725" />
-      <location filename="../PyUnit/UnittestDialog.py" line="571" />
       <source>Discovered %n Test(s)</source>
-      <translation type="unfinished">
+      <translation type="vanished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="732" />
-      <location filename="../PyUnit/UnittestDialog.py" line="579" />
-      <source>&lt;p&gt;Unable to discover tests.&lt;/p&gt;&lt;p&gt;{0}&lt;br/&gt;{1}&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="801" />
-      <source>You must select auto-discovery or enter a test suite file or a dotted test name.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="807" />
       <source>Preparing Testsuite</source>
-      <translation>准备测试套件</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="820" />
-      <source>&lt;Unnamed Test&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="831" />
-      <source>No test case has been selected. Shall all test cases be run?</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="1020" />
-      <location filename="../PyUnit/UnittestDialog.py" line="960" />
-      <source>&lt;p&gt;Unable to run test &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;{1}&lt;br/&gt;{2}&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="992" />
-      <source>No unittest were found. Aborting...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="1099" />
+      <translation type="vanished">准备测试套件</translation>
+    </message>
+    <message>
       <source>Running</source>
-      <translation>正在运行</translation>
+      <translation type="vanished">正在运行</translation>
     </message>
     <message numerus="yes">
-      <location filename="../PyUnit/UnittestDialog.py" line="1124" />
       <source>Ran %n test(s) in {0:.3f}s</source>
-      <translation type="unfinished">
+      <translation type="vanished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="1143" />
-      <source>Failure: {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="1158" />
       <source>Error: {0}</source>
-      <translation type="unfinished">错误:{0}</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="1173" />
-      <source>    Skipped: {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="1191" />
-      <source>    Expected Failure</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="1208" />
-      <source>    Unexpected Success</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.py" line="1273" />
+      <translation type="vanished">错误:{0}</translation>
+    </message>
+    <message>
       <source>Show Source</source>
-      <translation>显示源代码</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Parameters</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Test Parameters</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Select to discover tests automatically</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>&amp;Discover tests (test modules must be importable)</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Press to clear the various histories</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Discovery &amp;Start:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Enter name of the directory at which to start the test file discovery</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>&lt;b&gt;Discovery Start&lt;/b&gt;
-&lt;p&gt;Enter name of the directory at which to start the test file discovery.
-Note that all test modules must be importable from this directory.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Test &amp;Filename:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">显示源代码</translation>
+    </message>
+    <message>
       <source>Enter name of file defining the testsuite</source>
-      <translation>输入在测试组件中定义的文件名称</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">输入在测试组件中定义的文件名称</translation>
+    </message>
+    <message>
       <source>&lt;b&gt;Testsuite&lt;/b&gt;
 &lt;p&gt;Enter the name of the file defining the testsuite.
 It should have a method with a name given below. If no name is given, the suite() method will be tried. If no such method can be
 found, the module will be inspected for proper test
 cases.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;测试组件&lt;/b&gt;
+      <translation type="vanished">&lt;b&gt;测试组件&lt;/b&gt;
 &lt;p&gt;输入在测试组件中定义的文件名称。
 以上给出的一个名称应对应一个方法。如果没有给出名称,则尝试 suite() 方法。
 如果没有找到相应的方法,则将在模块中检查合适的测试案例。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>&amp;Test Name:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
       <source>Enter the test name. Leave empty to use the default name "suite".</source>
-      <translation type="unfinished">选择是否在局部运行测试</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">选择是否在局部运行测试</translation>
+    </message>
+    <message>
       <source>&lt;b&gt;Testname&lt;/b&gt;&lt;p&gt;Enter the name of the test to be performed. This name must follow the rules given by Python's unittest module. If this field is empty, the default name of "suite" will be used.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;测试名&lt;/b&gt;&lt;p&gt;输入要执行测试的名称。该名称必须遵循由 Python 的单元测试模块所给出的规则。如果该区域没有输入,则使用默认名称“suite”。&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Run Parameters</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>&amp;Virtual Environment:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Select the virtual environment to be used</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>&lt;b&gt;Virtual Environment&lt;/b&gt;\n&lt;p&gt;Enter the virtual environment to be used. Leave it empty to use the default environment, i.e. the one configured globally or per project.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">&lt;b&gt;测试名&lt;/b&gt;&lt;p&gt;输入要执行测试的名称。该名称必须遵循由 Python 的单元测试模块所给出的规则。如果该区域没有输入,则使用默认名称“suite”。&lt;/p&gt;</translation>
+    </message>
+    <message>
       <source>Select whether coverage data should be collected</source>
-      <translation>选择是否收集覆盖率数据</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">选择是否收集覆盖率数据</translation>
+    </message>
+    <message>
       <source>C&amp;ollect coverage data</source>
-      <translation>收集覆盖率数据(&amp;o)</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">收集覆盖率数据(&amp;o)</translation>
+    </message>
+    <message>
       <source>Select whether old coverage data should be erased</source>
-      <translation>选择是否擦除原有的覆盖率数据</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">选择是否擦除原有的覆盖率数据</translation>
+    </message>
+    <message>
       <source>&amp;Erase coverage data</source>
-      <translation>擦除覆盖率数据(&amp;E)</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Select to stop the test run on the first error or failure</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Stop on First Error or Failure</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Select to run the unittest with debugger support enabled</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Run with Debugger</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Discovery Results</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Results</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Progress</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">擦除覆盖率数据(&amp;E)</translation>
+    </message>
+    <message>
       <source>Progress:</source>
-      <translation>进程:</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>%v/%m Tests</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">进程:</translation>
+    </message>
+    <message>
       <source>Run:</source>
-      <translation>运行:</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">运行:</translation>
+    </message>
+    <message>
       <source>Number of tests run</source>
-      <translation>测试运行的数目</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">测试运行的数目</translation>
+    </message>
+    <message>
       <source>Remaining:</source>
-      <translation>剩余:</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">剩余:</translation>
+    </message>
+    <message>
       <source>Number of tests to be run</source>
-      <translation>将要运行的测试的数目</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">将要运行的测试的数目</translation>
+    </message>
+    <message>
       <source>Failures:</source>
-      <translation>失败:</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">失败:</translation>
+    </message>
+    <message>
       <source>Number of test failures</source>
-      <translation>测试失败的数目</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">测试失败的数目</translation>
+    </message>
+    <message>
       <source>Errors:</source>
-      <translation>错误:</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">错误:</translation>
+    </message>
+    <message>
       <source>Number of test errors</source>
-      <translation>测试错误的数目</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Skipped:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Number of tests skipped</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Expected Failures:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Number of tests with expected failure</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Unexpected Successes:</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
-      <source>Number of tests with unexpected success</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">测试错误的数目</translation>
+    </message>
+    <message>
       <source>Tests performed:</source>
-      <translation>测试已完成:</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">测试已完成:</translation>
+    </message>
+    <message>
       <source>Failures and errors:</source>
-      <translation>失败和错误:</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">失败和错误:</translation>
+    </message>
+    <message>
       <source>Failures and Errors list</source>
-      <translation>失败和错误列表</translation>
-    </message>
-    <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
+      <translation type="vanished">失败和错误列表</translation>
+    </message>
+    <message>
       <source>&lt;b&gt;Failures and Errors list&lt;/b&gt;
 &lt;p&gt;This list shows all failed and errored tests.
 Double clicking on an entry will show the respective traceback.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;失败和错误列表&lt;/b&gt;
+      <translation type="vanished">&lt;b&gt;失败和错误列表&lt;/b&gt;
 &lt;p&gt;该列表显示所有失败和错误的测试。
 双击条目将显示相应的追踪。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PyUnit/UnittestDialog.ui" line="0" />
       <source>Idle</source>
-      <translation>空闲</translation>
+      <translation type="vanished">空闲</translation>
     </message>
     <message>
       <source>Enter &amp;test name:</source>
@@ -86574,6 +86955,39 @@
     </message>
   </context>
   <context>
+    <name>UnittestExecutor</name>
+    <message>
+      <location filename="../Testing/Interfaces/UnittestExecutor.py" line="50" />
+      <source>Failure</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/Interfaces/UnittestExecutor.py" line="51" />
+      <source>Error</source>
+      <translation type="unfinished">错误</translation>
+    </message>
+    <message>
+      <location filename="../Testing/Interfaces/UnittestExecutor.py" line="52" />
+      <source>Skipped</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/Interfaces/UnittestExecutor.py" line="53" />
+      <source>Expected Failure</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/Interfaces/UnittestExecutor.py" line="54" />
+      <source>Unexpected Success</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Testing/Interfaces/UnittestExecutor.py" line="55" />
+      <source>Success</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>UnknownDevicesDialog</name>
     <message>
       <location filename="../MicroPython/UnknownDevicesDialog.ui" line="0" />
@@ -86837,2053 +87251,2057 @@
       <translation>初始化工具…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="613" />
+      <location filename="../UI/UserInterface.py" line="614" />
       <source>Registering Objects...</source>
       <translation>注册对象…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="649" />
+      <location filename="../UI/UserInterface.py" line="650" />
       <source>Initializing Actions...</source>
       <translation>初始化动作…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="651" />
+      <location filename="../UI/UserInterface.py" line="652" />
       <source>Initializing Menus...</source>
       <translation>初始化菜单…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="653" />
+      <location filename="../UI/UserInterface.py" line="654" />
       <source>Initializing Toolbars...</source>
       <translation>初始化工具栏…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="655" />
+      <location filename="../UI/UserInterface.py" line="656" />
       <source>Initializing Statusbar...</source>
       <translation>初始化状态栏…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="683" />
+      <location filename="../UI/UserInterface.py" line="684" />
       <source>Initializing Single Application Server...</source>
       <translation>初始化单应用程序服务器…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="689" />
+      <location filename="../UI/UserInterface.py" line="690" />
       <source>Initializing Plugins...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="692" />
+      <location filename="../UI/UserInterface.py" line="693" />
       <source>Activating Plugins...</source>
       <translation>激活插件…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="694" />
+      <location filename="../UI/UserInterface.py" line="695" />
       <source>Generating Plugins Toolbars...</source>
       <translation>生成插件工具栏…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="697" />
+      <location filename="../UI/UserInterface.py" line="698" />
       <source>Cleaning Plugins Download Area...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="708" />
+      <location filename="../UI/UserInterface.py" line="709" />
       <source>Restoring Toolbarmanager...</source>
       <translation>恢复工具拦管理器…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="717" />
+      <location filename="../UI/UserInterface.py" line="718" />
       <source>Setting View Profile...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="730" />
+      <location filename="../UI/UserInterface.py" line="731" />
       <source>Reading Tasks...</source>
       <translation>读取任务…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="735" />
+      <location filename="../UI/UserInterface.py" line="736" />
       <source>Reading Templates...</source>
       <translation>读取模板…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="740" />
+      <location filename="../UI/UserInterface.py" line="741" />
       <source>Starting Debugger...</source>
       <translation>启动调试器…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2046" />
-      <location filename="../UI/UserInterface.py" line="1066" />
+      <location filename="../UI/UserInterface.py" line="2047" />
+      <location filename="../UI/UserInterface.py" line="1067" />
       <source>Left Toolbox</source>
       <translation>左工具箱</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2077" />
-      <location filename="../UI/UserInterface.py" line="1074" />
+      <location filename="../UI/UserInterface.py" line="2078" />
+      <location filename="../UI/UserInterface.py" line="1075" />
       <source>Horizontal Toolbox</source>
       <translation>横向工具箱</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2061" />
-      <location filename="../UI/UserInterface.py" line="1082" />
+      <location filename="../UI/UserInterface.py" line="2062" />
+      <location filename="../UI/UserInterface.py" line="1083" />
       <source>Right Toolbox</source>
       <translation>右工具箱</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="1920" />
-      <location filename="../UI/UserInterface.py" line="1240" />
-      <location filename="../UI/UserInterface.py" line="1090" />
+      <location filename="../UI/UserInterface.py" line="1921" />
+      <location filename="../UI/UserInterface.py" line="1241" />
+      <location filename="../UI/UserInterface.py" line="1091" />
       <source>Multiproject-Viewer</source>
       <translation>多重项目浏览器</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="1903" />
-      <location filename="../UI/UserInterface.py" line="1245" />
-      <location filename="../UI/UserInterface.py" line="1094" />
-      <source>Project-Viewer</source>
-      <translation>项目浏览器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2332" />
-      <location filename="../UI/UserInterface.py" line="2331" />
-      <location filename="../UI/UserInterface.py" line="1251" />
-      <location filename="../UI/UserInterface.py" line="1099" />
-      <source>Find/Replace In Files</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2351" />
-      <location filename="../UI/UserInterface.py" line="2350" />
-      <location filename="../UI/UserInterface.py" line="1257" />
-      <location filename="../UI/UserInterface.py" line="1104" />
-      <source>Find File</source>
-      <translation type="unfinished">查找文件</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1262" />
-      <location filename="../UI/UserInterface.py" line="1108" />
-      <source>VCS Status</source>
-      <translation type="unfinished">版本控制系统状态</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2027" />
-      <location filename="../UI/UserInterface.py" line="1268" />
-      <location filename="../UI/UserInterface.py" line="1113" />
-      <source>Template-Viewer</source>
-      <translation>模板浏览器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1973" />
-      <location filename="../UI/UserInterface.py" line="1274" />
-      <location filename="../UI/UserInterface.py" line="1118" />
-      <source>File-Browser</source>
-      <translation>文件浏览器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1280" />
-      <location filename="../UI/UserInterface.py" line="1123" />
-      <source>Symbols</source>
-      <translation>符号</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1938" />
-      <location filename="../UI/UserInterface.py" line="1300" />
-      <location filename="../UI/UserInterface.py" line="1295" />
-      <location filename="../UI/UserInterface.py" line="1131" />
-      <source>Debug-Viewer</source>
-      <translation>调试浏览器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2220" />
-      <location filename="../UI/UserInterface.py" line="2219" />
-      <location filename="../UI/UserInterface.py" line="1306" />
-      <location filename="../UI/UserInterface.py" line="1136" />
-      <source>Code Documentation Viewer</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2387" />
-      <location filename="../UI/UserInterface.py" line="2386" />
-      <location filename="../UI/UserInterface.py" line="1312" />
-      <location filename="../UI/UserInterface.py" line="1141" />
-      <source>Help Viewer</source>
-      <translation type="unfinished">帮助浏览器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3084" />
-      <location filename="../UI/UserInterface.py" line="2294" />
-      <location filename="../UI/UserInterface.py" line="2293" />
-      <location filename="../UI/UserInterface.py" line="1317" />
-      <location filename="../UI/UserInterface.py" line="1145" />
-      <source>Plugin Repository</source>
-      <translation>插件储存库</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2312" />
-      <location filename="../UI/UserInterface.py" line="2311" />
-      <location filename="../UI/UserInterface.py" line="1322" />
-      <location filename="../UI/UserInterface.py" line="1149" />
-      <source>Virtual Environments</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2240" />
-      <location filename="../UI/UserInterface.py" line="2239" />
-      <location filename="../UI/UserInterface.py" line="1327" />
-      <location filename="../UI/UserInterface.py" line="1154" />
-      <source>PyPI</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2258" />
-      <location filename="../UI/UserInterface.py" line="2257" />
-      <location filename="../UI/UserInterface.py" line="1332" />
-      <location filename="../UI/UserInterface.py" line="1159" />
-      <source>Conda</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1337" />
-      <location filename="../UI/UserInterface.py" line="1164" />
-      <source>Cooperation</source>
-      <translation>协作</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2163" />
-      <location filename="../UI/UserInterface.py" line="1342" />
-      <location filename="../UI/UserInterface.py" line="1169" />
-      <source>IRC</source>
-      <translation>IRC</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2276" />
-      <location filename="../UI/UserInterface.py" line="2275" />
-      <location filename="../UI/UserInterface.py" line="1348" />
-      <location filename="../UI/UserInterface.py" line="1174" />
-      <source>MicroPython</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1956" />
-      <location filename="../UI/UserInterface.py" line="1356" />
-      <location filename="../UI/UserInterface.py" line="1182" />
-      <source>Shell</source>
-      <translation>命令行</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2008" />
-      <location filename="../UI/UserInterface.py" line="1360" />
-      <location filename="../UI/UserInterface.py" line="1186" />
-      <source>Task-Viewer</source>
-      <translation>任务浏览器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1990" />
-      <location filename="../UI/UserInterface.py" line="1364" />
-      <location filename="../UI/UserInterface.py" line="1190" />
-      <source>Log-Viewer</source>
-      <translation>日志浏览器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1369" />
-      <location filename="../UI/UserInterface.py" line="1195" />
-      <source>Numbers</source>
-      <translation>数字</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1757" />
-      <source>{0} - Passive Mode</source>
-      <translation>{0} - 被动模式</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1764" />
-      <location filename="../UI/UserInterface.py" line="1760" />
-      <source>{0} - {1} - Passive Mode</source>
-      <translation>{0} - {1} - 被动模式</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1768" />
-      <source>{0} - {1} - {2} - Passive Mode</source>
-      <translation>{0} - {1} - {2} - 被动模式</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1791" />
-      <source>Quit</source>
-      <translation>退出</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1793" />
-      <source>&amp;Quit</source>
-      <translation>退出(&amp;Q)</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1794" />
-      <source>Ctrl+Q</source>
-      <comment>File|Quit</comment>
-      <translation>Ctrl+Q</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1796" />
-      <source>Quit the IDE</source>
-      <translation>退出程序</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1797" />
-      <source>&lt;b&gt;Quit the IDE&lt;/b&gt;&lt;p&gt;This quits the IDE. Any unsaved changes may be saved first. Any Python program being debugged will be stopped and the preferences will be written to disc.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;退出程序&lt;/b&gt;&lt;p&gt;退出本程序。 先保存任何未保存的更改。任何被调试的 Python 程序都将停止,并将选项写入磁盘。&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1810" />
-      <location filename="../UI/UserInterface.py" line="1808" />
-      <source>Restart</source>
-      <translation type="unfinished">重启</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1811" />
-      <source>Ctrl+Shift+Q</source>
-      <comment>File|Quit</comment>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1813" />
-      <source>Restart the IDE</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1814" />
-      <source>&lt;b&gt;Restart the IDE&lt;/b&gt;&lt;p&gt;This restarts the IDE. Any unsaved changes may be saved first. Any Python program being debugged will be stopped and the preferences will be written to disc.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1827" />
-      <location filename="../UI/UserInterface.py" line="1824" />
-      <source>Save session</source>
-      <translation>保存会话</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1825" />
-      <source>Save session...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1828" />
-      <source>&lt;b&gt;Save session...&lt;/b&gt;&lt;p&gt;This saves the current session to disk. A dialog is opened to select the file name.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="7097" />
-      <location filename="../UI/UserInterface.py" line="1840" />
-      <location filename="../UI/UserInterface.py" line="1837" />
-      <source>Load session</source>
-      <translation type="unfinished">载入会话</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1838" />
-      <source>Load session...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1841" />
-      <source>&lt;b&gt;Load session...&lt;/b&gt;&lt;p&gt;This loads a session saved to disk previously. A dialog is opened to select the file name.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1850" />
-      <source>New Window</source>
-      <translation>新建窗口</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1852" />
-      <source>New &amp;Window</source>
-      <translation>新建窗口(&amp;W)</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1853" />
-      <source>Ctrl+Shift+N</source>
-      <comment>File|New Window</comment>
-      <translation>Ctrl+Shift+N</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1855" />
-      <source>Open a new eric instance</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1857" />
-      <source>&lt;b&gt;New Window&lt;/b&gt;&lt;p&gt;This opens a new instance of the eric IDE.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1871" />
-      <location filename="../UI/UserInterface.py" line="1869" />
-      <source>Edit Profile</source>
-      <translation>编辑模式</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1874" />
-      <source>Activate the edit view profile</source>
-      <translation>激活编辑视图模式</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1876" />
-      <source>&lt;b&gt;Edit Profile&lt;/b&gt;&lt;p&gt;Activate the "Edit View Profile". Windows being shown, if this profile is active, may be configured with the "View Profile Configuration" dialog.&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="1888" />
-      <location filename="../UI/UserInterface.py" line="1886" />
-      <source>Debug Profile</source>
-      <translation>调试模式</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1892" />
-      <source>Activate the debug view profile</source>
-      <translation>激活调试模式</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1893" />
-      <source>&lt;b&gt;Debug Profile&lt;/b&gt;&lt;p&gt;Activate the "Debug View Profile". Windows being shown, if this profile is active, may be configured with the "View Profile Configuration" dialog.&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="1904" />
-      <source>&amp;Project-Viewer</source>
-      <translation>项目浏览器(&amp;P)</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1905" />
-      <source>Alt+Shift+P</source>
-      <translation>Alt+Shift+P</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1908" />
-      <source>Switch the input focus to the Project-Viewer window.</source>
-      <translation>将输入焦点切换至项目查看器窗口。</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1910" />
-      <source>&lt;b&gt;Activate Project-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Project-Viewer window.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1921" />
-      <source>&amp;Multiproject-Viewer</source>
-      <translation>多重项目浏览器(&amp;M)</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1922" />
-      <source>Alt+Shift+M</source>
-      <translation>Alt+Shift+M</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1925" />
-      <source>Switch the input focus to the Multiproject-Viewer window.</source>
-      <translation>将输入焦点切换至多项目查看器窗口。</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1927" />
-      <source>&lt;b&gt;Activate Multiproject-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Multiproject-Viewer window.&lt;/p&gt;</source>
-      <translation type="unfinished" />
+      <location filename="../UI/UserInterface.py" line="1246" />
+      <location filename="../UI/UserInterface.py" line="1095" />
+      <source>Project-Viewer</source>
+      <translation>项目浏览器</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2333" />
+      <location filename="../UI/UserInterface.py" line="2332" />
+      <location filename="../UI/UserInterface.py" line="1252" />
+      <location filename="../UI/UserInterface.py" line="1100" />
+      <source>Find/Replace In Files</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2352" />
+      <location filename="../UI/UserInterface.py" line="2351" />
+      <location filename="../UI/UserInterface.py" line="1258" />
+      <location filename="../UI/UserInterface.py" line="1105" />
+      <source>Find File</source>
+      <translation type="unfinished">查找文件</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1263" />
+      <location filename="../UI/UserInterface.py" line="1109" />
+      <source>VCS Status</source>
+      <translation type="unfinished">版本控制系统状态</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2028" />
+      <location filename="../UI/UserInterface.py" line="1269" />
+      <location filename="../UI/UserInterface.py" line="1114" />
+      <source>Template-Viewer</source>
+      <translation>模板浏览器</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1974" />
+      <location filename="../UI/UserInterface.py" line="1275" />
+      <location filename="../UI/UserInterface.py" line="1119" />
+      <source>File-Browser</source>
+      <translation>文件浏览器</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1281" />
+      <location filename="../UI/UserInterface.py" line="1124" />
+      <source>Symbols</source>
+      <translation>符号</translation>
     </message>
     <message>
       <location filename="../UI/UserInterface.py" line="1939" />
-      <source>&amp;Debug-Viewer</source>
-      <translation>调试浏览器(&amp;D)</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1940" />
-      <source>Alt+Shift+D</source>
-      <translation>Alt+Shift+D</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1943" />
-      <source>Switch the input focus to the Debug-Viewer window.</source>
-      <translation>将输入焦点切换至调试查看器窗口。</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1945" />
-      <source>&lt;b&gt;Activate Debug-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Debug-Viewer window.&lt;/p&gt;</source>
+      <location filename="../UI/UserInterface.py" line="1301" />
+      <location filename="../UI/UserInterface.py" line="1296" />
+      <location filename="../UI/UserInterface.py" line="1132" />
+      <source>Debug-Viewer</source>
+      <translation>调试浏览器</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2221" />
+      <location filename="../UI/UserInterface.py" line="2220" />
+      <location filename="../UI/UserInterface.py" line="1307" />
+      <location filename="../UI/UserInterface.py" line="1137" />
+      <source>Code Documentation Viewer</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2388" />
+      <location filename="../UI/UserInterface.py" line="2387" />
+      <location filename="../UI/UserInterface.py" line="1313" />
+      <location filename="../UI/UserInterface.py" line="1142" />
+      <source>Help Viewer</source>
+      <translation type="unfinished">帮助浏览器</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3085" />
+      <location filename="../UI/UserInterface.py" line="2295" />
+      <location filename="../UI/UserInterface.py" line="2294" />
+      <location filename="../UI/UserInterface.py" line="1318" />
+      <location filename="../UI/UserInterface.py" line="1146" />
+      <source>Plugin Repository</source>
+      <translation>插件储存库</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2313" />
+      <location filename="../UI/UserInterface.py" line="2312" />
+      <location filename="../UI/UserInterface.py" line="1323" />
+      <location filename="../UI/UserInterface.py" line="1150" />
+      <source>Virtual Environments</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2241" />
+      <location filename="../UI/UserInterface.py" line="2240" />
+      <location filename="../UI/UserInterface.py" line="1328" />
+      <location filename="../UI/UserInterface.py" line="1155" />
+      <source>PyPI</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2259" />
+      <location filename="../UI/UserInterface.py" line="2258" />
+      <location filename="../UI/UserInterface.py" line="1333" />
+      <location filename="../UI/UserInterface.py" line="1160" />
+      <source>Conda</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1338" />
+      <location filename="../UI/UserInterface.py" line="1165" />
+      <source>Cooperation</source>
+      <translation>协作</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2164" />
+      <location filename="../UI/UserInterface.py" line="1343" />
+      <location filename="../UI/UserInterface.py" line="1170" />
+      <source>IRC</source>
+      <translation>IRC</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2277" />
+      <location filename="../UI/UserInterface.py" line="2276" />
+      <location filename="../UI/UserInterface.py" line="1349" />
+      <location filename="../UI/UserInterface.py" line="1175" />
+      <source>MicroPython</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../UI/UserInterface.py" line="1957" />
-      <source>&amp;Shell</source>
-      <translation>命令行(&amp;S)</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1958" />
-      <source>Alt+Shift+S</source>
-      <translation>Alt+Shift+S</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1961" />
-      <source>Switch the input focus to the Shell window.</source>
-      <translation>将输入焦点切换至 Shell 窗口。</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1963" />
-      <source>&lt;b&gt;Activate Shell&lt;/b&gt;&lt;p&gt;This switches the input focus to the Shell window.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1974" />
-      <source>&amp;File-Browser</source>
-      <translation>文件浏览器(&amp;F)</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1975" />
-      <source>Alt+Shift+F</source>
-      <translation>Alt+Shift+F</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1978" />
-      <source>Switch the input focus to the File-Browser window.</source>
-      <translation>将输入焦点切换至文件浏览器窗口。</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="1980" />
-      <source>&lt;b&gt;Activate File-Browser&lt;/b&gt;&lt;p&gt;This switches the input focus to the File-Browser window.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;激活文件浏览器&lt;/b&gt;&lt;p&gt;将输入焦点切换至文件浏览器窗口。&lt;/p&gt;</translation>
+      <location filename="../UI/UserInterface.py" line="1357" />
+      <location filename="../UI/UserInterface.py" line="1183" />
+      <source>Shell</source>
+      <translation>命令行</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2009" />
+      <location filename="../UI/UserInterface.py" line="1361" />
+      <location filename="../UI/UserInterface.py" line="1187" />
+      <source>Task-Viewer</source>
+      <translation>任务浏览器</translation>
     </message>
     <message>
       <location filename="../UI/UserInterface.py" line="1991" />
-      <source>Lo&amp;g-Viewer</source>
-      <translation>日志浏览器(&amp;G)</translation>
+      <location filename="../UI/UserInterface.py" line="1365" />
+      <location filename="../UI/UserInterface.py" line="1191" />
+      <source>Log-Viewer</source>
+      <translation>日志浏览器</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1370" />
+      <location filename="../UI/UserInterface.py" line="1196" />
+      <source>Numbers</source>
+      <translation>数字</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1758" />
+      <source>{0} - Passive Mode</source>
+      <translation>{0} - 被动模式</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1765" />
+      <location filename="../UI/UserInterface.py" line="1761" />
+      <source>{0} - {1} - Passive Mode</source>
+      <translation>{0} - {1} - 被动模式</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1769" />
+      <source>{0} - {1} - {2} - Passive Mode</source>
+      <translation>{0} - {1} - {2} - 被动模式</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1792" />
+      <source>Quit</source>
+      <translation>退出</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1794" />
+      <source>&amp;Quit</source>
+      <translation>退出(&amp;Q)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1795" />
+      <source>Ctrl+Q</source>
+      <comment>File|Quit</comment>
+      <translation>Ctrl+Q</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1797" />
+      <source>Quit the IDE</source>
+      <translation>退出程序</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1798" />
+      <source>&lt;b&gt;Quit the IDE&lt;/b&gt;&lt;p&gt;This quits the IDE. Any unsaved changes may be saved first. Any Python program being debugged will be stopped and the preferences will be written to disc.&lt;/p&gt;</source>
+      <translation>&lt;b&gt;退出程序&lt;/b&gt;&lt;p&gt;退出本程序。 先保存任何未保存的更改。任何被调试的 Python 程序都将停止,并将选项写入磁盘。&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1811" />
+      <location filename="../UI/UserInterface.py" line="1809" />
+      <source>Restart</source>
+      <translation type="unfinished">重启</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1812" />
+      <source>Ctrl+Shift+Q</source>
+      <comment>File|Quit</comment>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1814" />
+      <source>Restart the IDE</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1815" />
+      <source>&lt;b&gt;Restart the IDE&lt;/b&gt;&lt;p&gt;This restarts the IDE. Any unsaved changes may be saved first. Any Python program being debugged will be stopped and the preferences will be written to disc.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1828" />
+      <location filename="../UI/UserInterface.py" line="1825" />
+      <source>Save session</source>
+      <translation>保存会话</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1826" />
+      <source>Save session...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1829" />
+      <source>&lt;b&gt;Save session...&lt;/b&gt;&lt;p&gt;This saves the current session to disk. A dialog is opened to select the file name.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="7080" />
+      <location filename="../UI/UserInterface.py" line="1841" />
+      <location filename="../UI/UserInterface.py" line="1838" />
+      <source>Load session</source>
+      <translation type="unfinished">载入会话</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1839" />
+      <source>Load session...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1842" />
+      <source>&lt;b&gt;Load session...&lt;/b&gt;&lt;p&gt;This loads a session saved to disk previously. A dialog is opened to select the file name.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1851" />
+      <source>New Window</source>
+      <translation>新建窗口</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1853" />
+      <source>New &amp;Window</source>
+      <translation>新建窗口(&amp;W)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1854" />
+      <source>Ctrl+Shift+N</source>
+      <comment>File|New Window</comment>
+      <translation>Ctrl+Shift+N</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1856" />
+      <source>Open a new eric instance</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1858" />
+      <source>&lt;b&gt;New Window&lt;/b&gt;&lt;p&gt;This opens a new instance of the eric IDE.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1872" />
+      <location filename="../UI/UserInterface.py" line="1870" />
+      <source>Edit Profile</source>
+      <translation>编辑模式</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1875" />
+      <source>Activate the edit view profile</source>
+      <translation>激活编辑视图模式</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1877" />
+      <source>&lt;b&gt;Edit Profile&lt;/b&gt;&lt;p&gt;Activate the "Edit View Profile". Windows being shown, if this profile is active, may be configured with the "View Profile Configuration" dialog.&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="1889" />
+      <location filename="../UI/UserInterface.py" line="1887" />
+      <source>Debug Profile</source>
+      <translation>调试模式</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1893" />
+      <source>Activate the debug view profile</source>
+      <translation>激活调试模式</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1894" />
+      <source>&lt;b&gt;Debug Profile&lt;/b&gt;&lt;p&gt;Activate the "Debug View Profile". Windows being shown, if this profile is active, may be configured with the "View Profile Configuration" dialog.&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="1905" />
+      <source>&amp;Project-Viewer</source>
+      <translation>项目浏览器(&amp;P)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1906" />
+      <source>Alt+Shift+P</source>
+      <translation>Alt+Shift+P</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1909" />
+      <source>Switch the input focus to the Project-Viewer window.</source>
+      <translation>将输入焦点切换至项目查看器窗口。</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1911" />
+      <source>&lt;b&gt;Activate Project-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Project-Viewer window.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1922" />
+      <source>&amp;Multiproject-Viewer</source>
+      <translation>多重项目浏览器(&amp;M)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1923" />
+      <source>Alt+Shift+M</source>
+      <translation>Alt+Shift+M</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1926" />
+      <source>Switch the input focus to the Multiproject-Viewer window.</source>
+      <translation>将输入焦点切换至多项目查看器窗口。</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1928" />
+      <source>&lt;b&gt;Activate Multiproject-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Multiproject-Viewer window.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1940" />
+      <source>&amp;Debug-Viewer</source>
+      <translation>调试浏览器(&amp;D)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1941" />
+      <source>Alt+Shift+D</source>
+      <translation>Alt+Shift+D</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1944" />
+      <source>Switch the input focus to the Debug-Viewer window.</source>
+      <translation>将输入焦点切换至调试查看器窗口。</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1946" />
+      <source>&lt;b&gt;Activate Debug-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Debug-Viewer window.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1958" />
+      <source>&amp;Shell</source>
+      <translation>命令行(&amp;S)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1959" />
+      <source>Alt+Shift+S</source>
+      <translation>Alt+Shift+S</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1962" />
+      <source>Switch the input focus to the Shell window.</source>
+      <translation>将输入焦点切换至 Shell 窗口。</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1964" />
+      <source>&lt;b&gt;Activate Shell&lt;/b&gt;&lt;p&gt;This switches the input focus to the Shell window.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1975" />
+      <source>&amp;File-Browser</source>
+      <translation>文件浏览器(&amp;F)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1976" />
+      <source>Alt+Shift+F</source>
+      <translation>Alt+Shift+F</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1979" />
+      <source>Switch the input focus to the File-Browser window.</source>
+      <translation>将输入焦点切换至文件浏览器窗口。</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1981" />
+      <source>&lt;b&gt;Activate File-Browser&lt;/b&gt;&lt;p&gt;This switches the input focus to the File-Browser 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="1992" />
+      <source>Lo&amp;g-Viewer</source>
+      <translation>日志浏览器(&amp;G)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="1993" />
       <source>Alt+Shift+G</source>
       <translation>Alt+Shift+G</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="1995" />
+      <location filename="../UI/UserInterface.py" line="1996" />
       <source>Switch the input focus to the Log-Viewer window.</source>
       <translation>将输入焦点切换至日志查看器窗口。</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="1997" />
+      <location filename="../UI/UserInterface.py" line="1998" />
       <source>&lt;b&gt;Activate Log-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Log-Viewer 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="2009" />
-      <source>&amp;Task-Viewer</source>
-      <translation>任务浏览器(&amp;T)</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2010" />
+      <source>&amp;Task-Viewer</source>
+      <translation>任务浏览器(&amp;T)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2011" />
       <source>Alt+Shift+T</source>
       <translation>Alt+Shift+T</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2013" />
+      <location filename="../UI/UserInterface.py" line="2014" />
       <source>Switch the input focus to the Task-Viewer window.</source>
       <translation>将输入焦点切换至任务浏览器窗口。</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2015" />
+      <location filename="../UI/UserInterface.py" line="2016" />
       <source>&lt;b&gt;Activate Task-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Task-Viewer window.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2028" />
-      <source>Templ&amp;ate-Viewer</source>
-      <translation>模板浏览器(&amp;A)</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2029" />
+      <source>Templ&amp;ate-Viewer</source>
+      <translation>模板浏览器(&amp;A)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2030" />
       <source>Alt+Shift+A</source>
       <translation>Alt+Shift+A</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2032" />
+      <location filename="../UI/UserInterface.py" line="2033" />
       <source>Switch the input focus to the Template-Viewer window.</source>
       <translation>将输入焦点切换至模板浏览器窗口。</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2034" />
+      <location filename="../UI/UserInterface.py" line="2035" />
       <source>&lt;b&gt;Activate Template-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Template-Viewer window.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2047" />
-      <source>&amp;Left Toolbox</source>
-      <translation>左工具箱(&amp;L)</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2048" />
-      <source>Toggle the Left Toolbox window</source>
-      <translation>切换左工具箱窗口</translation>
+      <source>&amp;Left Toolbox</source>
+      <translation>左工具箱(&amp;L)</translation>
     </message>
     <message>
       <location filename="../UI/UserInterface.py" line="2049" />
+      <source>Toggle the Left Toolbox window</source>
+      <translation>切换左工具箱窗口</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2050" />
       <source>&lt;b&gt;Toggle the Left Toolbox window&lt;/b&gt;&lt;p&gt;If the Left Toolbox window is hidden then display it. If it is displayed then close it.&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="2062" />
+      <location filename="../UI/UserInterface.py" line="2063" />
       <source>&amp;Right Toolbox</source>
       <translation>右工具箱(&amp;R)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2064" />
-      <source>Toggle the Right Toolbox window</source>
-      <translation>切换右工具箱窗口</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2065" />
+      <source>Toggle the Right Toolbox window</source>
+      <translation>切换右工具箱窗口</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2066" />
       <source>&lt;b&gt;Toggle the Right Toolbox window&lt;/b&gt;&lt;p&gt;If the Right Toolbox window is hidden then display it. If it is displayed then close it.&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="2078" />
+      <location filename="../UI/UserInterface.py" line="2079" />
       <source>&amp;Horizontal Toolbox</source>
       <translation>横向工具箱(&amp;H)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2080" />
+      <location filename="../UI/UserInterface.py" line="2081" />
       <source>Toggle the Horizontal Toolbox window</source>
       <translation>切换横向工具箱窗口</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2082" />
+      <location filename="../UI/UserInterface.py" line="2083" />
       <source>&lt;b&gt;Toggle the Horizontal Toolbox window&lt;/b&gt;&lt;p&gt;If the Horizontal Toolbox window is hidden then display it. If it is displayed then close it.&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="2094" />
-      <source>Left Sidebar</source>
-      <translation>左侧边栏</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2095" />
+      <source>Left Sidebar</source>
+      <translation>左侧边栏</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2096" />
       <source>&amp;Left Sidebar</source>
       <translation>左侧边栏(&amp;L)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2097" />
-      <source>Toggle the left sidebar window</source>
-      <translation>切换左侧边栏窗口</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2098" />
+      <source>Toggle the left sidebar window</source>
+      <translation>切换左侧边栏窗口</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2099" />
       <source>&lt;b&gt;Toggle the left sidebar window&lt;/b&gt;&lt;p&gt;If the left sidebar window is hidden then display it. If it is displayed then close it.&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="2110" />
-      <source>Right Sidebar</source>
-      <translation>右侧边栏</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2111" />
+      <source>Right Sidebar</source>
+      <translation>右侧边栏</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2112" />
       <source>&amp;Right Sidebar</source>
       <translation>右侧边栏(&amp;R)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2113" />
+      <location filename="../UI/UserInterface.py" line="2114" />
       <source>Toggle the right sidebar window</source>
       <translation>切换右侧边栏窗口</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2115" />
+      <location filename="../UI/UserInterface.py" line="2116" />
       <source>&lt;b&gt;Toggle the right sidebar window&lt;/b&gt;&lt;p&gt;If the right sidebar window is hidden then display it. If it is displayed then close it.&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="2127" />
-      <source>Bottom Sidebar</source>
-      <translation>底栏</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2128" />
+      <source>Bottom Sidebar</source>
+      <translation>底栏</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2129" />
       <source>&amp;Bottom Sidebar</source>
       <translation>底栏(&amp;B)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2130" />
+      <location filename="../UI/UserInterface.py" line="2131" />
       <source>Toggle the bottom sidebar window</source>
       <translation>切换底栏窗口</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2132" />
+      <location filename="../UI/UserInterface.py" line="2133" />
       <source>&lt;b&gt;Toggle the bottom sidebar window&lt;/b&gt;&lt;p&gt;If the bottom sidebar window is hidden then display it. If it is displayed then close it.&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="2144" />
-      <source>Cooperation-Viewer</source>
-      <translation>协作浏览器</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2145" />
-      <source>Co&amp;operation-Viewer</source>
-      <translation>协作浏览器(&amp;O)</translation>
+      <source>Cooperation-Viewer</source>
+      <translation>协作浏览器</translation>
     </message>
     <message>
       <location filename="../UI/UserInterface.py" line="2146" />
+      <source>Co&amp;operation-Viewer</source>
+      <translation>协作浏览器(&amp;O)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2147" />
       <source>Alt+Shift+O</source>
       <translation>Alt+Shift+O</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2149" />
+      <location filename="../UI/UserInterface.py" line="2150" />
       <source>Switch the input focus to the Cooperation-Viewer window.</source>
       <translation>将输入焦点切换至协作浏览器窗口。</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2151" />
+      <location filename="../UI/UserInterface.py" line="2152" />
       <source>&lt;b&gt;Activate Cooperation-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Cooperation-Viewer 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="2164" />
-      <source>&amp;IRC</source>
-      <translation>&amp;IRC</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2165" />
+      <source>&amp;IRC</source>
+      <translation>&amp;IRC</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2166" />
       <source>Ctrl+Alt+Shift+I</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2168" />
+      <location filename="../UI/UserInterface.py" line="2169" />
       <source>Switch the input focus to the IRC window.</source>
       <translation>将输入焦点切换至 IRC 窗口。</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2170" />
+      <location filename="../UI/UserInterface.py" line="2171" />
       <source>&lt;b&gt;Activate IRC&lt;/b&gt;&lt;p&gt;This switches the input focus to the IRC window.&lt;/p&gt;</source>
       <translation>&lt;b&gt;激活 IRC&lt;/b&gt;&lt;p&gt;将输入焦点切换至 IRC 窗口。&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2181" />
-      <source>Symbols-Viewer</source>
-      <translation>符号查看器</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2182" />
-      <source>S&amp;ymbols-Viewer</source>
-      <translation>符号查看器(&amp;Y)</translation>
+      <source>Symbols-Viewer</source>
+      <translation>符号查看器</translation>
     </message>
     <message>
       <location filename="../UI/UserInterface.py" line="2183" />
+      <source>S&amp;ymbols-Viewer</source>
+      <translation>符号查看器(&amp;Y)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2184" />
       <source>Alt+Shift+Y</source>
       <translation>Alt+Shift+Y</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2186" />
+      <location filename="../UI/UserInterface.py" line="2187" />
       <source>Switch the input focus to the Symbols-Viewer window.</source>
       <translation>将输入焦点切换至符号查看器窗口。</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2188" />
+      <location filename="../UI/UserInterface.py" line="2189" />
       <source>&lt;b&gt;Activate Symbols-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Symbols-Viewer window.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2200" />
-      <source>Numbers-Viewer</source>
-      <translation>数字查看器</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2201" />
-      <source>Num&amp;bers-Viewer</source>
-      <translation>数字查看器(&amp;B)</translation>
+      <source>Numbers-Viewer</source>
+      <translation>数字查看器</translation>
     </message>
     <message>
       <location filename="../UI/UserInterface.py" line="2202" />
+      <source>Num&amp;bers-Viewer</source>
+      <translation>数字查看器(&amp;B)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2203" />
       <source>Alt+Shift+B</source>
       <translation>Alt+Shift+B</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2205" />
+      <location filename="../UI/UserInterface.py" line="2206" />
       <source>Switch the input focus to the Numbers-Viewer window.</source>
       <translation>将输入焦点切换至数字查看器窗口。</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2207" />
+      <location filename="../UI/UserInterface.py" line="2208" />
       <source>&lt;b&gt;Activate Numbers-Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Numbers-Viewer window.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2221" />
+      <location filename="../UI/UserInterface.py" line="2222" />
       <source>Ctrl+Alt+Shift+D</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2224" />
+      <location filename="../UI/UserInterface.py" line="2225" />
       <source>Switch the input focus to the Code Documentation Viewer window.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2227" />
+      <location filename="../UI/UserInterface.py" line="2228" />
       <source>&lt;b&gt;Code Documentation Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the Code Documentation Viewer window.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2241" />
+      <location filename="../UI/UserInterface.py" line="2242" />
       <source>Ctrl+Alt+Shift+P</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2244" />
+      <location filename="../UI/UserInterface.py" line="2245" />
       <source>Switch the input focus to the PyPI window.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2246" />
+      <location filename="../UI/UserInterface.py" line="2247" />
       <source>&lt;b&gt;PyPI&lt;/b&gt;&lt;p&gt;This switches the input focus to the PyPI window.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2259" />
+      <location filename="../UI/UserInterface.py" line="2260" />
       <source>Ctrl+Alt+Shift+C</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2262" />
+      <location filename="../UI/UserInterface.py" line="2263" />
       <source>Switch the input focus to the Conda window.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2264" />
+      <location filename="../UI/UserInterface.py" line="2265" />
       <source>&lt;b&gt;Conda&lt;/b&gt;&lt;p&gt;This switches the input focus to the Conda window.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2277" />
+      <location filename="../UI/UserInterface.py" line="2278" />
       <source>Ctrl+Alt+Shift+M</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2280" />
+      <location filename="../UI/UserInterface.py" line="2281" />
       <source>Switch the input focus to the MicroPython window.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2282" />
+      <location filename="../UI/UserInterface.py" line="2283" />
       <source>&lt;b&gt;MicroPython&lt;/b&gt;&lt;p&gt;This switches the input focus to the MicroPython window.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2295" />
+      <location filename="../UI/UserInterface.py" line="2296" />
       <source>Ctrl+Alt+Shift+R</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2298" />
+      <location filename="../UI/UserInterface.py" line="2299" />
       <source>Switch the input focus to the Plugin Repository window.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2300" />
+      <location filename="../UI/UserInterface.py" line="2301" />
       <source>&lt;b&gt;Plugin Repository&lt;/b&gt;&lt;p&gt;This switches the input focus to the Plugin Repository window.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2313" />
+      <location filename="../UI/UserInterface.py" line="2314" />
       <source>Ctrl+Alt+V</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2316" />
+      <location filename="../UI/UserInterface.py" line="2317" />
       <source>Switch the input focus to the Virtual Environments Manager window.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2319" />
+      <location filename="../UI/UserInterface.py" line="2320" />
       <source>&lt;b&gt;Virtual Environments&lt;/b&gt;&lt;p&gt;This switches the input focus to the Virtual Environments Manager window.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2333" />
+      <location filename="../UI/UserInterface.py" line="2334" />
       <source>Ctrl+Alt+Shift+F</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2336" />
+      <location filename="../UI/UserInterface.py" line="2337" />
       <source>Switch the input focus to the Find/Replace In Files window.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2338" />
+      <location filename="../UI/UserInterface.py" line="2339" />
       <source>&lt;b&gt;Find/Replace In Files&lt;/b&gt;&lt;p&gt;This switches the input focus to the Find/Replace In Files window.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2352" />
+      <location filename="../UI/UserInterface.py" line="2353" />
       <source>Ctrl+Alt+Shift+L</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2355" />
+      <location filename="../UI/UserInterface.py" line="2356" />
       <source>Switch the input focus to the Find File window.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2357" />
+      <location filename="../UI/UserInterface.py" line="2358" />
       <source>&lt;b&gt;Find File&lt;/b&gt;&lt;p&gt;This switches the input focus to the Find File window.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2369" />
-      <location filename="../UI/UserInterface.py" line="2368" />
-      <source>VCS Status List</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2370" />
+      <location filename="../UI/UserInterface.py" line="2369" />
+      <source>VCS Status List</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2371" />
       <source>Alt+Shift+V</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2373" />
+      <location filename="../UI/UserInterface.py" line="2374" />
       <source>Switch the input focus to the VCS Status List window.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2375" />
+      <location filename="../UI/UserInterface.py" line="2376" />
       <source>&lt;b&gt;VCS Status List&lt;/b&gt;&lt;p&gt;This switches the input focus to the VCS Status List window.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2388" />
+      <location filename="../UI/UserInterface.py" line="2389" />
       <source>Alt+Shift+H</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2391" />
+      <location filename="../UI/UserInterface.py" line="2392" />
       <source>Switch the input focus to the embedded Help Viewer window.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2393" />
+      <location filename="../UI/UserInterface.py" line="2394" />
       <source>&lt;b&gt;Help Viewer&lt;/b&gt;&lt;p&gt;This switches the input focus to the embedded Help Viewer window. It will show HTML help files and help from Qt help collections.&lt;/p&gt;&lt;p&gt;If called with a word selected, this word is searched in the Qt help collection.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2406" />
+      <location filename="../UI/UserInterface.py" line="2407" />
       <source>What's This?</source>
       <translation>这是什么?</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2408" />
-      <source>&amp;What's This?</source>
-      <translation>这是什么(&amp;W)?</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2409" />
+      <source>&amp;What's This?</source>
+      <translation>这是什么(&amp;W)?</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2410" />
       <source>Shift+F1</source>
       <translation>Shift+F1</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2411" />
-      <source>Context sensitive help</source>
-      <translation>背景帮助</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2412" />
+      <source>Context sensitive help</source>
+      <translation>背景帮助</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2413" />
       <source>&lt;b&gt;Display context sensitive help&lt;/b&gt;&lt;p&gt;In What's This? mode, the mouse cursor shows an arrow with a question mark, and you can click on the interface elements to get a short description of what they do and how to use them. In dialogs, this feature can be accessed using the context help button in the titlebar.&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="2424" />
+      <location filename="../UI/UserInterface.py" line="2425" />
       <source>Helpviewer</source>
       <translation>帮助浏览器</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2426" />
-      <source>&amp;Helpviewer...</source>
-      <translation>帮助浏览器(&amp;H)…</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2427" />
+      <source>&amp;Helpviewer...</source>
+      <translation>帮助浏览器(&amp;H)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2428" />
       <source>F1</source>
       <translation>F1</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2429" />
+      <location filename="../UI/UserInterface.py" line="2430" />
       <source>Open the helpviewer window</source>
       <translation>打开帮助浏览器窗口</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2431" />
+      <location filename="../UI/UserInterface.py" line="2432" />
       <source>&lt;b&gt;Helpviewer&lt;/b&gt;&lt;p&gt;Display the eric web browser. This window will show HTML help files and help from Qt help collections. It has the capability to navigate to links, set bookmarks, print the displayed help and some more features. You may use it to browse the internet as well&lt;/p&gt;&lt;p&gt;If called with a word selected, this word is searched in the Qt help collection.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2450" />
-      <source>Show Versions</source>
-      <translation>显示版本</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2451" />
+      <source>Show Versions</source>
+      <translation>显示版本</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2452" />
       <source>Show &amp;Versions</source>
       <translation>显示版本(&amp;V)</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2453" />
+      <location filename="../UI/UserInterface.py" line="2454" />
       <source>Display version information</source>
       <translation>显示版本信息</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2455" />
+      <location filename="../UI/UserInterface.py" line="2456" />
       <source>&lt;b&gt;Show Versions&lt;/b&gt;&lt;p&gt;Display version information.&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="2466" />
-      <location filename="../UI/UserInterface.py" line="2463" />
-      <source>Show Error Log</source>
-      <translation>显示错误日志</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2464" />
-      <source>Show Error &amp;Log...</source>
-      <translation>显示错误日志(&amp;L)…</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2467" />
+      <location filename="../UI/UserInterface.py" line="2464" />
+      <source>Show Error Log</source>
+      <translation>显示错误日志</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2465" />
+      <source>Show Error &amp;Log...</source>
+      <translation>显示错误日志(&amp;L)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2468" />
       <source>&lt;b&gt;Show Error Log...&lt;/b&gt;&lt;p&gt;Opens a dialog showing the most recent error log.&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="2475" />
-      <source>Show Install Info</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2476" />
+      <source>Show Install Info</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2477" />
       <source>Show Install &amp;Info...</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2478" />
+      <location filename="../UI/UserInterface.py" line="2479" />
       <source>Show Installation Information</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2480" />
+      <location filename="../UI/UserInterface.py" line="2481" />
       <source>&lt;b&gt;Show Install Info...&lt;/b&gt;&lt;p&gt;Opens a dialog showing some information about the installation process.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../UI/UserInterface.py" line="4100" />
-      <location filename="../UI/UserInterface.py" line="2489" />
+      <location filename="../UI/UserInterface.py" line="2490" />
       <source>Report Bug</source>
       <translation>报告错误</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2490" />
+      <location filename="../UI/UserInterface.py" line="2491" />
       <source>Report &amp;Bug...</source>
       <translation>报告错误(&amp;B)…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2492" />
-      <source>Report a bug</source>
-      <translation>报告一个错误</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2493" />
+      <source>Report a bug</source>
+      <translation>报告一个错误</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2494" />
       <source>&lt;b&gt;Report Bug...&lt;/b&gt;&lt;p&gt;Opens a dialog to report a bug.&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="2501" />
-      <source>Request Feature</source>
-      <translation>请求功能</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="2502" />
+      <source>Request Feature</source>
+      <translation>请求功能</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2503" />
       <source>Request &amp;Feature...</source>
       <translation>请求功能(&amp;F)…</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2504" />
+      <location filename="../UI/UserInterface.py" line="2505" />
       <source>Send a feature request</source>
       <translation>发送一个功能请求</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="2506" />
+      <location filename="../UI/UserInterface.py" line="2507" />
       <source>&lt;b&gt;Request Feature...&lt;/b&gt;&lt;p&gt;Opens a dialog to send a feature request.&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="3601" />
+      <location filename="../UI/UserInterface.py" line="2517" />
+      <source>Testing</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2519" />
+      <source>&amp;Testing...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2521" />
+      <source>Start the testing dialog</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2522" />
+      <source>&lt;b&gt;Testing&lt;/b&gt;&lt;p&gt;Perform test runs. The dialog gives the ability to select and run a test suite or auto discover them.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2532" />
+      <source>Restart Last Test</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2534" />
+      <source>&amp;Restart Last Test...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2536" />
+      <source>Restarts the last test</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2537" />
+      <source>&lt;b&gt;Restart Last Test&lt;/b&gt;&lt;p&gt;Restarts the test performed last.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2546" />
+      <source>Rerun Failed Tests</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2548" />
+      <source>Rerun Failed Tests...</source>
+      <translation>重新运行失败的测试…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2550" />
+      <source>Rerun failed tests of the last run</source>
+      <translation>重新运行上一次运行中失败的测试</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2552" />
+      <source>&lt;b&gt;Rerun Failed Tests&lt;/b&gt;&lt;p&gt;Rerun all tests that failed during the last test run.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2561" />
+      <source>Test Script</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2563" />
+      <source>Test &amp;Script...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2565" />
+      <source>Run tests of the current script</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2567" />
+      <source>&lt;b&gt;Test Script&lt;/b&gt;&lt;p&gt;Run tests with the current script.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2576" />
+      <source>Test Project</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2578" />
+      <source>Test &amp;Project...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2580" />
+      <source>Run tests of the current project</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2582" />
+      <source>&lt;b&gt;Test Project&lt;/b&gt;&lt;p&gt;Run test of the current project.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2603" />
+      <source>Qt-Designer</source>
+      <translation>Qt 设计师</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2605" />
+      <source>Qt-&amp;Designer...</source>
+      <translation>Qt 设计师(&amp;D)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2607" />
+      <source>Start Qt-Designer</source>
+      <translation>启动 Qt 设计师</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2608" />
+      <source>&lt;b&gt;Qt-Designer&lt;/b&gt;&lt;p&gt;Start Qt-Designer.&lt;/p&gt;</source>
+      <translation>&lt;b&gt;Qt 设计师&lt;/b&gt;&lt;p&gt;启动 Qt 设计师。&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2629" />
+      <source>Qt-Linguist</source>
+      <translation>Qt 语言家</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2631" />
+      <source>Qt-&amp;Linguist...</source>
+      <translation>Qt 语言家(&amp;L)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2633" />
+      <source>Start Qt-Linguist</source>
+      <translation>启动 Qt 语言家</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2634" />
+      <source>&lt;b&gt;Qt-Linguist&lt;/b&gt;&lt;p&gt;Start Qt-Linguist.&lt;/p&gt;</source>
+      <translation>&lt;b&gt;Qt 语言家&lt;/b&gt;&lt;p&gt;启动 Qt 语言家。&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2644" />
+      <source>UI Previewer</source>
+      <translation>用户界面预览器</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2646" />
+      <source>&amp;UI Previewer...</source>
+      <translation>用户界面预览器(&amp;U)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2648" />
+      <source>Start the UI Previewer</source>
+      <translation>开启用户界面预览器</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2649" />
+      <source>&lt;b&gt;UI Previewer&lt;/b&gt;&lt;p&gt;Start the UI Previewer.&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="2657" />
+      <source>Translations Previewer</source>
+      <translation>翻译预览器</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2659" />
+      <source>&amp;Translations Previewer...</source>
+      <translation>翻译预览器(&amp;T)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2661" />
+      <source>Start the Translations Previewer</source>
+      <translation>开启翻译预览器</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2663" />
+      <source>&lt;b&gt;Translations Previewer&lt;/b&gt;&lt;p&gt;Start the Translations Previewer.&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="2671" />
+      <source>Compare Files</source>
+      <translation>比较文件</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2673" />
+      <source>&amp;Compare Files...</source>
+      <translation>比较文件(&amp;C)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2688" />
+      <location filename="../UI/UserInterface.py" line="2675" />
+      <source>Compare two files</source>
+      <translation>比较两个文件</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2676" />
+      <source>&lt;b&gt;Compare Files&lt;/b&gt;&lt;p&gt;Open a dialog to compare two files.&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="2684" />
+      <source>Compare Files side by side</source>
+      <translation>并排比较文件</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2686" />
+      <source>Compare &amp;Files side by side...</source>
+      <translation>并排比较文件(&amp;F)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2689" />
+      <source>&lt;b&gt;Compare Files side by side&lt;/b&gt;&lt;p&gt;Open a dialog to compare two files and show the result side by side.&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="2698" />
+      <source>SQL Browser</source>
+      <translation>SQL 浏览器</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2700" />
+      <source>SQL &amp;Browser...</source>
+      <translation>SQL 浏览器(&amp;B)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2702" />
+      <source>Browse a SQL database</source>
+      <translation>浏览 SQL 数据库</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2703" />
+      <source>&lt;b&gt;SQL Browser&lt;/b&gt;&lt;p&gt;Browse a SQL database.&lt;/p&gt;</source>
+      <translation>&lt;b&gt;SQL 浏览器&lt;/b&gt;&lt;p&gt;浏览 SQL 数据库。&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2715" />
+      <location filename="../UI/UserInterface.py" line="2711" />
+      <source>Mini Editor</source>
+      <translation>小型编辑器</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2713" />
+      <source>Mini &amp;Editor...</source>
+      <translation>小型编辑器(&amp;E)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2716" />
+      <source>&lt;b&gt;Mini Editor&lt;/b&gt;&lt;p&gt;Open a dialog with a simplified editor.&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="2724" />
+      <source>Hex Editor</source>
+      <translation>十六进制编辑器</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2726" />
+      <source>&amp;Hex Editor...</source>
+      <translation>十六进制编辑器(&amp;H)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2728" />
+      <source>Start the eric Hex Editor</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2730" />
+      <source>&lt;b&gt;Hex Editor&lt;/b&gt;&lt;p&gt;Starts the eric Hex Editor for viewing or editing binary files.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2739" />
+      <source>eric Web Browser</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2741" />
+      <source>eric &amp;Web Browser...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2743" />
+      <source>Start the eric Web Browser</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2745" />
+      <source>&lt;b&gt;eric Web Browser&lt;/b&gt;&lt;p&gt;Browse the Internet with the eric Web Browser.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2753" />
+      <source>Icon Editor</source>
+      <translation>图标编辑器</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2755" />
+      <source>&amp;Icon Editor...</source>
+      <translation>图标编辑器(&amp;I)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2757" />
+      <source>Start the eric Icon Editor</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2759" />
+      <source>&lt;b&gt;Icon Editor&lt;/b&gt;&lt;p&gt;Starts the eric Icon Editor for editing simple icons.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2767" />
+      <source>Snapshot</source>
+      <translation>快照</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2769" />
+      <source>&amp;Snapshot...</source>
+      <translation>快照(&amp;S)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2771" />
+      <source>Take snapshots of a screen region</source>
+      <translation>截取屏幕区域的快照</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2773" />
+      <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="2782" />
+      <source>Preferences</source>
+      <translation>首选项</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2784" />
+      <source>&amp;Preferences...</source>
+      <translation>首选项(&amp;P)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2786" />
+      <source>Set the prefered configuration</source>
+      <translation>设定偏好配置</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2788" />
+      <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="2798" />
+      <source>Export Preferences</source>
+      <translation>导出首选项</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2800" />
+      <source>E&amp;xport Preferences...</source>
+      <translation>导出首选项(&amp;X)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2802" />
+      <source>Export the current configuration</source>
+      <translation>导出当前配置</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2804" />
+      <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="2812" />
+      <source>Import Preferences</source>
+      <translation>导入首选项</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2814" />
+      <source>I&amp;mport Preferences...</source>
+      <translation>导入首选项(&amp;M)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2816" />
+      <source>Import a previously exported configuration</source>
+      <translation>导入以前导出的配置</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2818" />
+      <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="2826" />
+      <source>Export Theme</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2828" />
+      <source>Export Theme...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2830" />
+      <source>Export the current theme</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2832" />
+      <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="2840" />
+      <source>Import Theme</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2842" />
+      <source>Import Theme...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2844" />
+      <source>Import a previously exported theme</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2846" />
+      <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="2854" />
+      <source>Reload APIs</source>
+      <translation>重新载入 API</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2855" />
+      <source>Reload &amp;APIs</source>
+      <translation>重新载入 &amp;API</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2857" />
+      <source>Reload the API information</source>
+      <translation>重新载入 API 信息</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2859" />
+      <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="2871" />
+      <location filename="../UI/UserInterface.py" line="2867" />
+      <source>Show external tools</source>
+      <translation>显示外部工具</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2869" />
+      <source>Show external &amp;tools</source>
+      <translation>显示外部工具(&amp;T)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2873" />
+      <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="2883" />
+      <source>View Profiles</source>
+      <translation>视图模式</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2885" />
+      <source>&amp;View Profiles...</source>
+      <translation>视图模式(&amp;V)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2887" />
+      <source>Configure view profiles</source>
+      <translation>配置视图模式</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2889" />
+      <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="2900" />
+      <source>Toolbars</source>
+      <translation>工具栏</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2902" />
+      <source>Tool&amp;bars...</source>
+      <translation>工具栏(&amp;B)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2904" />
+      <source>Configure toolbars</source>
+      <translation>配置工具栏</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2905" />
+      <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="2915" />
+      <source>Keyboard Shortcuts</source>
+      <translation>键盘快捷键</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2917" />
+      <source>Keyboard &amp;Shortcuts...</source>
+      <translation>键盘快捷键(&amp;S)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2919" />
+      <source>Set the keyboard shortcuts</source>
+      <translation>设置键盘快捷键</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2921" />
+      <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="6772" />
+      <location filename="../UI/UserInterface.py" line="6754" />
+      <location filename="../UI/UserInterface.py" line="2930" />
+      <source>Export Keyboard Shortcuts</source>
+      <translation>导出键盘快捷键</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2932" />
+      <source>&amp;Export Keyboard Shortcuts...</source>
+      <translation>导出键盘快捷键(&amp;E)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2934" />
+      <source>Export the keyboard shortcuts</source>
+      <translation>导出键盘快捷键</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2936" />
+      <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="6789" />
+      <location filename="../UI/UserInterface.py" line="2944" />
+      <source>Import Keyboard Shortcuts</source>
+      <translation>导入键盘快捷键</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2946" />
+      <source>&amp;Import Keyboard Shortcuts...</source>
+      <translation>导入键盘快捷键(&amp;I)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2948" />
+      <source>Import the keyboard shortcuts</source>
+      <translation>导入键盘快捷键</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2950" />
+      <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="2959" />
+      <source>Manage SSL Certificates</source>
+      <translation>管理 SSL 证书</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2961" />
+      <source>Manage SSL Certificates...</source>
+      <translation>管理 SSL 证书…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2963" />
+      <source>Manage the saved SSL certificates</source>
+      <translation>管理保存的 SSL 证书</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2965" />
+      <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="2975" />
+      <source>Edit Message Filters</source>
+      <translation>编辑消息过滤器</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2977" />
+      <source>Edit Message Filters...</source>
+      <translation>编辑消息过滤器…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2979" />
+      <source>Edit the message filters used to suppress unwanted messages</source>
+      <translation>编辑消息过滤器使得不期望的消息不显示</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2981" />
+      <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="2997" />
+      <location filename="../UI/UserInterface.py" line="2994" />
+      <location filename="../UI/UserInterface.py" line="2992" />
+      <source>Clear private data</source>
+      <translation type="unfinished">清空隐私数据</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="2999" />
+      <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="3010" />
+      <location filename="../UI/UserInterface.py" line="3009" />
+      <source>Activate current editor</source>
+      <translation>激活当前编辑器</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3011" />
+      <source>Alt+Shift+E</source>
+      <translation>Alt+Shift+E</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3020" />
+      <location filename="../UI/UserInterface.py" line="3019" />
+      <source>Show next</source>
+      <translation>显示下一个</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3021" />
+      <source>Ctrl+Alt+Tab</source>
+      <translation>Ctrl+Alt+Tab</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3029" />
+      <location filename="../UI/UserInterface.py" line="3028" />
+      <source>Show previous</source>
+      <translation>显示上一个</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3030" />
+      <source>Shift+Ctrl+Alt+Tab</source>
+      <translation>Shift+Ctrl+Alt+Tab</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3038" />
+      <location filename="../UI/UserInterface.py" line="3037" />
+      <source>Switch between tabs</source>
+      <translation>在选项卡间切换</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3039" />
+      <source>Ctrl+1</source>
+      <translation>Ctrl+1</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3046" />
+      <source>Plugin Infos</source>
+      <translation>插件信息</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3048" />
+      <source>&amp;Plugin Infos...</source>
+      <translation>插件信息(&amp;P)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3049" />
+      <source>Show Plugin Infos</source>
+      <translation>显示插件信息</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3050" />
+      <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="3063" />
+      <location filename="../UI/UserInterface.py" line="3059" />
+      <source>Install Plugins</source>
+      <translation>安装插件</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3061" />
+      <source>&amp;Install Plugins...</source>
+      <translation>安装插件(&amp;I)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3064" />
+      <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="3076" />
+      <location filename="../UI/UserInterface.py" line="3072" />
+      <source>Uninstall Plugin</source>
+      <translation>卸载插件</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3074" />
+      <source>&amp;Uninstall Plugin...</source>
+      <translation>卸载插件(&amp;U)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3077" />
+      <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="3087" />
+      <source>Plugin &amp;Repository...</source>
+      <translation>插件储存库(&amp;R)…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3089" />
+      <source>Show Plugins available for download</source>
+      <translation>显示可以下载的插件</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3091" />
+      <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="3117" />
+      <location filename="../UI/UserInterface.py" line="3116" />
+      <source>Qt5 Documentation</source>
+      <translation>Qt5 文档</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3119" />
+      <source>Open Qt5 Documentation</source>
+      <translation>打开 Qt5 文档</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3120" />
+      <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="3132" />
+      <location filename="../UI/UserInterface.py" line="3131" />
+      <source>Qt6 Documentation</source>
+      <translation type="unfinished">Qt5 文档 {6 ?}</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3134" />
+      <source>Open Qt6 Documentation</source>
+      <translation type="unfinished">打开 Qt5 文档 {6 ?}</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3135" />
+      <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="3147" />
+      <location filename="../UI/UserInterface.py" line="3146" />
+      <source>PyQt5 Documentation</source>
+      <translation>PyQt5 文档</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3149" />
+      <source>Open PyQt5 Documentation</source>
+      <translation>打开 PyQt5 文档</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3151" />
+      <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="3164" />
+      <location filename="../UI/UserInterface.py" line="3163" />
+      <source>PyQt6 Documentation</source>
+      <translation type="unfinished">PyQt5 文档 {6 ?}</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3166" />
+      <source>Open PyQt6 Documentation</source>
+      <translation type="unfinished">打开 PyQt5 文档 {6 ?}</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3168" />
+      <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="3186" />
+      <location filename="../UI/UserInterface.py" line="3185" />
+      <source>Python 3 Documentation</source>
+      <translation>Python 3 文档</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3188" />
+      <source>Open Python 3 Documentation</source>
+      <translation>打开 Python 3 文档</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3190" />
+      <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="3208" />
+      <location filename="../UI/UserInterface.py" line="3207" />
+      <source>eric API Documentation</source>
+      <translation type="unfinished">eric API 文档</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3210" />
+      <source>Open eric API Documentation</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3212" />
+      <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="3229" />
+      <location filename="../UI/UserInterface.py" line="3228" />
+      <source>PySide2 Documentation</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3231" />
+      <source>Open PySide2 Documentation</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3233" />
+      <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="3249" />
+      <location filename="../UI/UserInterface.py" line="3248" />
+      <source>PySide6 Documentation</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3251" />
+      <source>Open PySide6 Documentation</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3253" />
+      <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="3355" />
+      <source>E&amp;xtras</source>
+      <translation>附加程序(&amp;X)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3365" />
+      <source>Wi&amp;zards</source>
+      <translation>向导(&amp;Z)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3384" />
+      <source>P&amp;lugins</source>
+      <translation>插件(&amp;L)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3394" />
+      <source>Configure...</source>
+      <translation>配置…</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3403" />
+      <source>&amp;Testing</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3420" />
+      <source>Select Tool Group</source>
+      <translation>选择工具组</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3431" />
+      <source>Se&amp;ttings</source>
+      <translation>设置(&amp;T)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3464" />
+      <source>&amp;Window</source>
+      <translation>窗口(&amp;W)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3473" />
+      <source>&amp;Windows</source>
+      <translation>窗口(&amp;W)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3478" />
+      <source>Central Park</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3482" />
+      <source>Left Side</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3501" />
+      <source>Right Side</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3525" />
+      <source>Bottom Side</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3533" />
+      <source>Plug-ins</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3540" />
+      <source>&amp;Toolbars</source>
+      <translation>工具栏(&amp;T)</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3553" />
+      <source>&amp;Help</source>
+      <translation>帮助(&amp;H)</translation>
+    </message>
+    <message>
       <location filename="../UI/UserInterface.py" line="3623" />
       <location filename="../UI/UserInterface.py" line="3600" />
-      <location filename="../UI/UserInterface.py" line="2516" />
-      <source>Unittest</source>
-      <translation>单元测试</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2518" />
-      <source>&amp;Unittest...</source>
-      <translation>单元测试(&amp;U)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2520" />
-      <source>Start unittest dialog</source>
-      <translation>打开单元测试对话框</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2521" />
-      <source>&lt;b&gt;Unittest&lt;/b&gt;&lt;p&gt;Perform unit tests. The dialog gives you the ability to select and run a unittest suite.&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="2530" />
-      <source>Unittest Restart</source>
-      <translation>单元测试重启</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2532" />
-      <source>&amp;Restart Unittest...</source>
-      <translation>重启单元测试(&amp;R)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2534" />
-      <source>Restart last unittest</source>
-      <translation>重启最后的单元测试</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2535" />
-      <source>&lt;b&gt;Restart Unittest&lt;/b&gt;&lt;p&gt;Restart the unittest performed last.&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="2544" />
-      <source>Unittest Rerun Failed</source>
-      <translation>单元测试再次运行失败</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2546" />
-      <source>Rerun Failed Tests...</source>
-      <translation>重新运行失败的测试…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2548" />
-      <source>Rerun failed tests of the last run</source>
-      <translation>重新运行上一次运行中失败的测试</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2550" />
-      <source>&lt;b&gt;Rerun Failed Tests&lt;/b&gt;&lt;p&gt;Rerun all tests that failed during the last unittest run.&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="2560" />
-      <source>Unittest Script</source>
-      <translation>脚本单元测试</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2562" />
-      <source>Unittest &amp;Script...</source>
-      <translation>脚本单元测试(&amp;S)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2564" />
-      <source>Run unittest with current script</source>
-      <translation>对当前脚本运行单元测试</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2566" />
-      <source>&lt;b&gt;Unittest Script&lt;/b&gt;&lt;p&gt;Run unittest with current script.&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="2575" />
-      <source>Unittest Project</source>
-      <translation>项目单元测试</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2577" />
-      <source>Unittest &amp;Project...</source>
-      <translation>项目单元测试(&amp;P)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2579" />
-      <source>Run unittest with current project</source>
-      <translation>对当前项目运行单元测试</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2581" />
-      <source>&lt;b&gt;Unittest Project&lt;/b&gt;&lt;p&gt;Run unittest with current project.&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="2602" />
-      <source>Qt-Designer</source>
-      <translation>Qt 设计师</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2604" />
-      <source>Qt-&amp;Designer...</source>
-      <translation>Qt 设计师(&amp;D)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2606" />
-      <source>Start Qt-Designer</source>
-      <translation>启动 Qt 设计师</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2607" />
-      <source>&lt;b&gt;Qt-Designer&lt;/b&gt;&lt;p&gt;Start Qt-Designer.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;Qt 设计师&lt;/b&gt;&lt;p&gt;启动 Qt 设计师。&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2628" />
-      <source>Qt-Linguist</source>
-      <translation>Qt 语言家</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2630" />
-      <source>Qt-&amp;Linguist...</source>
-      <translation>Qt 语言家(&amp;L)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2632" />
-      <source>Start Qt-Linguist</source>
-      <translation>启动 Qt 语言家</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2633" />
-      <source>&lt;b&gt;Qt-Linguist&lt;/b&gt;&lt;p&gt;Start Qt-Linguist.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;Qt 语言家&lt;/b&gt;&lt;p&gt;启动 Qt 语言家。&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2643" />
-      <source>UI Previewer</source>
-      <translation>用户界面预览器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2645" />
-      <source>&amp;UI Previewer...</source>
-      <translation>用户界面预览器(&amp;U)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2647" />
-      <source>Start the UI Previewer</source>
-      <translation>开启用户界面预览器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2648" />
-      <source>&lt;b&gt;UI Previewer&lt;/b&gt;&lt;p&gt;Start the UI Previewer.&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="2656" />
-      <source>Translations Previewer</source>
-      <translation>翻译预览器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2658" />
-      <source>&amp;Translations Previewer...</source>
-      <translation>翻译预览器(&amp;T)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2660" />
-      <source>Start the Translations Previewer</source>
-      <translation>开启翻译预览器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2662" />
-      <source>&lt;b&gt;Translations Previewer&lt;/b&gt;&lt;p&gt;Start the Translations Previewer.&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="2670" />
-      <source>Compare Files</source>
-      <translation>比较文件</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2672" />
-      <source>&amp;Compare Files...</source>
-      <translation>比较文件(&amp;C)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2687" />
-      <location filename="../UI/UserInterface.py" line="2674" />
-      <source>Compare two files</source>
-      <translation>比较两个文件</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2675" />
-      <source>&lt;b&gt;Compare Files&lt;/b&gt;&lt;p&gt;Open a dialog to compare two files.&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="2683" />
-      <source>Compare Files side by side</source>
-      <translation>并排比较文件</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2685" />
-      <source>Compare &amp;Files side by side...</source>
-      <translation>并排比较文件(&amp;F)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2688" />
-      <source>&lt;b&gt;Compare Files side by side&lt;/b&gt;&lt;p&gt;Open a dialog to compare two files and show the result side by side.&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="2697" />
-      <source>SQL Browser</source>
-      <translation>SQL 浏览器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2699" />
-      <source>SQL &amp;Browser...</source>
-      <translation>SQL 浏览器(&amp;B)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2701" />
-      <source>Browse a SQL database</source>
-      <translation>浏览 SQL 数据库</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2702" />
-      <source>&lt;b&gt;SQL Browser&lt;/b&gt;&lt;p&gt;Browse a SQL database.&lt;/p&gt;</source>
-      <translation>&lt;b&gt;SQL 浏览器&lt;/b&gt;&lt;p&gt;浏览 SQL 数据库。&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2714" />
-      <location filename="../UI/UserInterface.py" line="2710" />
-      <source>Mini Editor</source>
-      <translation>小型编辑器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2712" />
-      <source>Mini &amp;Editor...</source>
-      <translation>小型编辑器(&amp;E)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2715" />
-      <source>&lt;b&gt;Mini Editor&lt;/b&gt;&lt;p&gt;Open a dialog with a simplified editor.&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="2723" />
-      <source>Hex Editor</source>
-      <translation>十六进制编辑器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2725" />
-      <source>&amp;Hex Editor...</source>
-      <translation>十六进制编辑器(&amp;H)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2727" />
-      <source>Start the eric Hex Editor</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2729" />
-      <source>&lt;b&gt;Hex Editor&lt;/b&gt;&lt;p&gt;Starts the eric Hex Editor for viewing or editing binary files.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2738" />
-      <source>eric Web Browser</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2740" />
-      <source>eric &amp;Web Browser...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2742" />
-      <source>Start the eric Web Browser</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2744" />
-      <source>&lt;b&gt;eric Web Browser&lt;/b&gt;&lt;p&gt;Browse the Internet with the eric Web Browser.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2752" />
-      <source>Icon Editor</source>
-      <translation>图标编辑器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2754" />
-      <source>&amp;Icon Editor...</source>
-      <translation>图标编辑器(&amp;I)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2756" />
-      <source>Start the eric Icon Editor</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2758" />
-      <source>&lt;b&gt;Icon Editor&lt;/b&gt;&lt;p&gt;Starts the eric Icon Editor for editing simple icons.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2766" />
-      <source>Snapshot</source>
-      <translation>快照</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2768" />
-      <source>&amp;Snapshot...</source>
-      <translation>快照(&amp;S)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2770" />
-      <source>Take snapshots of a screen region</source>
-      <translation>截取屏幕区域的快照</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2772" />
-      <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="2781" />
-      <source>Preferences</source>
-      <translation>首选项</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2783" />
-      <source>&amp;Preferences...</source>
-      <translation>首选项(&amp;P)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2785" />
-      <source>Set the prefered configuration</source>
-      <translation>设定偏好配置</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2787" />
-      <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="2797" />
-      <source>Export Preferences</source>
-      <translation>导出首选项</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2799" />
-      <source>E&amp;xport Preferences...</source>
-      <translation>导出首选项(&amp;X)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2801" />
-      <source>Export the current configuration</source>
-      <translation>导出当前配置</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2803" />
-      <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="2811" />
-      <source>Import Preferences</source>
-      <translation>导入首选项</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2813" />
-      <source>I&amp;mport Preferences...</source>
-      <translation>导入首选项(&amp;M)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2815" />
-      <source>Import a previously exported configuration</source>
-      <translation>导入以前导出的配置</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2817" />
-      <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="2825" />
-      <source>Export Theme</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2827" />
-      <source>Export Theme...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2829" />
-      <source>Export the current theme</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2831" />
-      <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="2839" />
-      <source>Import Theme</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2841" />
-      <source>Import Theme...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2843" />
-      <source>Import a previously exported theme</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2845" />
-      <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="2853" />
-      <source>Reload APIs</source>
-      <translation>重新载入 API</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2854" />
-      <source>Reload &amp;APIs</source>
-      <translation>重新载入 &amp;API</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2856" />
-      <source>Reload the API information</source>
-      <translation>重新载入 API 信息</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2858" />
-      <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="2870" />
-      <location filename="../UI/UserInterface.py" line="2866" />
-      <source>Show external tools</source>
-      <translation>显示外部工具</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2868" />
-      <source>Show external &amp;tools</source>
-      <translation>显示外部工具(&amp;T)</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2872" />
-      <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="2882" />
-      <source>View Profiles</source>
-      <translation>视图模式</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2884" />
-      <source>&amp;View Profiles...</source>
-      <translation>视图模式(&amp;V)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2886" />
-      <source>Configure view profiles</source>
-      <translation>配置视图模式</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2888" />
-      <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="2899" />
-      <source>Toolbars</source>
-      <translation>工具栏</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2901" />
-      <source>Tool&amp;bars...</source>
-      <translation>工具栏(&amp;B)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2903" />
-      <source>Configure toolbars</source>
-      <translation>配置工具栏</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2904" />
-      <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="2914" />
-      <source>Keyboard Shortcuts</source>
-      <translation>键盘快捷键</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2916" />
-      <source>Keyboard &amp;Shortcuts...</source>
-      <translation>键盘快捷键(&amp;S)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2918" />
-      <source>Set the keyboard shortcuts</source>
-      <translation>设置键盘快捷键</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2920" />
-      <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="6773" />
-      <location filename="../UI/UserInterface.py" line="6755" />
-      <location filename="../UI/UserInterface.py" line="2929" />
-      <source>Export Keyboard Shortcuts</source>
-      <translation>导出键盘快捷键</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2931" />
-      <source>&amp;Export Keyboard Shortcuts...</source>
-      <translation>导出键盘快捷键(&amp;E)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2933" />
-      <source>Export the keyboard shortcuts</source>
-      <translation>导出键盘快捷键</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2935" />
-      <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="6790" />
-      <location filename="../UI/UserInterface.py" line="2943" />
-      <source>Import Keyboard Shortcuts</source>
-      <translation>导入键盘快捷键</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2945" />
-      <source>&amp;Import Keyboard Shortcuts...</source>
-      <translation>导入键盘快捷键(&amp;I)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2947" />
-      <source>Import the keyboard shortcuts</source>
-      <translation>导入键盘快捷键</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2949" />
-      <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="2958" />
-      <source>Manage SSL Certificates</source>
-      <translation>管理 SSL 证书</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2960" />
-      <source>Manage SSL Certificates...</source>
-      <translation>管理 SSL 证书…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2962" />
-      <source>Manage the saved SSL certificates</source>
-      <translation>管理保存的 SSL 证书</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2964" />
-      <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="2974" />
-      <source>Edit Message Filters</source>
-      <translation>编辑消息过滤器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2976" />
-      <source>Edit Message Filters...</source>
-      <translation>编辑消息过滤器…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2978" />
-      <source>Edit the message filters used to suppress unwanted messages</source>
-      <translation>编辑消息过滤器使得不期望的消息不显示</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2980" />
-      <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="2996" />
-      <location filename="../UI/UserInterface.py" line="2993" />
-      <location filename="../UI/UserInterface.py" line="2991" />
-      <source>Clear private data</source>
-      <translation type="unfinished">清空隐私数据</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="2998" />
-      <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="3009" />
-      <location filename="../UI/UserInterface.py" line="3008" />
-      <source>Activate current editor</source>
-      <translation>激活当前编辑器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3010" />
-      <source>Alt+Shift+E</source>
-      <translation>Alt+Shift+E</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3019" />
-      <location filename="../UI/UserInterface.py" line="3018" />
-      <source>Show next</source>
-      <translation>显示下一个</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3020" />
-      <source>Ctrl+Alt+Tab</source>
-      <translation>Ctrl+Alt+Tab</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3028" />
-      <location filename="../UI/UserInterface.py" line="3027" />
-      <source>Show previous</source>
-      <translation>显示上一个</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3029" />
-      <source>Shift+Ctrl+Alt+Tab</source>
-      <translation>Shift+Ctrl+Alt+Tab</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3037" />
-      <location filename="../UI/UserInterface.py" line="3036" />
-      <source>Switch between tabs</source>
-      <translation>在选项卡间切换</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3038" />
-      <source>Ctrl+1</source>
-      <translation>Ctrl+1</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3045" />
-      <source>Plugin Infos</source>
-      <translation>插件信息</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3047" />
-      <source>&amp;Plugin Infos...</source>
-      <translation>插件信息(&amp;P)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3048" />
-      <source>Show Plugin Infos</source>
-      <translation>显示插件信息</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3049" />
-      <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="3062" />
-      <location filename="../UI/UserInterface.py" line="3058" />
-      <source>Install Plugins</source>
-      <translation>安装插件</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3060" />
-      <source>&amp;Install Plugins...</source>
-      <translation>安装插件(&amp;I)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3063" />
-      <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="3075" />
-      <location filename="../UI/UserInterface.py" line="3071" />
-      <source>Uninstall Plugin</source>
-      <translation>卸载插件</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3073" />
-      <source>&amp;Uninstall Plugin...</source>
-      <translation>卸载插件(&amp;U)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3076" />
-      <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="3086" />
-      <source>Plugin &amp;Repository...</source>
-      <translation>插件储存库(&amp;R)…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3088" />
-      <source>Show Plugins available for download</source>
-      <translation>显示可以下载的插件</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3090" />
-      <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="3116" />
-      <location filename="../UI/UserInterface.py" line="3115" />
-      <source>Qt5 Documentation</source>
-      <translation>Qt5 文档</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3118" />
-      <source>Open Qt5 Documentation</source>
-      <translation>打开 Qt5 文档</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3119" />
-      <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="3131" />
-      <location filename="../UI/UserInterface.py" line="3130" />
-      <source>Qt6 Documentation</source>
-      <translation type="unfinished">Qt5 文档 {6 ?}</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3133" />
-      <source>Open Qt6 Documentation</source>
-      <translation type="unfinished">打开 Qt5 文档 {6 ?}</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3134" />
-      <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="3146" />
-      <location filename="../UI/UserInterface.py" line="3145" />
-      <source>PyQt5 Documentation</source>
-      <translation>PyQt5 文档</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3148" />
-      <source>Open PyQt5 Documentation</source>
-      <translation>打开 PyQt5 文档</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3150" />
-      <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="3163" />
-      <location filename="../UI/UserInterface.py" line="3162" />
-      <source>PyQt6 Documentation</source>
-      <translation type="unfinished">PyQt5 文档 {6 ?}</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3165" />
-      <source>Open PyQt6 Documentation</source>
-      <translation type="unfinished">打开 PyQt5 文档 {6 ?}</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3167" />
-      <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="3185" />
-      <location filename="../UI/UserInterface.py" line="3184" />
-      <source>Python 3 Documentation</source>
-      <translation>Python 3 文档</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3187" />
-      <source>Open Python 3 Documentation</source>
-      <translation>打开 Python 3 文档</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3189" />
-      <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="3207" />
-      <location filename="../UI/UserInterface.py" line="3206" />
-      <source>eric API Documentation</source>
-      <translation type="unfinished">eric API 文档</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3209" />
-      <source>Open eric API Documentation</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3211" />
-      <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="3228" />
-      <location filename="../UI/UserInterface.py" line="3227" />
-      <source>PySide2 Documentation</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3230" />
-      <source>Open PySide2 Documentation</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3232" />
-      <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="3248" />
-      <location filename="../UI/UserInterface.py" line="3247" />
-      <source>PySide6 Documentation</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3250" />
-      <source>Open PySide6 Documentation</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3252" />
-      <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="3354" />
-      <source>E&amp;xtras</source>
-      <translation>附加程序(&amp;X)</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3364" />
-      <source>Wi&amp;zards</source>
-      <translation>向导(&amp;Z)</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3383" />
-      <source>P&amp;lugins</source>
-      <translation>插件(&amp;L)</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3393" />
-      <source>Configure...</source>
-      <translation>配置…</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3402" />
-      <source>&amp;Unittest</source>
-      <translation>单元测试(&amp;U)</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3419" />
-      <source>Select Tool Group</source>
-      <translation>选择工具组</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3430" />
-      <source>Se&amp;ttings</source>
-      <translation>设置(&amp;T)</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3463" />
-      <source>&amp;Window</source>
-      <translation>窗口(&amp;W)</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3472" />
-      <source>&amp;Windows</source>
-      <translation>窗口(&amp;W)</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3477" />
-      <source>Central Park</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3481" />
-      <source>Left Side</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3500" />
-      <source>Right Side</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3524" />
-      <source>Bottom Side</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3532" />
-      <source>Plug-ins</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3539" />
-      <source>&amp;Toolbars</source>
-      <translation>工具栏(&amp;T)</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3552" />
-      <source>&amp;Help</source>
-      <translation>帮助(&amp;H)</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="3622" />
-      <location filename="../UI/UserInterface.py" line="3599" />
       <source>Tools</source>
       <translation>工具</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3624" />
-      <location filename="../UI/UserInterface.py" line="3603" />
-      <source>Settings</source>
-      <translation>设置</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="5617" />
       <location filename="../UI/UserInterface.py" line="3625" />
       <location filename="../UI/UserInterface.py" line="3604" />
+      <source>Settings</source>
+      <translation>设置</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="5616" />
+      <location filename="../UI/UserInterface.py" line="3626" />
+      <location filename="../UI/UserInterface.py" line="3605" />
       <source>Help</source>
       <translation>帮助</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="3626" />
-      <location filename="../UI/UserInterface.py" line="3605" />
-      <source>Profiles</source>
-      <translation>模式</translation>
-    </message>
-    <message>
       <location filename="../UI/UserInterface.py" line="3627" />
       <location filename="../UI/UserInterface.py" line="3606" />
+      <source>Profiles</source>
+      <translation>模式</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="3628" />
+      <location filename="../UI/UserInterface.py" line="3607" />
       <source>Plugins</source>
       <translation>插件</translation>
     </message>
     <message>
+      <location filename="../UI/UserInterface.py" line="3624" />
+      <source>Unittest</source>
+      <translation>单元测试</translation>
+    </message>
+    <message>
       <location filename="../UI/UserInterface.py" line="3791" />
       <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>
@@ -89033,6 +89451,18 @@
       <translation>全部隐藏(&amp;H)</translation>
     </message>
     <message>
+      <location filename="../UI/UserInterface.py" line="5744" />
+      <location filename="../UI/UserInterface.py" line="5734" />
+      <location filename="../UI/UserInterface.py" line="5687" />
+      <location filename="../UI/UserInterface.py" line="5678" />
+      <location filename="../UI/UserInterface.py" line="5517" />
+      <location filename="../UI/UserInterface.py" line="5508" />
+      <location filename="../UI/UserInterface.py" line="5447" />
+      <location filename="../UI/UserInterface.py" line="5438" />
+      <source>Problem</source>
+      <translation>问题</translation>
+    </message>
+    <message>
       <location filename="../UI/UserInterface.py" line="5745" />
       <location filename="../UI/UserInterface.py" line="5735" />
       <location filename="../UI/UserInterface.py" line="5688" />
@@ -89041,316 +89471,376 @@
       <location filename="../UI/UserInterface.py" line="5509" />
       <location filename="../UI/UserInterface.py" line="5448" />
       <location filename="../UI/UserInterface.py" line="5439" />
-      <source>Problem</source>
-      <translation>问题</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="5746" />
-      <location filename="../UI/UserInterface.py" line="5736" />
-      <location filename="../UI/UserInterface.py" line="5689" />
-      <location filename="../UI/UserInterface.py" line="5680" />
-      <location filename="../UI/UserInterface.py" line="5519" />
-      <location filename="../UI/UserInterface.py" line="5510" />
-      <location filename="../UI/UserInterface.py" line="5449" />
-      <location filename="../UI/UserInterface.py" line="5440" />
       <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="5953" />
-      <location filename="../UI/UserInterface.py" line="5866" />
-      <location filename="../UI/UserInterface.py" line="5781" />
-      <location filename="../UI/UserInterface.py" line="5758" />
-      <location filename="../UI/UserInterface.py" line="5701" />
-      <location filename="../UI/UserInterface.py" line="5651" />
-      <location filename="../UI/UserInterface.py" line="5631" />
-      <location filename="../UI/UserInterface.py" line="5593" />
-      <location filename="../UI/UserInterface.py" line="5584" />
-      <location filename="../UI/UserInterface.py" line="5549" />
-      <location filename="../UI/UserInterface.py" line="5540" />
-      <location filename="../UI/UserInterface.py" line="5479" />
-      <location filename="../UI/UserInterface.py" line="5470" />
+      <location filename="../UI/UserInterface.py" line="5952" />
+      <location filename="../UI/UserInterface.py" line="5865" />
+      <location filename="../UI/UserInterface.py" line="5780" />
+      <location filename="../UI/UserInterface.py" line="5757" />
+      <location filename="../UI/UserInterface.py" line="5700" />
+      <location filename="../UI/UserInterface.py" line="5650" />
+      <location filename="../UI/UserInterface.py" line="5630" />
+      <location filename="../UI/UserInterface.py" line="5592" />
+      <location filename="../UI/UserInterface.py" line="5583" />
+      <location filename="../UI/UserInterface.py" line="5548" />
+      <location filename="../UI/UserInterface.py" line="5539" />
+      <location filename="../UI/UserInterface.py" line="5478" />
+      <location filename="../UI/UserInterface.py" line="5469" />
       <source>Process Generation Error</source>
       <translation>进程生成错误</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5471" />
+      <location filename="../UI/UserInterface.py" line="5470" />
       <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="5480" />
+      <location filename="../UI/UserInterface.py" line="5479" />
       <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="5541" />
+      <location filename="../UI/UserInterface.py" line="5540" />
       <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="5550" />
+      <location filename="../UI/UserInterface.py" line="5549" />
       <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="5585" />
+      <location filename="../UI/UserInterface.py" line="5584" />
       <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="5594" />
+      <location filename="../UI/UserInterface.py" line="5593" />
       <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="5618" />
+      <location filename="../UI/UserInterface.py" line="5617" />
       <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="5632" />
+      <location filename="../UI/UserInterface.py" line="5631" />
       <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="5652" />
+      <location filename="../UI/UserInterface.py" line="5651" />
       <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="5702" />
+      <location filename="../UI/UserInterface.py" line="5701" />
       <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="5759" />
+      <location filename="../UI/UserInterface.py" line="5758" />
       <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="5782" />
+      <location filename="../UI/UserInterface.py" line="5781" />
       <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="5867" />
+      <location filename="../UI/UserInterface.py" line="5866" />
       <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="5897" />
+      <location filename="../UI/UserInterface.py" line="5888" />
+      <source>External Tools</source>
+      <translation>外部工具</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="5889" />
+      <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="5898" />
-      <location filename="../UI/UserInterface.py" line="5889" />
-      <source>External Tools</source>
-      <translation>外部工具</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="5890" />
-      <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="5899" />
       <source>No toolgroup entry '{0}' found.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5935" />
+      <location filename="../UI/UserInterface.py" line="5934" />
       <source>Starting process '{0} {1}'.
 </source>
       <translation>正在启动进程“{0} {1}”。
 </translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="5954" />
+      <location filename="../UI/UserInterface.py" line="5953" />
       <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="6029" />
+      <location filename="../UI/UserInterface.py" line="6028" />
       <source>Process '{0}' has exited.
 </source>
       <translation>进程“{0}”已退出。
 </translation>
     </message>
     <message>
+      <location filename="../UI/UserInterface.py" line="6300" />
+      <location filename="../UI/UserInterface.py" line="6242" />
+      <location filename="../UI/UserInterface.py" line="6201" />
+      <location filename="../UI/UserInterface.py" line="6133" />
+      <location filename="../UI/UserInterface.py" line="6071" />
+      <source>Documentation Missing</source>
+      <translation>文档缺失</translation>
+    </message>
+    <message>
       <location filename="../UI/UserInterface.py" line="6301" />
       <location filename="../UI/UserInterface.py" line="6243" />
       <location filename="../UI/UserInterface.py" line="6202" />
       <location filename="../UI/UserInterface.py" line="6134" />
       <location filename="../UI/UserInterface.py" line="6072" />
-      <source>Documentation Missing</source>
-      <translation>文档缺失</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="6302" />
-      <location filename="../UI/UserInterface.py" line="6244" />
-      <location filename="../UI/UserInterface.py" line="6203" />
-      <location filename="../UI/UserInterface.py" line="6135" />
-      <location filename="../UI/UserInterface.py" line="6073" />
       <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="6283" />
+      <location filename="../UI/UserInterface.py" line="6174" />
+      <source>Documentation</source>
+      <translation>文档</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="6175" />
+      <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="6284" />
-      <location filename="../UI/UserInterface.py" line="6175" />
-      <source>Documentation</source>
-      <translation>文档</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="6176" />
-      <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="6285" />
       <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="6462" />
+      <location filename="../UI/UserInterface.py" line="6398" />
+      <source>Start Web Browser</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="6399" />
+      <source>The eric web browser could not be started.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../UI/UserInterface.py" line="6463" />
-      <location filename="../UI/UserInterface.py" line="6399" />
-      <source>Start Web Browser</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="6400" />
-      <source>The eric web browser could not be started.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="6464" />
       <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="6505" />
+      <source>Open Browser</source>
+      <translation>打开浏览器</translation>
+    </message>
+    <message>
       <location filename="../UI/UserInterface.py" line="6506" />
-      <source>Open Browser</source>
-      <translation>打开浏览器</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="6507" />
       <source>Could not start a web browser</source>
       <translation>无法启动网络浏览器</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6757" />
+      <location filename="../UI/UserInterface.py" line="6756" />
       <source>Keyboard Shortcuts File (*.ekj)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6774" />
+      <location filename="../UI/UserInterface.py" line="6773" />
       <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="6792" />
+      <location filename="../UI/UserInterface.py" line="6791" />
       <source>Keyboard Shortcuts File (*.ekj);;XML Keyboard shortcut file (*.e4k)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6984" />
+      <location filename="../UI/UserInterface.py" line="6967" />
       <source>Read Tasks</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="6985" />
+      <location filename="../UI/UserInterface.py" line="6968" />
       <source>&lt;p&gt;The tasks 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="7032" />
+      <location filename="../UI/UserInterface.py" line="7015" />
       <source>Read Session</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../UI/UserInterface.py" line="7043" />
+      <location filename="../UI/UserInterface.py" line="7016" />
+      <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="7042" />
+      <source>Read session</source>
+      <translation>读取会话</translation>
+    </message>
+    <message>
+      <location filename="../UI/UserInterface.py" line="7058" />
+      <source>Save Session</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../UI/UserInterface.py" line="7060" />
-      <location filename="../UI/UserInterface.py" line="7033" />
-      <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="7059" />
-      <source>Read session</source>
-      <translation>读取会话</translation>
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="7075" />
-      <source>Save Session</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../UI/UserInterface.py" line="7077" />
       <source>eric Session Files (*.esj)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7099" />
+      <location filename="../UI/UserInterface.py" line="7082" />
       <source>eric Session Files (*.esj);;eric XML Session Files (*.e5s)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7147" />
+      <location filename="../UI/UserInterface.py" line="7130" />
       <source>Crash Session found!</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7148" />
+      <location filename="../UI/UserInterface.py" line="7131" />
       <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="7502" />
+      <location filename="../UI/UserInterface.py" line="7485" />
       <source>Drop Error</source>
       <translation>降落误差</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7503" />
+      <location filename="../UI/UserInterface.py" line="7486" />
       <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="7668" />
+      <location filename="../UI/UserInterface.py" line="7651" />
       <source>Upgrade available</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7669" />
+      <location filename="../UI/UserInterface.py" line="7652" />
       <source>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;.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7713" />
-      <location filename="../UI/UserInterface.py" line="7702" />
+      <location filename="../UI/UserInterface.py" line="7696" />
+      <location filename="../UI/UserInterface.py" line="7685" />
       <source>First time usage</source>
       <translation>第一次使用</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7703" />
+      <location filename="../UI/UserInterface.py" line="7686" />
       <source>eric7 has not been configured yet but an eric6 configuration was found. Shall this be imported?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7714" />
+      <location filename="../UI/UserInterface.py" line="7697" />
       <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="7734" />
+      <location filename="../UI/UserInterface.py" line="7717" />
       <source>Select Workspace Directory</source>
       <translation>选择工作区目录</translation>
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7911" />
+      <location filename="../UI/UserInterface.py" line="7894" />
       <source>Unsaved Data Detected</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../UI/UserInterface.py" line="7912" />
+      <location filename="../UI/UserInterface.py" line="7895" />
       <source>Some editors contain unsaved data. Shall these be saved?</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <source>&amp;Unittest...</source>
+      <translation type="vanished">单元测试(&amp;U)…</translation>
+    </message>
+    <message>
+      <source>Start unittest dialog</source>
+      <translation type="vanished">打开单元测试对话框</translation>
+    </message>
+    <message>
+      <source>&lt;b&gt;Unittest&lt;/b&gt;&lt;p&gt;Perform unit tests. The dialog gives you the ability to select and run a unittest suite.&lt;/p&gt;</source>
+      <translation type="vanished">&lt;b&gt;单元测试&lt;/b&gt;&lt;p&gt;执行单元测试。通过对话框可以选择和运行一个单元测试组件。&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <source>Unittest Restart</source>
+      <translation type="vanished">单元测试重启</translation>
+    </message>
+    <message>
+      <source>&amp;Restart Unittest...</source>
+      <translation type="vanished">重启单元测试(&amp;R)…</translation>
+    </message>
+    <message>
+      <source>Restart last unittest</source>
+      <translation type="vanished">重启最后的单元测试</translation>
+    </message>
+    <message>
+      <source>&lt;b&gt;Restart Unittest&lt;/b&gt;&lt;p&gt;Restart the unittest performed last.&lt;/p&gt;</source>
+      <translation type="vanished">&lt;b&gt;重启单元测试&lt;/b&gt;&lt;p&gt;重新启动最后执行的单元测试。&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <source>Unittest Rerun Failed</source>
+      <translation type="vanished">单元测试再次运行失败</translation>
+    </message>
+    <message>
+      <source>&lt;b&gt;Rerun Failed Tests&lt;/b&gt;&lt;p&gt;Rerun all tests that failed during the last unittest run.&lt;/p&gt;</source>
+      <translation type="vanished">&lt;b&gt;重新运行失败的测试&lt;/b&gt;&lt;p&gt;重新运行上一次单元测试中失败的所有测试。&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <source>Unittest Script</source>
+      <translation type="vanished">脚本单元测试</translation>
+    </message>
+    <message>
+      <source>Unittest &amp;Script...</source>
+      <translation type="vanished">脚本单元测试(&amp;S)…</translation>
+    </message>
+    <message>
+      <source>Run unittest with current script</source>
+      <translation type="vanished">对当前脚本运行单元测试</translation>
+    </message>
+    <message>
+      <source>&lt;b&gt;Unittest Script&lt;/b&gt;&lt;p&gt;Run unittest with current script.&lt;/p&gt;</source>
+      <translation type="vanished">&lt;b&gt;脚本单元测试&lt;/b&gt;&lt;p&gt;对当前脚本运动单元测试。&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <source>Unittest Project</source>
+      <translation type="vanished">项目单元测试</translation>
+    </message>
+    <message>
+      <source>Unittest &amp;Project...</source>
+      <translation type="vanished">项目单元测试(&amp;P)…</translation>
+    </message>
+    <message>
+      <source>Run unittest with current project</source>
+      <translation type="vanished">对当前项目运行单元测试</translation>
+    </message>
+    <message>
+      <source>&lt;b&gt;Unittest Project&lt;/b&gt;&lt;p&gt;Run unittest with current project.&lt;/p&gt;</source>
+      <translation type="vanished">&lt;b&gt;项目单元测试&lt;/b&gt;&lt;p&gt;对当前项目运行单元测试。&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <source>&amp;Unittest</source>
+      <translation type="vanished">单元测试(&amp;U)</translation>
+    </message>
+    <message>
       <source>&amp;Cancel</source>
       <translation type="vanished">取消(&amp;C)</translation>
     </message>
@@ -89691,7 +90181,7 @@
   <context>
     <name>Utilities</name>
     <message>
-      <location filename="../Utilities/__init__.py" line="1431" />
+      <location filename="../Utilities/__init__.py" line="1516" />
       <source>&lt;p&gt;You may use %-codes as placeholders in the string. Supported codes are:&lt;table&gt;&lt;tr&gt;&lt;td&gt;%C&lt;/td&gt;&lt;td&gt;column of the cursor of the current editor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%D&lt;/td&gt;&lt;td&gt;directory of the current editor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%F&lt;/td&gt;&lt;td&gt;filename of the current editor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%H&lt;/td&gt;&lt;td&gt;home directory of the current user&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%L&lt;/td&gt;&lt;td&gt;line of the cursor of the current editor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%P&lt;/td&gt;&lt;td&gt;path of the current project&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%S&lt;/td&gt;&lt;td&gt;selected text of the current editor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%U&lt;/td&gt;&lt;td&gt;username of the current user&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%%&lt;/td&gt;&lt;td&gt;the percent sign&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;</source>
       <translation>&lt;p&gt;可以在字符串中使用“%-代码”作为占位符。支持的代码有:&lt;table&gt;&lt;tr&gt;&lt;td&gt;%C&lt;/td&gt;&lt;td&gt;当前编辑器的光标所在列&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%D&lt;/td&gt;&lt;td&gt;当前编辑器的文件夹&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%F&lt;/td&gt;&lt;td&gt;当前编辑器的文件名&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%H&lt;/td&gt;&lt;td&gt;当前用户的根目录&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%L&lt;/td&gt;&lt;td&gt;当前编辑器的光标所在行&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%P&lt;/td&gt;&lt;td&gt;当前项目的路径&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%S&lt;/td&gt;&lt;td&gt;当前编辑器中选择的文本&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%U&lt;/td&gt;&lt;td&gt;当前用户的用户名&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%%&lt;/td&gt;&lt;td&gt;百分比符号&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;</translation>
     </message>

eric ide

mercurial