eric6/i18n/eric6_zh_CN.ts

branch
maintenance
changeset 7642
72721823d453
parent 7607
dd1054be15aa
parent 7635
0cdead130a81
child 7655
8f53d26009a2
--- a/eric6/i18n/eric6_zh_CN.ts	Sun May 31 17:26:46 2020 +0200
+++ b/eric6/i18n/eric6_zh_CN.ts	Sat Jul 04 11:45:34 2020 +0200
@@ -1132,72 +1132,72 @@
 <context>
     <name>AnnotationsChecker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="808"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="811"/>
         <source>missing type annotation for function argument &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="811"/>
-        <source>missing type annotation for &apos;*{0}&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="814"/>
+        <source>missing type annotation for &apos;*{0}&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="817"/>
         <source>missing type annotation for &apos;**{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="823"/>
-        <source>missing return type annotation for public function</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="826"/>
-        <source>missing return type annotation for protected function</source>
+        <source>missing return type annotation for public function</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="829"/>
-        <source>missing return type annotation for private function</source>
+        <source>missing return type annotation for protected function</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="832"/>
-        <source>missing return type annotation for special method</source>
+        <source>missing return type annotation for private function</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="835"/>
-        <source>missing return type annotation for staticmethod</source>
+        <source>missing return type annotation for special method</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="838"/>
+        <source>missing return type annotation for staticmethod</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="841"/>
         <source>missing return type annotation for classmethod</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="850"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="853"/>
         <source>{0}: {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="817"/>
-        <source>missing type annotation for &apos;self&apos; in method</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="820"/>
+        <source>missing type annotation for &apos;self&apos; in method</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="823"/>
         <source>missing type annotation for &apos;cls&apos; in classmethod</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="842"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="845"/>
         <source>type annotation coverage of {0}% is too low</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="846"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="849"/>
         <source>type annotation is too complex ({0} &gt; {1})</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1283,7 +1283,7 @@
         <translation>选择不打开任何文件</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="158"/>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="86"/>
         <source>None</source>
         <translation>无</translation>
     </message>
@@ -1507,6 +1507,11 @@
         <source>Fatal Error</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="158"/>
+        <source>Never</source>
+        <translation type="unfinished">从不</translation>
+    </message>
 </context>
 <context>
     <name>AuthenticationDialog</name>
@@ -1559,37 +1564,37 @@
 <context>
     <name>BackgroundService</name>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="131"/>
+        <location filename="../Utilities/BackgroundService.py" line="129"/>
         <source>{0} not configured.</source>
         <translation>{0} 未被配置。</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="184"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>Restart background client?</source>
         <translation>重启后台客户端?</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="210"/>
+        <location filename="../Utilities/BackgroundService.py" line="209"/>
         <source>An error in Erics background client stopped the service.</source>
         <translation>Eric 后台客户端的一个错误停止了服务。</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="423"/>
+        <location filename="../Utilities/BackgroundService.py" line="420"/>
         <source>Eric&apos;s background client disconnected because of an unknown reason.</source>
         <translation>Erics 后台客户端因未知原因断开连接。</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="429"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>Background client disconnected.</source>
         <translation>后台客户端已断开连接。</translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="184"/>
+        <location filename="../Utilities/BackgroundService.py" line="183"/>
         <source>&lt;p&gt;The background client for &lt;b&gt;{0}&lt;/b&gt; has stopped due to an exception. It&apos;s used by various plug-ins like the different checkers.&lt;/p&gt;&lt;p&gt;Select&lt;ul&gt;&lt;li&gt;&lt;b&gt;&apos;Yes&apos;&lt;/b&gt; to restart the client, but abort the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;Retry&apos;&lt;/b&gt; to restart the client and the last job&lt;/li&gt;&lt;li&gt;&lt;b&gt;&apos;No&apos;&lt;/b&gt; to leave the client off.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Note: The client can be restarted by opening and accepting the preferences dialog or reloading/changing the project.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Utilities/BackgroundService.py" line="429"/>
+        <location filename="../Utilities/BackgroundService.py" line="426"/>
         <source>The background client for &lt;b&gt;{0}&lt;/b&gt; disconnected because of an unknown reason.&lt;br&gt;Should it be restarted?</source>
         <translation>&lt;b&gt;{0}&lt;/b&gt; 的后台客户端因未知原因中断了连接。&lt;br&gt;是否对其重新启动?</translation>
     </message>
@@ -2009,32 +2014,32 @@
         <translation>正在保存书签</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksManager.py" line="397"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksManager.py" line="393"/>
         <source>Export Bookmarks</source>
         <translation>导出书签</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksManager.py" line="421"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksManager.py" line="417"/>
         <source>Exporting Bookmarks</source>
         <translation>正在导出书签</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksManager.py" line="537"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksManager.py" line="533"/>
         <source>Remove Bookmark</source>
         <translation>移除书签</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksManager.py" line="579"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksManager.py" line="575"/>
         <source>Insert Bookmark</source>
         <translation>插入书签</translation>
     </message>
     <message>
+        <location filename="../WebBrowser/Bookmarks/BookmarksManager.py" line="616"/>
+        <source>Name Change</source>
+        <translation>名称变更</translation>
+    </message>
+    <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksManager.py" line="620"/>
-        <source>Name Change</source>
-        <translation>名称变更</translation>
-    </message>
-    <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksManager.py" line="624"/>
         <source>Address Change</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2044,7 +2049,7 @@
         <translation>将书签保存至 &lt;b&gt;{0}&lt;/b&gt; 时出错。</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksManager.py" line="421"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksManager.py" line="417"/>
         <source>Error exporting bookmarks to &lt;b&gt;{0}&lt;/b&gt;.</source>
         <translation>将书签导出至 &lt;b&gt;{0}&lt;/b&gt; 时出错。</translation>
     </message>
@@ -2054,7 +2059,7 @@
         <translation type="obsolete">已转换 {0}</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Bookmarks/BookmarksManager.py" line="397"/>
+        <location filename="../WebBrowser/Bookmarks/BookmarksManager.py" line="393"/>
         <source>XBEL bookmarks (*.xbel);;XBEL bookmarks (*.xml);;HTML Bookmarks (*.html)</source>
         <translation>XBEL 书签 (*.xbel);;XBEL 书签 (*.xml);;HTML 书签 (*.html)</translation>
     </message>
@@ -2347,7 +2352,7 @@
         <translation type="obsolete">在该文件夹中查找和替换(&amp;R)</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="572"/>
+        <location filename="../UI/Browser.py" line="570"/>
         <source>New toplevel directory</source>
         <translation>新建顶层文件夹</translation>
     </message>
@@ -2382,22 +2387,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="503"/>
+        <location filename="../UI/Browser.py" line="501"/>
         <source>Show Mime-Type</source>
         <translation>显示 MIME 类型</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="476"/>
+        <location filename="../UI/Browser.py" line="474"/>
         <source>The mime type of the file could not be determined.</source>
         <translation>文件 MIME 类型无法确定。</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="494"/>
+        <location filename="../UI/Browser.py" line="492"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.</source>
         <translation type="unfinished">文件的 MIME 类型为 &lt;b&gt;{0}&lt;/b&gt;。</translation>
     </message>
     <message>
-        <location filename="../UI/Browser.py" line="503"/>
+        <location filename="../UI/Browser.py" line="501"/>
         <source>The file has the mime type &lt;b&gt;{0}&lt;/b&gt;.&lt;br/&gt; Shall it be added to the list of text mime types?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2836,6 +2841,49 @@
     </message>
 </context>
 <context>
+    <name>CheckerCategories</name>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="63"/>
+        <source>Annotations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="66"/>
+        <source>Code Complexity</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="69"/>
+        <source>Documentation</source>
+        <translation type="unfinished">文档</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="72"/>
+        <source>Errors</source>
+        <translation type="unfinished">错误</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="75"/>
+        <source>Miscellaneous</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="78"/>
+        <source>Naming</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="84"/>
+        <source>Warnings</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="81"/>
+        <source>Security</source>
+        <translation type="unfinished">安全</translation>
+    </message>
+</context>
+<context>
     <name>ChromeImporter</name>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksImporters/ChromeImporter.py" line="43"/>
@@ -3370,6 +3418,14 @@
     </message>
 </context>
 <context>
+    <name>CodeStyleChecker</name>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="1133"/>
+        <source>No message defined for code &apos;{0}&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>CodeStyleCheckerDialog</name>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="14"/>
@@ -3384,137 +3440,127 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="48"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="68"/>
         <source>Exclude Files:</source>
         <translation type="unfinished">排除文件:</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="55"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="75"/>
         <source>Enter filename patterns of files to be excluded separated by a comma</source>
         <translation type="unfinished">输入要排除文件的文件名样式,用逗号分隔</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="828"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1090"/>
         <source>Press to start the code style check run</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="985"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1321"/>
         <source>Press to fix the selected issues</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="851"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1113"/>
         <source>Press to load the default values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="861"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1123"/>
         <source>Press to store the current values as defaults</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="871"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1133"/>
         <source>Press to reset the default values</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="62"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="82"/>
         <source>Exclude Messages:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="69"/>
-        <source>Enter message codes or categories to be excluded separated by a comma</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="139"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="159"/>
         <source>Press to select the message codes from a list</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="83"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="103"/>
         <source>Included Messages:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="90"/>
-        <source>Enter message codes or categories to be included separated by a comma</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="104"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="124"/>
         <source>Fix Issues:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="111"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="131"/>
         <source>Enter message codes of issues to be fixed automatically (leave empty to fix all)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="125"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="145"/>
         <source>Don&apos;t Fix Issues:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="132"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="152"/>
         <source>Enter message codes of issues not to be fixed automatically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="263"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="283"/>
         <source>Max. Line Length:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="296"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="316"/>
         <source>Enter the maximum allowed line length (PEP-8: 79 characters)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="423"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="443"/>
         <source>Docstring Type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="430"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="450"/>
         <source>Select the rule set for docstrings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="404"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="424"/>
         <source>Select to allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="407"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="427"/>
         <source>Allow hanging closing brackets</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="148"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="168"/>
         <source>Select to repeat each message type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="151"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="171"/>
         <source>Repeat messages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="161"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="181"/>
         <source>Select to fix some issues</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="164"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="184"/>
         <source>Fix issues automatically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="898"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1263"/>
         <source>&lt;b&gt;Result List&lt;/b&gt;
 &lt;p&gt;This list shows the results of the code style check. Double clicking
 an entry will open this entry in an editor window and position the cursor at
@@ -3522,107 +3568,107 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="914"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1279"/>
         <source>File/Line</source>
         <translation type="unfinished">文件/行</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="919"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1284"/>
         <source>Code</source>
         <translation type="unfinished">代码</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="924"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1289"/>
         <source>Message</source>
         <translation type="unfinished">消息</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="81"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="122"/>
         <source>PEP-257</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="82"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="123"/>
         <source>Eric</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="89"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1354"/>
         <source>Statistics...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1351"/>
         <source>Press to show some statistics for the last run</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="94"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1344"/>
         <source>Show</source>
         <translation type="unfinished">显示</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="96"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1341"/>
         <source>Press to show all files containing an issue</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="647"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="238"/>
         <source>Error: {0}</source>
         <translation type="unfinished">错误:{0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginCodeStyleChecker.py" line="244"/>
+        <location filename="../Plugins/PluginCodeStyleChecker.py" line="224"/>
         <source>Fix: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="789"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1016"/>
         <source>No issues found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="945"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1189"/>
         <source>Shows the progress of the code style check</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="954"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1198"/>
         <source>%v/%m Files</source>
         <translation type="unfinished">%v/%m 文件</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="174"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="194"/>
         <source>Select to show ignored issues</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="177"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="197"/>
         <source>Show ignored</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="740"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="942"/>
         <source>{0} (ignored)</source>
         <translation type="unfinished">{0}(已忽略)</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="632"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="835"/>
         <source>Preparing files...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="678"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="698"/>
         <source>Enter the maximum allowed code complexity (McCabe: 10)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="159"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="211"/>
         <source>Errors</source>
         <translation type="unfinished">错误</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="674"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="874"/>
         <source>Transferring data...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3632,232 +3678,232 @@
         <translation type="unfinished">全局选项</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="213"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="233"/>
         <source>Specific Options</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="255"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="275"/>
         <source>Source Style</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="417"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="437"/>
         <source>Documentation Style</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="453"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="473"/>
         <source>Coding Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="459"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="479"/>
         <source>Valid Encodings:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="466"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="486"/>
         <source>Enter valid encodings separated by a comma (leave empty to use defaults)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="476"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="496"/>
         <source>Copyright</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="482"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="502"/>
         <source>Min. File Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="489"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="509"/>
         <source>Enter the minimum size a file must have to be checked (0 for all files)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="515"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="535"/>
         <source>Author:</source>
         <translation type="unfinished">作者:</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="522"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="542"/>
         <source>Enter a copyright author name to check for (leave empty to omit this check)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="532"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="552"/>
         <source>Future Imports</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="538"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="558"/>
         <source>Expected Imports:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="652"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="672"/>
         <source>Code Complexity</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="831"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1093"/>
         <source>&amp;Start</source>
         <translation type="unfinished">开始(&amp;S)</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="988"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1324"/>
         <source>&amp;Fix Selected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="854"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1116"/>
         <source>&amp;Load Defaults</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="864"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1126"/>
         <source>St&amp;ore Defaults</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="874"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1136"/>
         <source>&amp;Reset Defaults</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="792"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1019"/>
         <source>No files found (check your ignore list).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="564"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="584"/>
         <source>Ignore Built-ins Assignment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="580"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="600"/>
         <source>Left</source>
         <translation type="unfinished">Left</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="585"/>
-        <source>Right</source>
-        <translation type="unfinished">Right</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="595"/>
-        <source>Press to add a built-in assignment to be ignored</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="605"/>
+        <source>Right</source>
+        <translation type="unfinished">Right</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="615"/>
+        <source>Press to add a built-in assignment to be ignored</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="625"/>
         <source>Press to delete the selected entries</source>
         <translation type="unfinished">点击删除选中的条目</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="671"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="691"/>
         <source>Max. McCabe Complexity:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="694"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="714"/>
         <source>Max. Line Complexity:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="701"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="721"/>
         <source>Enter the maximum complexity (number of nodes) for a line of code</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="717"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="737"/>
         <source>Max. Line Complexity Score:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="724"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="744"/>
         <source>Enter the maximum allowed median for line complexity</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="330"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="350"/>
         <source>Blank Lines Before</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="336"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="356"/>
         <source>Top Level Classes and Functions:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="343"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="363"/>
         <source>Enter the number of blank lines before top level classes and functions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="375"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="395"/>
         <source>Methods and Nested Classes and Functions:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="382"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="402"/>
         <source>Enter the number of blank lines before methods and nested classes or functions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="289"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="309"/>
         <source>Max. Documentation Line Length:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="633"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="653"/>
         <source>Commented Code</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="639"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="659"/>
         <source>Select to search for commented code more aggressively. This may increase the number of false positives.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="642"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="662"/>
         <source>Search aggressively</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="743"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="763"/>
         <source>Type Annotations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="749"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="769"/>
         <source>Min. Coverage:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="756"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="776"/>
         <source>Enter the minimum percentage of type annotations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="759"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="779"/>
         <source>off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="762"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="782"/>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="785"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="805"/>
         <source>Max. Complexity:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="792"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="812"/>
         <source>Enter the maximum type annotation complexity</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3867,50 +3913,190 @@
         <translation type="unfinished">配置</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="884"/>
-        <source>Run</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="975"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1311"/>
         <source>Press to restart the code style check run</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="978"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1314"/>
         <source>Restart</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="48"/>
+        <source>Categories:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="58"/>
+        <source>Select the categories of checks to be performed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="89"/>
+        <source>Enter message codes to be excluded separated by a comma</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="110"/>
+        <source>Enter message codes to be included separated by a comma</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="833"/>
+        <source>Security Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="839"/>
+        <source>Hardcoded &apos;tmp&apos; Directories:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="849"/>
+        <source>Weak Cryptographic Keys</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="855"/>
+        <source>DSA</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="973"/>
+        <source>High Risk:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="868"/>
+        <source>Select the bit length below which a DSA key is to be considered very weak</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="990"/>
+        <source>Medium Risk:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="885"/>
+        <source>Select the bit length below which a DSA key is to be considered weak</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="911"/>
+        <source>RSA</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="924"/>
+        <source>Select the bit length below which a RSA key is to be considered very weak</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="941"/>
+        <source>Select the bit length below which a RSA key is to be considered weak</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="967"/>
+        <source>Elliptic Curves</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="980"/>
+        <source>Select the bit length below which an Elliptic Curve is to be considered very weak</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="997"/>
+        <source>Select the bit length below which an Elliptic Curve is to be considered weak</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1026"/>
+        <source>Enter the names of insecure SSL protocols and methods (one per line)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1033"/>
+        <source>Insecure SSL Protocols:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1043"/>
+        <source>Insecure Hashes:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1050"/>
+        <source>Enter a list of hash methods to be considered insecure separated by comma</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1057"/>
+        <source>Select to also check for insecure exception handling for typed exceptions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1060"/>
+        <source>Check Typed Exceptions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1067"/>
+        <source>Enter directory names (one per line) to be checked for</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1250"/>
+        <source>&lt;b&gt;Note:&lt;/b&gt; Mark reviewed security issues with a &quot;&lt;b&gt;#  secok&lt;/b&gt;&quot; comment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1146"/>
+        <source>Progress</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1154"/>
+        <source>Shows the list of files still to be checked</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1219"/>
+        <source>Cancel</source>
+        <translation type="unfinished">取消</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1242"/>
+        <source>Results</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>CodeStyleCheckerPlugin</name>
     <message>
-        <location filename="../Plugins/PluginCodeStyleChecker.py" line="356"/>
+        <location filename="../Plugins/PluginCodeStyleChecker.py" line="336"/>
         <source>Check Code Style</source>
         <translation type="unfinished">检查代码格式</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginCodeStyleChecker.py" line="356"/>
+        <location filename="../Plugins/PluginCodeStyleChecker.py" line="336"/>
         <source>&amp;Code Style...</source>
         <translation type="unfinished">代码格式(&amp;C)…</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginCodeStyleChecker.py" line="262"/>
+        <location filename="../Plugins/PluginCodeStyleChecker.py" line="242"/>
         <source>Check code style.</source>
         <translation type="unfinished">检查代码格式。</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginCodeStyleChecker.py" line="360"/>
+        <location filename="../Plugins/PluginCodeStyleChecker.py" line="340"/>
         <source>&lt;b&gt;Check Code Style...&lt;/b&gt;&lt;p&gt;This checks Python files for compliance to the code style conventions given in various PEPs.&lt;/p&gt;</source>
         <translation>&lt;b&gt;检查代码格式…&lt;/b&gt;本插件对 Python 源文件进行检查,确保其符合各个 PEP 所规定的代码格式惯例。&lt;/[&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginCodeStyleChecker.py" line="110"/>
-        <source>Python 2 batch check</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/PluginCodeStyleChecker.py" line="126"/>
+        <location filename="../Plugins/PluginCodeStyleChecker.py" line="107"/>
         <source>Python 3 batch check</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3946,229 +4132,224 @@
 <context>
     <name>CodeStyleFixer</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="857"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="861"/>
         <source>Triple single quotes converted to triple double quotes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="860"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="864"/>
         <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="863"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="867"/>
         <source>Single line docstring put on one line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="866"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="870"/>
         <source>Period added to summary line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="893"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="897"/>
         <source>Blank line before function/method docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="872"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="876"/>
         <source>Blank line inserted before class docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="875"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="879"/>
         <source>Blank line inserted after class docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="878"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="882"/>
         <source>Blank line inserted after docstring summary.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="881"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="885"/>
         <source>Blank line inserted after last paragraph of docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="884"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="888"/>
         <source>Leading quotes put on separate line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="887"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="891"/>
         <source>Trailing quotes put on separate line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="890"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="894"/>
         <source>Blank line before class docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="896"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="900"/>
         <source>Blank line after class docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="899"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="903"/>
         <source>Blank line after function/method docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="902"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="906"/>
         <source>Blank line after last paragraph removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="905"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="909"/>
         <source>Tab converted to 4 spaces.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="908"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="912"/>
         <source>Indentation adjusted to be a multiple of four.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="911"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="915"/>
         <source>Indentation of continuation line corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="914"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="918"/>
         <source>Indentation of closing bracket corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="917"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="921"/>
         <source>Missing indentation of continuation line corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="920"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="924"/>
         <source>Closing bracket aligned to opening bracket.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="923"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="927"/>
         <source>Indentation level changed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="926"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="930"/>
         <source>Indentation level of hanging indentation changed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="929"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="933"/>
         <source>Visual indentation corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="944"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="948"/>
         <source>Extraneous whitespace removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="941"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="945"/>
         <source>Missing whitespace added.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="947"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="951"/>
         <source>Whitespace around comment sign corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="951"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="955"/>
         <source>%n blank line(s) inserted.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="954"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="958"/>
         <source>%n superfluous lines removed</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="958"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="962"/>
         <source>Superfluous blank lines removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="961"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="965"/>
         <source>Superfluous blank lines after function decorator removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="964"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="968"/>
         <source>Imports were put on separate lines.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="967"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="971"/>
         <source>Long lines have been shortened.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="970"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="974"/>
         <source>Redundant backslash in brackets removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="976"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="980"/>
         <source>Compound statement corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="979"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="983"/>
         <source>Comparison to None/True/False corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="982"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="986"/>
         <source>&apos;{0}&apos; argument added.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="985"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="989"/>
         <source>&apos;{0}&apos; argument removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="988"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="992"/>
         <source>Whitespace stripped from end of line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="991"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="995"/>
         <source>newline added to end of file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="994"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="998"/>
         <source>Superfluous trailing blank lines removed from end of file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="997"/>
-        <source>&apos;&lt;&gt;&apos; replaced by &apos;!=&apos;.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="1001"/>
+        <source>&apos;&lt;&gt;&apos; replaced by &apos;!=&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="1005"/>
         <source>Could not save the file! Skipping it. Reason: {0}</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="1107"/>
-        <source> no message defined for code &apos;{0}&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>CodeStyleStatisticsDialog</name>
@@ -4193,40 +4374,47 @@
         <translation type="unfinished">消息</translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py" line="60"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py" line="63"/>
         <source>%n issue(s) found</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py" line="64"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py" line="67"/>
         <source>%n issue(s) fixed</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py" line="66"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py" line="69"/>
         <source>%n file(s) checked</source>
         <translation>
             <numerusform>%n 文件已检查</numerusform>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py" line="68"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py" line="71"/>
         <source>%n file(s) with issues found</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py" line="62"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py" line="65"/>
         <source>%n issue(s) ignored</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
+    <message numerus="yes">
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py" line="73"/>
+        <source>%n security issue(s) acknowledged</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>CodingError</name>
@@ -4648,22 +4836,22 @@
 <context>
     <name>ComplexityChecker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="479"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="482"/>
         <source>&apos;{0}&apos; is too complex ({1})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="481"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="484"/>
         <source>source code line is too complex ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="483"/>
-        <source>overall source code line complexity is too high ({0})</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="486"/>
+        <source>overall source code line complexity is too high ({0})</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="489"/>
         <source>{0}: {1}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5462,343 +5650,343 @@
 <context>
     <name>ConfigurationWidget</name>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="143"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="135"/>
         <source>Application</source>
         <translation>应用程序</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="152"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="144"/>
         <source>CORBA</source>
         <translation>CORBA</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="158"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="150"/>
         <source>Email</source>
         <translation>电子邮件</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="161"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="153"/>
         <source>Graphics</source>
         <translation>图形</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="167"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="159"/>
         <source>Icons</source>
         <translation>图标</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="391"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="380"/>
         <source>Network</source>
         <translation>网络</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="192"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="184"/>
         <source>Plugin Manager</source>
         <translation>插件管理器</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="394"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="383"/>
         <source>Printer</source>
         <translation>打印机</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="202"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="194"/>
         <source>Python</source>
         <translation>Python</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="205"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="197"/>
         <source>Qt</source>
         <translation>Qt</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="211"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="203"/>
         <source>Shell</source>
         <translation>命令行</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="214"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="206"/>
         <source>Tasks</source>
         <translation>任务</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="217"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="209"/>
         <source>Templates</source>
         <translation>模板</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="223"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="215"/>
         <source>Version Control Systems</source>
         <translation>版本控制系统</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="228"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="220"/>
         <source>Debugger</source>
         <translation>调试器</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="264"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="253"/>
         <source>General</source>
         <translation>通用配置</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="241"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="230"/>
         <source>Editor</source>
         <translation>编辑器</translation>
     </message>
     <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="233"/>
+        <source>APIs</source>
+        <translation>API</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="236"/>
+        <source>Autocompletion</source>
+        <translation>自动完成</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="247"/>
+        <source>QScintilla</source>
+        <translation>QScintilla</translation>
+    </message>
+    <message>
         <location filename="../Preferences/ConfigurationDialog.py" line="244"/>
-        <source>APIs</source>
-        <translation>API</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="247"/>
-        <source>Autocompletion</source>
-        <translation>自动完成</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="258"/>
-        <source>QScintilla</source>
-        <translation>QScintilla</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="255"/>
         <source>Calltips</source>
         <translation>调用提示</translation>
     </message>
     <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="256"/>
+        <source>Filehandling</source>
+        <translation>文件处理</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="260"/>
+        <source>Searching</source>
+        <translation>查找</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="410"/>
+        <source>Spell checking</source>
+        <translation>拼写检查</translation>
+    </message>
+    <message>
         <location filename="../Preferences/ConfigurationDialog.py" line="267"/>
-        <source>Filehandling</source>
-        <translation>文件处理</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="271"/>
-        <source>Searching</source>
-        <translation>查找</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="421"/>
-        <source>Spell checking</source>
-        <translation>拼写检查</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="278"/>
         <source>Style</source>
         <translation>风格</translation>
     </message>
     <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="273"/>
+        <source>Typing</source>
+        <translation>键盘输入</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="276"/>
+        <source>Exporters</source>
+        <translation>输出器</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="280"/>
+        <source>Highlighters</source>
+        <translation>高亮功能</translation>
+    </message>
+    <message>
         <location filename="../Preferences/ConfigurationDialog.py" line="284"/>
-        <source>Typing</source>
-        <translation>键盘输入</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="287"/>
-        <source>Exporters</source>
-        <translation>输出器</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="291"/>
-        <source>Highlighters</source>
-        <translation>高亮功能</translation>
+        <source>Filetype Associations</source>
+        <translation>文件类型关联</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="288"/>
+        <source>Styles</source>
+        <translation>风格</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationDialog.py" line="295"/>
-        <source>Filetype Associations</source>
-        <translation>文件类型关联</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="299"/>
-        <source>Styles</source>
-        <translation>风格</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="306"/>
         <source>Properties</source>
         <translation>属性</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="315"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="304"/>
         <source>Help</source>
         <translation>帮助</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="401"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="390"/>
         <source>Help Documentation</source>
         <translation>帮助文档</translation>
     </message>
     <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="311"/>
+        <source>Help Viewers</source>
+        <translation>帮助浏览器</translation>
+    </message>
+    <message>
         <location filename="../Preferences/ConfigurationDialog.py" line="322"/>
-        <source>Help Viewers</source>
-        <translation>帮助浏览器</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="333"/>
         <source>Project</source>
         <translation>项目</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="330"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="319"/>
         <source>Project Viewer</source>
         <translation>项目浏览器</translation>
     </message>
     <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="325"/>
+        <source>Multiproject</source>
+        <translation>多重项目</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="377"/>
+        <source>Interface</source>
+        <translation>界面</translation>
+    </message>
+    <message>
         <location filename="../Preferences/ConfigurationDialog.py" line="336"/>
-        <source>Multiproject</source>
-        <translation>多重项目</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="388"/>
-        <source>Interface</source>
-        <translation>界面</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="347"/>
         <source>Viewmanager</source>
         <translation>视图管理器</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="406"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="395"/>
         <source>Appearance</source>
         <translation>外观</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="589"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="578"/>
         <source>Preferences</source>
         <translation>首选项</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="594"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="583"/>
         <source>Please select an entry of the list 
 to display the configuration page.</source>
         <translation>请在左边选择一个列表项以显示配置页面。</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="671"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="660"/>
         <source>Configuration Page Error</source>
         <translation>配置页面错误</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="237"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="226"/>
         <source>Python3</source>
         <translation>Python3</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="671"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="660"/>
         <source>&lt;p&gt;The configuration page &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
         <translation>&lt;p&gt;配置页面 &lt;b&gt;{0}&lt;/b&gt; 无法载入。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="303"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="292"/>
         <source>Keywords</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="149"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="141"/>
         <source>Cooperation</source>
         <translation>协作</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="435"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="424"/>
         <source>Tray Starter</source>
         <translation>托盘启动器</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="417"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="406"/>
         <source>VirusTotal Interface</source>
         <translation>VirusTotal 界面</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="397"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="386"/>
         <source>Security</source>
         <translation>安全</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="185"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="177"/>
         <source>Notifications</source>
         <translation>通知</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="170"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="162"/>
         <source>IRC</source>
         <translation>IRC</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="281"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="270"/>
         <source>Code Checkers</source>
         <translation>代码检查器</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="409"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="398"/>
         <source>eric6 Web Browser</source>
         <translation>eric6 网页浏览器</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="173"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="165"/>
         <source>Log-Viewer</source>
         <translation>日志浏览器</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="179"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="171"/>
         <source>Mimetypes</source>
         <translation>MIME 类型</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="525"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="514"/>
         <source>Enter search text...</source>
         <translation>输入搜索内容…</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="310"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="299"/>
         <source>Mouse Click Handlers</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="413"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="402"/>
         <source>Flash Cookie Manager</source>
         <translation>Flash Cookie 管理器</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="448"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="437"/>
         <source>Hex Editor</source>
         <translation type="unfinished">十六进制编辑器</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="351"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="340"/>
         <source>Web Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="155"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="147"/>
         <source>Diff</source>
         <translation type="unfinished">差异</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="261"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="250"/>
         <source>Documentation Viewer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="199"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="191"/>
         <source>Protobuf</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="234"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="226"/>
         <source>Python2</source>
-        <translation type="unfinished">Python2</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="146"/>
+        <translation type="obsolete">Python2</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationDialog.py" line="138"/>
         <source>Conda</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="189"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="181"/>
         <source>Python Package Management</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="176"/>
+        <location filename="../Preferences/ConfigurationDialog.py" line="168"/>
         <source>MicroPython</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6442,7 +6630,7 @@
         <translation>uic 错误</translation>
     </message>
     <message>
-        <location filename="../Project/CreateDialogCodeDialog.py" line="580"/>
+        <location filename="../Project/CreateDialogCodeDialog.py" line="561"/>
         <source>Code Generation</source>
         <translation>代码生成</translation>
     </message>
@@ -6457,17 +6645,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/CreateDialogCodeDialog.py" line="440"/>
+        <location filename="../Project/CreateDialogCodeDialog.py" line="429"/>
         <source>&lt;p&gt;Could not open the code template file &quot;{0}&quot;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/CreateDialogCodeDialog.py" line="478"/>
+        <location filename="../Project/CreateDialogCodeDialog.py" line="467"/>
         <source>&lt;p&gt;Could not open the source file &quot;{0}&quot;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/CreateDialogCodeDialog.py" line="580"/>
+        <location filename="../Project/CreateDialogCodeDialog.py" line="561"/>
         <source>&lt;p&gt;Could not write the source file &quot;{0}&quot;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6476,6 +6664,16 @@
         <source>&lt;p&gt;The project specific Python interpreter &lt;b&gt;{0}&lt;/b&gt; could not be started or did not finish within 30 seconds.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Project/CreateDialogCodeDialog.py" line="389"/>
+        <source>&lt;p&gt;Code generation for project language &quot;{0}&quot; is not supported.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/CreateDialogCodeDialog.py" line="417"/>
+        <source>&lt;p&gt;No code template file available for project type &quot;{0}&quot;.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Crypto</name>
@@ -6503,24 +6701,24 @@
 <context>
     <name>DebugServer</name>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="184"/>
+        <location filename="../Debugger/DebugServer.py" line="183"/>
         <source>created</source>
         <comment>must be same as in EditWatchpointDialog</comment>
         <translation>创建</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="186"/>
+        <location filename="../Debugger/DebugServer.py" line="185"/>
         <source>changed</source>
         <comment>must be same as in EditWatchpointDialog</comment>
         <translation>改变</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="783"/>
+        <location filename="../Debugger/DebugServer.py" line="774"/>
         <source>Connection from illegal host</source>
         <translation>连接非法主机</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1578"/>
+        <location filename="../Debugger/DebugServer.py" line="1569"/>
         <source>
 Not connected
 </source>
@@ -6529,39 +6727,39 @@
 </translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="783"/>
+        <location filename="../Debugger/DebugServer.py" line="774"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1791"/>
+        <location filename="../Debugger/DebugServer.py" line="1782"/>
         <source>Passive debug connection received
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1805"/>
+        <location filename="../Debugger/DebugServer.py" line="1796"/>
         <source>Passive debug connection closed
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="330"/>
+        <location filename="../Debugger/DebugServer.py" line="321"/>
         <source>Register Debugger Interface</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="330"/>
+        <location filename="../Debugger/DebugServer.py" line="321"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1394"/>
+        <location filename="../Debugger/DebugServer.py" line="1385"/>
         <source>Start Debugger</source>
         <translation type="unfinished">启动调试器</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugServer.py" line="1394"/>
+        <location filename="../Debugger/DebugServer.py" line="1385"/>
         <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"></translation>
     </message>
@@ -6569,7 +6767,7 @@
 <context>
     <name>DebugUI</name>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1838"/>
+        <location filename="../Debugger/DebugUI.py" line="1836"/>
         <source>Run Script</source>
         <translation>运行脚本</translation>
     </message>
@@ -6589,7 +6787,7 @@
         <translation>&lt;b&gt;运行脚本&lt;/b&gt;&lt;p&gt;设置命令行参数,并在调试器之外运行脚本。如果文件未对更改进行保存,则可能会先行保存。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1853"/>
+        <location filename="../Debugger/DebugUI.py" line="1851"/>
         <source>Run Project</source>
         <translation>运行项目</translation>
     </message>
@@ -6689,7 +6887,7 @@
         <translation>&lt;b&gt;剖析项目&lt;/b&gt;&lt;p&gt;设置命令行参数,并剖析当前项目。如果当前项目的文件未保存则会先行保存。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1977"/>
+        <location filename="../Debugger/DebugUI.py" line="1975"/>
         <source>Debug Script</source>
         <translation>调试脚本</translation>
     </message>
@@ -6709,7 +6907,7 @@
         <translation>&lt;b&gt;调试脚本&lt;/b&gt;&lt;p&gt;设置命令行参数,并将当前行设为当前编辑窗口首先执行的 Python 声明。如果文件未保存则会先行保存。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1993"/>
+        <location filename="../Debugger/DebugUI.py" line="1991"/>
         <source>Debug Project</source>
         <translation>调试项目</translation>
     </message>
@@ -7017,62 +7215,62 @@
         <translation>调试</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1102"/>
+        <location filename="../Debugger/DebugUI.py" line="1100"/>
         <source>The program being debugged contains an unspecified syntax error.</source>
         <translation>被调试的程序包含一个未指定的语法错误。</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1139"/>
+        <location filename="../Debugger/DebugUI.py" line="1137"/>
         <source>An unhandled exception occured. See the shell window for details.</source>
         <translation>产生了一个未处理的异常。详细信息参见命令行窗口。</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1268"/>
+        <location filename="../Debugger/DebugUI.py" line="1266"/>
         <source>The program being debugged has terminated unexpectedly.</source>
         <translation>被调试的程序意外终止。</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1339"/>
+        <location filename="../Debugger/DebugUI.py" line="1337"/>
         <source>Breakpoint Condition Error</source>
         <translation>断点条件错误</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1375"/>
+        <location filename="../Debugger/DebugUI.py" line="1373"/>
         <source>Watch Expression Error</source>
         <translation>监视表达式出错</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1415"/>
+        <location filename="../Debugger/DebugUI.py" line="1413"/>
         <source>Watch expression already exists</source>
         <translation>监视表达式已存在</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1581"/>
+        <location filename="../Debugger/DebugUI.py" line="1579"/>
         <source>Coverage of Project</source>
         <translation>项目覆盖率</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1568"/>
+        <location filename="../Debugger/DebugUI.py" line="1566"/>
         <source>Coverage of Script</source>
         <translation>脚本覆盖率</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1853"/>
+        <location filename="../Debugger/DebugUI.py" line="1851"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation>当前项目未定义主脚本。终止</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1716"/>
+        <location filename="../Debugger/DebugUI.py" line="1714"/>
         <source>Profile of Project</source>
         <translation>项目轮廓</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1703"/>
+        <location filename="../Debugger/DebugUI.py" line="1701"/>
         <source>Profile of Script</source>
         <translation>脚本轮廓</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1993"/>
+        <location filename="../Debugger/DebugUI.py" line="1991"/>
         <source>There is no main script defined for the current project. No debugging possible.</source>
         <translation>当前项目未定义主脚本。不能进行调试。</translation>
     </message>
@@ -7089,42 +7287,42 @@
         <translation>Shift+F12</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1121"/>
+        <location filename="../Debugger/DebugUI.py" line="1119"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; contains the syntax error &lt;b&gt;{1}&lt;/b&gt; at line &lt;b&gt;{2}&lt;/b&gt;, character &lt;b&gt;{3}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1189"/>
+        <location filename="../Debugger/DebugUI.py" line="1187"/>
         <source>&lt;p&gt;The debugged program raised the exception &lt;b&gt;{0}&lt;/b&gt;&lt;br&gt;&quot;&lt;b&gt;{1}&lt;/b&gt;&quot;&lt;br&gt;File: &lt;b&gt;{2}&lt;/b&gt;, Line: &lt;b&gt;{3}&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Break here?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1204"/>
+        <location filename="../Debugger/DebugUI.py" line="1202"/>
         <source>&lt;p&gt;The debugged program raised the exception &lt;b&gt;{0}&lt;/b&gt;&lt;br&gt;&quot;&lt;b&gt;{1}&lt;/b&gt;&quot;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1339"/>
+        <location filename="../Debugger/DebugUI.py" line="1337"/>
         <source>&lt;p&gt;The condition of the breakpoint &lt;b&gt;{0}, {1}&lt;/b&gt; contains a syntax error.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1375"/>
+        <location filename="../Debugger/DebugUI.py" line="1373"/>
         <source>&lt;p&gt;The watch expression &lt;b&gt;{0}&lt;/b&gt; contains a syntax error.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1405"/>
+        <location filename="../Debugger/DebugUI.py" line="1403"/>
         <source>&lt;p&gt;A watch expression &apos;&lt;b&gt;{0}&lt;/b&gt;&apos; already exists.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1410"/>
+        <location filename="../Debugger/DebugUI.py" line="1408"/>
         <source>&lt;p&gt;A watch expression &apos;&lt;b&gt;{0}&lt;/b&gt;&apos; for the variable &lt;b&gt;{1}&lt;/b&gt; already exists.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1071"/>
+        <location filename="../Debugger/DebugUI.py" line="1069"/>
         <source>Program terminated</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7144,51 +7342,51 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1254"/>
+        <location filename="../Debugger/DebugUI.py" line="1252"/>
         <source>&lt;p&gt;The program generate the signal &quot;{0}&quot;.&lt;br/&gt;File: &lt;b&gt;{1}&lt;/b&gt;, Line: &lt;b&gt;{2}&lt;/b&gt;&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1038"/>
+        <location filename="../Debugger/DebugUI.py" line="1036"/>
         <source>&lt;p&gt;Message: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1043"/>
+        <location filename="../Debugger/DebugUI.py" line="1041"/>
         <source>&lt;p&gt;The program has terminated with an exit status of {0}.&lt;/p&gt;{1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1048"/>
+        <location filename="../Debugger/DebugUI.py" line="1046"/>
         <source>&lt;p&gt;&lt;b&gt;{0}&lt;/b&gt; has terminated with an exit status of {1}.&lt;/p&gt;{2}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1056"/>
+        <location filename="../Debugger/DebugUI.py" line="1054"/>
         <source>Message: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1062"/>
+        <location filename="../Debugger/DebugUI.py" line="1060"/>
         <source>The program has terminated with an exit status of {0}.
 {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1066"/>
+        <location filename="../Debugger/DebugUI.py" line="1064"/>
         <source>&quot;{0}&quot; has terminated with an exit status of {1}.
 {2}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1076"/>
+        <location filename="../Debugger/DebugUI.py" line="1074"/>
         <source>The program has terminated with an exit status of {0}.
 {1}
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1080"/>
+        <location filename="../Debugger/DebugUI.py" line="1078"/>
         <source>&quot;{0}&quot; has terminated with an exit status of {1}.
 {2}
 </source>
@@ -7215,7 +7413,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugUI.py" line="1314"/>
+        <location filename="../Debugger/DebugUI.py" line="1312"/>
         <source>No locals available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7718,48 +7916,48 @@
 <context>
     <name>DebuggerInterfacePython</name>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="479"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="459"/>
         <source>Start Debugger</source>
         <translation>启动调试器</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="479"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="459"/>
         <source>&lt;p&gt;The debugger backend could not be started.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;调试器后端无法启动。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1032"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1012"/>
         <source>Parent Process</source>
         <translation>父进程</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1033"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1013"/>
         <source>Child process</source>
         <translation>子进程</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1034"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1014"/>
         <source>Client forking</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1034"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1014"/>
         <source>Select the fork branch to follow.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1080"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1060"/>
         <source>Debug Protocol Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1080"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1060"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="374"/>
-        <source>&lt;p&gt;No suitable {0} environment configured.&lt;/p&gt;</source>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="354"/>
+        <source>&lt;p&gt;No suitable Python3 environment configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -7907,7 +8105,7 @@
         <translation>不要设定调试客户的编码</translation>
     </message>
     <message>
-        <location filename="../Project/DebuggerPropertiesDialog.py" line="133"/>
+        <location filename="../Project/DebuggerPropertiesDialog.py" line="130"/>
         <source>All Files (*)</source>
         <translation>所有文件 (*)</translation>
     </message>
@@ -7959,102 +8157,82 @@
     <message>
         <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="17"/>
         <source>&lt;b&gt;Configure Python2 Debugger&lt;/b&gt;</source>
-        <translation type="unfinished">&lt;b&gt;配置 Python 调试器&lt;/b&gt;</translation>
+        <translation type="obsolete">&lt;b&gt;配置 Python 调试器&lt;/b&gt;</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="37"/>
         <source>Python2 Virtual Environment</source>
-        <translation type="unfinished">调试客户的 Python 解释器</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="43"/>
-        <source>Select the virtual environment to be used</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="50"/>
-        <source>Press to open the virtual environment manager dialog</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">调试客户的 Python 解释器</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="63"/>
         <source>Debug Client Type</source>
-        <translation type="unfinished">调试客户类型</translation>
+        <translation type="obsolete">调试客户类型</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="75"/>
         <source>Enter the path of the Debug Client to be used.  Leave empty to use the default.</source>
-        <translation type="unfinished">输入要使用的调试客户路径。为空时使用默认设置。</translation>
+        <translation type="obsolete">输入要使用的调试客户路径。为空时使用默认设置。</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="82"/>
         <source>Select the standard debug client</source>
-        <translation type="unfinished">选择多线程调试客户</translation>
+        <translation type="obsolete">选择多线程调试客户</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="85"/>
         <source>Standard</source>
-        <translation type="unfinished">标准</translation>
+        <translation type="obsolete">标准</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="92"/>
         <source>Select the custom selected debug client</source>
-        <translation type="unfinished">选择自定义选择的调试客户</translation>
+        <translation type="obsolete">选择自定义选择的调试客户</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="95"/>
         <source>Custom</source>
-        <translation type="unfinished">自定义</translation>
+        <translation type="obsolete">自定义</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="105"/>
         <source>Source association</source>
-        <translation type="unfinished">源代码关联</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="111"/>
-        <source>Please configure the associated file extensions on the &apos;Python&apos; page.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="143"/>
-        <source>Press to update the display of the source associations</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">源代码关联</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="146"/>
         <source>Refresh</source>
-        <translation type="unfinished">刷新</translation>
+        <translation type="obsolete">刷新</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="171"/>
         <source>Select, to redirect stdin, stdout and stderr of the program being debugged to the eric6 IDE</source>
-        <translation type="unfinished">选择对在 Eric4 IDE 中调试的程序的 stdin 、stdout 和 stderr 进行重定向 {5 ?} {6 ?}</translation>
+        <translation type="obsolete">选择对在 Eric4 IDE 中调试的程序的 stdin 、stdout 和 stderr 进行重定向 {5 ?} {6 ?}</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="174"/>
         <source>Redirect stdin/stdout/stderr</source>
-        <translation type="unfinished">重定向 stdin/stdout/stderr</translation>
+        <translation type="obsolete">重定向 stdin/stdout/stderr</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="181"/>
         <source>Select to not set the debug client encoding</source>
-        <translation type="unfinished">选择不设定调试客户编码</translation>
+        <translation type="obsolete">选择不设定调试客户编码</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="184"/>
         <source>Don&apos;t set the encoding of the debug client</source>
-        <translation type="unfinished">不要设定调试客户的编码</translation>
+        <translation type="obsolete">不要设定调试客户的编码</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.py" line="44"/>
         <source>Press to select the Debug Client via a file selection dialog</source>
-        <translation type="unfinished">点击以通过选择对话框选择调试客户</translation>
+        <translation type="obsolete">点击以通过选择对话框选择调试客户</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.py" line="46"/>
         <source>Python Files (*.py *.py2)</source>
-        <translation type="unfinished">Python 文件 (*.py *.py3) {2)?}</translation>
+        <translation type="obsolete">Python 文件 (*.py *.py3) {2)?}</translation>
     </message>
 </context>
 <context>
@@ -8453,242 +8631,242 @@
 <context>
     <name>DocStyleChecker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="288"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="291"/>
         <source>module is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="290"/>
-        <source>public function/method is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="293"/>
-        <source>private function/method may be missing a docstring</source>
+        <source>public function/method is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="296"/>
+        <source>private function/method may be missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="299"/>
         <source>public class is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="298"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="301"/>
         <source>private class may be missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="300"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="303"/>
         <source>docstring not surrounded by &quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="302"/>
-        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="305"/>
-        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <source>docstring containing \ not surrounded by r&quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="308"/>
+        <source>docstring containing unicode character not surrounded by u&quot;&quot;&quot;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="311"/>
         <source>one-liner docstring on multiple lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="310"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="313"/>
         <source>docstring has wrong indentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="359"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="362"/>
         <source>docstring summary does not end with a period</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="316"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="319"/>
         <source>docstring summary is not in imperative mood (Does instead of Do)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="320"/>
-        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="323"/>
-        <source>docstring does not mention the return value type</source>
+        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="326"/>
-        <source>function/method docstring is separated by a blank line</source>
+        <source>docstring does not mention the return value type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="329"/>
-        <source>class docstring is not preceded by a blank line</source>
+        <source>function/method docstring is separated by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="332"/>
+        <source>class docstring is not preceded by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="335"/>
         <source>class docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="393"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/>
         <source>docstring summary is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="338"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="341"/>
         <source>last paragraph of docstring is not followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="346"/>
-        <source>private function/method is missing a docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="349"/>
+        <source>private function/method is missing a docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="352"/>
         <source>private class is missing a docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="353"/>
-        <source>leading quotes of docstring not on separate line</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="356"/>
+        <source>leading quotes of docstring not on separate line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="359"/>
         <source>trailing quotes of docstring not on separate line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="363"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="366"/>
         <source>docstring does not contain a @return line but function/method returns something</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="367"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="370"/>
         <source>docstring contains a @return line but function/method doesn&apos;t return anything</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="371"/>
-        <source>docstring does not contain enough @param/@keyparam lines</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="374"/>
-        <source>docstring contains too many @param/@keyparam lines</source>
+        <source>docstring does not contain enough @param/@keyparam lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="377"/>
-        <source>keyword only arguments must be documented with @keyparam lines</source>
+        <source>docstring contains too many @param/@keyparam lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="380"/>
-        <source>order of @param/@keyparam lines does not match the function/method signature</source>
+        <source>keyword only arguments must be documented with @keyparam lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="383"/>
+        <source>order of @param/@keyparam lines does not match the function/method signature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="386"/>
         <source>class docstring is preceded by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="385"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="388"/>
         <source>class docstring is followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="387"/>
-        <source>function/method docstring is preceded by a blank line</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="390"/>
+        <source>function/method docstring is preceded by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="393"/>
         <source>function/method docstring is followed by a blank line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/>
-        <source>last paragraph of docstring is followed by a blank line</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="399"/>
+        <source>last paragraph of docstring is followed by a blank line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="402"/>
         <source>docstring does not contain a @exception line but function/method raises an exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="403"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="406"/>
         <source>docstring contains a @exception line but function/method doesn&apos;t raise an exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="426"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="429"/>
         <source>{0}: {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="312"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="315"/>
         <source>docstring does not contain a summary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="361"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="364"/>
         <source>docstring summary does not start with &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="407"/>
-        <source>raised exception &apos;{0}&apos; is not documented in docstring</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="410"/>
-        <source>documented exception &apos;{0}&apos; is not raised</source>
+        <source>raised exception &apos;{0}&apos; is not documented in docstring</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="413"/>
-        <source>docstring does not contain a @signal line but class defines signals</source>
+        <source>documented exception &apos;{0}&apos; is not raised</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="416"/>
-        <source>docstring contains a @signal line but class doesn&apos;t define signals</source>
+        <source>docstring does not contain a @signal line but class defines signals</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="419"/>
-        <source>defined signal &apos;{0}&apos; is not documented in docstring</source>
+        <source>docstring contains a @signal line but class doesn&apos;t define signals</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="422"/>
+        <source>defined signal &apos;{0}&apos; is not documented in docstring</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="425"/>
         <source>documented signal &apos;{0}&apos; is not defined</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="351"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="354"/>
         <source>class docstring is still a default string</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="344"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="347"/>
         <source>function docstring is still a default string</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="342"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="345"/>
         <source>module docstring is still a default string</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9331,29 +9509,29 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Download/DownloadManager.py" line="589"/>
+        <location filename="../WebBrowser/Download/DownloadManager.py" line="590"/>
         <source>Download Manager</source>
         <translation>下载管理器</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Download/DownloadManager.py" line="501"/>
+        <location filename="../WebBrowser/Download/DownloadManager.py" line="502"/>
         <source>Downloads finished</source>
         <translation>下载已完成</translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Download/DownloadManager.py" line="501"/>
+        <location filename="../WebBrowser/Download/DownloadManager.py" line="502"/>
         <source>All files have been downloaded.</source>
         <translation>所有文件均已下载。</translation>
     </message>
     <message numerus="yes">
-        <location filename="../WebBrowser/Download/DownloadManager.py" line="623"/>
+        <location filename="../WebBrowser/Download/DownloadManager.py" line="624"/>
         <source>{0}% of %n file(s) ({1}) {2}</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../WebBrowser/Download/DownloadManager.py" line="630"/>
+        <location filename="../WebBrowser/Download/DownloadManager.py" line="631"/>
         <source>{0}% - Download Manager</source>
         <translation>{0}% - 下载管理器</translation>
     </message>
@@ -10036,32 +10214,32 @@
 <context>
     <name>E5PathPickerBase</name>
     <message>
-        <location filename="../E5Gui/E5PathPicker.py" line="163"/>
+        <location filename="../E5Gui/E5PathPicker.py" line="165"/>
         <source>Enter Path Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../E5Gui/E5PathPicker.py" line="160"/>
+        <location filename="../E5Gui/E5PathPicker.py" line="162"/>
         <source>Enter Path Names separated by &apos;;&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../E5Gui/E5PathPicker.py" line="501"/>
-        <source>Choose a file to open</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../E5Gui/E5PathPicker.py" line="503"/>
+        <source>Choose a file to open</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../E5Gui/E5PathPicker.py" line="505"/>
         <source>Choose files to open</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../E5Gui/E5PathPicker.py" line="508"/>
-        <source>Choose a file to save</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../E5Gui/E5PathPicker.py" line="510"/>
+        <source>Choose a file to save</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../E5Gui/E5PathPicker.py" line="512"/>
         <source>Choose a directory</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10658,7 +10836,7 @@
         <translation>点击查找下一次出现</translation>
     </message>
     <message>
-        <location filename="../E5Gui/E5TextEditSearchWidget.py" line="340"/>
+        <location filename="../E5Gui/E5TextEditSearchWidget.py" line="342"/>
         <source>&apos;{0}&apos; was not found.</source>
         <translation>“{0}”未找到。</translation>
     </message>
@@ -10817,7 +10995,7 @@
 <context>
     <name>E5XmlRpcClient</name>
     <message>
-        <location filename="../E5Network/E5XmlRpcClient.py" line="100"/>
+        <location filename="../E5Network/E5XmlRpcClient.py" line="102"/>
         <source>SSL Error</source>
         <translation>SSL 错误</translation>
     </message>
@@ -10994,7 +11172,7 @@
 <context>
     <name>Editor</name>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3107"/>
+        <location filename="../QScintilla/Editor.py" line="3095"/>
         <source>Open File</source>
         <translation>打开文件</translation>
     </message>
@@ -11004,632 +11182,632 @@
         <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="779"/>
+        <location filename="../QScintilla/Editor.py" line="769"/>
         <source>Undo</source>
         <translation>撤消</translation>
     </message>
     <message>
+        <location filename="../QScintilla/Editor.py" line="772"/>
+        <source>Redo</source>
+        <translation>重做</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="775"/>
+        <source>Revert to last saved state</source>
+        <translation>还原到最后保存的状态</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="779"/>
+        <source>Cut</source>
+        <translation>剪切</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Editor.py" line="782"/>
-        <source>Redo</source>
-        <translation>重做</translation>
+        <source>Copy</source>
+        <translation>复制</translation>
     </message>
     <message>
         <location filename="../QScintilla/Editor.py" line="785"/>
-        <source>Revert to last saved state</source>
-        <translation>还原到最后保存的状态</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="789"/>
-        <source>Cut</source>
-        <translation>剪切</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="792"/>
-        <source>Copy</source>
-        <translation>复制</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="795"/>
         <source>Paste</source>
         <translation>粘贴</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="803"/>
+        <location filename="../QScintilla/Editor.py" line="793"/>
         <source>Indent</source>
         <translation>缩进</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="806"/>
+        <location filename="../QScintilla/Editor.py" line="796"/>
         <source>Unindent</source>
         <translation>取消缩进</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="809"/>
+        <location filename="../QScintilla/Editor.py" line="799"/>
         <source>Comment</source>
         <translation>注释</translation>
     </message>
     <message>
+        <location filename="../QScintilla/Editor.py" line="802"/>
+        <source>Uncomment</source>
+        <translation>取消注释</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="805"/>
+        <source>Stream Comment</source>
+        <translation>流注释</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="808"/>
+        <source>Box Comment</source>
+        <translation>块注释</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Editor.py" line="812"/>
-        <source>Uncomment</source>
-        <translation>取消注释</translation>
+        <source>Select to brace</source>
+        <translation>选择括号内容</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="814"/>
+        <source>Select all</source>
+        <translation>全选</translation>
     </message>
     <message>
         <location filename="../QScintilla/Editor.py" line="815"/>
-        <source>Stream Comment</source>
-        <translation>流注释</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="818"/>
-        <source>Box Comment</source>
-        <translation>块注释</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="822"/>
-        <source>Select to brace</source>
-        <translation>选择括号内容</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="824"/>
-        <source>Select all</source>
-        <translation>全选</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="825"/>
         <source>Deselect all</source>
         <translation>全部取消选择</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7848"/>
+        <location filename="../QScintilla/Editor.py" line="7833"/>
         <source>Check spelling...</source>
         <translation>正在进行拼写检查…</translation>
     </message>
     <message>
+        <location filename="../QScintilla/Editor.py" line="823"/>
+        <source>Check spelling of selection...</source>
+        <translation>正在对所选内容进行拼写检查…</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Editor.py" line="833"/>
-        <source>Check spelling of selection...</source>
-        <translation>正在对所选内容进行拼写检查…</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="843"/>
         <source>Shorten empty lines</source>
         <translation>缩减空行</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="850"/>
+        <location filename="../QScintilla/Editor.py" line="840"/>
         <source>Use Monospaced Font</source>
         <translation>使用单空格字体</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="855"/>
+        <location filename="../QScintilla/Editor.py" line="845"/>
         <source>Autosave enabled</source>
         <translation>允许自动保存</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="859"/>
+        <location filename="../QScintilla/Editor.py" line="849"/>
         <source>Typing aids enabled</source>
         <translation>允许输入辅助</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="898"/>
+        <location filename="../QScintilla/Editor.py" line="888"/>
         <source>Close</source>
         <translation>关闭</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="904"/>
+        <location filename="../QScintilla/Editor.py" line="894"/>
         <source>Save</source>
         <translation>保存</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="907"/>
+        <location filename="../QScintilla/Editor.py" line="897"/>
         <source>Save As...</source>
         <translation>另存为…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="920"/>
+        <location filename="../QScintilla/Editor.py" line="910"/>
         <source>Print Preview</source>
         <translation>打印预览</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="923"/>
+        <location filename="../QScintilla/Editor.py" line="913"/>
         <source>Print</source>
         <translation>打印</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="952"/>
+        <location filename="../QScintilla/Editor.py" line="942"/>
         <source>Complete from Document</source>
         <translation type="unfinished">从文档</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="954"/>
+        <location filename="../QScintilla/Editor.py" line="944"/>
         <source>Complete from APIs</source>
         <translation type="unfinished">从 APIs</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="956"/>
+        <location filename="../QScintilla/Editor.py" line="946"/>
         <source>Complete from Document and APIs</source>
         <translation type="unfinished">从文档和 APIs</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="874"/>
+        <location filename="../QScintilla/Editor.py" line="864"/>
         <source>Calltip</source>
         <translation>调用提示</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="970"/>
+        <location filename="../QScintilla/Editor.py" line="960"/>
         <source>Check</source>
         <translation>检查</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="990"/>
+        <location filename="../QScintilla/Editor.py" line="980"/>
         <source>Show</source>
         <translation>显示</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="992"/>
+        <location filename="../QScintilla/Editor.py" line="982"/>
         <source>Code metrics...</source>
         <translation>代码度量…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="993"/>
+        <location filename="../QScintilla/Editor.py" line="983"/>
         <source>Code coverage...</source>
         <translation>代码覆盖率…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="995"/>
+        <location filename="../QScintilla/Editor.py" line="985"/>
         <source>Show code coverage annotations</source>
         <translation>显示代码覆盖率注解</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="998"/>
+        <location filename="../QScintilla/Editor.py" line="988"/>
         <source>Hide code coverage annotations</source>
         <translation>隐藏代码覆盖率注解</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1001"/>
+        <location filename="../QScintilla/Editor.py" line="991"/>
         <source>Profile data...</source>
         <translation>剖析数据…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1014"/>
+        <location filename="../QScintilla/Editor.py" line="1004"/>
         <source>Diagrams</source>
         <translation>图表</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1016"/>
+        <location filename="../QScintilla/Editor.py" line="1006"/>
         <source>Class Diagram...</source>
         <translation>类图…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1018"/>
+        <location filename="../QScintilla/Editor.py" line="1008"/>
         <source>Package Diagram...</source>
         <translation>程序包图…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1020"/>
+        <location filename="../QScintilla/Editor.py" line="1010"/>
         <source>Imports Diagram...</source>
         <translation>引用图…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1022"/>
+        <location filename="../QScintilla/Editor.py" line="1012"/>
         <source>Application Diagram...</source>
         <translation>应用程序图…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1040"/>
+        <location filename="../QScintilla/Editor.py" line="1030"/>
         <source>Languages</source>
         <translation>语言</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1173"/>
+        <location filename="../QScintilla/Editor.py" line="1163"/>
         <source>No Language</source>
         <translation>无语言</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1069"/>
+        <location filename="../QScintilla/Editor.py" line="1059"/>
         <source>Guessed</source>
         <translation>猜测</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1409"/>
+        <location filename="../QScintilla/Editor.py" line="1399"/>
         <source>Alternatives</source>
         <translation>备选</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1089"/>
+        <location filename="../QScintilla/Editor.py" line="1079"/>
         <source>Encodings</source>
         <translation>编码</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1130"/>
+        <location filename="../QScintilla/Editor.py" line="1120"/>
         <source>End-of-Line Type</source>
         <translation>行尾类型</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1134"/>
+        <location filename="../QScintilla/Editor.py" line="1124"/>
         <source>Unix</source>
         <translation>Unix</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1141"/>
+        <location filename="../QScintilla/Editor.py" line="1131"/>
         <source>Windows</source>
         <translation>Windows</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1148"/>
+        <location filename="../QScintilla/Editor.py" line="1138"/>
         <source>Macintosh</source>
         <translation>Macintosh</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1198"/>
+        <location filename="../QScintilla/Editor.py" line="1188"/>
         <source>Export as</source>
         <translation>导出为</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1220"/>
+        <location filename="../QScintilla/Editor.py" line="1210"/>
         <source>Toggle bookmark</source>
         <translation>切换书签</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1222"/>
+        <location filename="../QScintilla/Editor.py" line="1212"/>
         <source>Next bookmark</source>
         <translation>下一个书签</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1224"/>
+        <location filename="../QScintilla/Editor.py" line="1214"/>
         <source>Previous bookmark</source>
         <translation>上一个书签</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1226"/>
+        <location filename="../QScintilla/Editor.py" line="1216"/>
         <source>Clear all bookmarks</source>
         <translation>清除所有书签</translation>
     </message>
     <message>
+        <location filename="../QScintilla/Editor.py" line="1225"/>
+        <source>Toggle breakpoint</source>
+        <translation>切换断点</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="1227"/>
+        <source>Toggle temporary breakpoint</source>
+        <translation>切换临时断点</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="1230"/>
+        <source>Edit breakpoint...</source>
+        <translation>编辑断点…</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="5603"/>
+        <source>Enable breakpoint</source>
+        <translation>允许断点</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Editor.py" line="1235"/>
-        <source>Toggle breakpoint</source>
-        <translation>切换断点</translation>
+        <source>Next breakpoint</source>
+        <translation>下一个断点</translation>
     </message>
     <message>
         <location filename="../QScintilla/Editor.py" line="1237"/>
-        <source>Toggle temporary breakpoint</source>
-        <translation>切换临时断点</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="1240"/>
-        <source>Edit breakpoint...</source>
-        <translation>编辑断点…</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="5616"/>
-        <source>Enable breakpoint</source>
-        <translation>允许断点</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="1245"/>
-        <source>Next breakpoint</source>
-        <translation>下一个断点</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="1247"/>
         <source>Previous breakpoint</source>
         <translation>上一个断点</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1252"/>
+        <location filename="../QScintilla/Editor.py" line="1242"/>
         <source>Clear all breakpoints</source>
         <translation>清除所有断点</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1300"/>
+        <location filename="../QScintilla/Editor.py" line="1290"/>
         <source>Goto syntax error</source>
         <translation>转到语法错误处</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1304"/>
+        <location filename="../QScintilla/Editor.py" line="1294"/>
         <source>Show syntax error message</source>
         <translation>显示语法错误消息</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1309"/>
+        <location filename="../QScintilla/Editor.py" line="1299"/>
         <source>Clear syntax error</source>
         <translation>清除语法错误</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1331"/>
+        <location filename="../QScintilla/Editor.py" line="1321"/>
         <source>Next uncovered line</source>
         <translation>下一个未覆盖行</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1335"/>
+        <location filename="../QScintilla/Editor.py" line="1325"/>
         <source>Previous uncovered line</source>
         <translation>上一个未覆盖行</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1340"/>
+        <location filename="../QScintilla/Editor.py" line="1330"/>
         <source>Next task</source>
         <translation>下一个任务</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1344"/>
+        <location filename="../QScintilla/Editor.py" line="1334"/>
         <source>Previous task</source>
         <translation>上一个任务</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1394"/>
+        <location filename="../QScintilla/Editor.py" line="1384"/>
         <source>Export source</source>
         <translation>导出源代码</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1394"/>
+        <location filename="../QScintilla/Editor.py" line="1384"/>
         <source>No export format given. Aborting...</source>
         <translation>没有给定导出格式。终止…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1425"/>
+        <location filename="../QScintilla/Editor.py" line="1415"/>
         <source>Pygments Lexer</source>
         <translation>Pygments 词法分析器</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1425"/>
+        <location filename="../QScintilla/Editor.py" line="1415"/>
         <source>Select the Pygments lexer to apply.</source>
         <translation>选择要应用的 Pygments 词法分析器。</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1956"/>
+        <location filename="../QScintilla/Editor.py" line="1942"/>
         <source>Modification of Read Only file</source>
         <translation>只读文件的改变</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1956"/>
+        <location filename="../QScintilla/Editor.py" line="1942"/>
         <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="2664"/>
+        <location filename="../QScintilla/Editor.py" line="2652"/>
         <source>Printing...</source>
         <translation>打印中…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2681"/>
+        <location filename="../QScintilla/Editor.py" line="2669"/>
         <source>Printing completed</source>
         <translation>打印已完成</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2683"/>
+        <location filename="../QScintilla/Editor.py" line="2671"/>
         <source>Error while printing</source>
         <translation>打印时出错</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="2686"/>
+        <location filename="../QScintilla/Editor.py" line="2674"/>
         <source>Printing aborted</source>
         <translation>打印失败</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3047"/>
+        <location filename="../QScintilla/Editor.py" line="3035"/>
         <source>File Modified</source>
         <translation>文件已改变</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3296"/>
+        <location filename="../QScintilla/Editor.py" line="3284"/>
         <source>Save File</source>
         <translation>保存文件</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4777"/>
+        <location filename="../QScintilla/Editor.py" line="4765"/>
         <source>Autocompletion</source>
         <translation>自动完成</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="4777"/>
+        <location filename="../QScintilla/Editor.py" line="4765"/>
         <source>Autocompletion is not available because there is no autocompletion source set.</source>
         <translation>自动完成无效,没有设定自动完成源。</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5619"/>
+        <location filename="../QScintilla/Editor.py" line="5606"/>
         <source>Disable breakpoint</source>
         <translation>去除断点</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5994"/>
+        <location filename="../QScintilla/Editor.py" line="5981"/>
         <source>Code Coverage</source>
         <translation>代码覆盖率</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="5994"/>
+        <location filename="../QScintilla/Editor.py" line="5981"/>
         <source>Please select a coverage file</source>
         <translation>请选择一个覆盖率文件</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6057"/>
+        <location filename="../QScintilla/Editor.py" line="6044"/>
         <source>Show Code Coverage Annotations</source>
         <translation>显示代码覆盖率注解</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6050"/>
+        <location filename="../QScintilla/Editor.py" line="6037"/>
         <source>All lines have been covered.</source>
         <translation>所有行均被已覆盖。</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6057"/>
+        <location filename="../QScintilla/Editor.py" line="6044"/>
         <source>There is no coverage file available.</source>
         <translation>没有有效的覆盖率文件。</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6174"/>
+        <location filename="../QScintilla/Editor.py" line="6161"/>
         <source>Profile Data</source>
         <translation>剖析数据</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6174"/>
+        <location filename="../QScintilla/Editor.py" line="6161"/>
         <source>Please select a profile file</source>
         <translation>请选择一个剖析文件</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6336"/>
+        <location filename="../QScintilla/Editor.py" line="6323"/>
         <source>Syntax Error</source>
         <translation>语法错误</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6336"/>
+        <location filename="../QScintilla/Editor.py" line="6323"/>
         <source>No syntax error message available.</source>
         <translation>语法错误消息无效。</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6727"/>
+        <location filename="../QScintilla/Editor.py" line="6712"/>
         <source>Macro Name</source>
         <translation>宏名称</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6727"/>
+        <location filename="../QScintilla/Editor.py" line="6712"/>
         <source>Select a macro name:</source>
         <translation>选择一个宏名称:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6755"/>
+        <location filename="../QScintilla/Editor.py" line="6740"/>
         <source>Load macro file</source>
         <translation>输入宏文件</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6798"/>
+        <location filename="../QScintilla/Editor.py" line="6783"/>
         <source>Macro files (*.macro)</source>
         <translation>宏文件 (*.macro)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6778"/>
+        <location filename="../QScintilla/Editor.py" line="6763"/>
         <source>Error loading macro</source>
         <translation>载入宏文件出错</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6798"/>
+        <location filename="../QScintilla/Editor.py" line="6783"/>
         <source>Save macro file</source>
         <translation>保存宏文件</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6815"/>
+        <location filename="../QScintilla/Editor.py" line="6800"/>
         <source>Save macro</source>
         <translation>保存宏</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6831"/>
+        <location filename="../QScintilla/Editor.py" line="6816"/>
         <source>Error saving macro</source>
         <translation>保存宏出错</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6844"/>
+        <location filename="../QScintilla/Editor.py" line="6829"/>
         <source>Start Macro Recording</source>
         <translation>开始宏录制</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6844"/>
+        <location filename="../QScintilla/Editor.py" line="6829"/>
         <source>Macro recording is already active. Start new?</source>
         <translation>宏录制已激活。开始录制新宏?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6870"/>
+        <location filename="../QScintilla/Editor.py" line="6855"/>
         <source>Macro Recording</source>
         <translation>宏录制</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6870"/>
+        <location filename="../QScintilla/Editor.py" line="6855"/>
         <source>Enter name of the macro:</source>
         <translation>输入宏名称:</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7010"/>
+        <location filename="../QScintilla/Editor.py" line="6995"/>
         <source>File changed</source>
         <translation>文件已改变</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7321"/>
+        <location filename="../QScintilla/Editor.py" line="7306"/>
         <source>Drop Error</source>
         <translation>降落误差</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7342"/>
+        <location filename="../QScintilla/Editor.py" line="7327"/>
         <source>Resources</source>
         <translation>资源</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7344"/>
+        <location filename="../QScintilla/Editor.py" line="7329"/>
         <source>Add file...</source>
         <translation>添加文件…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7346"/>
+        <location filename="../QScintilla/Editor.py" line="7331"/>
         <source>Add files...</source>
         <translation>添加文件…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7348"/>
+        <location filename="../QScintilla/Editor.py" line="7333"/>
         <source>Add aliased file...</source>
         <translation>添加别名文件…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7351"/>
+        <location filename="../QScintilla/Editor.py" line="7336"/>
         <source>Add localized resource...</source>
         <translation>添加本地资源…</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7355"/>
+        <location filename="../QScintilla/Editor.py" line="7340"/>
         <source>Add resource frame</source>
         <translation>添加资源结构</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7374"/>
+        <location filename="../QScintilla/Editor.py" line="7359"/>
         <source>Add file resource</source>
         <translation>添加文件资源</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7390"/>
+        <location filename="../QScintilla/Editor.py" line="7375"/>
         <source>Add file resources</source>
         <translation>添加多个文件资源</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7417"/>
+        <location filename="../QScintilla/Editor.py" line="7402"/>
         <source>Add aliased file resource</source>
         <translation>添加别名文件资源</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7483"/>
+        <location filename="../QScintilla/Editor.py" line="7468"/>
         <source>Package Diagram</source>
         <translation>程序包图</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7483"/>
+        <location filename="../QScintilla/Editor.py" line="7468"/>
         <source>Include class attributes?</source>
         <translation>包含类属性?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7505"/>
+        <location filename="../QScintilla/Editor.py" line="7490"/>
         <source>Imports Diagram</source>
         <translation>引用图</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7505"/>
+        <location filename="../QScintilla/Editor.py" line="7490"/>
         <source>Include imports from external modules?</source>
         <translation>从外部模块包含引用?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7519"/>
+        <location filename="../QScintilla/Editor.py" line="7504"/>
         <source>Application Diagram</source>
         <translation>应用程序图</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7519"/>
+        <location filename="../QScintilla/Editor.py" line="7504"/>
         <source>Include module names?</source>
         <translation>包含模块名?</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7851"/>
+        <location filename="../QScintilla/Editor.py" line="7836"/>
         <source>Add to dictionary</source>
         <translation>添加到文件夹</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7853"/>
+        <location filename="../QScintilla/Editor.py" line="7838"/>
         <source>Ignore All</source>
         <translation>全部忽略</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="837"/>
+        <location filename="../QScintilla/Editor.py" line="827"/>
         <source>Remove from dictionary</source>
         <translation>从词典里移除</translation>
     </message>
@@ -11639,282 +11817,282 @@
         <translation>&lt;p&gt;文件 &lt;b&gt;{0}&lt;/b&gt; 的大小为 &lt;b&gt;{1} KB&lt;/b&gt;。确认要读取它?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1386"/>
+        <location filename="../QScintilla/Editor.py" line="1376"/>
         <source>&lt;p&gt;No exporter available for the export format &lt;b&gt;{0}&lt;/b&gt;. Aborting...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1405"/>
+        <location filename="../QScintilla/Editor.py" line="1395"/>
         <source>Alternatives ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3047"/>
+        <location filename="../QScintilla/Editor.py" line="3035"/>
         <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="3107"/>
+        <location filename="../QScintilla/Editor.py" line="3095"/>
         <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="3233"/>
+        <location filename="../QScintilla/Editor.py" line="3221"/>
         <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="6769"/>
+        <location filename="../QScintilla/Editor.py" line="6754"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6778"/>
+        <location filename="../QScintilla/Editor.py" line="6763"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; is corrupt.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6831"/>
+        <location filename="../QScintilla/Editor.py" line="6816"/>
         <source>&lt;p&gt;The macro file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7180"/>
+        <location filename="../QScintilla/Editor.py" line="7165"/>
         <source>{0} (ro)</source>
         <translation>{0}(只读)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7321"/>
+        <location filename="../QScintilla/Editor.py" line="7306"/>
         <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="7417"/>
+        <location filename="../QScintilla/Editor.py" line="7402"/>
         <source>Alias for file &lt;b&gt;{0}&lt;/b&gt;:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1314"/>
+        <location filename="../QScintilla/Editor.py" line="1304"/>
         <source>Next warning</source>
         <translation>下一个警告</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1318"/>
+        <location filename="../QScintilla/Editor.py" line="1308"/>
         <source>Previous warning</source>
         <translation>上一个警告</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1322"/>
+        <location filename="../QScintilla/Editor.py" line="1312"/>
         <source>Show warning message</source>
         <translation>显示警告信息</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1326"/>
+        <location filename="../QScintilla/Editor.py" line="1316"/>
         <source>Clear warnings</source>
         <translation>清空警告</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="3296"/>
+        <location filename="../QScintilla/Editor.py" line="3284"/>
         <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="6815"/>
+        <location filename="../QScintilla/Editor.py" line="6800"/>
         <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="6615"/>
+        <location filename="../QScintilla/Editor.py" line="6600"/>
         <source>Warning: {0}</source>
         <translation>警告:{0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6622"/>
+        <location filename="../QScintilla/Editor.py" line="6607"/>
         <source>Error: {0}</source>
         <translation>错误:{0}</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7006"/>
+        <location filename="../QScintilla/Editor.py" line="6991"/>
         <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="916"/>
+        <location filename="../QScintilla/Editor.py" line="906"/>
         <source>Open &apos;rejection&apos; file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1026"/>
+        <location filename="../QScintilla/Editor.py" line="1016"/>
         <source>Load Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1349"/>
+        <location filename="../QScintilla/Editor.py" line="1339"/>
         <source>Next change</source>
         <translation>下一个更改</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1353"/>
+        <location filename="../QScintilla/Editor.py" line="1343"/>
         <source>Previous change</source>
         <translation>上一个更改</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8269"/>
+        <location filename="../QScintilla/Editor.py" line="8254"/>
         <source>Sort Lines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8269"/>
+        <location filename="../QScintilla/Editor.py" line="8254"/>
         <source>The selection contains illegal data for a numerical sort.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6550"/>
+        <location filename="../QScintilla/Editor.py" line="6535"/>
         <source>Warning</source>
         <translation>警告</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6550"/>
+        <location filename="../QScintilla/Editor.py" line="6535"/>
         <source>No warning messages available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="6612"/>
+        <location filename="../QScintilla/Editor.py" line="6597"/>
         <source>Style: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="890"/>
+        <location filename="../QScintilla/Editor.py" line="880"/>
         <source>New Document View</source>
         <translation>新建文档视图</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="893"/>
+        <location filename="../QScintilla/Editor.py" line="883"/>
         <source>New Document View (with new split)</source>
         <translation>新建文档视图(在新拆分页中)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="980"/>
+        <location filename="../QScintilla/Editor.py" line="970"/>
         <source>Tools</source>
         <translation>工具</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1111"/>
+        <location filename="../QScintilla/Editor.py" line="1101"/>
         <source>Re-Open With Encoding</source>
         <translation>使用指定编码重新打开</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="7000"/>
+        <location filename="../QScintilla/Editor.py" line="6985"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; has been changed while it was opened in eric6. Reread it?&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../QScintilla/Editor.py" line="856"/>
+        <source>Automatic Completion enabled</source>
+        <translation>允许自动补全</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="936"/>
+        <source>Complete</source>
+        <translation>补全</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="4895"/>
+        <source>Auto-Completion Provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="4895"/>
+        <source>The completion list provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="5174"/>
+        <source>Call-Tips Provider</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="5174"/>
+        <source>The call-tips provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <source>Register Mouse Click Handler</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="8343"/>
+        <source>A mouse click handler for &quot;{0}&quot; was already registered by &quot;{1}&quot;. Aborting request by &quot;{2}&quot;...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="900"/>
+        <source>Save Copy...</source>
+        <translation type="unfinished">保存副本…</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="939"/>
+        <source>Clear Completions Cache</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Editor.py" line="866"/>
-        <source>Automatic Completion enabled</source>
-        <translation>允许自动补全</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="946"/>
-        <source>Complete</source>
-        <translation>补全</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="4907"/>
-        <source>Auto-Completion Provider</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="4907"/>
-        <source>The completion list provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="5186"/>
-        <source>Call-Tips Provider</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="5186"/>
-        <source>The call-tips provider &apos;{0}&apos; was already registered. Ignoring duplicate request.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="8358"/>
-        <source>Register Mouse Click Handler</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="8358"/>
-        <source>A mouse click handler for &quot;{0}&quot; was already registered by &quot;{1}&quot;. Aborting request by &quot;{2}&quot;...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="910"/>
-        <source>Save Copy...</source>
-        <translation type="unfinished">保存副本…</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="949"/>
-        <source>Clear Completions Cache</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="876"/>
         <source>Code Info</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1357"/>
+        <location filename="../QScintilla/Editor.py" line="1347"/>
         <source>Clear changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="799"/>
+        <location filename="../QScintilla/Editor.py" line="789"/>
         <source>Execute Selection In Console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8479"/>
+        <location filename="../QScintilla/Editor.py" line="8464"/>
         <source>EditorConfig Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="8479"/>
+        <location filename="../QScintilla/Editor.py" line="8464"/>
         <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../QScintilla/Editor.py" line="1251"/>
+        <source>Toggle all folds</source>
+        <translation type="unfinished">开关所有折叠</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Editor.py" line="1256"/>
+        <source>Toggle all folds (including children)</source>
+        <translation type="unfinished">开关所有折叠(包含子项)</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Editor.py" line="1261"/>
-        <source>Toggle all folds</source>
-        <translation type="unfinished">开关所有折叠</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="1266"/>
-        <source>Toggle all folds (including children)</source>
-        <translation type="unfinished">开关所有折叠(包含子项)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Editor.py" line="1271"/>
         <source>Toggle current fold</source>
         <translation type="unfinished">开关当前折叠</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1277"/>
+        <location filename="../QScintilla/Editor.py" line="1267"/>
         <source>Expand (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1282"/>
+        <location filename="../QScintilla/Editor.py" line="1272"/>
         <source>Collapse (including children)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1288"/>
+        <location filename="../QScintilla/Editor.py" line="1278"/>
         <source>Clear all folds</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Editor.py" line="1169"/>
+        <location filename="../QScintilla/Editor.py" line="1159"/>
         <source>Spell Check Languages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -21447,52 +21625,52 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="166"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="169"/>
         <source>Difference ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="174"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="177"/>
         <source>Process Generation Error</source>
         <translation type="unfinished">进程生成错误</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="174"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="177"/>
         <source>The process {0} could not be started. Ensure, that it is in the search path.</source>
         <translation type="unfinished">进程 {0} 无法启动。请保证它处在搜索路径中。</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="201"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="204"/>
         <source>There is no difference.</source>
         <translation type="unfinished">没有差异。</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="222"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="225"/>
         <source>&lt;Start&gt;</source>
         <translation type="unfinished">&lt;开始&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="223"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="226"/>
         <source>&lt;End&gt;</source>
         <translation type="unfinished">&lt;结束&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="351"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="354"/>
         <source>Save Diff</source>
         <translation type="unfinished">保存差异</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="317"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="320"/>
         <source>Patch Files (*.diff)</source>
         <translation type="unfinished">补丁文件 (*.diff)</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="334"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="337"/>
         <source>&lt;p&gt;The patch 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="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="351"/>
+        <location filename="../Plugins/VcsPlugins/vcsGit/GitDiffDialog.py" line="354"/>
         <source>&lt;p&gt;The patch file &lt;b&gt;{0}&lt;/b&gt; could not be saved.&lt;br&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished">&lt;p&gt;补丁文件 &lt;b&gt;{0}&lt;/b&gt; 无法保存。&lt;br /&gt;原因:{1}&lt;/p&gt;</translation>
     </message>
@@ -27220,7 +27398,7 @@
 <context>
     <name>HelpDocsInstaller</name>
     <message>
-        <location filename="../WebBrowser/QtHelp/HelpDocsInstaller.py" line="242"/>
+        <location filename="../WebBrowser/QtHelp/HelpDocsInstaller.py" line="241"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be registered. &lt;br/&gt;Reason: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -27235,115 +27413,115 @@
     <message>
         <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="142"/>
         <source>Qt4 Documentation</source>
-        <translation>Qt4 文档</translation>
+        <translation type="obsolete">Qt4 文档</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="157"/>
         <source>Enter the Qt4 documentation directory</source>
-        <translation>输入 Qt4 文档目录</translation>
+        <translation type="obsolete">输入 Qt4 文档目录</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="164"/>
         <source>&lt;b&gt;Note&lt;/b&gt;: Leave empty to use the QT4DOCDIR environment variable, if set.</source>
-        <translation>&lt;b&gt;注意&lt;/b&gt;: 为空时使用 QT4DOCDIR 环境变量,如果该环境变量已设定。</translation>
+        <translation type="obsolete">&lt;b&gt;注意&lt;/b&gt;: 为空时使用 QT4DOCDIR 环境变量,如果该环境变量已设定。</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="212"/>
         <source>PyQt4 Documentation</source>
-        <translation>PyQt4 文档</translation>
+        <translation type="obsolete">PyQt4 文档</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="227"/>
         <source>Enter the PyQt4 documentation directory</source>
-        <translation>输入 PyQt4 文档目录</translation>
+        <translation type="obsolete">输入 PyQt4 文档目录</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="234"/>
         <source>&lt;b&gt;Note&lt;/b&gt;: Leave empty to use the PYQT4DOCDIR environment variable, if set.</source>
-        <translation>&lt;b&gt;注意&lt;/b&gt;: 为空时使用 PYQT4DOCDIR 环境变量,如果该环境变量已设定。</translation>
+        <translation type="obsolete">&lt;b&gt;注意&lt;/b&gt;: 为空时使用 PYQT4DOCDIR 环境变量,如果该环境变量已设定。</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="282"/>
         <source>PySide Documentation</source>
-        <translation>PySide 文档</translation>
+        <translation type="obsolete">PySide 文档</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="297"/>
         <source>Enter the PySide documentation directory</source>
-        <translation>输入 PySide 文档目录</translation>
+        <translation type="obsolete">输入 PySide 文档目录</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="304"/>
         <source>&lt;b&gt;Note&lt;/b&gt;: Leave empty to use the PYSIDEDOCDIR environment variable, if set.</source>
-        <translation>&lt;b&gt;注意&lt;/b&gt;: 为空时使用 PYSIDEDOCDIR 环境变量,如果该环境变量已设定。</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.py" line="61"/>
+        <translation type="obsolete">&lt;b&gt;注意&lt;/b&gt;: 为空时使用 PYSIDEDOCDIR 环境变量,如果该环境变量已设定。</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.py" line="47"/>
         <source>HTML Files (*.html *.htm);;All Files (*)</source>
         <translation>HTML 文件 (*.html *.htm);;所有文件 (*)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.py" line="41"/>
+        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.py" line="36"/>
         <source>HTML Files (*.html *.htm);;Compressed Help Files (*.chm);;All Files (*)</source>
         <translation>HTML 文件 (*.html *.htm);;已压缩的帮助文件 (*.chm);;所有文件 (*)</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="72"/>
         <source>Python 2 Documentation</source>
-        <translation>Python 2 文档</translation>
+        <translation type="obsolete">Python 2 文档</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="87"/>
         <source>Enter the Python 2 documentation directory</source>
-        <translation>输入 Python 2 文档目录</translation>
+        <translation type="obsolete">输入 Python 2 文档目录</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="94"/>
         <source>&lt;b&gt;Note&lt;/b&gt;: Leave empty to use the PYTHON2DOCDIR environment variable, if set.</source>
-        <translation>&lt;b&gt;注意&lt;/b&gt;: 为空时使用 PYTHON2DOCDIR 环境变量,如果该环境变量已设定。</translation>
+        <translation type="obsolete">&lt;b&gt;注意&lt;/b&gt;: 为空时使用 PYTHON2DOCDIR 环境变量,如果该环境变量已设定。</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="72"/>
+        <source>Python 3 Documentation</source>
+        <translation>Python 3 文档</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="87"/>
+        <source>Enter the Python 3 documentation directory</source>
+        <translation>输入 Python 3 文档目录</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="94"/>
+        <source>&lt;b&gt;Note&lt;/b&gt;: Leave empty to use the PYTHON3DOCDIR environment variable, if set.</source>
+        <translation>&lt;b&gt;注意&lt;/b&gt;: 为空时使用 PYTHON3DOCDIR 环境变量,如果该环境变量已设定。</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="107"/>
-        <source>Python 3 Documentation</source>
-        <translation>Python 3 文档</translation>
+        <source>Qt5 Documentation</source>
+        <translation>Qt5 文档</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="122"/>
-        <source>Enter the Python 3 documentation directory</source>
-        <translation>输入 Python 3 文档目录</translation>
+        <source>Enter the Qt5 documentation directory</source>
+        <translation>输入 Qt5 文档目录</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="129"/>
-        <source>&lt;b&gt;Note&lt;/b&gt;: Leave empty to use the PYTHON3DOCDIR environment variable, if set.</source>
-        <translation>&lt;b&gt;注意&lt;/b&gt;: 为空时使用 PYTHON3DOCDIR 环境变量,如果该环境变量已设定。</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="177"/>
-        <source>Qt5 Documentation</source>
-        <translation>Qt5 文档</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="192"/>
-        <source>Enter the Qt5 documentation directory</source>
-        <translation>输入 Qt5 文档目录</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="199"/>
         <source>&lt;b&gt;Note&lt;/b&gt;: Leave empty to use the QT5DOCDIR environment variable, if set.</source>
         <translation>&lt;b&gt;注意&lt;/b&gt;: 为空时使用 QT5DOCDIR 环境变量,如果该环境变量已设定。</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="247"/>
+        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="142"/>
         <source>PyQt5 Documentation</source>
         <translation>PyQt5 文档</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="262"/>
+        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="157"/>
         <source>Enter the PyQt5 documentation directory</source>
         <translation>输入 PyQt5 文档目录</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="269"/>
+        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="164"/>
         <source>&lt;b&gt;Note&lt;/b&gt;: Leave empty to use the PYQT5DOCDIR environment variable, if set.</source>
         <translation>&lt;b&gt;注意&lt;/b&gt;: 为空时使用 PYQT5DOCDIR 环境变量,如果该环境变量已设定。</translation>
     </message>
@@ -27363,17 +27541,17 @@
         <translation>&lt;b&gt;注意&lt;/b&gt;: 为空时使用默认位置。</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="317"/>
+        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="177"/>
         <source>PySide2 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="332"/>
+        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="192"/>
         <source>Enter the PySide2 documentation directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="339"/>
+        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="199"/>
         <source>&lt;b&gt;Note&lt;/b&gt;: Leave empty to use the PYSIDE2DOCDIR environment variable, if set.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -30664,7 +30842,7 @@
         <translation>打开最近的文件(&amp;R)</translation>
     </message>
     <message>
-        <location filename="../HexEdit/HexEditMainWindow.py" line="1431"/>
+        <location filename="../HexEdit/HexEditMainWindow.py" line="1432"/>
         <source>&amp;Clear</source>
         <translation>清除(&amp;C)</translation>
     </message>
@@ -44118,27 +44296,27 @@
 <context>
     <name>Largefiles</name>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="72"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="75"/>
         <source>Convert Project - Converting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="83"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="86"/>
         <source>Convert Project - Extracting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="132"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="135"/>
         <source>Adding files to the Mercurial repository</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="169"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="172"/>
         <source>Pulling large files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="198"/>
+        <location filename="../Plugins/VcsPlugins/vcsMercurial/LargefilesExtension/largefiles.py" line="201"/>
         <source>Verifying the integrity of large files</source>
         <translation type="unfinished"></translation>
     </message>
@@ -45566,27 +45744,27 @@
         <translation>属性</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="145"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="143"/>
         <source>Ruby</source>
         <translation>Ruby</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="147"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="145"/>
         <source>SQL</source>
         <translation>SQL</translation>
     </message>
     <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="149"/>
+        <source>TeX</source>
+        <translation>TeX</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="151"/>
-        <source>TeX</source>
-        <translation>TeX</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="153"/>
         <source>VHDL</source>
         <translation>VHDL</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="149"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="147"/>
         <source>TCL</source>
         <translation>TCL</translation>
     </message>
@@ -45611,377 +45789,367 @@
         <translation>PostScript</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="155"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="153"/>
         <source>XML</source>
         <translation>XML</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="157"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="155"/>
         <source>YAML</source>
         <translation>YAML</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="185"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="183"/>
         <source>Pygments</source>
         <translation>Pygments</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="584"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="575"/>
         <source>Quixote Template Files (*.ptl)</source>
         <translation>Quixote 模板文件 (*.ptl)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="587"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="578"/>
         <source>Ruby Files (*.rb)</source>
         <translation>Ruby 文件 (*.rb)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="590"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="581"/>
         <source>IDL Files (*.idl)</source>
         <translation>IDL 文件 (*.idl)</translation>
     </message>
     <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="408"/>
+        <source>C Files (*.h *.c)</source>
+        <translation>C 文件 (*.h *.c)</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="411"/>
-        <source>C Files (*.h *.c)</source>
-        <translation>C 文件 (*.h *.c)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="414"/>
         <source>C++ Files (*.h *.hpp *.hh *.cxx *.cpp *.cc)</source>
         <translation>C++ 文件 (*.h *.hpp *.hh *.cxx *.cpp *.cc)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="605"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="596"/>
         <source>C# Files (*.cs)</source>
         <translation>C# 文件 (*.cs)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="420"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="417"/>
         <source>HTML Files (*.html *.htm *.asp *.shtml)</source>
         <translation>HTML 文件 (*.html *.htm *.asp *.shtml)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="617"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="608"/>
         <source>CSS Files (*.css)</source>
         <translation>CSS 文件 (*.css)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="620"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="611"/>
         <source>QSS Files (*.qss)</source>
         <translation>QSS 文件 (*.qss)</translation>
     </message>
     <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="426"/>
+        <source>PHP Files (*.php *.php3 *.php4 *.php5 *.phtml)</source>
+        <translation>PHP 文件 (*.php *.php3 *.php4 *.php5 *.phtml)</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="429"/>
-        <source>PHP Files (*.php *.php3 *.php4 *.php5 *.phtml)</source>
-        <translation>PHP 文件 (*.php *.php3 *.php4 *.php5 *.phtml)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="432"/>
         <source>XML Files (*.xml *.xsl *.xslt *.dtd *.svg *.xul *.xsd)</source>
         <translation>XML 文件 (*.xml *.xsl *.xslt *.dtd *.svg *.xul *.xsd)</translation>
     </message>
     <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="623"/>
+        <source>Qt Resource Files (*.qrc)</source>
+        <translation>Qt 资源文件 (*.qrc)</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="435"/>
+        <source>D Files (*.d *.di)</source>
+        <translation>D 文件 (*.d *.di)</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="632"/>
-        <source>Qt Resource Files (*.qrc)</source>
-        <translation>Qt 资源文件 (*.qrc)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="438"/>
-        <source>D Files (*.d *.di)</source>
-        <translation>D 文件 (*.d *.di)</translation>
+        <source>Java Files (*.java)</source>
+        <translation>Java 文件 (*.java)</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="635"/>
+        <source>JavaScript Files (*.js)</source>
+        <translation>JavaScript 文件 (*.js)</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="638"/>
+        <source>SQL Files (*.sql)</source>
+        <translation>SQL 文件 (*.sql)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="641"/>
-        <source>Java Files (*.java)</source>
-        <translation>Java 文件 (*.java)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="644"/>
-        <source>JavaScript Files (*.js)</source>
-        <translation>JavaScript 文件 (*.js)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="647"/>
-        <source>SQL Files (*.sql)</source>
-        <translation>SQL 文件 (*.sql)</translation>
+        <source>Docbook Files (*.docbook)</source>
+        <translation>Docbook 文件 (*.docbook)</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="450"/>
+        <source>Perl Files (*.pl *.pm *.ph)</source>
+        <translation>Perl 文件 (*.pl *.pm *.ph)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="650"/>
-        <source>Docbook Files (*.docbook)</source>
-        <translation>Docbook 文件 (*.docbook)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="453"/>
-        <source>Perl Files (*.pl *.pm *.ph)</source>
-        <translation>Perl 文件 (*.pl *.pm *.ph)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="659"/>
         <source>Lua Files (*.lua)</source>
         <translation>Lua 文件 (*.lua)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="459"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="456"/>
         <source>Tex Files (*.tex *.sty *.aux *.toc *.idx)</source>
         <translation>Tex 文件 (*.tex *.sty *.aux *.toc *.idx)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="662"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="653"/>
         <source>Shell Files (*.sh)</source>
         <translation>命令行文件 (*.sh)</translation>
     </message>
     <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="462"/>
+        <source>Batch Files (*.bat *.cmd)</source>
+        <translation>批处理文件 (*.bat *.cmd)</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="465"/>
-        <source>Batch Files (*.bat *.cmd)</source>
-        <translation>批处理文件 (*.bat *.cmd)</translation>
+        <source>Diff Files (*.diff *.patch)</source>
+        <translation>差异文件 (*.diff *.patch)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="468"/>
-        <source>Diff Files (*.diff *.patch)</source>
-        <translation>差异文件 (*.diff *.patch)</translation>
+        <source>Makefiles (*makefile Makefile *.mak)</source>
+        <translation type="unfinished">Makefiles (*.mak)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="471"/>
-        <source>Makefiles (*makefile Makefile *.mak)</source>
-        <translation type="unfinished">Makefiles (*.mak)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="474"/>
         <source>Properties Files (*.properties *.ini *.inf *.reg *.cfg *.cnf *.rc)</source>
         <translation>属性文件 (*.properties *.ini *.inf *.reg *.cfg *.cnf *.rc)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="686"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="677"/>
         <source>Povray Files (*.pov)</source>
         <translation>Povray 文件 (*.pov)</translation>
     </message>
     <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="478"/>
+        <source>CMake Files (CMakeLists.txt *.cmake *.ctest)</source>
+        <translation>CMake 文件 (CMakeLists.txt *.cmake *.ctest)</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="481"/>
-        <source>CMake Files (CMakeLists.txt *.cmake *.ctest)</source>
-        <translation>CMake 文件 (CMakeLists.txt *.cmake *.ctest)</translation>
+        <source>VHDL Files (*.vhd *.vhdl)</source>
+        <translation>VHDL 文件 (*.vhd *.vhdl)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="484"/>
-        <source>VHDL Files (*.vhd *.vhdl)</source>
-        <translation>VHDL 文件 (*.vhd *.vhdl)</translation>
+        <source>TCL/Tk Files (*.tcl *.tk)</source>
+        <translation>TCL/Tk 文件 (*.vhd *.vhdl)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="487"/>
-        <source>TCL/Tk Files (*.tcl *.tk)</source>
-        <translation>TCL/Tk 文件 (*.vhd *.vhdl)</translation>
+        <source>Fortran Files (*.f90 *.f95 *.f2k)</source>
+        <translation>Fortran 文件 (*.f90 *.f95 *.f2k)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="490"/>
-        <source>Fortran Files (*.f90 *.f95 *.f2k)</source>
-        <translation>Fortran 文件 (*.f90 *.f95 *.f2k)</translation>
+        <source>Fortran77 Files (*.f *.for)</source>
+        <translation>Fortran77 文件 (*.f *.for)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="493"/>
-        <source>Fortran77 Files (*.f *.for)</source>
-        <translation>Fortran77 文件 (*.f *.for)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="496"/>
         <source>Pascal Files (*.dpr *.dpk *.pas *.dfm *.inc *.pp)</source>
         <translation>Pascal 文件 (*.dpr *.dpk *.pas *.dfm *.inc *.pp)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="713"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="704"/>
         <source>PostScript Files (*.ps)</source>
         <translation>PostScript 文件 (*.ps)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="502"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="499"/>
         <source>YAML Files (*.yaml *.yml)</source>
         <translation>YAML 文件 (*.yaml *.yml)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="755"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="746"/>
         <source>All Files (*)</source>
         <translation>所有文件 (*)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="596"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="587"/>
         <source>C Files (*.c)</source>
         <translation>C 文件 (*.c)</translation>
     </message>
     <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="590"/>
+        <source>C++ Files (*.cpp)</source>
+        <translation>C++ 文件 (*.cpp)</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="593"/>
+        <source>C++/C Header Files (*.h)</source>
+        <translation>C++/C 头文件 (*.h)</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="599"/>
-        <source>C++ Files (*.cpp)</source>
-        <translation>C++ 文件 (*.cpp)</translation>
+        <source>HTML Files (*.html)</source>
+        <translation>HTML 文件 (*.html)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="602"/>
-        <source>C++/C Header Files (*.h)</source>
-        <translation>C++/C 头文件 (*.h)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="608"/>
-        <source>HTML Files (*.html)</source>
-        <translation>HTML 文件 (*.html)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="611"/>
         <source>PHP Files (*.php)</source>
         <translation>PHP 文件 (*.php)</translation>
     </message>
     <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="605"/>
+        <source>ASP Files (*.asp)</source>
+        <translation>ASP 文件 (*.asp)</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="614"/>
-        <source>ASP Files (*.asp)</source>
-        <translation>ASP 文件 (*.asp)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="623"/>
         <source>XML Files (*.xml)</source>
         <translation>XML 文件 (*.xml)</translation>
     </message>
     <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="617"/>
+        <source>XSL Files (*.xsl)</source>
+        <translation>XSL 文件 (*.xsl)</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="620"/>
+        <source>DTD Files (*.dtd)</source>
+        <translation>DTD 文件 (*.dtd)</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="626"/>
-        <source>XSL Files (*.xsl)</source>
-        <translation>XSL 文件 (*.xsl)</translation>
+        <source>D Files (*.d)</source>
+        <translation>D 文件 (*.d)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="629"/>
-        <source>DTD Files (*.dtd)</source>
-        <translation>DTD 文件 (*.dtd)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="635"/>
-        <source>D Files (*.d)</source>
-        <translation>D 文件 (*.d)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="638"/>
         <source>D Interface Files (*.di)</source>
         <translation>D 界面文件 (*.di)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="653"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="644"/>
         <source>Perl Files (*.pl)</source>
         <translation>Perl 文件 (*.pl)</translation>
     </message>
     <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="647"/>
+        <source>Perl Module Files (*.pm)</source>
+        <translation>Perl 模块文件 (*.pm)</translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="656"/>
-        <source>Perl Module Files (*.pm)</source>
-        <translation>Perl 模块文件 (*.pm)</translation>
+        <source>Batch Files (*.bat)</source>
+        <translation>批处理文件 (*.bat)</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="659"/>
+        <source>TeX Files (*.tex)</source>
+        <translation>TeX 文件 (*.tex)</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="662"/>
+        <source>TeX Template Files (*.sty)</source>
+        <translation>TeX 模板文件 (*.sty)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="665"/>
-        <source>Batch Files (*.bat)</source>
-        <translation>批处理文件 (*.bat)</translation>
+        <source>Diff Files (*.diff)</source>
+        <translation>差异文件 (*.diff)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="668"/>
-        <source>TeX Files (*.tex)</source>
-        <translation>TeX 文件 (*.tex)</translation>
+        <source>Make Files (*.mak)</source>
+        <translation>Make 文件 (*.mak)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="671"/>
-        <source>TeX Template Files (*.sty)</source>
-        <translation>TeX 模板文件 (*.sty)</translation>
+        <source>Properties Files (*.ini)</source>
+        <translation>属性文件 (*.ini)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="674"/>
-        <source>Diff Files (*.diff)</source>
-        <translation>差异文件 (*.diff)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="677"/>
-        <source>Make Files (*.mak)</source>
-        <translation>Make 文件 (*.mak)</translation>
+        <source>Configuration Files (*.cfg)</source>
+        <translation>配置文件 (*.cfg)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="680"/>
-        <source>Properties Files (*.ini)</source>
-        <translation>属性文件 (*.ini)</translation>
+        <source>CMake Files (CMakeLists.txt)</source>
+        <translation>CMake 文件 (CMakeLists.txt)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="683"/>
-        <source>Configuration Files (*.cfg)</source>
-        <translation>配置文件 (*.cfg)</translation>
+        <source>CMake Macro Files (*.cmake)</source>
+        <translation>CMake 宏文件 (*.cmake)</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="686"/>
+        <source>VHDL Files (*.vhd)</source>
+        <translation>VHDL 文件 (*.vhd)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="689"/>
-        <source>CMake Files (CMakeLists.txt)</source>
-        <translation>CMake 文件 (CMakeLists.txt)</translation>
+        <source>TCL Files (*.tcl)</source>
+        <translation>TCL 文件 (*.tcl)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="692"/>
-        <source>CMake Macro Files (*.cmake)</source>
-        <translation>CMake 宏文件 (*.cmake)</translation>
+        <source>Tk Files (*.tk)</source>
+        <translation>Tk 文件 (*.tk)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="695"/>
-        <source>VHDL Files (*.vhd)</source>
-        <translation>VHDL 文件 (*.vhd)</translation>
+        <source>Fortran Files (*.f95)</source>
+        <translation>Fortran 文件 (*.f95)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="698"/>
-        <source>TCL Files (*.tcl)</source>
-        <translation>TCL 文件 (*.tcl)</translation>
+        <source>Fortran77 Files (*.f)</source>
+        <translation>Fortran77 文件 (*.f)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="701"/>
-        <source>Tk Files (*.tk)</source>
-        <translation>Tk 文件 (*.tk)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="704"/>
-        <source>Fortran Files (*.f95)</source>
-        <translation>Fortran 文件 (*.f95)</translation>
+        <source>Pascal Files (*.pas)</source>
+        <translation>Pascal 文件 (*.pas)</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="707"/>
-        <source>Fortran77 Files (*.f)</source>
-        <translation>Fortran77 文件 (*.f)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="710"/>
-        <source>Pascal Files (*.pas)</source>
-        <translation>Pascal 文件 (*.pas)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="716"/>
         <source>YAML Files (*.yml)</source>
         <translation>YAML 文件 (*.yml)</translation>
     </message>
     <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="387"/>
+        <source>Python Files (*.py *.py2 *.py3)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="390"/>
-        <source>Python Files (*.py *.py2 *.py3)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="393"/>
         <source>Python GUI Files (*.pyw *.pyw2 *.pyw3)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="566"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="560"/>
         <source>Python3 Files (*.py)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="572"/>
-        <source>Python3 GUI Files (*.pyw)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="563"/>
-        <source>Python2 Files (*.py2)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="569"/>
-        <source>Python2 GUI Files (*.pyw2)</source>
+        <source>Python3 GUI Files (*.pyw)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="137"/>
         <source>Python2</source>
-        <translation type="unfinished">Python2</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="139"/>
+        <translation type="obsolete">Python2</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="137"/>
         <source>Python3</source>
         <translation type="unfinished">Python3</translation>
     </message>
@@ -45996,67 +46164,67 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="505"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="502"/>
         <source>Matlab Files (*.m *.m.matlab)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="719"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="710"/>
         <source>Matlab Files (*.m)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="722"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="713"/>
         <source>Octave Files (*.m.octave)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="508"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="505"/>
         <source>Octave Files (*.m *.m.octave)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="143"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="141"/>
         <source>QSS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="157"/>
+        <source>Gettext</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="716"/>
+        <source>Gettext Files (*.po)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="159"/>
-        <source>Gettext</source>
-        <translation type="unfinished"></translation>
+        <source>CoffeeScript</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="719"/>
+        <source>CoffeeScript Files (*.coffee)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="165"/>
+        <source>JSON</source>
+        <translation type="unfinished">JSON</translation>
     </message>
     <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="725"/>
-        <source>Gettext Files (*.po)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="161"/>
-        <source>CoffeeScript</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="728"/>
-        <source>CoffeeScript Files (*.coffee)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="167"/>
-        <source>JSON</source>
-        <translation type="unfinished">JSON</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="734"/>
         <source>JSON Files (*.json)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="172"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="170"/>
         <source>Markdown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="739"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="730"/>
         <source>Markdown Files (*.md)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -46066,7 +46234,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="593"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="584"/>
         <source>Protocol Files (*.proto)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -46076,27 +46244,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="396"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="393"/>
         <source>Cython Files (*.pyx *.pxd *.pxi)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="575"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="566"/>
         <source>Cython Files (*.pyx)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="578"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="569"/>
         <source>Cython Declaration Files (*.pxd)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="581"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="572"/>
         <source>Cython Include Files (*.pxi)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="141"/>
+        <location filename="../QScintilla/Lexers/__init__.py" line="139"/>
         <source>MicroPython</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48810,12 +48978,12 @@
         <translation>&lt;b&gt;保存副本&lt;/b&gt;保存当前编辑器窗口内容的一个副本。文件可以在文件选择对话框中输入。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3441"/>
+        <location filename="../QScintilla/MiniEditor.py" line="3399"/>
         <source>EditorConfig Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../QScintilla/MiniEditor.py" line="3441"/>
+        <location filename="../QScintilla/MiniEditor.py" line="3399"/>
         <source>&lt;p&gt;The EditorConfig properties for file &lt;b&gt;{0}&lt;/b&gt; could not be loaded.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48828,463 +48996,463 @@
 <context>
     <name>MiscellaneousChecker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="492"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="495"/>
         <source>coding magic comment not found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="495"/>
-        <source>unknown encoding ({0}) found in coding magic comment</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="498"/>
-        <source>copyright notice not present</source>
+        <source>unknown encoding ({0}) found in coding magic comment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="501"/>
-        <source>copyright notice contains invalid author</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="702"/>
-        <source>found {0} formatter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="705"/>
-        <source>format string does contain unindexed parameters</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="708"/>
-        <source>docstring does contain unindexed parameters</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="711"/>
-        <source>other string does contain unindexed parameters</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="714"/>
-        <source>format call uses too large index ({0})</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="717"/>
-        <source>format call uses missing keyword ({0})</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="720"/>
-        <source>format call uses keyword arguments but no named entries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="723"/>
-        <source>format call uses variable arguments but no numbered entries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="726"/>
-        <source>format call uses implicit and explicit indexes together</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="729"/>
-        <source>format call provides unused index ({0})</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="732"/>
-        <source>format call provides unused keyword ({0})</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="751"/>
-        <source>expected these __future__ imports: {0}; but only got: {1}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="754"/>
-        <source>expected these __future__ imports: {0}; but got none</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="761"/>
-        <source>print statement found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="764"/>
-        <source>one element tuple found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="800"/>
-        <source>{0}: {1}</source>
+        <source>copyright notice not present</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="504"/>
+        <source>copyright notice contains invalid author</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="705"/>
+        <source>found {0} formatter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="708"/>
+        <source>format string does contain unindexed parameters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="711"/>
+        <source>docstring does contain unindexed parameters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="714"/>
+        <source>other string does contain unindexed parameters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="717"/>
+        <source>format call uses too large index ({0})</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="720"/>
+        <source>format call uses missing keyword ({0})</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="723"/>
+        <source>format call uses keyword arguments but no named entries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="726"/>
+        <source>format call uses variable arguments but no numbered entries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="729"/>
+        <source>format call uses implicit and explicit indexes together</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="732"/>
+        <source>format call provides unused index ({0})</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="735"/>
+        <source>format call provides unused keyword ({0})</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="754"/>
+        <source>expected these __future__ imports: {0}; but only got: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="757"/>
+        <source>expected these __future__ imports: {0}; but got none</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="764"/>
+        <source>print statement found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="767"/>
+        <source>one element tuple found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="803"/>
+        <source>{0}: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="507"/>
         <source>&quot;{0}&quot; is a Python builtin and is being shadowed; consider renaming the variable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="508"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="511"/>
         <source>&quot;{0}&quot; is used as an argument and thus shadows a Python builtin; consider renaming the argument</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="512"/>
-        <source>unnecessary generator - rewrite as a list comprehension</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="515"/>
-        <source>unnecessary generator - rewrite as a set comprehension</source>
+        <source>unnecessary generator - rewrite as a list comprehension</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="518"/>
-        <source>unnecessary generator - rewrite as a dict comprehension</source>
+        <source>unnecessary generator - rewrite as a set comprehension</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="521"/>
-        <source>unnecessary list comprehension - rewrite as a set comprehension</source>
+        <source>unnecessary generator - rewrite as a dict comprehension</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="524"/>
+        <source>unnecessary list comprehension - rewrite as a set comprehension</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="527"/>
         <source>unnecessary list comprehension - rewrite as a dict comprehension</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="530"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="533"/>
         <source>unnecessary list comprehension - &quot;{0}&quot; can take a generator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="770"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="773"/>
         <source>mutable default argument of type {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="555"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="558"/>
         <source>sort keys - &apos;{0}&apos; should be before &apos;{1}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="738"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="741"/>
         <source>logging statement uses &apos;%&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="744"/>
-        <source>logging statement uses f-string</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="747"/>
+        <source>logging statement uses f-string</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="750"/>
         <source>logging statement uses &apos;warn&apos; instead of &apos;warning&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="735"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="738"/>
         <source>logging statement uses string.format()</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="741"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="744"/>
         <source>logging statement uses &apos;+&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="757"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="760"/>
         <source>gettext import with alias _ found: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="648"/>
-        <source>Python does not support the unary prefix increment</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="657"/>
-        <source>&apos;sys.maxint&apos; is not defined in Python 3 - use &apos;sys.maxsize&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="660"/>
-        <source>&apos;BaseException.message&apos; has been deprecated as of Python 2.6 and is removed in Python 3 - use &apos;str(e)&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="664"/>
-        <source>assigning to &apos;os.environ&apos; does not clear the environment - use &apos;os.environ.clear()&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="688"/>
-        <source>Python 3 does not include &apos;.iter*&apos; methods on dictionaries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="691"/>
-        <source>Python 3 does not include &apos;.view*&apos; methods on dictionaries</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="694"/>
-        <source>&apos;.next()&apos; does not exist in Python 3</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="697"/>
-        <source>&apos;__metaclass__&apos; does nothing on Python 3 - use &apos;class MyClass(BaseClass, metaclass=...)&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="773"/>
-        <source>mutable default argument of function call &apos;{0}&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="651"/>
-        <source>using .strip() with multi-character strings is misleading</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="678"/>
-        <source>using &apos;hasattr(x, &quot;__call__&quot;)&apos; to test if &apos;x&apos; is callable is unreliable</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="668"/>
-        <source>loop control variable {0} not used within the loop body - start the name with an underscore</source>
+        <source>Python does not support the unary prefix increment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="660"/>
+        <source>&apos;sys.maxint&apos; is not defined in Python 3 - use &apos;sys.maxsize&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="663"/>
+        <source>&apos;BaseException.message&apos; has been deprecated as of Python 2.6 and is removed in Python 3 - use &apos;str(e)&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="667"/>
+        <source>assigning to &apos;os.environ&apos; does not clear the environment - use &apos;os.environ.clear()&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="691"/>
+        <source>Python 3 does not include &apos;.iter*&apos; methods on dictionaries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="694"/>
+        <source>Python 3 does not include &apos;.view*&apos; methods on dictionaries</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="697"/>
+        <source>&apos;.next()&apos; does not exist in Python 3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="700"/>
+        <source>&apos;__metaclass__&apos; does nothing on Python 3 - use &apos;class MyClass(BaseClass, metaclass=...)&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="776"/>
-        <source>None should not be added at any return if function has no return value except None</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="780"/>
-        <source>an explicit value at every return should be added if function has a return value except None</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="784"/>
-        <source>an explicit return at the end of the function should be added if it has a return value except None</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="788"/>
-        <source>a value should not be assigned to a variable if it will be used as a return value only</source>
+        <source>mutable default argument of function call &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="654"/>
+        <source>using .strip() with multi-character strings is misleading</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="681"/>
+        <source>using &apos;hasattr(x, &quot;__call__&quot;)&apos; to test if &apos;x&apos; is callable is unreliable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="671"/>
+        <source>loop control variable {0} not used within the loop body - start the name with an underscore</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="779"/>
+        <source>None should not be added at any return if function has no return value except None</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="783"/>
+        <source>an explicit value at every return should be added if function has a return value except None</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="787"/>
+        <source>an explicit return at the end of the function should be added if it has a return value except None</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="791"/>
+        <source>a value should not be assigned to a variable if it will be used as a return value only</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="657"/>
         <source>do not call assert False since python -O removes these calls</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="672"/>
-        <source>unncessary f-string</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="675"/>
+        <source>unncessary f-string</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="678"/>
         <source>cannot use &apos;self.__class__&apos; as first argument of &apos;super()&apos; call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="682"/>
-        <source>do not call getattr with a constant attribute value</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="685"/>
+        <source>do not call getattr with a constant attribute value</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="688"/>
         <source>do not call setattr with a constant attribute value</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="796"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="799"/>
         <source>commented code lines should be removed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="792"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="795"/>
         <source>prefer implied line continuation inside parentheses, brackets and braces as opposed to a backslash</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="559"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="562"/>
         <source>use of &apos;datetime.datetime()&apos; without &apos;tzinfo&apos; argument should be avoided</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="563"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="566"/>
         <source>use of &apos;datetime.datetime.today()&apos; should be avoided.
 Use &apos;datetime.datetime.now(tz=)&apos; instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="567"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="570"/>
         <source>use of &apos;datetime.datetime.utcnow()&apos; should be avoided.
 Use &apos;datetime.datetime.now(tz=)&apos; instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="571"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="574"/>
         <source>use of &apos;datetime.datetime.utcfromtimestamp()&apos; should be avoided.
 Use &apos;datetime.datetime.fromtimestamp(, tz=)&apos; instead.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="575"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="578"/>
         <source>use of &apos;datetime.datetime.now()&apos; without &apos;tz&apos; argument should be avoided</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="579"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="582"/>
         <source>use of &apos;datetime.datetime.fromtimestamp()&apos; without &apos;tz&apos; argument should be avoided</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="583"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="586"/>
         <source>use of &apos;datetime.datetime.strptime()&apos; should be followed by &apos;.replace(tzinfo=)&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="593"/>
+        <source>use of &apos;datetime.date()&apos; should be avoided.
+Use &apos;datetime.datetime(, tzinfo=).date()&apos; instead.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
+        <source>use of &apos;datetime.date.today()&apos; should be avoided.
+Use &apos;datetime.datetime.now(tz=).date()&apos; instead.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="601"/>
+        <source>use of &apos;datetime.date.fromtimestamp()&apos; should be avoided.
+Use &apos;datetime.datetime.fromtimestamp(tz=).date()&apos; instead.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="611"/>
+        <source>use of &apos;datetime.time()&apos; without &apos;tzinfo&apos; argument should be avoided</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="590"/>
-        <source>use of &apos;datetime.date()&apos; should be avoided.
-Use &apos;datetime.datetime(, tzinfo=).date()&apos; instead.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="594"/>
-        <source>use of &apos;datetime.date.today()&apos; should be avoided.
-Use &apos;datetime.datetime.now(tz=).date()&apos; instead.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="598"/>
-        <source>use of &apos;datetime.date.fromtimestamp()&apos; should be avoided.
-Use &apos;datetime.datetime.fromtimestamp(tz=).date()&apos; instead.</source>
+        <source>use of &apos;datetime.datetime.fromordinal()&apos; should be avoided</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="605"/>
+        <source>use of &apos;datetime.date.fromordinal()&apos; should be avoided</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="608"/>
-        <source>use of &apos;datetime.time()&apos; without &apos;tzinfo&apos; argument should be avoided</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="587"/>
-        <source>use of &apos;datetime.datetime.fromordinal()&apos; should be avoided</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="602"/>
-        <source>use of &apos;datetime.date.fromordinal()&apos; should be avoided</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="605"/>
         <source>use of &apos;datetime.date.fromisoformat()&apos; should be avoided</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="527"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="530"/>
         <source>unnecessary {0} call - rewrite as a literal</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="533"/>
-        <source>unnecessary {0} literal - rewrite as a {1} literal</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="536"/>
-        <source>unnecessary {0} passed to tuple() - rewrite as a {1} literal</source>
+        <source>unnecessary {0} literal - rewrite as a {1} literal</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="539"/>
-        <source>unnecessary {0} passed to list() - rewrite as a {1} literal</source>
+        <source>unnecessary {0} passed to tuple() - rewrite as a {1} literal</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="542"/>
-        <source>unnecessary list call - remove the outer call to list()</source>
+        <source>unnecessary {0} passed to list() - rewrite as a {1} literal</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="545"/>
-        <source>unnecessary list comprehension - &quot;in&quot; can take a generator</source>
+        <source>unnecessary list call - remove the outer call to list()</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="548"/>
-        <source>unnecessary {0} passed to tuple() - remove the outer call to {1}()</source>
+        <source>unnecessary list comprehension - &quot;in&quot; can take a generator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="551"/>
+        <source>unnecessary {0} passed to tuple() - remove the outer call to {1}()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="554"/>
         <source>unnecessary {0} passed to list() - remove the outer call to {1}()</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="613"/>
-        <source>&apos;sys.version[:3]&apos; referenced (Python 3.10), use &apos;sys.version_info&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="616"/>
-        <source>&apos;sys.version[2]&apos; referenced (Python 3.10), use &apos;sys.version_info&apos;</source>
+        <source>&apos;sys.version[:3]&apos; referenced (Python 3.10), use &apos;sys.version_info&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="619"/>
+        <source>&apos;sys.version[2]&apos; referenced (Python 3.10), use &apos;sys.version_info&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="622"/>
         <source>&apos;sys.version&apos; compared to string (Python 3.10), use &apos;sys.version_info&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="623"/>
-        <source>&apos;sys.version_info[0] == 3&apos; referenced (Python 4), use &apos;&gt;=&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="626"/>
-        <source>&apos;six.PY3&apos; referenced (Python 4), use &apos;not six.PY2&apos;</source>
+        <source>&apos;sys.version_info[0] == 3&apos; referenced (Python 4), use &apos;&gt;=&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="629"/>
+        <source>&apos;six.PY3&apos; referenced (Python 4), use &apos;not six.PY2&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="632"/>
         <source>&apos;sys.version_info[1]&apos; compared to integer (Python 4), compare &apos;sys.version_info&apos; to tuple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="633"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="636"/>
         <source>&apos;sys.version_info.minor&apos; compared to integer (Python 4), compare &apos;sys.version_info&apos; to tuple</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="637"/>
-        <source>&apos;sys.version[0]&apos; referenced (Python 10), use &apos;sys.version_info&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="640"/>
+        <source>&apos;sys.version[0]&apos; referenced (Python 10), use &apos;sys.version_info&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="643"/>
         <source>&apos;sys.version&apos; compared to string (Python 10), use &apos;sys.version_info&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="644"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="647"/>
         <source>&apos;sys.version[:1]&apos; referenced (Python 10), use &apos;sys.version_info&apos;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -49740,72 +49908,72 @@
 <context>
     <name>NamingStyleChecker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="432"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="435"/>
         <source>class names should use CapWords convention</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="435"/>
-        <source>function name should be lowercase</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="438"/>
-        <source>argument name should be lowercase</source>
+        <source>function name should be lowercase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="441"/>
-        <source>first argument of a class method should be named &apos;cls&apos;</source>
+        <source>argument name should be lowercase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="444"/>
-        <source>first argument of a method should be named &apos;self&apos;</source>
+        <source>first argument of a class method should be named &apos;cls&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="447"/>
+        <source>first argument of a method should be named &apos;self&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="450"/>
         <source>first argument of a static method should not be named &apos;self&apos; or &apos;cls</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="451"/>
-        <source>module names should be lowercase</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="454"/>
-        <source>package names should be lowercase</source>
+        <source>module names should be lowercase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="457"/>
-        <source>constant imported as non constant</source>
+        <source>package names should be lowercase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="460"/>
-        <source>lowercase imported as non lowercase</source>
+        <source>constant imported as non constant</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="463"/>
-        <source>camelcase imported as lowercase</source>
+        <source>lowercase imported as non lowercase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="466"/>
-        <source>camelcase imported as constant</source>
+        <source>camelcase imported as lowercase</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="469"/>
-        <source>variable in function should be lowercase</source>
+        <source>camelcase imported as constant</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="472"/>
+        <source>variable in function should be lowercase</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="475"/>
         <source>names &apos;l&apos;, &apos;O&apos; and &apos;I&apos; should be avoided</source>
         <translation type="unfinished"></translation>
     </message>
@@ -51367,6 +51535,41 @@
         <source>You are trying to upgrade PyQt packages. This might not work for the current instance of Python ({0}). Do you want to continue?</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PipInterface/Pip.py" line="679"/>
+        <source>Cache Info</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/Pip.py" line="704"/>
+        <source>List Cached Files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/Pip.py" line="694"/>
+        <source>Enter a file pattern (empty for all):</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/Pip.py" line="728"/>
+        <source>Remove Cached Files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/Pip.py" line="720"/>
+        <source>Enter a file pattern:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/Pip.py" line="751"/>
+        <source>Purge Cache</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/Pip.py" line="744"/>
+        <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>PipDialog</name>
@@ -52152,7 +52355,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1015"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1033"/>
         <source>Install Packages</source>
         <translation type="unfinished"></translation>
     </message>
@@ -52177,28 +52380,48 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="942"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="955"/>
         <source>Edit User Configuration...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="945"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="958"/>
         <source>Edit Environment Configuration...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="963"/>
+        <source>Configure...</source>
+        <translation type="unfinished">配置…</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1146"/>
+        <source>Edit Configuration</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1146"/>
+        <source>No valid configuration path determined. Aborting</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="941"/>
+        <source>Show Cache Info...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="944"/>
+        <source>Show Cached Files...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="947"/>
+        <source>Remove Cached Files...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="950"/>
-        <source>Configure...</source>
-        <translation type="unfinished">配置…</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1128"/>
-        <source>Edit Configuration</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1128"/>
-        <source>No valid configuration path determined. Aborting</source>
+        <source>Purge Cache...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -53489,17 +53712,17 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../Preferences/__init__.py" line="1645"/>
+        <location filename="../Preferences/__init__.py" line="1604"/>
         <source>Export Preferences</source>
         <translation>导出首选项</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1673"/>
+        <location filename="../Preferences/__init__.py" line="1632"/>
         <source>Import Preferences</source>
         <translation>导入首选项</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1673"/>
+        <location filename="../Preferences/__init__.py" line="1632"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation>属性文件 (*.ini);;所有文件 (*)</translation>
     </message>
@@ -53839,60 +54062,60 @@
     <message>
         <location filename="../Preferences/ProgramsDialog.py" line="215"/>
         <source>Forms Compiler (Ruby, Qt4)</source>
-        <translation>窗体编译器(Ruby, Qt4)</translation>
+        <translation type="obsolete">窗体编译器(Ruby, Qt4)</translation>
     </message>
     <message>
         <location filename="../Preferences/ProgramsDialog.py" line="220"/>
         <source>Resource Compiler (Ruby, Qt4)</source>
-        <translation>资源编译器(Ruby, Qt4)</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="249"/>
+        <translation type="obsolete">资源编译器(Ruby, Qt4)</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="203"/>
         <source>CORBA IDL Compiler</source>
         <translation>CORBA IDL 编译器</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="388"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="342"/>
         <source>(not configured)</source>
         <translation>(未配置)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="446"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="400"/>
         <source>(not executable)</source>
         <translation>(不可执行)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="489"/>
-        <source>(not found)</source>
-        <translation>(未找到)</translation>
-    </message>
-    <message>
         <location filename="../Preferences/ProgramsDialog.py" line="443"/>
+        <source>(not found)</source>
+        <translation>(未找到)</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="397"/>
         <source>(unknown)</source>
         <translation>(未知)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="281"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="235"/>
         <source>Spell Checker - PyEnchant</source>
         <translation>拼写检查器——PyEnchant</translation>
     </message>
     <message>
         <location filename="../Preferences/ProgramsDialog.py" line="186"/>
         <source>Forms Compiler (Python, PySide)</source>
-        <translation>窗体编译器(Python, PySide)</translation>
+        <translation type="obsolete">窗体编译器(Python, PySide)</translation>
     </message>
     <message>
         <location filename="../Preferences/ProgramsDialog.py" line="191"/>
         <source>Resource Compiler (Python, PySide)</source>
-        <translation>资源编译器(Python, PySide)</translation>
+        <translation type="obsolete">资源编译器(Python, PySide)</translation>
     </message>
     <message>
         <location filename="../Preferences/ProgramsDialog.py" line="181"/>
         <source>Translation Extractor (Python, PySide)</source>
-        <translation>翻译提取工具(Python, PySide)</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="298"/>
+        <translation type="obsolete">翻译提取工具(Python, PySide)</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="252"/>
         <source>Source Highlighter - Pygments</source>
         <translation>代码高亮工具——Pygments</translation>
     </message>
@@ -53919,85 +54142,85 @@
     <message>
         <location filename="../Preferences/ProgramsDialog.py" line="147"/>
         <source>Translation Extractor (Python, PyQt4)</source>
-        <translation>翻译提取工具(Python, PyQt4)</translation>
+        <translation type="obsolete">翻译提取工具(Python, PyQt4)</translation>
     </message>
     <message>
         <location filename="../Preferences/ProgramsDialog.py" line="152"/>
         <source>Forms Compiler (Python, PyQt4)</source>
-        <translation>窗体编译器(Python, PyQt4)</translation>
+        <translation type="obsolete">窗体编译器(Python, PyQt4)</translation>
     </message>
     <message>
         <location filename="../Preferences/ProgramsDialog.py" line="157"/>
         <source>Resource Compiler (Python, PyQt4)</source>
-        <translation>资源编译器(Python, PyQt4)</translation>
+        <translation type="obsolete">资源编译器(Python, PyQt4)</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="146"/>
+        <source>Translation Extractor (Python, PyQt5)</source>
+        <translation>翻译提取工具(Python, PyQt5)</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="151"/>
+        <source>Forms Compiler (Python, PyQt5)</source>
+        <translation>窗体编译器(Python, PyQt5)</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="156"/>
+        <source>Resource Compiler (Python, PyQt5)</source>
+        <translation>资源编译器(Python, PyQt5)</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="211"/>
+        <source>Protobuf Compiler</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="217"/>
+        <source>gRPC Compiler</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ProgramsDialog.py" line="376"/>
+        <source>(module not found)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Preferences/ProgramsDialog.py" line="164"/>
-        <source>Translation Extractor (Python, PyQt5)</source>
-        <translation>翻译提取工具(Python, PyQt5)</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="169"/>
-        <source>Forms Compiler (Python, PyQt5)</source>
-        <translation>窗体编译器(Python, PyQt5)</translation>
+        <source>Translation Extractor (Python, PySide2)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Preferences/ProgramsDialog.py" line="174"/>
-        <source>Resource Compiler (Python, PyQt5)</source>
-        <translation>资源编译器(Python, PyQt5)</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="257"/>
-        <source>Protobuf Compiler</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="263"/>
-        <source>gRPC Compiler</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="422"/>
-        <source>(module not found)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="198"/>
-        <source>Translation Extractor (Python, PySide2)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="208"/>
         <source>Resource Compiler (Python, PySide2)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="203"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="169"/>
         <source>Forms Compiler (Python, PySide2)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="231"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="185"/>
         <source>conda Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="238"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="192"/>
         <source>PyPI Package Management</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="305"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="259"/>
         <source>MicroPython - MPY Cross Compiler</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="308"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="262"/>
         <source>MicroPython - ESP Tool</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="314"/>
+        <location filename="../Preferences/ProgramsDialog.py" line="268"/>
         <source>MicroPython - PyBoard Flasher</source>
         <translation type="unfinished"></translation>
     </message>
@@ -54030,1291 +54253,1271 @@
 <context>
     <name>Project</name>
     <message>
-        <location filename="../Project/Project.py" line="283"/>
+        <location filename="../Project/Project.py" line="270"/>
         <source>Console</source>
         <translation>控制台程序</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="284"/>
+        <location filename="../Project/Project.py" line="271"/>
         <source>Other</source>
         <translation>其它</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="396"/>
+        <location filename="../Project/Project.py" line="368"/>
         <source>Registering Project Type</source>
         <translation>注册项目类型</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="817"/>
+        <location filename="../Project/Project.py" line="783"/>
         <source>Read project file</source>
         <translation>读取项目文件</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="920"/>
+        <location filename="../Project/Project.py" line="886"/>
         <source>Save project file</source>
         <translation>保存项目文件</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="956"/>
+        <location filename="../Project/Project.py" line="922"/>
         <source>Read user project properties</source>
         <translation>读取用户项目属性</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="980"/>
+        <location filename="../Project/Project.py" line="946"/>
         <source>Save user project properties</source>
         <translation>保存用户项目属性</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1038"/>
+        <location filename="../Project/Project.py" line="1004"/>
         <source>Read project session</source>
         <translation>读取项目会话</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1263"/>
+        <location filename="../Project/Project.py" line="1229"/>
         <source>Please save the project first.</source>
         <translation>请先保存项目。</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1074"/>
+        <location filename="../Project/Project.py" line="1040"/>
         <source>Save project session</source>
         <translation>保存项目会话</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="1069"/>
+        <source>Delete project session</source>
+        <translation>删除项目会话</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="1103"/>
-        <source>Delete project session</source>
-        <translation>删除项目会话</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="1137"/>
         <source>Read tasks</source>
         <translation>读取任务</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1157"/>
+        <location filename="../Project/Project.py" line="1123"/>
         <source>Save tasks</source>
         <translation>保存任务</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1216"/>
+        <location filename="../Project/Project.py" line="1182"/>
         <source>Read debugger properties</source>
         <translation>读取调试器属性</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1251"/>
+        <location filename="../Project/Project.py" line="1217"/>
         <source>Save debugger properties</source>
         <translation>保存调试器属性</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1277"/>
+        <location filename="../Project/Project.py" line="1243"/>
         <source>Delete debugger properties</source>
         <translation>删除调试器属性</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1405"/>
+        <location filename="../Project/Project.py" line="1371"/>
         <source>Add Language</source>
         <translation>添加语言</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1405"/>
+        <location filename="../Project/Project.py" line="1371"/>
         <source>You have to specify a translation pattern first.</source>
         <translation>必须先指定一个翻译样式。</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1531"/>
+        <location filename="../Project/Project.py" line="1496"/>
         <source>Delete translation</source>
         <translation>删除翻译</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1696"/>
+        <location filename="../Project/Project.py" line="1661"/>
         <source>Add file</source>
         <translation>添加文件</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1828"/>
+        <location filename="../Project/Project.py" line="1793"/>
         <source>The target directory must not be empty.</source>
         <translation>目标文件夹不能为空。</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1839"/>
+        <location filename="../Project/Project.py" line="1804"/>
         <source>Add directory</source>
         <translation>添加文件夹</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1727"/>
+        <location filename="../Project/Project.py" line="1692"/>
         <source>&lt;p&gt;The source directory doesn&apos;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="1839"/>
+        <location filename="../Project/Project.py" line="1804"/>
         <source>The source directory must not be empty.</source>
         <translation>源文件夹不能为空。</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1976"/>
+        <location filename="../Project/Project.py" line="1941"/>
         <source>Rename file</source>
         <translation>重命名文件</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2000"/>
+        <location filename="../Project/Project.py" line="1965"/>
         <source>Rename File</source>
         <translation>重命名文件</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2250"/>
+        <location filename="../Project/Project.py" line="2215"/>
         <source>Delete file</source>
         <translation>删除文件</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2280"/>
+        <location filename="../Project/Project.py" line="2245"/>
         <source>Delete directory</source>
         <translation>删除文件夹</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2375"/>
+        <location filename="../Project/Project.py" line="2340"/>
         <source>Create project directory</source>
         <translation>创建项目文件夹</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2982"/>
+        <location filename="../Project/Project.py" line="2947"/>
         <source>New Project</source>
         <translation>新建项目</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2491"/>
+        <location filename="../Project/Project.py" line="2456"/>
         <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="2947"/>
         <source>Select Version Control System</source>
         <translation>选择版本控制系统</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2618"/>
+        <location filename="../Project/Project.py" line="2583"/>
         <source>Would you like to edit the VCS command options?</source>
         <translation>是否编辑版本控制系统命令选项?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3866"/>
+        <location filename="../Project/Project.py" line="3822"/>
         <source>New project</source>
         <translation>新建项目</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2561"/>
+        <location filename="../Project/Project.py" line="2526"/>
         <source>Shall the project file be added to the repository?</source>
         <translation>是否将项目文件添加到仓库?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2597"/>
+        <location filename="../Project/Project.py" line="2562"/>
         <source>None</source>
         <translation>无</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2590"/>
+        <location filename="../Project/Project.py" line="2555"/>
         <source>Select version control system for the project</source>
         <translation>为项目选择版本控制系统</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2701"/>
+        <location filename="../Project/Project.py" line="2666"/>
         <source>Translation Pattern</source>
         <translation>翻译样式</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2701"/>
+        <location filename="../Project/Project.py" line="2666"/>
         <source>Enter the path pattern for translation files (use &apos;%language%&apos; in place of the language code):</source>
         <translation>为翻译文件输入路径样式(在语言代码的相应位置使用“&apos;%language%”):</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3880"/>
+        <location filename="../Project/Project.py" line="3836"/>
         <source>Open project</source>
         <translation>打开项目</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3132"/>
+        <location filename="../Project/Project.py" line="3097"/>
         <source>Project Files (*.e4p)</source>
         <translation>项目文件 (*.e4p)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3917"/>
+        <location filename="../Project/Project.py" line="3873"/>
         <source>Save project as</source>
         <translation>项目另存为</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3147"/>
+        <location filename="../Project/Project.py" line="3112"/>
         <source>Save File</source>
         <translation>保存文件</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3183"/>
+        <location filename="../Project/Project.py" line="3148"/>
         <source>Close Project</source>
         <translation>关闭项目</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3183"/>
+        <location filename="../Project/Project.py" line="3148"/>
         <source>The current project has unsaved changes.</source>
         <translation>当前项目的更改未保存。</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3360"/>
+        <location filename="../Project/Project.py" line="3325"/>
         <source>Syntax errors detected</source>
         <translation>检测到语法错误</translation>
     </message>
     <message numerus="yes">
-        <location filename="../Project/Project.py" line="3360"/>
+        <location filename="../Project/Project.py" line="3325"/>
         <source>The project contains %n file(s) with syntax errors.</source>
         <translation>
             <numerusform>项目包含 %n 文件有语法错误。</numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3866"/>
+        <location filename="../Project/Project.py" line="3822"/>
         <source>&amp;New...</source>
         <translation>新建(&amp;N)…</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3871"/>
+        <location filename="../Project/Project.py" line="3827"/>
         <source>Generate a new project</source>
         <translation>生成新项目</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3872"/>
+        <location filename="../Project/Project.py" line="3828"/>
         <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="3880"/>
+        <location filename="../Project/Project.py" line="3836"/>
         <source>&amp;Open...</source>
         <translation>打开(&amp;O)…</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3885"/>
+        <location filename="../Project/Project.py" line="3841"/>
         <source>Open an existing project</source>
         <translation>打开一个已有项目</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3886"/>
+        <location filename="../Project/Project.py" line="3842"/>
         <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="3849"/>
+        <source>Close project</source>
+        <translation>关闭项目</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3849"/>
+        <source>&amp;Close</source>
+        <translation>关闭(&amp;C)</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3853"/>
+        <source>Close the current project</source>
+        <translation>关闭当前项目</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3854"/>
+        <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="3861"/>
+        <source>Save project</source>
+        <translation>保存项目</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4053"/>
+        <source>&amp;Save</source>
+        <translation>保存(&amp;S)</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3865"/>
+        <source>Save the current project</source>
+        <translation>保存当前项目</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3866"/>
+        <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="3873"/>
+        <source>Save &amp;as...</source>
+        <translation>另存为(&amp;A)…</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3877"/>
+        <source>Save the current project to a new file</source>
+        <translation>将当前项目另存为一个新文件</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3879"/>
+        <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="3888"/>
+        <source>Add files to project</source>
+        <translation>将文件添加到项目中</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3888"/>
+        <source>Add &amp;files...</source>
+        <translation>添加文件(&amp;F)…</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="3893"/>
-        <source>Close project</source>
-        <translation>关闭项目</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3893"/>
-        <source>&amp;Close</source>
-        <translation>关闭(&amp;C)</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3897"/>
-        <source>Close the current project</source>
-        <translation>关闭当前项目</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3898"/>
-        <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="3905"/>
-        <source>Save project</source>
-        <translation>保存项目</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4097"/>
-        <source>&amp;Save</source>
-        <translation>保存(&amp;S)</translation>
+        <source>Add files to the current project</source>
+        <translation>将文件添加到当前项目中</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3895"/>
+        <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="3904"/>
+        <source>Add directory to project</source>
+        <translation>将文件夹添加到项目中</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3904"/>
+        <source>Add directory...</source>
+        <translation>添加文件夹…</translation>
     </message>
     <message>
         <location filename="../Project/Project.py" line="3909"/>
-        <source>Save the current project</source>
-        <translation>保存当前项目</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3910"/>
-        <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="3917"/>
-        <source>Save &amp;as...</source>
-        <translation>另存为(&amp;A)…</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3921"/>
-        <source>Save the current project to a new file</source>
-        <translation>将当前项目另存为一个新文件</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3923"/>
-        <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="3932"/>
-        <source>Add files to project</source>
-        <translation>将文件添加到项目中</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3932"/>
-        <source>Add &amp;files...</source>
-        <translation>添加文件(&amp;F)…</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3937"/>
-        <source>Add files to the current project</source>
-        <translation>将文件添加到当前项目中</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3939"/>
-        <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="3948"/>
-        <source>Add directory to project</source>
-        <translation>将文件夹添加到项目中</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3948"/>
-        <source>Add directory...</source>
-        <translation>添加文件夹…</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3953"/>
         <source>Add a directory to the current project</source>
         <translation>为当前工程添加文件夹</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3955"/>
+        <location filename="../Project/Project.py" line="3911"/>
         <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="3963"/>
+        <location filename="../Project/Project.py" line="3919"/>
         <source>Add translation to project</source>
         <translation>将翻译添加到项目中</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3963"/>
+        <location filename="../Project/Project.py" line="3919"/>
         <source>Add &amp;translation...</source>
         <translation>添加翻译(&amp;T)…</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3968"/>
+        <location filename="../Project/Project.py" line="3924"/>
         <source>Add a translation to the current project</source>
         <translation>将翻译添加到当前项目中</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="3926"/>
+        <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="3934"/>
+        <source>Search new files</source>
+        <translation>搜索新文件</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3934"/>
+        <source>Searc&amp;h new files...</source>
+        <translation>搜索新文件(&amp;H)…</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3938"/>
+        <source>Search new files in the project directory.</source>
+        <translation>在项目文件夹中搜索新文件。</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3964"/>
+        <source>Project properties</source>
+        <translation>项目属性</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3964"/>
+        <source>&amp;Properties...</source>
+        <translation>属性(&amp;P)…</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3969"/>
+        <source>Show the project properties</source>
+        <translation>显示项目属性</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="3970"/>
-        <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="3978"/>
-        <source>Search new files</source>
-        <translation>搜索新文件</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3978"/>
-        <source>Searc&amp;h new files...</source>
-        <translation>搜索新文件(&amp;H)…</translation>
+        <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="3977"/>
+        <source>User project properties</source>
+        <translation>用户项目属性</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3977"/>
+        <source>&amp;User Properties...</source>
+        <translation>用户属性(&amp;U)…</translation>
     </message>
     <message>
         <location filename="../Project/Project.py" line="3982"/>
-        <source>Search new files in the project directory.</source>
-        <translation>在项目文件夹中搜索新文件。</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4008"/>
-        <source>Project properties</source>
-        <translation>项目属性</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4008"/>
-        <source>&amp;Properties...</source>
-        <translation>属性(&amp;P)…</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4013"/>
-        <source>Show the project properties</source>
-        <translation>显示项目属性</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4014"/>
-        <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="4021"/>
-        <source>User project properties</source>
-        <translation>用户项目属性</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4021"/>
-        <source>&amp;User Properties...</source>
-        <translation>用户属性(&amp;U)…</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4026"/>
         <source>Show the user specific project properties</source>
         <translation>显示用户指定的项目属性</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="3984"/>
+        <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="3992"/>
+        <source>Filetype Associations</source>
+        <translation>文件类型关联</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3992"/>
+        <source>Filetype Associations...</source>
+        <translation>文件类型关联…</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3996"/>
+        <source>Show the project filetype associations</source>
+        <translation>显示项目文件类型关联</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4028"/>
+        <source>Debugger Properties</source>
+        <translation>调试器属性</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="4028"/>
-        <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="4036"/>
-        <source>Filetype Associations</source>
-        <translation>文件类型关联</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4036"/>
-        <source>Filetype Associations...</source>
-        <translation>文件类型关联…</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4040"/>
-        <source>Show the project filetype associations</source>
-        <translation>显示项目文件类型关联</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4072"/>
-        <source>Debugger Properties</source>
-        <translation>调试器属性</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4072"/>
         <source>Debugger &amp;Properties...</source>
         <translation>调试器属性(&amp;P)…</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4076"/>
+        <location filename="../Project/Project.py" line="4032"/>
         <source>Show the debugger properties</source>
         <translation>显示调试器属性</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4077"/>
+        <location filename="../Project/Project.py" line="4033"/>
         <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="4085"/>
+        <location filename="../Project/Project.py" line="4041"/>
         <source>Load</source>
         <translation>载入</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4085"/>
+        <location filename="../Project/Project.py" line="4041"/>
         <source>&amp;Load</source>
         <translation>载入(&amp;L)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4089"/>
+        <location filename="../Project/Project.py" line="4045"/>
         <source>Load the debugger properties</source>
         <translation>载入调试器属性</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4090"/>
+        <location filename="../Project/Project.py" line="4046"/>
         <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="4053"/>
+        <source>Save</source>
+        <translation>保存</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4057"/>
+        <source>Save the debugger properties</source>
+        <translation>保存调试器属性</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4058"/>
+        <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="4065"/>
+        <source>Delete</source>
+        <translation>删除</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4065"/>
+        <source>&amp;Delete</source>
+        <translation>删除(&amp;D)</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4069"/>
+        <source>Delete the debugger properties</source>
+        <translation>删除调试器属性</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4070"/>
+        <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="4078"/>
+        <source>Reset</source>
+        <translation>重置</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4078"/>
+        <source>&amp;Reset</source>
+        <translation>重置(&amp;R)</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4082"/>
+        <source>Reset the debugger properties</source>
+        <translation>重围调试器属性</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4083"/>
+        <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="4092"/>
+        <source>Load session</source>
+        <translation>载入会话</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4096"/>
+        <source>Load the projects session file.</source>
+        <translation>载入项目会话文件。</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="4097"/>
-        <source>Save</source>
-        <translation>保存</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4101"/>
-        <source>Save the debugger properties</source>
-        <translation>保存调试器属性</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4102"/>
-        <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="4109"/>
-        <source>Delete</source>
-        <translation>删除</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4109"/>
-        <source>&amp;Delete</source>
-        <translation>删除(&amp;D)</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4113"/>
-        <source>Delete the debugger properties</source>
-        <translation>删除调试器属性</translation>
+        <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="4110"/>
+        <source>Save session</source>
+        <translation>保存会话</translation>
     </message>
     <message>
         <location filename="../Project/Project.py" line="4114"/>
-        <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="4122"/>
-        <source>Reset</source>
-        <translation>重置</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4122"/>
-        <source>&amp;Reset</source>
-        <translation>重置(&amp;R)</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4126"/>
-        <source>Reset the debugger properties</source>
-        <translation>重围调试器属性</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4127"/>
-        <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="4136"/>
-        <source>Load session</source>
-        <translation>载入会话</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4140"/>
-        <source>Load the projects session file.</source>
-        <translation>载入项目会话文件。</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4141"/>
-        <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="4154"/>
-        <source>Save session</source>
-        <translation>保存会话</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4158"/>
         <source>Save the projects session file.</source>
         <translation>保存项目会话文件。</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4159"/>
+        <location filename="../Project/Project.py" line="4115"/>
         <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="4172"/>
+        <location filename="../Project/Project.py" line="4128"/>
         <source>Delete session</source>
         <translation>删除会话</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="4132"/>
+        <source>Delete the projects session file.</source>
+        <translation>删除项目会话文件。</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4133"/>
+        <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="4142"/>
+        <source>Code Metrics</source>
+        <translation>代码度量</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4142"/>
+        <source>&amp;Code Metrics...</source>
+        <translation>代码度量(&amp;C)…</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4146"/>
+        <source>Show some code metrics for the project.</source>
+        <translation>显示项目的部分代码度量。</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4148"/>
+        <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="4156"/>
+        <source>Python Code Coverage</source>
+        <translation>Python 代码覆盖率</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4156"/>
+        <source>Code Co&amp;verage...</source>
+        <translation>代码覆盖率(&amp;v)…</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4160"/>
+        <source>Show code coverage information for the project.</source>
+        <translation>显示项目的代码覆盖率信息。</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4162"/>
+        <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="5044"/>
+        <source>Profile Data</source>
+        <translation>剖析数据</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4170"/>
+        <source>&amp;Profile Data...</source>
+        <translation>剖析数据(&amp;P)…</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4174"/>
+        <source>Show profiling data for the project.</source>
+        <translation>显示项目的剖析数据。</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="4176"/>
-        <source>Delete the projects session file.</source>
-        <translation>删除项目会话文件。</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4177"/>
-        <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="4186"/>
-        <source>Code Metrics</source>
-        <translation>代码度量</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4186"/>
-        <source>&amp;Code Metrics...</source>
-        <translation>代码度量(&amp;C)…</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4190"/>
-        <source>Show some code metrics for the project.</source>
-        <translation>显示项目的部分代码度量。</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4192"/>
-        <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="4200"/>
-        <source>Python Code Coverage</source>
-        <translation>Python 代码覆盖率</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4200"/>
-        <source>Code Co&amp;verage...</source>
-        <translation>代码覆盖率(&amp;v)…</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4204"/>
-        <source>Show code coverage information for the project.</source>
-        <translation>显示项目的代码覆盖率信息。</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4206"/>
-        <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="5088"/>
-        <source>Profile Data</source>
-        <translation>剖析数据</translation>
+        <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="5098"/>
+        <source>Application Diagram</source>
+        <translation>应用程序图</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4185"/>
+        <source>&amp;Application Diagram...</source>
+        <translation>应用程序(&amp;A)图…</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4189"/>
+        <source>Show a diagram of the project.</source>
+        <translation>显示项目图表。</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4191"/>
+        <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="5291"/>
+        <source>Create Package List</source>
+        <translation>创建程序包列表</translation>
     </message>
     <message>
         <location filename="../Project/Project.py" line="4214"/>
-        <source>&amp;Profile Data...</source>
-        <translation>剖析数据(&amp;P)…</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4218"/>
-        <source>Show profiling data for the project.</source>
-        <translation>显示项目的剖析数据。</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4220"/>
-        <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="5142"/>
-        <source>Application Diagram</source>
-        <translation>应用程序图</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4229"/>
-        <source>&amp;Application Diagram...</source>
-        <translation>应用程序(&amp;A)图…</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4233"/>
-        <source>Show a diagram of the project.</source>
-        <translation>显示项目图表。</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4235"/>
-        <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="5335"/>
-        <source>Create Package List</source>
-        <translation>创建程序包列表</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4258"/>
         <source>Create &amp;Package List</source>
         <translation type="unfinished">创建插件存档(&amp;A)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5609"/>
+        <location filename="../Project/Project.py" line="5565"/>
         <source>Create Plugin Archive</source>
         <translation>创建插件存档</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4274"/>
+        <location filename="../Project/Project.py" line="4230"/>
         <source>Create Plugin &amp;Archives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4360"/>
+        <location filename="../Project/Project.py" line="4316"/>
         <source>&amp;Project</source>
         <translation>项目(&amp;P)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4361"/>
+        <location filename="../Project/Project.py" line="4317"/>
         <source>Open &amp;Recent Projects</source>
         <translation>打开最近的项目</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4366"/>
+        <location filename="../Project/Project.py" line="4322"/>
         <source>&amp;Version Control</source>
         <translation>版本控制(&amp;V)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4370"/>
+        <location filename="../Project/Project.py" line="4326"/>
         <source>Chec&amp;k</source>
         <translation>检查(&amp;K)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4372"/>
+        <location filename="../Project/Project.py" line="4328"/>
         <source>Sho&amp;w</source>
         <translation>显示(&amp;W)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4373"/>
+        <location filename="../Project/Project.py" line="4329"/>
         <source>&amp;Diagrams</source>
         <translation>图表(&amp;D)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4362"/>
+        <location filename="../Project/Project.py" line="4318"/>
         <source>Session</source>
         <translation>会话</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4375"/>
+        <location filename="../Project/Project.py" line="4331"/>
         <source>Source &amp;Documentation</source>
         <translation>源文档(&amp;D)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4363"/>
+        <location filename="../Project/Project.py" line="4319"/>
         <source>Debugger</source>
         <translation>调试器</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4374"/>
+        <location filename="../Project/Project.py" line="4330"/>
         <source>Pac&amp;kagers</source>
         <translation>打包程序(&amp;K)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4500"/>
+        <location filename="../Project/Project.py" line="4456"/>
         <source>Project</source>
         <translation>项目</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4566"/>
+        <location filename="../Project/Project.py" line="4522"/>
         <source>&amp;Clear</source>
         <translation>清除(&amp;C)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4739"/>
+        <location filename="../Project/Project.py" line="4695"/>
         <source>Search New Files</source>
         <translation>搜索新文件</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4739"/>
+        <location filename="../Project/Project.py" line="4695"/>
         <source>There were no new files found to be added.</source>
         <translation>没有要添加的新文件。</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4885"/>
+        <location filename="../Project/Project.py" line="4841"/>
         <source>Version Control System</source>
         <translation>版本控制系统</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5015"/>
+        <location filename="../Project/Project.py" line="4971"/>
         <source>Coverage Data</source>
         <translation>覆盖率数据</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5065"/>
+        <location filename="../Project/Project.py" line="5021"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation>当前项目未定义主脚本。终止</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5038"/>
+        <location filename="../Project/Project.py" line="4994"/>
         <source>Code Coverage</source>
         <translation>代码覆盖率</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5038"/>
+        <location filename="../Project/Project.py" line="4994"/>
         <source>Please select a coverage file</source>
         <translation>请选择一个覆盖率文件</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5088"/>
+        <location filename="../Project/Project.py" line="5044"/>
         <source>Please select a profile file</source>
         <translation>请选择一个剖析文件</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5142"/>
+        <location filename="../Project/Project.py" line="5098"/>
         <source>Include module names?</source>
         <translation>包含模块名?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5286"/>
+        <location filename="../Project/Project.py" line="5242"/>
         <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="5354"/>
+        <location filename="../Project/Project.py" line="5310"/>
         <source>The project does not have a main script defined. Aborting...</source>
         <translation>项目未定义主脚本。终止…</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4054"/>
+        <location filename="../Project/Project.py" line="4010"/>
         <source>Lexer Associations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4054"/>
+        <location filename="../Project/Project.py" line="4010"/>
         <source>Lexer Associations...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4058"/>
+        <location filename="../Project/Project.py" line="4014"/>
         <source>Show the project lexer associations (overriding defaults)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4060"/>
+        <location filename="../Project/Project.py" line="4016"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="299"/>
-        <source>PySide GUI</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="300"/>
-        <source>PySide Console</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="178"/>
+        <location filename="../Project/Project.py" line="174"/>
         <source>Python3 Files (*.py *.py3);;Python3 GUI Files (*.pyw *.pyw3);;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="817"/>
+        <location filename="../Project/Project.py" line="783"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="920"/>
+        <location filename="../Project/Project.py" line="886"/>
         <source>&lt;p&gt;The project file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="956"/>
+        <location filename="../Project/Project.py" line="922"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="980"/>
+        <location filename="../Project/Project.py" line="946"/>
         <source>&lt;p&gt;The user specific project properties file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1038"/>
+        <location filename="../Project/Project.py" line="1004"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1074"/>
+        <location filename="../Project/Project.py" line="1040"/>
         <source>&lt;p&gt;The project session file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="1069"/>
+        <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"></translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="1103"/>
-        <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"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="1137"/>
         <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="1157"/>
+        <location filename="../Project/Project.py" line="1123"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be written.&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="1216"/>
+        <location filename="../Project/Project.py" line="1182"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1251"/>
+        <location filename="../Project/Project.py" line="1217"/>
         <source>&lt;p&gt;The project debugger properties file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1277"/>
+        <location filename="../Project/Project.py" line="1243"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1760"/>
+        <location filename="../Project/Project.py" line="1725"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3147"/>
+        <location filename="../Project/Project.py" line="3112"/>
         <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="2000"/>
+        <location filename="../Project/Project.py" line="1965"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2375"/>
+        <location filename="../Project/Project.py" line="2340"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4885"/>
+        <location filename="../Project/Project.py" line="4841"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5335"/>
+        <location filename="../Project/Project.py" line="5291"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5495"/>
+        <location filename="../Project/Project.py" line="5451"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5568"/>
+        <location filename="../Project/Project.py" line="5524"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1683"/>
+        <location filename="../Project/Project.py" line="1648"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1742"/>
+        <location filename="../Project/Project.py" line="1707"/>
         <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"></translation>
     </message>
     <message>
         <location filename="../Project/Project.py" line="175"/>
         <source>Python2 Files (*.py2);;Python2 GUI Files (*.pyw2);;</source>
-        <translation>Python2 文件 (*.py2);;Python2 GUI 文件 (*.pyw2);;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="2458"/>
+        <translation type="obsolete">Python2 文件 (*.py2);;Python2 GUI 文件 (*.pyw2);;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="2423"/>
         <source>Create main script</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2458"/>
+        <location filename="../Project/Project.py" line="2423"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4243"/>
+        <location filename="../Project/Project.py" line="4199"/>
         <source>Load Diagram</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4243"/>
+        <location filename="../Project/Project.py" line="4199"/>
         <source>&amp;Load Diagram...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="4203"/>
+        <source>Load a diagram from file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4205"/>
+        <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"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="368"/>
+        <source>&lt;p&gt;The Project type &lt;b&gt;{0}&lt;/b&gt; is already registered.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="356"/>
+        <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"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="267"/>
+        <source>PyQt5 GUI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="268"/>
+        <source>PyQt5 Console</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4830"/>
+        <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"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5565"/>
+        <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"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4219"/>
+        <source>Create an initial PKGLIST file for an eric6 plugin.</source>
+        <translation type="unfinished">创建一个 eric6 插件存档文件。</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4221"/>
+        <source>&lt;b&gt;Create Package List&lt;/b&gt;&lt;p&gt;This creates an initial list of files to include in an eric6 plugin archive. The list is created from the project file.&lt;/p&gt;</source>
+        <translation type="unfinished">&lt;b&gt;创建插件存档&lt;/b&gt;&lt;p&gt;通过 PKGLIST 文件给出的文件列表创建 Eric4 插件存档文件。存档名从主脚本名构建。&lt;/p&gt; {5 ?} {6 ?}</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4235"/>
+        <source>Create eric6 plugin archive files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4237"/>
+        <source>&lt;b&gt;Create Plugin Archives&lt;/b&gt;&lt;p&gt;This creates eric6 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"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5415"/>
+        <source>&lt;p&gt;The eric6 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"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="269"/>
+        <source>Eric6 Plugin</source>
+        <translation>Eric6 插件</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="2915"/>
+        <source>Create project management directory</source>
+        <translation>创建项目管理目录</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="2915"/>
+        <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="3949"/>
+        <source>Alt+Ctrl+P</source>
+        <comment>Project|Search Project File</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3955"/>
+        <source>Search for a file in the project list of files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3957"/>
+        <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"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3949"/>
+        <source>Search Project File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3949"/>
+        <source>Search Project File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5346"/>
+        <source>Create Plugin Archives</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4247"/>
+        <source>Create Plugin Archives (Snapshot)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="4247"/>
-        <source>Load a diagram from file.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4249"/>
-        <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"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="373"/>
-        <source>&lt;p&gt;The Programming Language &lt;b&gt;{0}&lt;/b&gt; is not supported.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="396"/>
-        <source>&lt;p&gt;The Project type &lt;b&gt;{0}&lt;/b&gt; is already registered.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="384"/>
-        <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"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="280"/>
-        <source>PyQt5 GUI</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="281"/>
-        <source>PyQt5 Console</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4874"/>
-        <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"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5609"/>
-        <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"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4263"/>
-        <source>Create an initial PKGLIST file for an eric6 plugin.</source>
-        <translation type="unfinished">创建一个 eric6 插件存档文件。</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4265"/>
-        <source>&lt;b&gt;Create Package List&lt;/b&gt;&lt;p&gt;This creates an initial list of files to include in an eric6 plugin archive. The list is created from the project file.&lt;/p&gt;</source>
-        <translation type="unfinished">&lt;b&gt;创建插件存档&lt;/b&gt;&lt;p&gt;通过 PKGLIST 文件给出的文件列表创建 Eric4 插件存档文件。存档名从主脚本名构建。&lt;/p&gt; {5 ?} {6 ?}</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4279"/>
-        <source>Create eric6 plugin archive files.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4281"/>
-        <source>&lt;b&gt;Create Plugin Archives&lt;/b&gt;&lt;p&gt;This creates eric6 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"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5459"/>
-        <source>&lt;p&gt;The eric6 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>
+        <source>Create Plugin Archives (&amp;Snapshot)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4252"/>
+        <source>Create eric6 plugin archive files (snapshot releases).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4254"/>
+        <source>&lt;b&gt;Create Plugin Archives (Snapshot)&lt;/b&gt;&lt;p&gt;This creates eric6 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"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5324"/>
+        <source>Select package lists:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5342"/>
+        <source>Creating plugin archives...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5342"/>
+        <source>Abort</source>
+        <translation type="unfinished">终止</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5342"/>
+        <source>%v/%m Archives</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5359"/>
+        <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"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5470"/>
+        <source>&lt;p&gt;The eric6 plugin archive files were created with some errors.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5473"/>
+        <source>&lt;p&gt;The eric6 plugin archive files were created successfully.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5335"/>
+        <source>&lt;p&gt;No package list files (PKGLIST*) available or selected. Aborting...&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5387"/>
+        <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&apos;; initial_list&apos; line of the header.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3940"/>
+        <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"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="3998"/>
+        <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"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="1496"/>
+        <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"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="2215"/>
+        <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"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="2245"/>
+        <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"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="2738"/>
+        <source>Create Makefile</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="2738"/>
+        <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"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5751"/>
+        <source>Execute Make</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4268"/>
+        <source>&amp;Execute Make</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4272"/>
+        <source>Perform a &apos;make&apos; run.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4274"/>
+        <source>&lt;b&gt;Execute Make&lt;/b&gt;&lt;p&gt;This performs a &apos;make&apos; run to rebuild the configured target.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5731"/>
+        <source>Test for Changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4282"/>
+        <source>&amp;Test for Changes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4286"/>
+        <source>Question &apos;make&apos;, if a rebuild is needed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4288"/>
+        <source>&lt;b&gt;Test for Changes&lt;/b&gt;&lt;p&gt;This questions &apos;make&apos;, if a rebuild of the configured target is necessary.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4333"/>
+        <source>Make</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5679"/>
+        <source>The make process did not start.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5724"/>
+        <source>The make process crashed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5734"/>
+        <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"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5739"/>
+        <source>&lt;p&gt;There are changes that require the default make target to be rebuilt.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5751"/>
+        <source>The makefile contains errors.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Project/Project.py" line="282"/>
-        <source>Eric6 Plugin</source>
-        <translation>Eric6 插件</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="2950"/>
-        <source>Create project management directory</source>
-        <translation>创建项目管理目录</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="2950"/>
-        <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="3993"/>
-        <source>Alt+Ctrl+P</source>
-        <comment>Project|Search Project File</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3999"/>
-        <source>Search for a file in the project list of files.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4001"/>
-        <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"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3993"/>
-        <source>Search Project File</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3993"/>
-        <source>Search Project File...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5390"/>
-        <source>Create Plugin Archives</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4291"/>
-        <source>Create Plugin Archives (Snapshot)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4291"/>
-        <source>Create Plugin Archives (&amp;Snapshot)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4296"/>
-        <source>Create eric6 plugin archive files (snapshot releases).</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4298"/>
-        <source>&lt;b&gt;Create Plugin Archives (Snapshot)&lt;/b&gt;&lt;p&gt;This creates eric6 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"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5368"/>
-        <source>Select package lists:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5386"/>
-        <source>Creating plugin archives...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5386"/>
-        <source>Abort</source>
-        <translation type="unfinished">终止</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5386"/>
-        <source>%v/%m Archives</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5403"/>
-        <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"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5514"/>
-        <source>&lt;p&gt;The eric6 plugin archive files were created with some errors.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5517"/>
-        <source>&lt;p&gt;The eric6 plugin archive files were created successfully.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5379"/>
-        <source>&lt;p&gt;No package list files (PKGLIST*) available or selected. Aborting...&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5431"/>
-        <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&apos;; initial_list&apos; line of the header.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3984"/>
-        <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"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4042"/>
-        <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"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="1531"/>
-        <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"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="2250"/>
-        <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"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="2280"/>
-        <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"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="2773"/>
-        <source>Create Makefile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="2773"/>
-        <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"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5795"/>
-        <source>Execute Make</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4312"/>
-        <source>&amp;Execute Make</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4316"/>
-        <source>Perform a &apos;make&apos; run.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4318"/>
-        <source>&lt;b&gt;Execute Make&lt;/b&gt;&lt;p&gt;This performs a &apos;make&apos; run to rebuild the configured target.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5775"/>
-        <source>Test for Changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4326"/>
-        <source>&amp;Test for Changes</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4330"/>
-        <source>Question &apos;make&apos;, if a rebuild is needed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4332"/>
-        <source>&lt;b&gt;Test for Changes&lt;/b&gt;&lt;p&gt;This questions &apos;make&apos;, if a rebuild of the configured target is necessary.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4377"/>
-        <source>Make</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5723"/>
-        <source>The make process did not start.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5768"/>
-        <source>The make process crashed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5778"/>
-        <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"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5783"/>
-        <source>&lt;p&gt;There are changes that require the default make target to be rebuilt.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="5795"/>
-        <source>The makefile contains errors.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="310"/>
         <source>PySide2 GUI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="311"/>
+        <location filename="../Project/Project.py" line="283"/>
         <source>PySide2 Console</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4365"/>
+        <location filename="../Project/Project.py" line="4321"/>
         <source>Project-T&amp;ools</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="278"/>
-        <source>PyQt4 GUI (deprecated)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="279"/>
-        <source>PyQt4 Console (deprecated)</source>
+        <location filename="../Project/Project.py" line="345"/>
+        <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"></translation>
     </message>
 </context>
@@ -55389,7 +55592,7 @@
         <translation>文件已移除</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectBrowser.py" line="404"/>
+        <location filename="../Project/ProjectBrowser.py" line="402"/>
         <source>unknown status</source>
         <translation>未知状态</translation>
     </message>
@@ -55573,7 +55776,7 @@
 <context>
     <name>ProjectFormsBrowser</name>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="1029"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="1001"/>
         <source>Forms</source>
         <translation>窗体</translation>
     </message>
@@ -55623,182 +55826,182 @@
         <translation>带按钮(底部居中)的对话框</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="154"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="152"/>
         <source>Compile form</source>
         <translation>编译窗体</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="358"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="346"/>
         <source>Compile all forms</source>
         <translation>编译所有窗体</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="165"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="163"/>
         <source>Generate Dialog Code...</source>
         <translation>生成对话框代码…</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="258"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="252"/>
         <source>Open in Qt-Designer</source>
         <translation>在 Qt 设计师中打开</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="260"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="254"/>
         <source>Open in Editor</source>
         <translation>在编辑器中打开</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="149"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="147"/>
         <source>Preview form</source>
         <translation>预览窗体</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="263"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="257"/>
         <source>Preview translations</source>
         <translation>预览翻译</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="277"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="271"/>
         <source>Open</source>
         <translation>打开</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="182"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="180"/>
         <source>Rename file</source>
         <translation>重命名文件</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="313"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="305"/>
         <source>Remove from project</source>
         <translation>从项目移除</translation>
     </message>
     <message>
+        <location filename="../Project/ProjectFormsBrowser.py" line="308"/>
+        <source>Delete</source>
+        <translation>删除</translation>
+    </message>
+    <message>
         <location filename="../Project/ProjectFormsBrowser.py" line="316"/>
-        <source>Delete</source>
-        <translation>删除</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="326"/>
         <source>New form...</source>
         <translation>新建窗体…</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="364"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="352"/>
         <source>Add forms...</source>
         <translation>添加窗体…</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="366"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="354"/>
         <source>Add forms directory...</source>
         <translation>添加窗体文件夹…</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="369"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="357"/>
         <source>Expand all directories</source>
         <translation>展开所有文件夹</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="371"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="359"/>
         <source>Collapse all directories</source>
         <translation>折叠所有文件夹</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="374"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="362"/>
         <source>Configure...</source>
         <translation>配置…</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="267"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="261"/>
         <source>Compile forms</source>
         <translation>编译窗体</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="637"/>
-        <source>New Form</source>
-        <translation>新建窗体</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="592"/>
-        <source>Select a form type:</source>
-        <translation>选择窗体类型:</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="606"/>
-        <source>Qt User-Interface Files (*.ui);;All Files (*)</source>
-        <translation>Qt 用户界面文件 (*.ui);;所有文件 (*)</translation>
-    </message>
-    <message>
         <location filename="../Project/ProjectFormsBrowser.py" line="625"/>
+        <source>New Form</source>
+        <translation>新建窗体</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectFormsBrowser.py" line="580"/>
+        <source>Select a form type:</source>
+        <translation>选择窗体类型:</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectFormsBrowser.py" line="594"/>
+        <source>Qt User-Interface Files (*.ui);;All Files (*)</source>
+        <translation>Qt 用户界面文件 (*.ui);;所有文件 (*)</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectFormsBrowser.py" line="613"/>
         <source>The file already exists! Overwrite it?</source>
         <translation>文件已存在!是否覆盖?</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="665"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="653"/>
         <source>Delete forms</source>
         <translation>删除窗体</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="665"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="653"/>
         <source>Do you really want to delete these forms from the project?</source>
         <translation>确定要从项目中删除这些窗体?</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="819"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="793"/>
         <source>Form Compilation</source>
         <translation>窗体编译</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="791"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="765"/>
         <source>The compilation of the form file was successful.</source>
         <translation>窗体文件编译成功。</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="819"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="793"/>
         <source>The compilation of the form file failed.</source>
         <translation>窗体文件编译失败。</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="894"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="866"/>
         <source>Process Generation Error</source>
         <translation>进程生成错误</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="986"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="958"/>
         <source>Compiling forms...</source>
         <translation>正在编译窗体…</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="1025"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="997"/>
         <source>Abort</source>
         <translation>终止</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="1025"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="997"/>
         <source>Determining changed forms...</source>
         <translation>正在确定更改的窗体…</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="1057"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="1027"/>
         <source>Compiling changed forms...</source>
         <translation>正在编译更改的窗体…</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="335"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="325"/>
         <source>Copy Path to Clipboard</source>
         <translation>将路径复制到剪贴板</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="637"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="625"/>
         <source>&lt;p&gt;The new form file &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;br&gt;Problem: {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="../Project/ProjectFormsBrowser.py" line="806"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="780"/>
         <source>&lt;p&gt;The compilation of the form file failed.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;窗体文件编译失败。&lt;/p&gt;&lt;p&gt;原因:{0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="894"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="866"/>
         <source>Could not start {0}.&lt;br&gt;Ensure that it is in the search path.</source>
         <translation type="unfinished">无法启动 {0}。请保证它处在搜索路径中。</translation>
     </message>
@@ -55853,12 +56056,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="1025"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="997"/>
         <source>%v/%m Forms</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/ProjectFormsBrowser.py" line="352"/>
+        <location filename="../Project/ProjectFormsBrowser.py" line="340"/>
         <source>Configure uic Compiler</source>
         <translation type="unfinished"></translation>
     </message>
@@ -56493,7 +56696,7 @@
 <context>
     <name>ProjectResourcesBrowser</name>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="896"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="862"/>
         <source>Resources</source>
         <translation>资源</translation>
     </message>
@@ -56503,162 +56706,162 @@
         <translation>&lt;b&gt;项目资源浏览器&lt;/b&gt;&lt;p&gt;可以方便地观察当前项目中包含的所有资源。通过上下文菜单可能执行多个行为。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="98"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="97"/>
         <source>Compile resource</source>
         <translation>编译资源</translation>
     </message>
     <message>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="287"/>
+        <source>Compile all resources</source>
+        <translation>编译所有资源</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="212"/>
+        <source>Open</source>
+        <translation>打开</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="115"/>
+        <source>Rename file</source>
+        <translation>重命名文件</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="248"/>
+        <source>Remove from project</source>
+        <translation>从项目移除</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="251"/>
+        <source>Delete</source>
+        <translation>删除</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="255"/>
+        <source>New resource...</source>
+        <translation>新建资源…</translation>
+    </message>
+    <message>
         <location filename="../Project/ProjectResourcesBrowser.py" line="293"/>
-        <source>Compile all resources</source>
-        <translation>编译所有资源</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="216"/>
-        <source>Open</source>
-        <translation>打开</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="116"/>
-        <source>Rename file</source>
-        <translation>重命名文件</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="253"/>
-        <source>Remove from project</source>
-        <translation>从项目移除</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="256"/>
-        <source>Delete</source>
-        <translation>删除</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="260"/>
-        <source>New resource...</source>
-        <translation>新建资源…</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="299"/>
         <source>Add resources...</source>
         <translation>添加资源…</translation>
     </message>
     <message>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="296"/>
+        <source>Add resources directory...</source>
+        <translation>添加资源文件夹…</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="300"/>
+        <source>Expand all directories</source>
+        <translation>展开所有文件夹</translation>
+    </message>
+    <message>
         <location filename="../Project/ProjectResourcesBrowser.py" line="302"/>
-        <source>Add resources directory...</source>
-        <translation>添加资源文件夹…</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="306"/>
-        <source>Expand all directories</source>
-        <translation>展开所有文件夹</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="308"/>
         <source>Collapse all directories</source>
         <translation>折叠所有文件夹</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="311"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="305"/>
         <source>Configure...</source>
         <translation>配置…</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="210"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="206"/>
         <source>Compile resources</source>
         <translation>编译资源</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="510"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="504"/>
         <source>New Resource</source>
         <translation>新建资源</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="469"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="463"/>
         <source>Qt Resource Files (*.qrc)</source>
         <translation>Qt 资源文件 (*.qrc)</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="488"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="482"/>
         <source>The file already exists! Overwrite it?</source>
         <translation>文件已存在!是否覆盖?</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="539"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="533"/>
         <source>Delete resources</source>
         <translation>删除资源</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="539"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="533"/>
         <source>Do you really want to delete these resources from the project?</source>
         <translation>确定要从项目中删除这些资源?</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="639"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="633"/>
         <source>Resource Compilation</source>
         <translation>资源编译</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="618"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="612"/>
         <source>The compilation of the resource file was successful.</source>
         <translation>资源文件编译成功。</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="639"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="633"/>
         <source>The compilation of the resource file failed.</source>
         <translation>资源文件编译失败。</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="751"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="717"/>
         <source>Process Generation Error</source>
         <translation>进程生成错误</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="817"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="783"/>
         <source>Compiling resources...</source>
         <translation>正在编译资源…</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="892"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="858"/>
         <source>Abort</source>
         <translation>终止</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="892"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="858"/>
         <source>Determining changed resources...</source>
         <translation>正在确认改变的资源…</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="930"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="894"/>
         <source>Compiling changed resources...</source>
         <translation>正在编译改变的资源…</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="268"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="263"/>
         <source>Copy Path to Clipboard</source>
         <translation>将路径复制到剪贴板</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="510"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="504"/>
         <source>&lt;p&gt;The new resource file &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;br&gt;Problem: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="625"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="619"/>
         <source>&lt;p&gt;The compilation of the resource file failed.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="751"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="717"/>
         <source>Could not start {0}.&lt;br&gt;Ensure that it is in the search path.</source>
         <translation>无法启动 {0}。请保证它处在搜索路径中。</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="892"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="858"/>
         <source>%v/%m Resources</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Project/ProjectResourcesBrowser.py" line="287"/>
+        <location filename="../Project/ProjectResourcesBrowser.py" line="281"/>
         <source>Configure rcc Compiler</source>
         <translation type="unfinished"></translation>
     </message>
@@ -56776,72 +56979,72 @@
         <translation>配置…</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectSourcesBrowser.py" line="847"/>
+        <location filename="../Project/ProjectSourcesBrowser.py" line="844"/>
         <source>Add new Python package</source>
         <translation>添加新的 Python 程序包</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectSourcesBrowser.py" line="915"/>
+        <location filename="../Project/ProjectSourcesBrowser.py" line="912"/>
         <source>Delete files</source>
         <translation>删除文件</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectSourcesBrowser.py" line="915"/>
+        <location filename="../Project/ProjectSourcesBrowser.py" line="912"/>
         <source>Do you really want to delete these files from the project?</source>
         <translation>确定要从项目中删除这些文件?</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectSourcesBrowser.py" line="989"/>
+        <location filename="../Project/ProjectSourcesBrowser.py" line="986"/>
         <source>Code Coverage</source>
         <translation>代码覆盖率</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectSourcesBrowser.py" line="989"/>
+        <location filename="../Project/ProjectSourcesBrowser.py" line="986"/>
         <source>Please select a coverage file</source>
         <translation>请选择一个覆盖率文件</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectSourcesBrowser.py" line="1043"/>
+        <location filename="../Project/ProjectSourcesBrowser.py" line="1040"/>
         <source>Profile Data</source>
         <translation>剖析数据</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectSourcesBrowser.py" line="1043"/>
+        <location filename="../Project/ProjectSourcesBrowser.py" line="1040"/>
         <source>Please select a profile file</source>
         <translation>请选择一个剖析文件</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectSourcesBrowser.py" line="1080"/>
+        <location filename="../Project/ProjectSourcesBrowser.py" line="1077"/>
         <source>Class Diagram</source>
         <translation>类图</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectSourcesBrowser.py" line="1120"/>
+        <location filename="../Project/ProjectSourcesBrowser.py" line="1117"/>
         <source>Include class attributes?</source>
         <translation>包含类属性?</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectSourcesBrowser.py" line="1100"/>
+        <location filename="../Project/ProjectSourcesBrowser.py" line="1097"/>
         <source>Imports Diagram</source>
         <translation>引用图</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectSourcesBrowser.py" line="1100"/>
+        <location filename="../Project/ProjectSourcesBrowser.py" line="1097"/>
         <source>Include imports from external modules?</source>
         <translation>从外部模块包含引用?</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectSourcesBrowser.py" line="1120"/>
+        <location filename="../Project/ProjectSourcesBrowser.py" line="1117"/>
         <source>Package Diagram</source>
         <translation>程序包图</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectSourcesBrowser.py" line="1135"/>
+        <location filename="../Project/ProjectSourcesBrowser.py" line="1132"/>
         <source>Application Diagram</source>
         <translation>应用程序图</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectSourcesBrowser.py" line="1135"/>
+        <location filename="../Project/ProjectSourcesBrowser.py" line="1132"/>
         <source>Include module names?</source>
         <translation>包含模块名?</translation>
     </message>
@@ -56851,12 +57054,12 @@
         <translation type="unfinished">将路径复制到剪贴板</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectSourcesBrowser.py" line="832"/>
+        <location filename="../Project/ProjectSourcesBrowser.py" line="829"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../Project/ProjectSourcesBrowser.py" line="847"/>
+        <location filename="../Project/ProjectSourcesBrowser.py" line="844"/>
         <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"></translation>
     </message>
@@ -56884,187 +57087,187 @@
         <translation>&lt;b&gt;项目翻译浏览器&lt;/b&gt;&lt;p&gt;可以方便地观察在当前项目中包含的所有翻译。通过上下文菜单可以运行多个动作。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="156"/>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="155"/>
         <source>Generate translation</source>
         <translation>生成翻译</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="164"/>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="163"/>
         <source>Generate translation (with obsolete)</source>
         <translation>生成翻译(包括不使用的翻译)</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="409"/>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="405"/>
         <source>Generate all translations</source>
         <translation>生成所有翻译</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="416"/>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="412"/>
         <source>Generate all translations (with obsolete)</source>
         <translation>生成所有翻译(包括不使用的翻译)</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="309"/>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="306"/>
         <source>Open in Qt-Linguist</source>
         <translation>在 Qt 语言家中打开</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="356"/>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="353"/>
         <source>Open in Editor</source>
         <translation>在编辑器中打开</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="198"/>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="197"/>
         <source>Release translation</source>
         <translation>发布翻译</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="424"/>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="420"/>
         <source>Release all translations</source>
         <translation>发布所有翻译</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="140"/>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="139"/>
         <source>Preview translation</source>
         <translation>预览翻译</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="396"/>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="392"/>
         <source>Preview all translations</source>
         <translation>预览所有翻译</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="369"/>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="366"/>
         <source>Remove from project</source>
         <translation>从项目移除</translation>
     </message>
     <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="427"/>
+        <source>Delete</source>
+        <translation>删除</translation>
+    </message>
+    <message>
         <location filename="../Project/ProjectTranslationsBrowser.py" line="431"/>
-        <source>Delete</source>
-        <translation>删除</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="435"/>
         <source>Add translation...</source>
         <translation>添加翻译…</translation>
     </message>
     <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="433"/>
+        <source>Add translation files...</source>
+        <translation>添加翻译文件…</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="440"/>
+        <source>Configure...</source>
+        <translation>配置…</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="331"/>
+        <source>Generate translations</source>
+        <translation>生成翻译</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="339"/>
+        <source>Generate translations (with obsolete)</source>
+        <translation>生成翻译(包括过时的)</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="358"/>
+        <source>Release translations</source>
+        <translation>发布翻译</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="318"/>
+        <source>Preview translations</source>
+        <translation>预览翻译</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="678"/>
+        <source>Delete translation files</source>
+        <translation>删除翻译文件</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="678"/>
+        <source>Do you really want to delete these translation files from the project?</source>
+        <translation>确定要从项目中删除这些翻译?</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="1209"/>
+        <source>Write temporary project file</source>
+        <translation>写入临时项目文件</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="1209"/>
+        <source>No translation files (*.ts) selected.</source>
+        <translation>未选择翻译文件 (*.ts)。</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="951"/>
+        <source>Translation file generation</source>
+        <translation>翻译文件生成</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="940"/>
+        <source>The generation of the translation files (*.ts) was successful.</source>
+        <translation>翻译文件 (*.ts) 生成成功。</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="1237"/>
+        <source>Process Generation Error</source>
+        <translation>进程生成错误</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="1147"/>
+        <source>Translation file release</source>
+        <translation>翻译文件发布</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="1131"/>
+        <source>The release of the translation files (*.qm) was successful.</source>
+        <translation>翻译文件 (*.qm) 发布成功。</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="1147"/>
+        <source>The release of the translation files (*.qm) has failed.</source>
+        <translation>翻译文件 (*.qm) 发布失败。</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="397"/>
+        <source>Extract messages</source>
+        <translation>提取消息</translation>
+    </message>
+    <message>
         <location filename="../Project/ProjectTranslationsBrowser.py" line="437"/>
-        <source>Add translation files...</source>
-        <translation>添加翻译文件…</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="444"/>
-        <source>Configure...</source>
-        <translation>配置…</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="334"/>
-        <source>Generate translations</source>
-        <translation>生成翻译</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="342"/>
-        <source>Generate translations (with obsolete)</source>
-        <translation>生成翻译(包括过时的)</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="361"/>
-        <source>Release translations</source>
-        <translation>发布翻译</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="321"/>
-        <source>Preview translations</source>
-        <translation>预览翻译</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="686"/>
-        <source>Delete translation files</source>
-        <translation>删除翻译文件</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="686"/>
-        <source>Do you really want to delete these translation files from the project?</source>
-        <translation>确定要从项目中删除这些翻译?</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="1223"/>
-        <source>Write temporary project file</source>
-        <translation>写入临时项目文件</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="1223"/>
-        <source>No translation files (*.ts) selected.</source>
-        <translation>未选择翻译文件 (*.ts)。</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="959"/>
-        <source>Translation file generation</source>
-        <translation>翻译文件生成</translation>
+        <source>Copy Path to Clipboard</source>
+        <translation>将路径复制到剪贴板</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="824"/>
+        <source>&lt;p&gt;The temporary project file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;临时项目文件 &lt;b&gt;{0}&lt;/b&gt; 不可写。&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="1059"/>
+        <source>Could not start {0}.&lt;br&gt;Ensure that it is in the search path.</source>
+        <translation>无法启动 {0}。请保证它处在搜索路径中。</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="1237"/>
+        <source>&lt;p&gt;Could not start lrelease.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;无法启动 lrelease。&lt;br&gt;请确保它作为 &lt;b&gt;{0}&lt;/b&gt; 可用。&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="348"/>
+        <source>Open</source>
+        <translation>打开</translation>
     </message>
     <message>
         <location filename="../Project/ProjectTranslationsBrowser.py" line="948"/>
-        <source>The generation of the translation files (*.ts) was successful.</source>
-        <translation>翻译文件 (*.ts) 生成成功。</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="1251"/>
-        <source>Process Generation Error</source>
-        <translation>进程生成错误</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="1160"/>
-        <source>Translation file release</source>
-        <translation>翻译文件发布</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="1144"/>
-        <source>The release of the translation files (*.qm) was successful.</source>
-        <translation>翻译文件 (*.qm) 发布成功。</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="1160"/>
-        <source>The release of the translation files (*.qm) has failed.</source>
-        <translation>翻译文件 (*.qm) 发布失败。</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="401"/>
-        <source>Extract messages</source>
-        <translation>提取消息</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="441"/>
-        <source>Copy Path to Clipboard</source>
-        <translation>将路径复制到剪贴板</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="832"/>
-        <source>&lt;p&gt;The temporary project file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;临时项目文件 &lt;b&gt;{0}&lt;/b&gt; 不可写。&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="1072"/>
-        <source>Could not start {0}.&lt;br&gt;Ensure that it is in the search path.</source>
-        <translation>无法启动 {0}。请保证它处在搜索路径中。</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="1251"/>
-        <source>&lt;p&gt;Could not start lrelease.&lt;br&gt;Ensure that it is available as &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;无法启动 lrelease。&lt;br&gt;请确保它作为 &lt;b&gt;{0}&lt;/b&gt; 可用。&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="351"/>
-        <source>Open</source>
-        <translation>打开</translation>
-    </message>
-    <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="956"/>
         <source> The process has crashed.</source>
         <translation> 进程已崩溃。</translation>
     </message>
     <message>
-        <location filename="../Project/ProjectTranslationsBrowser.py" line="959"/>
+        <location filename="../Project/ProjectTranslationsBrowser.py" line="951"/>
         <source>The generation of the translation files (*.ts) has failed.{0}</source>
         <translation>翻译文件 (*.ts) 生成失败。{0}</translation>
     </message>
@@ -59318,45 +59521,45 @@
         <translation>源代码关联</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/PythonPage.ui" line="92"/>
-        <source>Enter the file extensions to be associated with the Python versions separated by a space. They must not overlap with each other.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Preferences/ConfigurationPages/PythonPage.ui" line="147"/>
         <source>Python 2:</source>
-        <translation>Python 2:</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/PythonPage.ui" line="161"/>
+        <translation type="obsolete">Python 2:</translation>
+    </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/PythonPage.ui" line="137"/>
         <source>Python 3:</source>
         <translation>Python 3:</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/PythonPage.ui" line="125"/>
+        <location filename="../Preferences/ConfigurationPages/PythonPage.ui" line="115"/>
         <source>Python Environments</source>
         <translation>Python 环境</translation>
     </message>
     <message>
+        <location filename="../Preferences/ConfigurationPages/PythonPage.ui" line="121"/>
+        <source>Please configure the Python environments on the &apos;Python2 Debugger&apos; page and the &apos;Python3 Debugger&apos; page.</source>
+        <translation type="unfinished">请在“Python 2 调试器”页面配置 Python 2 解释器。</translation>
+    </message>
+    <message>
         <location filename="../Preferences/ConfigurationPages/PythonPage.ui" line="131"/>
-        <source>Please configure the Python environments on the &apos;Python2 Debugger&apos; page and the &apos;Python3 Debugger&apos; page.</source>
-        <translation type="unfinished">请在“Python 2 调试器”页面配置 Python 2 解释器。</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/PythonPage.ui" line="141"/>
         <source>Currently selected environments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/PythonPage.ui" line="193"/>
+        <location filename="../Preferences/ConfigurationPages/PythonPage.ui" line="169"/>
         <source>Press to update the display of the currently selected environments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/PythonPage.ui" line="196"/>
+        <location filename="../Preferences/ConfigurationPages/PythonPage.ui" line="172"/>
         <source>Refresh</source>
         <translation>刷新</translation>
     </message>
+    <message>
+        <location filename="../Preferences/ConfigurationPages/PythonPage.ui" line="92"/>
+        <source>Enter the file extensions to be associated with Python separated by a space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QRegExpWizard</name>
@@ -64554,6 +64757,334 @@
     </message>
 </context>
 <context>
+    <name>Security</name>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="16"/>
+        <source>Use of &apos;assert&apos; detected. The enclosed code will be removed when compiling to optimised byte code.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="22"/>
+        <source>Use of &apos;exec&apos; detected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="27"/>
+        <source>&apos;chmod&apos; setting a permissive mask {0} on file ({1}).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="32"/>
+        <source>Possible binding to all interfaces.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="43"/>
+        <source>Possible hardcoded password: &apos;{0}&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="48"/>
+        <source>Probable insecure usage of temp file/directory.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="53"/>
+        <source>Try, Except, Pass detected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="56"/>
+        <source>Try, Except, Continue detected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="61"/>
+        <source>A Flask app appears to be run with debug=True, which exposes the Werkzeug debugger and allows the execution of arbitrary code.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="67"/>
+        <source>Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="71"/>
+        <source>Deserialization with the marshal module is possibly dangerous.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="74"/>
+        <source>Use of insecure MD2, MD4, MD5, or SHA1 hash function.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="77"/>
+        <source>Use of insecure cipher &apos;{0}&apos;. Replace with a known secure cipher such as AES.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="81"/>
+        <source>Use of insecure cipher mode &apos;{0}&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="84"/>
+        <source>Use of insecure and deprecated function (mktemp).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="87"/>
+        <source>Use of possibly insecure function - consider using safer ast.literal_eval.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="91"/>
+        <source>Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="95"/>
+        <source>Use of HTTPSConnection on older versions of Python prior to 2.7.9 and 3.4.3 do not provide security, see https://wiki.openstack.org/wiki/OSSN/OSSN-0033</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="100"/>
+        <source>Audit url open for permitted schemes. Allowing use of file:/ or custom schemes is often unexpected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="104"/>
+        <source>Standard pseudo-random generators are not suitable for security/cryptographic purposes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="108"/>
+        <source>Telnet-related functions are being called. Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="142"/>
+        <source>Using &apos;{0}&apos; to parse untrusted XML data is known to be vulnerable to XML attacks. Replace &apos;{0}&apos; with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="147"/>
+        <source>Using &apos;{0}&apos; to parse untrusted XML data is known to be vulnerable to XML attacks. Replace &apos;{0}&apos; with its defusedxml equivalent function.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="152"/>
+        <source>FTP-related functions are being called. FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="156"/>
+        <source>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="162"/>
+        <source>By default, Python will create a secure, verified SSL context for use in such classes as HTTPSConnection. However, it still allows using an insecure context via the _create_unverified_context that reverts to the previous behavior that does not validate certificates or perform hostname checks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="169"/>
+        <source>Use of os.tempnam() and os.tmpnam() is vulnerable to symlink attacks. Consider using tmpfile() instead.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="175"/>
+        <source>Use of insecure {0} hash function.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="180"/>
+        <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="184"/>
+        <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="192"/>
+        <source>Consider possible security implications associated with the &apos;{0}&apos; module.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="216"/>
+        <source>Using &apos;{0}&apos; to parse untrusted XML data is known to be vulnerable to XML attacks. Replace &apos;{0}&apos; with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="221"/>
+        <source>Using &apos;{0}&apos; to parse untrusted XML data is known to be vulnerable to XML attacks. Replace &apos;{0}&apos; with the equivalent defusedxml package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="226"/>
+        <source>Using &apos;{0}&apos; to parse untrusted XML data is known to be vulnerable to XML attacks. Use defused.xmlrpc.monkey_patch() function to monkey-patch xmlrpclib and mitigate XML vulnerabilities.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="231"/>
+        <source>Consider possible security implications associated with &apos;{0}&apos; module.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="235"/>
+        <source>The pyCrypto library and its module &apos;{0}&apos; are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="242"/>
+        <source>&apos;requests&apos; call with verify=False disabling SSL certificate checks, security issue.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="248"/>
+        <source>&apos;ssl.wrap_socket&apos; call with insecure SSL/TLS protocol version identified, security issue.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="252"/>
+        <source>&apos;SSL.Context&apos; call with insecure SSL/TLS protocol version identified, security issue.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="256"/>
+        <source>Function call with insecure SSL/TLS protocol version identified, security issue.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="260"/>
+        <source>Function definition identified with insecure SSL/TLS protocol version by default, possible security issue.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="264"/>
+        <source>&apos;ssl.wrap_socket&apos; call with no SSL/TLS protocol version specified, the default &apos;SSLv23&apos; could be insecure, possible security issue.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="270"/>
+        <source>{0} key sizes below {1:d} bits are considered breakable.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="275"/>
+        <source>Use of unsafe &apos;yaml.load()&apos;. Allows instantiation of arbitrary objects. Consider &apos;yaml.safe_load()&apos;.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="281"/>
+        <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="287"/>
+        <source>Possible shell injection via &apos;Paramiko&apos; call, check inputs are properly sanitized.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="291"/>
+        <source>&apos;subprocess&apos; call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="295"/>
+        <source>&apos;subprocess&apos; call with shell=True identified, security issue.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="298"/>
+        <source>&apos;subprocess&apos; call - check for execution of untrusted input.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="301"/>
+        <source>Function call with shell=True parameter identified, possible security issue.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="305"/>
+        <source>Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="309"/>
+        <source>Starting a process with a shell, possible injection detected, security issue.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="313"/>
+        <source>Starting a process without a shell.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="316"/>
+        <source>Starting a process with a partial executable path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="321"/>
+        <source>Possible SQL injection vector through string-based query construction.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="327"/>
+        <source>Possible wildcard injection in call: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="332"/>
+        <source>Use of &apos;extra()&apos; opens a potential SQL attack vector.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="335"/>
+        <source>Use of &apos;RawSQL()&apos; opens a potential SQL attack vector.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="340"/>
+        <source>Using jinja2 templates with &apos;autoescape=False&apos; is dangerous and can lead to XSS. Use &apos;autoescape=True&apos; or use the &apos;select_autoescape&apos; function to mitigate XSS vulnerabilities.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="345"/>
+        <source>By default, jinja2 sets &apos;autoescape&apos; to False. Consider using &apos;autoescape=True&apos; or use the &apos;select_autoescape&apos; function to mitigate XSS vulnerabilities.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="352"/>
+        <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the &apos;n&apos;, &apos;h&apos; or &apos;x&apos; flags (depending on context). For example, to HTML escape the variable &apos;data&apos; do ${{ data |h }}.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="360"/>
+        <source>Potential XSS on &apos;mark_safe()&apos; function.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="373"/>
+        <source>{0}: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="365"/>
+        <source>Possible hardcoded AWS access key ID: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="368"/>
+        <source>Possible hardcoded AWS secret access key: {0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>SecurityPage</name>
     <message>
         <location filename="../Preferences/ConfigurationPages/SecurityPage.ui" line="37"/>
@@ -67044,7 +67575,7 @@
 <context>
     <name>SnapshotRegionGrabber</name>
     <message>
-        <location filename="../Snapshot/SnapshotRegionGrabber.py" line="99"/>
+        <location filename="../Snapshot/SnapshotRegionGrabber.py" line="102"/>
         <source>Select a region using the mouse. To take the snapshot, press the Enter key or double click. Press Esc to quit.</source>
         <translation>使用鼠标选择一个区域。要截取快照,点击 Enter 键或双击鼠标。点击 Esc 以退出。</translation>
     </message>
@@ -74271,27 +74802,22 @@
 <context>
     <name>SyntaxCheckService</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="208"/>
-        <source>Python 2 batch check</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="224"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="211"/>
         <source>Python 3 batch check</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="240"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="227"/>
         <source>JavaScript batch check</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="256"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="243"/>
         <source>YAML batch check</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="272"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="259"/>
         <source>JSON batch check</source>
         <translation type="unfinished"></translation>
     </message>
@@ -74405,22 +74931,22 @@
 <context>
     <name>SyntaxCheckerPlugin</name>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="259"/>
         <source>Check Syntax</source>
         <translation>检查语法</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="267"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="259"/>
         <source>&amp;Syntax...</source>
         <translation>语法(&amp;S)…</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="176"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="168"/>
         <source>Check syntax.</source>
         <translation>检查语法。</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginSyntaxChecker.py" line="271"/>
+        <location filename="../Plugins/PluginSyntaxChecker.py" line="263"/>
         <source>&lt;b&gt;Check Syntax...&lt;/b&gt;&lt;p&gt;This checks Python files for syntax errors.&lt;/p&gt;</source>
         <translation>&lt;b&gt;检查语法…&lt;/b&gt;&lt;p&gt;检查 Python 文件的语法错误。&lt;/p&gt;</translation>
     </message>
@@ -74931,32 +75457,27 @@
 <context>
     <name>TabnannyPlugin</name>
     <message>
-        <location filename="../Plugins/PluginTabnanny.py" line="312"/>
+        <location filename="../Plugins/PluginTabnanny.py" line="288"/>
         <source>Check Indentations</source>
         <translation>检查缩进</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginTabnanny.py" line="312"/>
+        <location filename="../Plugins/PluginTabnanny.py" line="288"/>
         <source>&amp;Indentations...</source>
         <translation>缩进(&amp;I)…</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginTabnanny.py" line="219"/>
+        <location filename="../Plugins/PluginTabnanny.py" line="195"/>
         <source>Check indentations using tabnanny.</source>
         <translation>使用 tabnanny 检查缩进。</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginTabnanny.py" line="316"/>
+        <location filename="../Plugins/PluginTabnanny.py" line="292"/>
         <source>&lt;b&gt;Check Indentations...&lt;/b&gt;&lt;p&gt;This checks Python files for bad indentations using tabnanny.&lt;/p&gt;</source>
         <translation>&lt;b&gt;检查缩进…&lt;/b&gt;&lt;p&gt;使用 tabnanny 检查 Python 文件的不良缩进。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginTabnanny.py" line="106"/>
-        <source>Python 2 batch check</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/PluginTabnanny.py" line="122"/>
+        <location filename="../Plugins/PluginTabnanny.py" line="101"/>
         <source>Python 3 batch check</source>
         <translation type="unfinished"></translation>
     </message>
@@ -77880,7 +78401,7 @@
 <context>
     <name>UnittestDialog</name>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="923"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="897"/>
         <source>Unittest</source>
         <translation>单元测试</translation>
     </message>
@@ -78021,42 +78542,42 @@
         <translation>空闲</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="91"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="90"/>
         <source>Start</source>
         <translation>开始</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="93"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="92"/>
         <source>Start the selected testsuite</source>
         <translation>开启所选测试套件</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="95"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="94"/>
         <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="106"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="105"/>
         <source>Stop</source>
         <translation>中止</translation>
     </message>
     <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="107"/>
+        <source>Stop the running unittest</source>
+        <translation>中止正在运行的单元测试</translation>
+    </message>
+    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="108"/>
-        <source>Stop the running unittest</source>
-        <translation>中止正在运行的单元测试</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="109"/>
         <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.py" line="160"/>
+        <source>^Failure: </source>
+        <translation>^失败:</translation>
+    </message>
+    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="161"/>
-        <source>^Failure: </source>
-        <translation>^失败:</translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="162"/>
         <source>^Error: </source>
         <translation>^错误:</translation>
     </message>
@@ -78066,37 +78587,32 @@
         <translation type="obsolete">必须输入测试套件文件。</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="701"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="693"/>
         <source>Preparing Testsuite</source>
         <translation>准备测试套件</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="1005"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="979"/>
         <source>Running</source>
         <translation>正在运行</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="1169"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="1143"/>
         <source>Show Source</source>
         <translation>显示源代码</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="303"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="298"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="299"/>
-        <source>Python3 Files ({1});;Python2 Files ({0});;All Files (*)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="1049"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="1023"/>
         <source>Failure: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="1064"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="1038"/>
         <source>Error: {0}</source>
         <translation type="unfinished">错误:{0}</translation>
     </message>
@@ -78131,32 +78647,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="1079"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="1053"/>
         <source>    Skipped: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="1094"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="1068"/>
         <source>    Expected Failure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="1108"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="1082"/>
         <source>    Unexpected Success</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="98"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="97"/>
         <source>Rerun Failed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="100"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="99"/>
         <source>Reruns failed tests of the selected testsuite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="102"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="101"/>
         <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"></translation>
     </message>
@@ -78243,17 +78759,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="705"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="697"/>
         <source>Unittest with auto-discovery</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="807"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="781"/>
         <source>You must enter a start directory for auto-discovery.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../PyUnit/UnittestDialog.py" line="1029"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="1003"/>
         <source>Ran %n test(s) in {0:.3f}s</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -78265,54 +78781,54 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="84"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="83"/>
         <source>Discover</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="86"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="85"/>
         <source>Discover tests</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="381"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="376"/>
         <source>Discovering Tests</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="449"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="441"/>
         <source>&lt;p&gt;Unable to discover tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../PyUnit/UnittestDialog.py" line="621"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="613"/>
         <source>Discovered %n Test(s)</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="626"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="618"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="692"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="684"/>
         <source>You must select auto-discovery or enter a test suite file or a dotted test name.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="714"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="706"/>
         <source>&lt;Unnamed Test&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="923"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="897"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="88"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="87"/>
         <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"></translation>
     </message>
@@ -78337,10 +78853,15 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="722"/>
+        <location filename="../PyUnit/UnittestDialog.py" line="714"/>
         <source>No test case has been selected. Shall all test cases be run?</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../PyUnit/UnittestDialog.py" line="294"/>
+        <source>Python3 Files ({0});;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UrlBar</name>
@@ -78534,913 +79055,913 @@
         <translation>恢复工具拦管理器…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1634"/>
+        <location filename="../UI/UserInterface.py" line="1633"/>
         <source>Project-Viewer</source>
         <translation>项目浏览器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1651"/>
+        <location filename="../UI/UserInterface.py" line="1650"/>
         <source>Multiproject-Viewer</source>
         <translation>多重项目浏览器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1669"/>
+        <location filename="../UI/UserInterface.py" line="1668"/>
         <source>Debug-Viewer</source>
         <translation>调试浏览器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1721"/>
+        <location filename="../UI/UserInterface.py" line="1720"/>
         <source>Log-Viewer</source>
         <translation>日志浏览器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1739"/>
+        <location filename="../UI/UserInterface.py" line="1738"/>
         <source>Task-Viewer</source>
         <translation>任务浏览器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1758"/>
+        <location filename="../UI/UserInterface.py" line="1757"/>
         <source>Template-Viewer</source>
         <translation>模板浏览器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1704"/>
+        <location filename="../UI/UserInterface.py" line="1703"/>
         <source>File-Browser</source>
         <translation>文件浏览器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1687"/>
+        <location filename="../UI/UserInterface.py" line="1686"/>
         <source>Shell</source>
         <translation>命令行</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1801"/>
+        <location filename="../UI/UserInterface.py" line="1800"/>
         <source>Horizontal Toolbox</source>
         <translation>横向工具箱</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1522"/>
+        <location filename="../UI/UserInterface.py" line="1521"/>
         <source>Quit</source>
         <translation>退出</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1522"/>
+        <location filename="../UI/UserInterface.py" line="1521"/>
         <source>&amp;Quit</source>
         <translation>退出(&amp;Q)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1522"/>
+        <location filename="../UI/UserInterface.py" line="1521"/>
         <source>Ctrl+Q</source>
         <comment>File|Quit</comment>
         <translation>Ctrl+Q</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="1527"/>
+        <source>Quit the IDE</source>
+        <translation>退出程序</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="1528"/>
-        <source>Quit the IDE</source>
-        <translation>退出程序</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="1529"/>
         <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="1600"/>
+        <location filename="../UI/UserInterface.py" line="1599"/>
         <source>Edit Profile</source>
         <translation>编辑模式</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1606"/>
+        <location filename="../UI/UserInterface.py" line="1605"/>
         <source>Activate the edit view profile</source>
         <translation>激活编辑视图模式</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1608"/>
+        <location filename="../UI/UserInterface.py" line="1607"/>
         <source>&lt;b&gt;Edit Profile&lt;/b&gt;&lt;p&gt;Activate the &quot;Edit View Profile&quot;. Windows being shown, if this profile is active, may be configured with the &quot;View Profile Configuration&quot; 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="1617"/>
+        <location filename="../UI/UserInterface.py" line="1616"/>
         <source>Debug Profile</source>
         <translation>调试模式</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1623"/>
+        <location filename="../UI/UserInterface.py" line="1622"/>
         <source>Activate the debug view profile</source>
         <translation>激活调试模式</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1625"/>
+        <location filename="../UI/UserInterface.py" line="1624"/>
         <source>&lt;b&gt;Debug Profile&lt;/b&gt;&lt;p&gt;Activate the &quot;Debug View Profile&quot;. Windows being shown, if this profile is active, may be configured with the &quot;View Profile Configuration&quot; 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="1634"/>
+        <location filename="../UI/UserInterface.py" line="1633"/>
         <source>&amp;Project-Viewer</source>
         <translation>项目浏览器(&amp;P)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1634"/>
+        <location filename="../UI/UserInterface.py" line="1633"/>
         <source>Alt+Shift+P</source>
         <translation>Alt+Shift+P</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1651"/>
+        <location filename="../UI/UserInterface.py" line="1650"/>
         <source>&amp;Multiproject-Viewer</source>
         <translation>多重项目浏览器(&amp;M)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1651"/>
+        <location filename="../UI/UserInterface.py" line="1650"/>
         <source>Alt+Shift+M</source>
         <translation>Alt+Shift+M</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1669"/>
+        <location filename="../UI/UserInterface.py" line="1668"/>
         <source>Alt+Shift+D</source>
         <translation>Alt+Shift+D</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1687"/>
+        <location filename="../UI/UserInterface.py" line="1686"/>
         <source>&amp;Shell</source>
         <translation>命令行(&amp;S)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1687"/>
+        <location filename="../UI/UserInterface.py" line="1686"/>
         <source>Alt+Shift+S</source>
         <translation>Alt+Shift+S</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1704"/>
+        <location filename="../UI/UserInterface.py" line="1703"/>
         <source>Alt+Shift+F</source>
         <translation>Alt+Shift+F</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1721"/>
+        <location filename="../UI/UserInterface.py" line="1720"/>
         <source>Alt+Shift+G</source>
         <translation>Alt+Shift+G</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1739"/>
+        <location filename="../UI/UserInterface.py" line="1738"/>
         <source>Alt+Shift+T</source>
         <translation>Alt+Shift+T</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1758"/>
+        <location filename="../UI/UserInterface.py" line="1757"/>
         <source>Alt+Shift+A</source>
         <translation>Alt+Shift+A</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1801"/>
+        <location filename="../UI/UserInterface.py" line="1800"/>
         <source>&amp;Horizontal Toolbox</source>
         <translation>横向工具箱(&amp;H)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1805"/>
+        <location filename="../UI/UserInterface.py" line="1804"/>
         <source>Toggle the Horizontal Toolbox window</source>
         <translation>切换横向工具箱窗口</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1807"/>
+        <location filename="../UI/UserInterface.py" line="1806"/>
         <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="2006"/>
+        <location filename="../UI/UserInterface.py" line="2005"/>
         <source>What&apos;s This?</source>
         <translation>这是什么?</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2006"/>
+        <location filename="../UI/UserInterface.py" line="2005"/>
         <source>&amp;What&apos;s This?</source>
         <translation>这是什么(&amp;W)?</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2006"/>
+        <location filename="../UI/UserInterface.py" line="2005"/>
         <source>Shift+F1</source>
         <translation>Shift+F1</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2011"/>
+        <source>Context sensitive help</source>
+        <translation>背景帮助</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2012"/>
-        <source>Context sensitive help</source>
-        <translation>背景帮助</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2013"/>
         <source>&lt;b&gt;Display context sensitive help&lt;/b&gt;&lt;p&gt;In What&apos;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="2024"/>
+        <location filename="../UI/UserInterface.py" line="2023"/>
         <source>Helpviewer</source>
         <translation>帮助浏览器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2024"/>
+        <location filename="../UI/UserInterface.py" line="2023"/>
         <source>&amp;Helpviewer...</source>
         <translation>帮助浏览器(&amp;H)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2024"/>
+        <location filename="../UI/UserInterface.py" line="2023"/>
         <source>F1</source>
         <translation>F1</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2030"/>
+        <location filename="../UI/UserInterface.py" line="2029"/>
         <source>Open the helpviewer window</source>
         <translation>打开帮助浏览器窗口</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2050"/>
+        <location filename="../UI/UserInterface.py" line="2049"/>
         <source>Show Versions</source>
         <translation>显示版本</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2050"/>
+        <location filename="../UI/UserInterface.py" line="2049"/>
         <source>Show &amp;Versions</source>
         <translation>显示版本(&amp;V)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2054"/>
+        <location filename="../UI/UserInterface.py" line="2053"/>
         <source>Display version information</source>
         <translation>显示版本信息</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2056"/>
+        <location filename="../UI/UserInterface.py" line="2055"/>
         <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="2066"/>
+        <location filename="../UI/UserInterface.py" line="2065"/>
         <source>Check for Updates</source>
         <translation>检查更新</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2063"/>
+        <location filename="../UI/UserInterface.py" line="2062"/>
         <source>Check for &amp;Updates...</source>
         <translation>检查更新(&amp;U)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2074"/>
+        <location filename="../UI/UserInterface.py" line="2073"/>
         <source>Show downloadable versions</source>
         <translation>显示可下载的版本</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2074"/>
+        <location filename="../UI/UserInterface.py" line="2073"/>
         <source>Show &amp;downloadable versions...</source>
         <translation>显示可下载的版本(&amp;D)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2078"/>
+        <location filename="../UI/UserInterface.py" line="2077"/>
         <source>Show the versions available for download</source>
         <translation>显示可以下载的版本</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3723"/>
+        <location filename="../UI/UserInterface.py" line="3640"/>
         <source>Report Bug</source>
         <translation>报告错误</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2101"/>
+        <location filename="../UI/UserInterface.py" line="2100"/>
         <source>Report &amp;Bug...</source>
         <translation>报告错误(&amp;B)…</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2104"/>
+        <source>Report a bug</source>
+        <translation>报告一个错误</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2105"/>
-        <source>Report a bug</source>
-        <translation>报告一个错误</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2106"/>
         <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="2113"/>
+        <location filename="../UI/UserInterface.py" line="2112"/>
         <source>Request Feature</source>
         <translation>请求功能</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2113"/>
+        <location filename="../UI/UserInterface.py" line="2112"/>
         <source>Request &amp;Feature...</source>
         <translation>请求功能(&amp;F)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2117"/>
+        <location filename="../UI/UserInterface.py" line="2116"/>
         <source>Send a feature request</source>
         <translation>发送一个功能请求</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2119"/>
+        <location filename="../UI/UserInterface.py" line="2118"/>
         <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="3264"/>
+        <location filename="../UI/UserInterface.py" line="3181"/>
         <source>Unittest</source>
         <translation>单元测试</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2128"/>
+        <location filename="../UI/UserInterface.py" line="2127"/>
         <source>&amp;Unittest...</source>
         <translation>单元测试(&amp;U)…</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2132"/>
+        <source>Start unittest dialog</source>
+        <translation>打开单元测试对话框</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2133"/>
-        <source>Start unittest dialog</source>
-        <translation>打开单元测试对话框</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2134"/>
         <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="2142"/>
+        <location filename="../UI/UserInterface.py" line="2141"/>
         <source>Unittest Restart</source>
         <translation>单元测试重启</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2142"/>
+        <location filename="../UI/UserInterface.py" line="2141"/>
         <source>&amp;Restart Unittest...</source>
         <translation>重启单元测试(&amp;R)…</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2146"/>
+        <source>Restart last unittest</source>
+        <translation>重启最后的单元测试</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2147"/>
-        <source>Restart last unittest</source>
-        <translation>重启最后的单元测试</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2148"/>
         <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="2172"/>
+        <location filename="../UI/UserInterface.py" line="2171"/>
         <source>Unittest Script</source>
         <translation>脚本单元测试</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2172"/>
+        <location filename="../UI/UserInterface.py" line="2171"/>
         <source>Unittest &amp;Script...</source>
         <translation>脚本单元测试(&amp;S)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2177"/>
+        <location filename="../UI/UserInterface.py" line="2176"/>
         <source>Run unittest with current script</source>
         <translation>对当前脚本运行单元测试</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2179"/>
+        <location filename="../UI/UserInterface.py" line="2178"/>
         <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="2187"/>
+        <location filename="../UI/UserInterface.py" line="2186"/>
         <source>Unittest Project</source>
         <translation>项目单元测试</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2187"/>
+        <location filename="../UI/UserInterface.py" line="2186"/>
         <source>Unittest &amp;Project...</source>
         <translation>项目单元测试(&amp;P)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2192"/>
+        <location filename="../UI/UserInterface.py" line="2191"/>
         <source>Run unittest with current project</source>
         <translation>对当前项目运行单元测试</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2194"/>
+        <location filename="../UI/UserInterface.py" line="2193"/>
         <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="2255"/>
+        <location filename="../UI/UserInterface.py" line="2254"/>
         <source>UI Previewer</source>
         <translation>用户界面预览器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2255"/>
+        <location filename="../UI/UserInterface.py" line="2254"/>
         <source>&amp;UI Previewer...</source>
         <translation>用户界面预览器(&amp;U)…</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2259"/>
+        <source>Start the UI Previewer</source>
+        <translation>开启用户界面预览器</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2260"/>
-        <source>Start the UI Previewer</source>
-        <translation>开启用户界面预览器</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2261"/>
         <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="2268"/>
+        <location filename="../UI/UserInterface.py" line="2267"/>
         <source>Translations Previewer</source>
         <translation>翻译预览器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2268"/>
+        <location filename="../UI/UserInterface.py" line="2267"/>
         <source>&amp;Translations Previewer...</source>
         <translation>翻译预览器(&amp;T)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2273"/>
+        <location filename="../UI/UserInterface.py" line="2272"/>
         <source>Start the Translations Previewer</source>
         <translation>开启翻译预览器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2275"/>
+        <location filename="../UI/UserInterface.py" line="2274"/>
         <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="2282"/>
+        <location filename="../UI/UserInterface.py" line="2281"/>
         <source>Compare Files</source>
         <translation>比较文件</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2282"/>
+        <location filename="../UI/UserInterface.py" line="2281"/>
         <source>&amp;Compare Files...</source>
         <translation>比较文件(&amp;C)…</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2299"/>
+        <source>Compare two files</source>
+        <translation>比较两个文件</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2287"/>
+        <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="2294"/>
+        <source>Compare Files side by side</source>
+        <translation>并排比较文件</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2300"/>
-        <source>Compare two files</source>
-        <translation>比较两个文件</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2288"/>
-        <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="2295"/>
-        <source>Compare Files side by side</source>
-        <translation>并排比较文件</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2301"/>
         <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="2326"/>
+        <source>Mini Editor</source>
+        <translation>小型编辑器</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2321"/>
+        <source>Mini &amp;Editor...</source>
+        <translation>小型编辑器(&amp;E)…</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2327"/>
-        <source>Mini Editor</source>
-        <translation>小型编辑器</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2322"/>
-        <source>Mini &amp;Editor...</source>
-        <translation>小型编辑器(&amp;E)…</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2328"/>
         <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="2395"/>
+        <location filename="../UI/UserInterface.py" line="2394"/>
         <source>Preferences</source>
         <translation>首选项</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2395"/>
+        <location filename="../UI/UserInterface.py" line="2394"/>
         <source>&amp;Preferences...</source>
         <translation>首选项(&amp;P)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2400"/>
+        <location filename="../UI/UserInterface.py" line="2399"/>
         <source>Set the prefered configuration</source>
         <translation>设定偏好配置</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2402"/>
+        <location filename="../UI/UserInterface.py" line="2401"/>
         <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="2411"/>
+        <location filename="../UI/UserInterface.py" line="2410"/>
         <source>Export Preferences</source>
         <translation>导出首选项</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2411"/>
+        <location filename="../UI/UserInterface.py" line="2410"/>
         <source>E&amp;xport Preferences...</source>
         <translation>导出首选项(&amp;X)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2416"/>
+        <location filename="../UI/UserInterface.py" line="2415"/>
         <source>Export the current configuration</source>
         <translation>导出当前配置</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2418"/>
+        <location filename="../UI/UserInterface.py" line="2417"/>
         <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="2425"/>
+        <location filename="../UI/UserInterface.py" line="2424"/>
         <source>Import Preferences</source>
         <translation>导入首选项</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2425"/>
+        <location filename="../UI/UserInterface.py" line="2424"/>
         <source>I&amp;mport Preferences...</source>
         <translation>导入首选项(&amp;M)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2430"/>
+        <location filename="../UI/UserInterface.py" line="2429"/>
         <source>Import a previously exported configuration</source>
         <translation>导入以前导出的配置</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2432"/>
+        <location filename="../UI/UserInterface.py" line="2431"/>
         <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="2439"/>
+        <location filename="../UI/UserInterface.py" line="2438"/>
         <source>Reload APIs</source>
         <translation>重新载入 API</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2439"/>
+        <location filename="../UI/UserInterface.py" line="2438"/>
         <source>Reload &amp;APIs</source>
         <translation>重新载入 &amp;API</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2443"/>
+        <location filename="../UI/UserInterface.py" line="2442"/>
         <source>Reload the API information</source>
         <translation>重新载入 API 信息</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2445"/>
+        <location filename="../UI/UserInterface.py" line="2444"/>
         <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="2457"/>
+        <location filename="../UI/UserInterface.py" line="2456"/>
         <source>Show external tools</source>
         <translation>显示外部工具</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2452"/>
+        <location filename="../UI/UserInterface.py" line="2451"/>
         <source>Show external &amp;tools</source>
         <translation>显示外部工具(&amp;T)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2468"/>
+        <location filename="../UI/UserInterface.py" line="2467"/>
         <source>View Profiles</source>
         <translation>视图模式</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2468"/>
+        <location filename="../UI/UserInterface.py" line="2467"/>
         <source>&amp;View Profiles...</source>
         <translation>视图模式(&amp;V)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2473"/>
+        <location filename="../UI/UserInterface.py" line="2472"/>
         <source>Configure view profiles</source>
         <translation>配置视图模式</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2475"/>
+        <location filename="../UI/UserInterface.py" line="2474"/>
         <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="2485"/>
+        <location filename="../UI/UserInterface.py" line="2484"/>
         <source>Toolbars</source>
         <translation>工具栏</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2485"/>
+        <location filename="../UI/UserInterface.py" line="2484"/>
         <source>Tool&amp;bars...</source>
         <translation>工具栏(&amp;B)…</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2489"/>
+        <source>Configure toolbars</source>
+        <translation>配置工具栏</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2490"/>
-        <source>Configure toolbars</source>
-        <translation>配置工具栏</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2491"/>
         <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="2500"/>
+        <location filename="../UI/UserInterface.py" line="2499"/>
         <source>Keyboard Shortcuts</source>
         <translation>键盘快捷键</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2500"/>
+        <location filename="../UI/UserInterface.py" line="2499"/>
         <source>Keyboard &amp;Shortcuts...</source>
         <translation>键盘快捷键(&amp;S)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2505"/>
+        <location filename="../UI/UserInterface.py" line="2504"/>
         <source>Set the keyboard shortcuts</source>
         <translation>设置键盘快捷键</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2507"/>
+        <location filename="../UI/UserInterface.py" line="2506"/>
         <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="6294"/>
+        <location filename="../UI/UserInterface.py" line="6069"/>
         <source>Export Keyboard Shortcuts</source>
         <translation>导出键盘快捷键</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2515"/>
+        <location filename="../UI/UserInterface.py" line="2514"/>
         <source>&amp;Export Keyboard Shortcuts...</source>
         <translation>导出键盘快捷键(&amp;E)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2520"/>
+        <location filename="../UI/UserInterface.py" line="2519"/>
         <source>Export the keyboard shortcuts</source>
         <translation>导出键盘快捷键</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2522"/>
+        <location filename="../UI/UserInterface.py" line="2521"/>
         <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="6318"/>
+        <location filename="../UI/UserInterface.py" line="6093"/>
         <source>Import Keyboard Shortcuts</source>
         <translation>导入键盘快捷键</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2529"/>
+        <location filename="../UI/UserInterface.py" line="2528"/>
         <source>&amp;Import Keyboard Shortcuts...</source>
         <translation>导入键盘快捷键(&amp;I)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2534"/>
+        <location filename="../UI/UserInterface.py" line="2533"/>
         <source>Import the keyboard shortcuts</source>
         <translation>导入键盘快捷键</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2536"/>
+        <location filename="../UI/UserInterface.py" line="2535"/>
         <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="2594"/>
+        <location filename="../UI/UserInterface.py" line="2593"/>
         <source>Activate current editor</source>
         <translation>激活当前编辑器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2594"/>
+        <location filename="../UI/UserInterface.py" line="2593"/>
         <source>Alt+Shift+E</source>
         <translation>Alt+Shift+E</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2604"/>
+        <location filename="../UI/UserInterface.py" line="2603"/>
         <source>Show next</source>
         <translation>显示下一个</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2604"/>
+        <location filename="../UI/UserInterface.py" line="2603"/>
         <source>Ctrl+Alt+Tab</source>
         <translation>Ctrl+Alt+Tab</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2613"/>
+        <location filename="../UI/UserInterface.py" line="2612"/>
         <source>Show previous</source>
         <translation>显示上一个</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2613"/>
+        <location filename="../UI/UserInterface.py" line="2612"/>
         <source>Shift+Ctrl+Alt+Tab</source>
         <translation>Shift+Ctrl+Alt+Tab</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2622"/>
+        <location filename="../UI/UserInterface.py" line="2621"/>
         <source>Switch between tabs</source>
         <translation>在选项卡间切换</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2622"/>
+        <location filename="../UI/UserInterface.py" line="2621"/>
         <source>Ctrl+1</source>
         <translation>Ctrl+1</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2631"/>
+        <location filename="../UI/UserInterface.py" line="2630"/>
         <source>Plugin Infos</source>
         <translation>插件信息</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2631"/>
+        <location filename="../UI/UserInterface.py" line="2630"/>
         <source>&amp;Plugin Infos...</source>
         <translation>插件信息(&amp;P)…</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2634"/>
+        <source>Show Plugin Infos</source>
+        <translation>显示插件信息</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2635"/>
-        <source>Show Plugin Infos</source>
-        <translation>显示插件信息</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2636"/>
         <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="2648"/>
+        <source>Install Plugins</source>
+        <translation>安装插件</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2643"/>
+        <source>&amp;Install Plugins...</source>
+        <translation>安装插件(&amp;I)…</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2649"/>
-        <source>Install Plugins</source>
-        <translation>安装插件</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2644"/>
-        <source>&amp;Install Plugins...</source>
-        <translation>安装插件(&amp;I)…</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2650"/>
         <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="2661"/>
+        <source>Uninstall Plugin</source>
+        <translation>卸载插件</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2656"/>
+        <source>&amp;Uninstall Plugin...</source>
+        <translation>卸载插件(&amp;U)…</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2662"/>
-        <source>Uninstall Plugin</source>
-        <translation>卸载插件</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2657"/>
-        <source>&amp;Uninstall Plugin...</source>
-        <translation>卸载插件(&amp;U)…</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2663"/>
         <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="2670"/>
+        <location filename="../UI/UserInterface.py" line="2669"/>
         <source>Plugin Repository</source>
         <translation>插件储存库</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2670"/>
+        <location filename="../UI/UserInterface.py" line="2669"/>
         <source>Plugin &amp;Repository...</source>
         <translation>插件储存库(&amp;R)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2675"/>
+        <location filename="../UI/UserInterface.py" line="2674"/>
         <source>Show Plugins available for download</source>
         <translation>显示可以下载的插件</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2677"/>
+        <location filename="../UI/UserInterface.py" line="2676"/>
         <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="2736"/>
+        <location filename="../UI/UserInterface.py" line="2735"/>
         <source>Qt4 Documentation</source>
-        <translation>Qt4 文档</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2736"/>
+        <translation type="obsolete">Qt4 文档</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2735"/>
         <source>Qt&amp;4 Documentation</source>
-        <translation>Qt&amp;4 文档</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2740"/>
+        <translation type="obsolete">Qt&amp;4 文档</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2739"/>
         <source>Open Qt4 Documentation</source>
-        <translation>打开 Qt4 文档</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2768"/>
+        <translation type="obsolete">打开 Qt4 文档</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2767"/>
         <source>PyQt4 Documentation</source>
-        <translation>PyQt4 文档</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2772"/>
+        <translation type="obsolete">PyQt4 文档</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2771"/>
         <source>Open PyQt4 Documentation</source>
-        <translation>打开 PyQt4 文档</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2848"/>
+        <translation type="obsolete">打开 PyQt4 文档</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2793"/>
         <source>Eric API Documentation</source>
         <translation>Eric API 文档</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2848"/>
+        <location filename="../UI/UserInterface.py" line="2793"/>
         <source>&amp;Eric API Documentation</source>
         <translation>&amp;Eric API 文档</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2852"/>
+        <location filename="../UI/UserInterface.py" line="2797"/>
         <source>Open Eric API Documentation</source>
         <translation>打开 Eric API 文档</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3055"/>
+        <location filename="../UI/UserInterface.py" line="2978"/>
         <source>&amp;Unittest</source>
         <translation>单元测试(&amp;U)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2999"/>
+        <location filename="../UI/UserInterface.py" line="2922"/>
         <source>E&amp;xtras</source>
         <translation>附加程序(&amp;X)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3009"/>
+        <location filename="../UI/UserInterface.py" line="2932"/>
         <source>Wi&amp;zards</source>
         <translation>向导(&amp;Z)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3072"/>
+        <location filename="../UI/UserInterface.py" line="2995"/>
         <source>Select Tool Group</source>
         <translation>选择工具组</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3083"/>
+        <location filename="../UI/UserInterface.py" line="3006"/>
         <source>Se&amp;ttings</source>
         <translation>设置(&amp;T)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3113"/>
-        <source>&amp;Window</source>
-        <translation>窗口(&amp;W)</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="3174"/>
-        <source>&amp;Toolbars</source>
-        <translation>工具栏(&amp;T)</translation>
-    </message>
-    <message>
         <location filename="../UI/UserInterface.py" line="3036"/>
+        <source>&amp;Window</source>
+        <translation>窗口(&amp;W)</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="3097"/>
+        <source>&amp;Toolbars</source>
+        <translation>工具栏(&amp;T)</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2959"/>
         <source>P&amp;lugins</source>
         <translation>插件(&amp;L)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3045"/>
+        <location filename="../UI/UserInterface.py" line="2968"/>
         <source>Configure...</source>
         <translation>配置…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3188"/>
+        <location filename="../UI/UserInterface.py" line="3111"/>
         <source>&amp;Help</source>
         <translation>帮助(&amp;H)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3263"/>
+        <location filename="../UI/UserInterface.py" line="3180"/>
         <source>Tools</source>
         <translation>工具</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3265"/>
+        <location filename="../UI/UserInterface.py" line="3182"/>
         <source>Settings</source>
         <translation>设置</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5082"/>
+        <location filename="../UI/UserInterface.py" line="4999"/>
         <source>Help</source>
         <translation>帮助</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3267"/>
+        <location filename="../UI/UserInterface.py" line="3184"/>
         <source>Profiles</source>
         <translation>模式</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3268"/>
+        <location filename="../UI/UserInterface.py" line="3185"/>
         <source>Plugins</source>
         <translation>插件</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3433"/>
+        <location filename="../UI/UserInterface.py" line="3350"/>
         <source>&lt;p&gt;This part of the status bar displays the current editors language.&lt;/p&gt;</source>
         <translation>&lt;p&gt;状态栏的这一部分显示当前编辑器语言。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3440"/>
+        <location filename="../UI/UserInterface.py" line="3357"/>
         <source>&lt;p&gt;This part of the status bar displays the current editors encoding.&lt;/p&gt;</source>
         <translation>&lt;p&gt;状态栏的这一部分显示当前编辑器编码。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3447"/>
+        <location filename="../UI/UserInterface.py" line="3364"/>
         <source>&lt;p&gt;This part of the status bar displays the current editors eol setting.&lt;/p&gt;</source>
         <translation>&lt;p&gt;状态栏的这一部分显示当前编辑器行尾设置。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3454"/>
+        <location filename="../UI/UserInterface.py" line="3371"/>
         <source>&lt;p&gt;This part of the status bar displays an indication of the current editors files writability.&lt;/p&gt;</source>
         <translation>&lt;p&gt;状态栏的这一部分显示当前编辑器文件是否可写。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3461"/>
+        <location filename="../UI/UserInterface.py" line="3378"/>
         <source>&lt;p&gt;This part of the status bar displays the line number of the current editor.&lt;/p&gt;</source>
         <translation>&lt;p&gt;状态栏的这一部分显示当前编辑的行号。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3468"/>
+        <location filename="../UI/UserInterface.py" line="3385"/>
         <source>&lt;p&gt;This part of the status bar displays the cursor position of the current editor.&lt;/p&gt;</source>
         <translation>&lt;p&gt;状态栏的这一部分显示当前编辑器的光标位置。&lt;/p&gt;</translation>
     </message>
@@ -79450,52 +79971,52 @@
         <translation type="obsolete">&lt;h3&gt;版本号&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7291"/>
+        <location filename="../UI/UserInterface.py" line="7066"/>
         <source>&lt;/table&gt;</source>
         <translation>&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3723"/>
+        <location filename="../UI/UserInterface.py" line="3640"/>
         <source>Email address or mail server address is empty. Please configure your Email settings in the Preferences Dialog.</source>
         <translation>电子邮件地址或邮件服务器地址为空。请在首选项对话框中配置你的电子邮件设置。</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4003"/>
+        <location filename="../UI/UserInterface.py" line="3920"/>
         <source>Restart application</source>
         <translation>重启程序</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4003"/>
+        <location filename="../UI/UserInterface.py" line="3920"/>
         <source>The application needs to be restarted. Do it now?</source>
         <translation>程序需要重启。现在重启?</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4084"/>
+        <location filename="../UI/UserInterface.py" line="4001"/>
         <source>Configure Tool Groups ...</source>
         <translation>配置工具组…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4088"/>
+        <location filename="../UI/UserInterface.py" line="4005"/>
         <source>Configure current Tool Group ...</source>
         <translation>配置当前工具组…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4039"/>
+        <location filename="../UI/UserInterface.py" line="3956"/>
         <source>&amp;Builtin Tools</source>
         <translation>内建工具(&amp;B)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4056"/>
+        <location filename="../UI/UserInterface.py" line="3973"/>
         <source>&amp;Plugin Tools</source>
         <translation>插件工具(&amp;P)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4204"/>
+        <location filename="../UI/UserInterface.py" line="4121"/>
         <source>&amp;Show all</source>
         <translation>全部显示(&amp;S)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4206"/>
+        <location filename="../UI/UserInterface.py" line="4123"/>
         <source>&amp;Hide all</source>
         <translation>全部隐藏(&amp;H)</translation>
     </message>
@@ -79505,182 +80026,182 @@
         <translation type="obsolete">当前项目未定义主脚本。终止</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5210"/>
+        <location filename="../UI/UserInterface.py" line="5127"/>
         <source>Problem</source>
         <translation>问题</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5405"/>
+        <location filename="../UI/UserInterface.py" line="5322"/>
         <source>Process Generation Error</source>
         <translation>进程生成错误</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6086"/>
+        <location filename="../UI/UserInterface.py" line="5861"/>
         <source>Open Browser</source>
         <translation>打开浏览器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6086"/>
+        <location filename="../UI/UserInterface.py" line="5861"/>
         <source>Could not start a web browser</source>
         <translation>无法启动网络浏览器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5082"/>
+        <location filename="../UI/UserInterface.py" line="4999"/>
         <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="5116"/>
+        <location filename="../UI/UserInterface.py" line="5033"/>
         <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="5350"/>
+        <location filename="../UI/UserInterface.py" line="5267"/>
         <source>External Tools</source>
         <translation>外部工具</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5886"/>
+        <location filename="../UI/UserInterface.py" line="5661"/>
         <source>Documentation Missing</source>
         <translation>文档缺失</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5869"/>
+        <location filename="../UI/UserInterface.py" line="5644"/>
         <source>Documentation</source>
         <translation>文档</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5694"/>
+        <location filename="../UI/UserInterface.py" line="5692"/>
         <source>&lt;p&gt;The PyQt4 documentation starting point has not been configured.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;未配置 PyQt4 文档起点。&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="6488"/>
+        <translation type="obsolete">&lt;p&gt;未配置 PyQt4 文档起点。&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="6263"/>
         <source>Save tasks</source>
         <translation>保存任务</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6517"/>
+        <location filename="../UI/UserInterface.py" line="6292"/>
         <source>Read tasks</source>
         <translation>读取任务</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6613"/>
+        <location filename="../UI/UserInterface.py" line="6388"/>
         <source>Save session</source>
         <translation>保存会话</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6372"/>
         <source>Read session</source>
         <translation>读取会话</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6881"/>
+        <location filename="../UI/UserInterface.py" line="6656"/>
         <source>Drop Error</source>
         <translation>降落误差</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7252"/>
+        <location filename="../UI/UserInterface.py" line="7027"/>
         <source>Error during updates check</source>
         <translation>检查更新时出错</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7066"/>
+        <location filename="../UI/UserInterface.py" line="6841"/>
         <source>&amp;Cancel</source>
         <translation>取消(&amp;C)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7233"/>
+        <location filename="../UI/UserInterface.py" line="7008"/>
         <source>Update available</source>
         <translation>可用更新</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7252"/>
+        <location filename="../UI/UserInterface.py" line="7027"/>
         <source>Could not perform updates check.</source>
         <translation>无法完成更新检查。</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7276"/>
+        <location filename="../UI/UserInterface.py" line="7051"/>
         <source>&lt;h3&gt;Available versions&lt;/h3&gt;&lt;table&gt;</source>
         <translation>&lt;h3&gt;可用版本&lt;/h3&gt;&lt;table&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7328"/>
+        <location filename="../UI/UserInterface.py" line="7103"/>
         <source>First time usage</source>
         <translation>第一次使用</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1815"/>
+        <location filename="../UI/UserInterface.py" line="1814"/>
         <source>Left Sidebar</source>
         <translation>左侧边栏</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1815"/>
+        <location filename="../UI/UserInterface.py" line="1814"/>
         <source>&amp;Left Sidebar</source>
         <translation>左侧边栏(&amp;L)</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="1818"/>
+        <source>Toggle the left sidebar window</source>
+        <translation>切换左侧边栏窗口</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="1819"/>
-        <source>Toggle the left sidebar window</source>
-        <translation>切换左侧边栏窗口</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="1820"/>
         <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="1842"/>
+        <location filename="../UI/UserInterface.py" line="1841"/>
         <source>Bottom Sidebar</source>
         <translation>底栏</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1842"/>
+        <location filename="../UI/UserInterface.py" line="1841"/>
         <source>&amp;Bottom Sidebar</source>
         <translation>底栏(&amp;B)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1846"/>
+        <location filename="../UI/UserInterface.py" line="1845"/>
         <source>Toggle the bottom sidebar window</source>
         <translation>切换底栏窗口</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1848"/>
+        <location filename="../UI/UserInterface.py" line="1847"/>
         <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="1669"/>
+        <location filename="../UI/UserInterface.py" line="1668"/>
         <source>&amp;Debug-Viewer</source>
         <translation>调试浏览器(&amp;D)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2309"/>
+        <location filename="../UI/UserInterface.py" line="2308"/>
         <source>SQL Browser</source>
         <translation>SQL 浏览器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2309"/>
+        <location filename="../UI/UserInterface.py" line="2308"/>
         <source>SQL &amp;Browser...</source>
         <translation>SQL 浏览器(&amp;B)…</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2313"/>
+        <source>Browse a SQL database</source>
+        <translation>浏览 SQL 数据库</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2314"/>
-        <source>Browse a SQL database</source>
-        <translation>浏览 SQL 数据库</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2315"/>
         <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="2366"/>
+        <location filename="../UI/UserInterface.py" line="2365"/>
         <source>Icon Editor</source>
         <translation>图标编辑器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2366"/>
+        <location filename="../UI/UserInterface.py" line="2365"/>
         <source>&amp;Icon Editor...</source>
         <translation>图标编辑器(&amp;I)…</translation>
     </message>
@@ -79690,141 +80211,141 @@
         <translation type="obsolete">Qt 3 支持</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2870"/>
+        <location filename="../UI/UserInterface.py" line="2869"/>
         <source>PySide Documentation</source>
-        <translation>PySide 文档</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2870"/>
+        <translation type="obsolete">PySide 文档</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2869"/>
         <source>Py&amp;Side Documentation</source>
-        <translation>Py&amp;Side 文档</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2874"/>
+        <translation type="obsolete">Py&amp;Side 文档</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2873"/>
         <source>Open PySide Documentation</source>
-        <translation>打开 PySide 文档</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="1488"/>
+        <translation type="obsolete">打开 PySide 文档</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="1487"/>
         <source>{0} - Passive Mode</source>
         <translation>{0} - 被动模式</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1495"/>
+        <location filename="../UI/UserInterface.py" line="1494"/>
         <source>{0} - {1} - Passive Mode</source>
         <translation>{0} - {1} - 被动模式</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1499"/>
+        <location filename="../UI/UserInterface.py" line="1498"/>
         <source>{0} - {1} - {2} - Passive Mode</source>
         <translation>{0} - {1} - {2} - 被动模式</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3544"/>
+        <location filename="../UI/UserInterface.py" line="3461"/>
         <source>External Tools/{0}</source>
         <translation>外部工具/{0}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5210"/>
+        <location filename="../UI/UserInterface.py" line="5127"/>
         <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="4935"/>
+        <location filename="../UI/UserInterface.py" line="4852"/>
         <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="5005"/>
+        <location filename="../UI/UserInterface.py" line="4922"/>
         <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="5049"/>
+        <location filename="../UI/UserInterface.py" line="4966"/>
         <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="5096"/>
+        <location filename="../UI/UserInterface.py" line="5013"/>
         <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="5166"/>
+        <location filename="../UI/UserInterface.py" line="5083"/>
         <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="5223"/>
+        <location filename="../UI/UserInterface.py" line="5140"/>
         <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="5246"/>
+        <location filename="../UI/UserInterface.py" line="5163"/>
         <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="5341"/>
+        <location filename="../UI/UserInterface.py" line="5258"/>
         <source>No tool entry found for external tool &apos;{0}&apos; in tool group &apos;{1}&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5350"/>
+        <location filename="../UI/UserInterface.py" line="5267"/>
         <source>No toolgroup entry &apos;{0}&apos; found.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5389"/>
+        <location filename="../UI/UserInterface.py" line="5306"/>
         <source>Starting process &apos;{0} {1}&apos;.
 </source>
         <translation>正在启动进程“{0} {1}”。
 </translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5405"/>
+        <location filename="../UI/UserInterface.py" line="5322"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5483"/>
+        <location filename="../UI/UserInterface.py" line="5400"/>
         <source>Process &apos;{0}&apos; has exited.
 </source>
         <translation>进程“{0}”已退出。
 </translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5886"/>
+        <location filename="../UI/UserInterface.py" line="5661"/>
         <source>&lt;p&gt;The documentation starting point &quot;&lt;b&gt;{0}&lt;/b&gt;&quot; could not be found.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6488"/>
+        <location filename="../UI/UserInterface.py" line="6263"/>
         <source>&lt;p&gt;The tasks file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;任务文件 &lt;b&gt;{0}&lt;/b&gt; 无法写入。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6517"/>
+        <location filename="../UI/UserInterface.py" line="6292"/>
         <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="6551"/>
+        <location filename="../UI/UserInterface.py" line="6326"/>
         <source>&lt;p&gt;The session file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;会话文件 &lt;b&gt;{0}&lt;/b&gt; 无法写入。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6597"/>
+        <location filename="../UI/UserInterface.py" line="6372"/>
         <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="6881"/>
+        <location filename="../UI/UserInterface.py" line="6656"/>
         <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="7075"/>
+        <location filename="../UI/UserInterface.py" line="6850"/>
         <source>Trying host {0}</source>
         <translation>正在尝试主机 {0}</translation>
     </message>
@@ -79834,7 +80355,7 @@
         <translation>协作</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1857"/>
+        <location filename="../UI/UserInterface.py" line="1856"/>
         <source>Alt+Shift+O</source>
         <translation>Alt+Shift+O</translation>
     </message>
@@ -79844,7 +80365,7 @@
         <translation>符号</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1894"/>
+        <location filename="../UI/UserInterface.py" line="1893"/>
         <source>Alt+Shift+Y</source>
         <translation>Alt+Shift+Y</translation>
     </message>
@@ -79854,62 +80375,57 @@
         <translation>数字</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1913"/>
+        <location filename="../UI/UserInterface.py" line="1912"/>
         <source>Alt+Shift+B</source>
         <translation>Alt+Shift+B</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6318"/>
+        <location filename="../UI/UserInterface.py" line="6093"/>
         <source>Keyboard shortcut file (*.e4k)</source>
         <translation>键盘快捷键文件 (*.e4k)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2806"/>
+        <location filename="../UI/UserInterface.py" line="2771"/>
         <source>Python 3 Documentation</source>
         <translation>Python 3 文档</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2806"/>
+        <location filename="../UI/UserInterface.py" line="2771"/>
         <source>Python &amp;3 Documentation</source>
         <translation>Python &amp;3 文档</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2810"/>
+        <location filename="../UI/UserInterface.py" line="2775"/>
         <source>Open Python 3 Documentation</source>
         <translation>打开 Python 3 文档</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2824"/>
+        <location filename="../UI/UserInterface.py" line="2823"/>
         <source>Python 2 Documentation</source>
-        <translation>Python 2 文档</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2824"/>
+        <translation type="obsolete">Python 2 文档</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2823"/>
         <source>Python &amp;2 Documentation</source>
-        <translation>Python &amp;2 文档</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2828"/>
+        <translation type="obsolete">Python &amp;2 文档</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2827"/>
         <source>Open Python 2 Documentation</source>
-        <translation>打开 Python 2 文档</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2830"/>
-        <source>&lt;b&gt;Python 2 Documentation&lt;/b&gt;&lt;p&gt;Display the Python 2 documentation. If no documentation directory is configured, the location of the Python 2 documentation is assumed to be the doc directory underneath the location of the configured Python 2 executable on Windows and &lt;i&gt;/usr/share/doc/packages/python/html/python-docs-html&lt;/i&gt; on Unix. Set PYTHON2DOCDIR in your environment to override this. &lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="7141"/>
+        <translation type="obsolete">打开 Python 2 文档</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="6916"/>
         <source>Error getting versions information</source>
         <translation>获取版本信息出错</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7134"/>
+        <location filename="../UI/UserInterface.py" line="6909"/>
         <source>The versions information could not be downloaded. Please go online and try again.</source>
         <translation>无法获取版本信息。请连线并再试一次。</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7141"/>
+        <location filename="../UI/UserInterface.py" line="6916"/>
         <source>The versions information could not be downloaded for the last 7 days. Please go online and try again.</source>
         <translation>过去7天均无法获取版本信息。请连线并再试一次。</translation>
     </message>
@@ -79934,308 +80450,308 @@
         <translation>启动调试器…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1581"/>
+        <location filename="../UI/UserInterface.py" line="1580"/>
         <source>New Window</source>
         <translation>新建窗口</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1581"/>
+        <location filename="../UI/UserInterface.py" line="1580"/>
         <source>New &amp;Window</source>
         <translation>新建窗口(&amp;W)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1581"/>
+        <location filename="../UI/UserInterface.py" line="1580"/>
         <source>Ctrl+Shift+N</source>
         <comment>File|New Window</comment>
         <translation>Ctrl+Shift+N</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2156"/>
+        <location filename="../UI/UserInterface.py" line="2155"/>
         <source>Unittest Rerun Failed</source>
         <translation>单元测试再次运行失败</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2156"/>
+        <location filename="../UI/UserInterface.py" line="2155"/>
         <source>Rerun Failed Tests...</source>
         <translation>重新运行失败的测试…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2161"/>
+        <location filename="../UI/UserInterface.py" line="2160"/>
         <source>Rerun failed tests of the last run</source>
         <translation>重新运行上一次运行中失败的测试</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2163"/>
+        <location filename="../UI/UserInterface.py" line="2162"/>
         <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="2295"/>
+        <location filename="../UI/UserInterface.py" line="2294"/>
         <source>Compare &amp;Files side by side...</source>
         <translation>并排比较文件(&amp;F)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2380"/>
+        <location filename="../UI/UserInterface.py" line="2379"/>
         <source>Snapshot</source>
         <translation>快照</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2380"/>
+        <location filename="../UI/UserInterface.py" line="2379"/>
         <source>&amp;Snapshot...</source>
         <translation>快照(&amp;S)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2385"/>
+        <location filename="../UI/UserInterface.py" line="2384"/>
         <source>Take snapshots of a screen region</source>
         <translation>截取屏幕区域的快照</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2387"/>
+        <location filename="../UI/UserInterface.py" line="2386"/>
         <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="5318"/>
+        <location filename="../UI/UserInterface.py" line="5235"/>
         <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="7347"/>
+        <location filename="../UI/UserInterface.py" line="7122"/>
         <source>Select Workspace Directory</source>
         <translation>选择工作区目录</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1776"/>
+        <location filename="../UI/UserInterface.py" line="1775"/>
         <source>Left Toolbox</source>
         <translation>左工具箱</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1788"/>
+        <location filename="../UI/UserInterface.py" line="1787"/>
         <source>Right Toolbox</source>
         <translation>右工具箱</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1640"/>
+        <location filename="../UI/UserInterface.py" line="1639"/>
         <source>Switch the input focus to the Project-Viewer window.</source>
         <translation>将输入焦点切换至项目查看器窗口。</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1642"/>
+        <location filename="../UI/UserInterface.py" line="1641"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1657"/>
+        <location filename="../UI/UserInterface.py" line="1656"/>
         <source>Switch the input focus to the Multiproject-Viewer window.</source>
         <translation>将输入焦点切换至多项目查看器窗口。</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1659"/>
+        <location filename="../UI/UserInterface.py" line="1658"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1675"/>
+        <location filename="../UI/UserInterface.py" line="1674"/>
         <source>Switch the input focus to the Debug-Viewer window.</source>
         <translation>将输入焦点切换至调试查看器窗口。</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1677"/>
+        <location filename="../UI/UserInterface.py" line="1676"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1693"/>
+        <location filename="../UI/UserInterface.py" line="1692"/>
         <source>Switch the input focus to the Shell window.</source>
         <translation>将输入焦点切换至 Shell 窗口。</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1695"/>
+        <location filename="../UI/UserInterface.py" line="1694"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1704"/>
+        <location filename="../UI/UserInterface.py" line="1703"/>
         <source>&amp;File-Browser</source>
         <translation>文件浏览器(&amp;F)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1710"/>
+        <location filename="../UI/UserInterface.py" line="1709"/>
         <source>Switch the input focus to the File-Browser window.</source>
         <translation>将输入焦点切换至文件浏览器窗口。</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1712"/>
+        <location filename="../UI/UserInterface.py" line="1711"/>
         <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="1721"/>
+        <location filename="../UI/UserInterface.py" line="1720"/>
         <source>Lo&amp;g-Viewer</source>
         <translation>日志浏览器(&amp;G)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1727"/>
+        <location filename="../UI/UserInterface.py" line="1726"/>
         <source>Switch the input focus to the Log-Viewer window.</source>
         <translation>将输入焦点切换至日志查看器窗口。</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1729"/>
+        <location filename="../UI/UserInterface.py" line="1728"/>
         <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="1739"/>
+        <location filename="../UI/UserInterface.py" line="1738"/>
         <source>&amp;Task-Viewer</source>
         <translation>任务浏览器(&amp;T)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1745"/>
+        <location filename="../UI/UserInterface.py" line="1744"/>
         <source>Switch the input focus to the Task-Viewer window.</source>
         <translation>将输入焦点切换至任务浏览器窗口。</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1758"/>
+        <location filename="../UI/UserInterface.py" line="1757"/>
         <source>Templ&amp;ate-Viewer</source>
         <translation>模板浏览器(&amp;A)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1764"/>
+        <location filename="../UI/UserInterface.py" line="1763"/>
         <source>Switch the input focus to the Template-Viewer window.</source>
         <translation>将输入焦点切换至模板浏览器窗口。</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1766"/>
+        <location filename="../UI/UserInterface.py" line="1765"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1776"/>
+        <location filename="../UI/UserInterface.py" line="1775"/>
         <source>&amp;Left Toolbox</source>
         <translation>左工具箱(&amp;L)</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="1778"/>
+        <source>Toggle the Left Toolbox window</source>
+        <translation>切换左工具箱窗口</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="1779"/>
-        <source>Toggle the Left Toolbox window</source>
-        <translation>切换左工具箱窗口</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="1780"/>
         <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="1788"/>
+        <location filename="../UI/UserInterface.py" line="1787"/>
         <source>&amp;Right Toolbox</source>
         <translation>右工具箱(&amp;R)</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="1791"/>
+        <source>Toggle the Right Toolbox window</source>
+        <translation>切换右工具箱窗口</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="1792"/>
-        <source>Toggle the Right Toolbox window</source>
-        <translation>切换右工具箱窗口</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="1793"/>
         <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="1828"/>
+        <location filename="../UI/UserInterface.py" line="1827"/>
         <source>Right Sidebar</source>
         <translation>右侧边栏</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1828"/>
+        <location filename="../UI/UserInterface.py" line="1827"/>
         <source>&amp;Right Sidebar</source>
         <translation>右侧边栏(&amp;R)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1832"/>
+        <location filename="../UI/UserInterface.py" line="1831"/>
         <source>Toggle the right sidebar window</source>
         <translation>切换右侧边栏窗口</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1834"/>
+        <location filename="../UI/UserInterface.py" line="1833"/>
         <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="1857"/>
+        <location filename="../UI/UserInterface.py" line="1856"/>
         <source>Cooperation-Viewer</source>
         <translation>协作浏览器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1857"/>
+        <location filename="../UI/UserInterface.py" line="1856"/>
         <source>Co&amp;operation-Viewer</source>
         <translation>协作浏览器(&amp;O)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1863"/>
+        <location filename="../UI/UserInterface.py" line="1862"/>
         <source>Switch the input focus to the Cooperation-Viewer window.</source>
         <translation>将输入焦点切换至协作浏览器窗口。</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1865"/>
+        <location filename="../UI/UserInterface.py" line="1864"/>
         <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="1894"/>
+        <location filename="../UI/UserInterface.py" line="1893"/>
         <source>Symbols-Viewer</source>
         <translation>符号查看器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1894"/>
+        <location filename="../UI/UserInterface.py" line="1893"/>
         <source>S&amp;ymbols-Viewer</source>
         <translation>符号查看器(&amp;Y)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1900"/>
+        <location filename="../UI/UserInterface.py" line="1899"/>
         <source>Switch the input focus to the Symbols-Viewer window.</source>
         <translation>将输入焦点切换至符号查看器窗口。</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1902"/>
+        <location filename="../UI/UserInterface.py" line="1901"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1913"/>
+        <location filename="../UI/UserInterface.py" line="1912"/>
         <source>Numbers-Viewer</source>
         <translation>数字查看器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1913"/>
+        <location filename="../UI/UserInterface.py" line="1912"/>
         <source>Num&amp;bers-Viewer</source>
         <translation>数字查看器(&amp;B)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1919"/>
+        <location filename="../UI/UserInterface.py" line="1918"/>
         <source>Switch the input focus to the Numbers-Viewer window.</source>
         <translation>将输入焦点切换至数字查看器窗口。</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1921"/>
+        <location filename="../UI/UserInterface.py" line="1920"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3122"/>
+        <location filename="../UI/UserInterface.py" line="3045"/>
         <source>&amp;Windows</source>
         <translation>窗口(&amp;W)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1747"/>
+        <location filename="../UI/UserInterface.py" line="1746"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1876"/>
+        <location filename="../UI/UserInterface.py" line="1875"/>
         <source>IRC</source>
         <translation>IRC</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1876"/>
+        <location filename="../UI/UserInterface.py" line="1875"/>
         <source>&amp;IRC</source>
         <translation>&amp;IRC</translation>
     </message>
@@ -80245,67 +80761,67 @@
         <translation type="obsolete">Meta+Shift+I</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1882"/>
+        <location filename="../UI/UserInterface.py" line="1881"/>
         <source>Switch the input focus to the IRC window.</source>
         <translation>将输入焦点切换至 IRC 窗口。</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1884"/>
+        <location filename="../UI/UserInterface.py" line="1883"/>
         <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="2214"/>
+        <location filename="../UI/UserInterface.py" line="2213"/>
         <source>Qt-Designer</source>
         <translation>Qt 设计师</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2214"/>
+        <location filename="../UI/UserInterface.py" line="2213"/>
         <source>Qt-&amp;Designer...</source>
         <translation>Qt 设计师(&amp;D)…</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2218"/>
+        <source>Start Qt-Designer</source>
+        <translation>启动 Qt 设计师</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2219"/>
-        <source>Start Qt-Designer</source>
-        <translation>启动 Qt 设计师</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2220"/>
         <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="2240"/>
+        <location filename="../UI/UserInterface.py" line="2239"/>
         <source>Qt-Linguist</source>
         <translation>Qt 语言家</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2240"/>
+        <location filename="../UI/UserInterface.py" line="2239"/>
         <source>Qt-&amp;Linguist...</source>
         <translation>Qt 语言家(&amp;L)…</translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2244"/>
+        <source>Start Qt-Linguist</source>
+        <translation>启动 Qt 语言家</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2245"/>
-        <source>Start Qt-Linguist</source>
-        <translation>启动 Qt 语言家</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2246"/>
         <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="2751"/>
+        <location filename="../UI/UserInterface.py" line="2735"/>
         <source>Qt5 Documentation</source>
         <translation>Qt5 文档</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2751"/>
+        <location filename="../UI/UserInterface.py" line="2735"/>
         <source>Qt&amp;5 Documentation</source>
         <translation>Qt&amp;5 文档</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2755"/>
+        <location filename="../UI/UserInterface.py" line="2739"/>
         <source>Open Qt5 Documentation</source>
         <translation>打开 Qt5 文档</translation>
     </message>
@@ -80315,167 +80831,167 @@
         <translation type="obsolete">&lt;p&gt;状态栏的这一部分允许对当前编辑器、shell 或终端进行缩放。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2544"/>
+        <location filename="../UI/UserInterface.py" line="2543"/>
         <source>Manage SSL Certificates</source>
         <translation>管理 SSL 证书</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2544"/>
+        <location filename="../UI/UserInterface.py" line="2543"/>
         <source>Manage SSL Certificates...</source>
         <translation>管理 SSL 证书…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2549"/>
+        <location filename="../UI/UserInterface.py" line="2548"/>
         <source>Manage the saved SSL certificates</source>
         <translation>管理保存的 SSL 证书</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2551"/>
+        <location filename="../UI/UserInterface.py" line="2550"/>
         <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="2560"/>
+        <location filename="../UI/UserInterface.py" line="2559"/>
         <source>Edit Message Filters</source>
         <translation>编辑消息过滤器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2560"/>
+        <location filename="../UI/UserInterface.py" line="2559"/>
         <source>Edit Message Filters...</source>
         <translation>编辑消息过滤器…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2565"/>
+        <location filename="../UI/UserInterface.py" line="2564"/>
         <source>Edit the message filters used to suppress unwanted messages</source>
         <translation>编辑消息过滤器使得不期望的消息不显示</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2567"/>
+        <location filename="../UI/UserInterface.py" line="2566"/>
         <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="2768"/>
+        <location filename="../UI/UserInterface.py" line="2767"/>
         <source>PyQt&amp;4 Documentation</source>
-        <translation>PyQt&amp;4 文档</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2785"/>
+        <translation type="obsolete">PyQt&amp;4 文档</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2750"/>
         <source>PyQt5 Documentation</source>
         <translation>PyQt5 文档</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2785"/>
+        <location filename="../UI/UserInterface.py" line="2750"/>
         <source>PyQt&amp;5 Documentation</source>
         <translation>PyQt&amp;5 文档</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2789"/>
+        <location filename="../UI/UserInterface.py" line="2754"/>
         <source>Open PyQt5 Documentation</source>
         <translation>打开 PyQt5 文档</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5756"/>
+        <location filename="../UI/UserInterface.py" line="5539"/>
         <source>&lt;p&gt;The PyQt5 documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation>&lt;p&gt;未配置 PyQt5 文档起始位置。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2710"/>
+        <location filename="../UI/UserInterface.py" line="2709"/>
         <source>&lt;b&gt;Virtualenv Configurator&lt;/b&gt;&lt;p&gt;This opens a dialog for entering all the parameters needed to create a Python virtual environment using virtualenv or pyvenv.&lt;/p&gt;</source>
         <translation type="unfinished">&lt;b&gt;Qt5 文档&lt;/b&gt;&lt;p&gt;显示 Qt5 文档。依赖于您的设置,这可能会在 eric 的内置帮助查看器内显示,或是启动一个网页浏览器,或是启动 Qt 助手。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2812"/>
+        <location filename="../UI/UserInterface.py" line="2777"/>
         <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="7066"/>
+        <location filename="../UI/UserInterface.py" line="6841"/>
         <source>%v/%m</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="2092"/>
+        <source>Show Error Log</source>
+        <translation>显示错误日志</translation>
+    </message>
+    <message>
+        <location filename="../UI/UserInterface.py" line="2088"/>
+        <source>Show Error &amp;Log...</source>
+        <translation>显示错误日志(&amp;L)…</translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="2093"/>
-        <source>Show Error Log</source>
-        <translation>显示错误日志</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2089"/>
-        <source>Show Error &amp;Log...</source>
-        <translation>显示错误日志(&amp;L)…</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2094"/>
         <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="7070"/>
+        <location filename="../UI/UserInterface.py" line="6845"/>
         <source>Version Check</source>
         <translation>版本检查</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1587"/>
+        <location filename="../UI/UserInterface.py" line="1586"/>
         <source>Open a new eric6 instance</source>
         <translation>打开新的 eric6 实例</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1589"/>
+        <location filename="../UI/UserInterface.py" line="1588"/>
         <source>&lt;b&gt;New Window&lt;/b&gt;&lt;p&gt;This opens a new instance of the eric6 IDE.&lt;/p&gt;</source>
         <translation>&lt;b&gt;新建窗口&lt;/b&gt;&lt;p&gt;打开新的 eric6 IDE 实例。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2032"/>
+        <location filename="../UI/UserInterface.py" line="2031"/>
         <source>&lt;b&gt;Helpviewer&lt;/b&gt;&lt;p&gt;Display the eric6 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 search in the Qt help collection.&lt;/p&gt;</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2067"/>
+        <location filename="../UI/UserInterface.py" line="2066"/>
         <source>&lt;b&gt;Check for Updates...&lt;/b&gt;&lt;p&gt;Checks the internet for updates of eric6.&lt;/p&gt;</source>
         <translation>&lt;b&gt;检查更新…&lt;/b&gt;&lt;p&gt;从互联网检查 eric6 的更新。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2080"/>
+        <location filename="../UI/UserInterface.py" line="2079"/>
         <source>&lt;b&gt;Show downloadable versions...&lt;/b&gt;&lt;p&gt;Shows the eric6 versions available for download from the internet.&lt;/p&gt;</source>
         <translation>&lt;b&gt;显示可下载版本…&lt;/b&gt;&lt;p&gt;显示可以从互联网下载的 eric6 版本。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2350"/>
+        <location filename="../UI/UserInterface.py" line="2349"/>
         <source>eric6 Web Browser</source>
         <translation>eric6 网页浏览器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2350"/>
+        <location filename="../UI/UserInterface.py" line="2349"/>
         <source>eric6 &amp;Web Browser...</source>
         <translation>eric6 网页浏览器(&amp;W)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2355"/>
+        <location filename="../UI/UserInterface.py" line="2354"/>
         <source>Start the eric6 Web Browser</source>
         <translation>启动 eric6 网页浏览器器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2357"/>
+        <location filename="../UI/UserInterface.py" line="2356"/>
         <source>&lt;b&gt;eric6 Web Browser&lt;/b&gt;&lt;p&gt;Browse the Internet with the eric6 Web Browser.&lt;/p&gt;</source>
         <translation>&lt;b&gt;eric6 网页浏览器&lt;/b&gt;&lt;p&gt;使用 eric6 网页浏览器浏览互联网。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2371"/>
+        <location filename="../UI/UserInterface.py" line="2370"/>
         <source>Start the eric6 Icon Editor</source>
         <translation>启动 eric6 图标编辑器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2373"/>
+        <location filename="../UI/UserInterface.py" line="2372"/>
         <source>&lt;b&gt;Icon Editor&lt;/b&gt;&lt;p&gt;Starts the eric6 Icon Editor for editing simple icons.&lt;/p&gt;</source>
         <translation>&lt;b&gt;图标编辑器&lt;/b&gt;&lt;p&gt;启动 eric6 图标编辑器来编辑简单的图标。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2459"/>
+        <location filename="../UI/UserInterface.py" line="2458"/>
         <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 eric6.&lt;/p&gt;</source>
         <translation>&lt;b&gt;显示外部工具&lt;/b&gt;&lt;p&gt;打开一个对话框显示 eric6 使用的所有外部工具的路径和版本。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2854"/>
+        <location filename="../UI/UserInterface.py" line="2799"/>
         <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 eric6 installation directory.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Eric API 文档&lt;/b&gt;&lt;p&gt;显示 Eric API 文档。文档位置为 Eric6 安装文件夹下的文档或源代码子文件夹。&lt;/p&gt;</translation>
     </message>
@@ -80485,22 +81001,22 @@
         <translation type="obsolete">Qt 版本3 不被 eric6 支持。</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7233"/>
+        <location filename="../UI/UserInterface.py" line="7008"/>
         <source>The update to &lt;b&gt;{0}&lt;/b&gt; of eric6 is available at &lt;b&gt;{1}&lt;/b&gt;. Would you like to get it?</source>
         <translation>eric6 的 &lt;b&gt;{0}&lt;/b&gt; 更新已经可用,位于 &lt;b&gt;{1}&lt;/b&gt;。您是否希望下载它?</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7245"/>
+        <location filename="../UI/UserInterface.py" line="7020"/>
         <source>Eric6 is up to date</source>
         <translation>Eric6 已是最新版本</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7245"/>
+        <location filename="../UI/UserInterface.py" line="7020"/>
         <source>You are using the latest version of eric6</source>
         <translation>您正在使用 eric6 的最新版本</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7328"/>
+        <location filename="../UI/UserInterface.py" line="7103"/>
         <source>eric6 has not been configured yet. The configuration dialog will be started.</source>
         <translation>尚未配置 eric6。将打开配置对话框。</translation>
     </message>
@@ -80510,87 +81026,87 @@
         <translation>生成插件工具栏…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4059"/>
+        <location filename="../UI/UserInterface.py" line="3976"/>
         <source>&amp;User Tools</source>
         <translation>用户工具(&amp;U)</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4131"/>
+        <location filename="../UI/UserInterface.py" line="4048"/>
         <source>No User Tools Configured</source>
         <translation>没有配置的用户工具</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7086"/>
+        <location filename="../UI/UserInterface.py" line="6861"/>
         <source>The versions information cannot not be downloaded because you are &lt;b&gt;offline&lt;/b&gt;. Please go online and try again.</source>
         <translation>因为当前处在 &lt;b&gt;离线&lt;/b&gt; 状态,无法获取版本信息。请连线并再试一次。</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2335"/>
+        <location filename="../UI/UserInterface.py" line="2334"/>
         <source>Hex Editor</source>
         <translation>十六进制编辑器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2335"/>
+        <location filename="../UI/UserInterface.py" line="2334"/>
         <source>&amp;Hex Editor...</source>
         <translation>十六进制编辑器(&amp;H)…</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2340"/>
+        <location filename="../UI/UserInterface.py" line="2339"/>
         <source>Start the eric6 Hex Editor</source>
         <translation>启动 eric6 十六进制编辑器</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2342"/>
+        <location filename="../UI/UserInterface.py" line="2341"/>
         <source>&lt;b&gt;Hex Editor&lt;/b&gt;&lt;p&gt;Starts the eric6 Hex Editor for viewing or editing binary files.&lt;/p&gt;</source>
         <translation>&lt;b&gt;十六进制编辑器&lt;/b&gt;&lt;p&gt;启动 eric6 十六进制编辑器来查看、修改二进制文件。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2583"/>
+        <location filename="../UI/UserInterface.py" line="2582"/>
         <source>Clear private data</source>
         <translation type="unfinished">清空隐私数据</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2585"/>
+        <location filename="../UI/UserInterface.py" line="2584"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1555"/>
+        <location filename="../UI/UserInterface.py" line="1554"/>
         <source>Save session...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1560"/>
+        <location filename="../UI/UserInterface.py" line="1559"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6635"/>
+        <location filename="../UI/UserInterface.py" line="6410"/>
         <source>Load session</source>
         <translation type="unfinished">载入会话</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1568"/>
+        <location filename="../UI/UserInterface.py" line="1567"/>
         <source>Load session...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1573"/>
+        <location filename="../UI/UserInterface.py" line="1572"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6635"/>
+        <location filename="../UI/UserInterface.py" line="6410"/>
         <source>eric6 Session Files (*.e5s)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6686"/>
+        <location filename="../UI/UserInterface.py" line="6461"/>
         <source>Crash Session found!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6686"/>
+        <location filename="../UI/UserInterface.py" line="6461"/>
         <source>A session file of a crashed session was found. Shall this session be restored?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -80605,263 +81121,248 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7221"/>
+        <location filename="../UI/UserInterface.py" line="6996"/>
         <source>Update Check</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7221"/>
+        <location filename="../UI/UserInterface.py" line="6996"/>
         <source>You installed eric directly from the source code. There is no possibility to check for the availability of an update.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="7211"/>
+        <location filename="../UI/UserInterface.py" line="6986"/>
         <source>You are using a snapshot release of eric6. A more up-to-date stable release might be available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1932"/>
+        <location filename="../UI/UserInterface.py" line="1931"/>
         <source>Code Documentation Viewer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2741"/>
-        <source>&lt;b&gt;Qt4 Documentation&lt;/b&gt;&lt;p&gt;Display the Qt4 Documentation. Dependent upon your settings, this will either show the help in Eric&apos;s internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
+        <location filename="../UI/UserInterface.py" line="2740"/>
+        <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&apos;s internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../UI/UserInterface.py" line="2756"/>
-        <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&apos;s internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2773"/>
-        <source>&lt;b&gt;PyQt4 Documentation&lt;/b&gt;&lt;p&gt;Display the PyQt4 Documentation. Dependent upon your settings, this will either show the help in Eric&apos;s internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2791"/>
         <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&apos;s internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2876"/>
-        <source>&lt;b&gt;PySide Documentation&lt;/b&gt;&lt;p&gt;Display the PySide Documentation. Dependent upon your settings, this will either show the help in Eric&apos;s internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2891"/>
+        <location filename="../UI/UserInterface.py" line="2814"/>
         <source>PySide2 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2891"/>
+        <location filename="../UI/UserInterface.py" line="2814"/>
         <source>PySide&amp;2 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2895"/>
+        <location filename="../UI/UserInterface.py" line="2818"/>
         <source>Open PySide2 Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2897"/>
+        <location filename="../UI/UserInterface.py" line="2820"/>
         <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&apos;s internal help viewer/web browser, or execute a web browser or Qt Assistant. &lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5869"/>
+        <location filename="../UI/UserInterface.py" line="5644"/>
         <source>&lt;p&gt;The PySide{0} documentation starting point has not been configured.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2691"/>
+        <location filename="../UI/UserInterface.py" line="2690"/>
         <source>Virtualenv Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2685"/>
+        <location filename="../UI/UserInterface.py" line="2684"/>
         <source>&amp;Virtualenv Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2693"/>
+        <location filename="../UI/UserInterface.py" line="2692"/>
         <source>&lt;b&gt;Virtualenv Manager&lt;/b&gt;&lt;p&gt;This opens a dialog to manage the defined Python virtual environments.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2708"/>
+        <location filename="../UI/UserInterface.py" line="2707"/>
         <source>Virtualenv Configurator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2702"/>
+        <location filename="../UI/UserInterface.py" line="2701"/>
         <source>Virtualenv &amp;Configurator...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3129"/>
+        <location filename="../UI/UserInterface.py" line="3052"/>
         <source>Left Side</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3141"/>
+        <location filename="../UI/UserInterface.py" line="3064"/>
         <source>Bottom Side</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3148"/>
+        <location filename="../UI/UserInterface.py" line="3071"/>
         <source>Right Side</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3168"/>
+        <location filename="../UI/UserInterface.py" line="3091"/>
         <source>Plug-ins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1539"/>
+        <location filename="../UI/UserInterface.py" line="1538"/>
         <source>Restart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1539"/>
+        <location filename="../UI/UserInterface.py" line="1538"/>
         <source>Ctrl+Shift+Q</source>
         <comment>File|Quit</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../UI/UserInterface.py" line="1544"/>
+        <source>Restart the IDE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../UI/UserInterface.py" line="1545"/>
-        <source>Restart the IDE</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="1546"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6043"/>
+        <location filename="../UI/UserInterface.py" line="5818"/>
         <source>Start Web Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5982"/>
+        <location filename="../UI/UserInterface.py" line="5757"/>
         <source>The eric6 web browser could not be started.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="6043"/>
+        <location filename="../UI/UserInterface.py" line="5818"/>
         <source>&lt;p&gt;The eric6 web browser is not started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1970"/>
+        <location filename="../UI/UserInterface.py" line="1969"/>
         <source>Conda</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1952"/>
+        <location filename="../UI/UserInterface.py" line="1951"/>
         <source>PyPI</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3479"/>
+        <location filename="../UI/UserInterface.py" line="3396"/>
         <source>&lt;p&gt;This part of the status bar allows zooming the current editor or shell.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1988"/>
+        <location filename="../UI/UserInterface.py" line="1987"/>
         <source>MicroPython</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1876"/>
+        <location filename="../UI/UserInterface.py" line="1875"/>
         <source>Ctrl+Alt+Shift+I</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1932"/>
+        <location filename="../UI/UserInterface.py" line="1931"/>
         <source>Ctrl+Alt+Shift+D</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1938"/>
+        <location filename="../UI/UserInterface.py" line="1937"/>
         <source>Switch the input focus to the Code Documentation Viewer window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1941"/>
+        <location filename="../UI/UserInterface.py" line="1940"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1952"/>
+        <location filename="../UI/UserInterface.py" line="1951"/>
         <source>Ctrl+Alt+Shift+P</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1958"/>
+        <location filename="../UI/UserInterface.py" line="1957"/>
         <source>Switch the input focus to the PyPI window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1960"/>
+        <location filename="../UI/UserInterface.py" line="1959"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1970"/>
+        <location filename="../UI/UserInterface.py" line="1969"/>
         <source>Ctrl+Alt+Shift+C</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1976"/>
+        <location filename="../UI/UserInterface.py" line="1975"/>
         <source>Switch the input focus to the Conda window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1978"/>
+        <location filename="../UI/UserInterface.py" line="1977"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1988"/>
+        <location filename="../UI/UserInterface.py" line="1987"/>
         <source>Ctrl+Alt+Shift+M</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1994"/>
+        <location filename="../UI/UserInterface.py" line="1993"/>
         <source>Switch the input focus to the MicroPython window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="1996"/>
+        <location filename="../UI/UserInterface.py" line="1995"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3126"/>
+        <location filename="../UI/UserInterface.py" line="3049"/>
         <source>Central Park</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="3650"/>
+        <location filename="../UI/UserInterface.py" line="3567"/>
         <source>&lt;h2&gt;Version Numbers&lt;/h2&gt;&lt;table&gt;</source>
         <translation type="unfinished">&lt;h3&gt;版本号&lt;/h3&gt;&lt;table&gt; {2&gt;?} {2&gt;?}</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="4944"/>
+        <location filename="../UI/UserInterface.py" line="4861"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5014"/>
+        <location filename="../UI/UserInterface.py" line="4931"/>
         <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"></translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="5058"/>
+        <location filename="../UI/UserInterface.py" line="4975"/>
         <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"></translation>
     </message>
@@ -80919,7 +81420,7 @@
 <context>
     <name>Utilities</name>
     <message>
-        <location filename="../Utilities/__init__.py" line="1502"/>
+        <location filename="../Utilities/__init__.py" line="1503"/>
         <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>
@@ -85445,98 +85946,88 @@
 <context>
     <name>VirtualenvAddEditDialog</name>
     <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="20"/>
+        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="137"/>
         <source>Logical Name:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="27"/>
-        <source>Enter a unique name for the virtual environment</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="34"/>
-        <source>Directory:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="50"/>
-        <source>Enter the directory of the virtual environment</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="57"/>
-        <source>Python Interpreter:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="73"/>
-        <source>Enter the Python interpreter of the virtual environment</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.py" line="64"/>
-        <source>Virtualenv Target Directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.py" line="69"/>
-        <source>Python Interpreter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="106"/>
-        <source>Select,if this is a global environment (i.e. no virtual environment directory to be given)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="113"/>
-        <source>Global Environment</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="87"/>
-        <source>Select the Python variant</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="155"/>
-        <source>PATH Prefix:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.py" line="74"/>
-        <source>Enter the executable search path to be prepended to the PATH environment variable. Use &apos;{0}&apos; as the separator.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="80"/>
-        <source>Python Variant:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="109"/>
-        <source>&lt;b&gt;Global Environment&lt;/b&gt;
-&lt;p&gt;Setting this indicates, that the environment is defined globally, i.e. not user specific. Usually such environments cannot be deleted by a standard user. The respective button of the Virtual Environment Manager dialog will be disabled for these entries.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="120"/>
-        <source>Select, if this is a Conda environment</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="123"/>
-        <source>Conda Environment</source>
+        <source>Enter a unique name for the virtual environment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="144"/>
+        <source>Directory:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="116"/>
+        <source>Enter the directory of the virtual environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="130"/>
+        <source>Python Interpreter:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="100"/>
+        <source>Enter the Python interpreter of the virtual environment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../VirtualEnv/VirtualenvAddEditDialog.py" line="62"/>
+        <source>Virtualenv Target Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../VirtualEnv/VirtualenvAddEditDialog.py" line="67"/>
+        <source>Python Interpreter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="32"/>
+        <source>Select,if this is a global environment (i.e. no virtual environment directory to be given)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="39"/>
+        <source>Global Environment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="20"/>
+        <source>PATH Prefix:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../VirtualEnv/VirtualenvAddEditDialog.py" line="72"/>
+        <source>Enter the executable search path to be prepended to the PATH environment variable. Use &apos;{0}&apos; as the separator.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="35"/>
+        <source>&lt;b&gt;Global Environment&lt;/b&gt;
+&lt;p&gt;Setting this indicates, that the environment is defined globally, i.e. not user specific. Usually such environments cannot be deleted by a standard user. The respective button of the Virtual Environment Manager dialog will be disabled for these entries.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="46"/>
+        <source>Select, if this is a Conda environment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="49"/>
+        <source>Conda Environment</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="56"/>
         <source>Select, if this is a remotely accessed environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="133"/>
+        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="59"/>
         <source>Remote Environment</source>
         <translation type="unfinished"></translation>
     </message>
@@ -85614,7 +86105,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="670"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="665"/>
         <source>Options</source>
         <translation type="unfinished"></translation>
     </message>
@@ -85629,7 +86120,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="676"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="671"/>
         <source>Python Version:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -85639,112 +86130,112 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="345"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="340"/>
         <source>Select to give the virtualenv access to the global site-packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="348"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="343"/>
         <source>System-wide Python Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="355"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="350"/>
         <source>Select to unzip setuptools when installing it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="358"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="353"/>
         <source>Unzip Setuptool to virtualenv</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="368"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="363"/>
         <source>Select to not install setuptools (or pip) in the new virtualenv</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="371"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="366"/>
         <source>Don&apos;t install &apos;setuptool&apos; (or pip) in the virtualenv</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="378"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="373"/>
         <source>Select to not install pip in the new virtualenv</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="381"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="376"/>
         <source>Don&apos;t install &apos;pip&apos; in the virtualenv</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="388"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="383"/>
         <source>Select to clear the target first</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="391"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="386"/>
         <source>Clear out the target directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="398"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="393"/>
         <source>Select to always copy files rather than symlinking</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="401"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="396"/>
         <source>Always copy files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="408"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="403"/>
         <source>Select to use symlinks instead of copies</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="411"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="406"/>
         <source>Use Symbolic Links</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="418"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="413"/>
         <source>Select to upgrade a virtual environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="421"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="416"/>
         <source>Upgrade</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="428"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="423"/>
         <source>Select to generate a log file in the target directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="431"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="426"/>
         <source>Save a log file in the target directory after creation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="441"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="436"/>
         <source>Select to write a shell script/batch file to regenerate the virtualenv</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="444"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="439"/>
         <source>Save virtualenv generation script</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="454"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="449"/>
         <source>Open the newly created virtualenv in a file manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="457"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="452"/>
         <source>Open target directory after creation</source>
         <translation type="unfinished"></translation>
     </message>
@@ -85814,97 +86305,97 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="471"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="466"/>
         <source>Target Environment Specification</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="568"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="563"/>
         <source>Name:</source>
         <translation type="unfinished">名称:</translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="484"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="479"/>
         <source>Enter the name for the environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="582"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="577"/>
         <source>Path:</source>
         <translation type="unfinished">路径:</translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="507"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="502"/>
         <source>Enter the target directory for the conda environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="514"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="509"/>
         <source>&lt;b&gt;Note:&lt;/b&gt; Only one of the above entries is mandatory.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="524"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="519"/>
         <source>Special Operations</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="536"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="531"/>
         <source>Select to clone an environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="539"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="534"/>
         <source>Clone Environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="549"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="544"/>
         <source>Select to create the environment from a requirements file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="552"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="547"/>
         <source>from Requirements</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="575"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="570"/>
         <source>Enter the name of the environment to be cloned</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="598"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="593"/>
         <source>Enter the directory of the environment to be cloned</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="654"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="649"/>
         <source>Package Specs:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="661"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="656"/>
         <source>Enter the package specifications for the environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="683"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="678"/>
         <source>Enter the Python version for the environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="690"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="685"/>
         <source>Allow insecure SSL connections</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="697"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="692"/>
         <source>Select to perform just a dry-run</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="700"/>
+        <location filename="../VirtualEnv/VirtualenvConfigurationDialog.ui" line="695"/>
         <source>Perform dry-run</source>
         <translation type="unfinished"></translation>
     </message>
@@ -86071,61 +86562,56 @@
         <source>Python Interpreter</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../VirtualEnv/VirtualenvInterpreterSelectionDialog.ui" line="64"/>
-        <source>Select the Python variant</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>VirtualenvManager</name>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManager.py" line="213"/>
+        <location filename="../VirtualEnv/VirtualenvManager.py" line="221"/>
         <source>Add Virtual Environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManager.py" line="213"/>
+        <location filename="../VirtualEnv/VirtualenvManager.py" line="221"/>
         <source>A virtual environment named &lt;b&gt;{0}&lt;/b&gt; exists already. Shall it be replaced?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManager.py" line="280"/>
+        <location filename="../VirtualEnv/VirtualenvManager.py" line="285"/>
         <source>Change Virtual Environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManager.py" line="333"/>
+        <location filename="../VirtualEnv/VirtualenvManager.py" line="336"/>
         <source>A virtual environment named &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManager.py" line="333"/>
+        <location filename="../VirtualEnv/VirtualenvManager.py" line="336"/>
         <source>Rename Virtual Environment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManager.py" line="425"/>
+        <location filename="../VirtualEnv/VirtualenvManager.py" line="427"/>
         <source>{0} - {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManager.py" line="366"/>
+        <location filename="../VirtualEnv/VirtualenvManager.py" line="368"/>
         <source>Delete Virtual Environments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManager.py" line="366"/>
+        <location filename="../VirtualEnv/VirtualenvManager.py" line="368"/>
         <source>Do you really want to delete these virtual environments?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManager.py" line="431"/>
+        <location filename="../VirtualEnv/VirtualenvManager.py" line="433"/>
         <source>Remove Virtual Environments</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvManager.py" line="431"/>
+        <location filename="../VirtualEnv/VirtualenvManager.py" line="433"/>
         <source>Do you really want to remove these virtual environments?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -91017,12 +91503,12 @@
 <context>
     <name>eric6</name>
     <message>
-        <location filename="../eric6.py" line="399"/>
+        <location filename="../eric6.py" line="397"/>
         <source>Starting...</source>
         <translation>正在启动…</translation>
     </message>
     <message>
-        <location filename="../eric6.py" line="404"/>
+        <location filename="../eric6.py" line="402"/>
         <source>Generating Main Window...</source>
         <translation>正在产生主窗口…</translation>
     </message>
@@ -91173,7 +91659,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="183"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="186"/>
         <source>no message defined for code &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -91357,421 +91843,426 @@
         <source>&apos;...&apos; % ... `*` specifier requires sequence</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/pyflakes/translations.py" line="165"/>
+        <source>&apos;if tuple literal&apos; is always true, perhaps remove accidental comma?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>pycodestyle</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="21"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="24"/>
         <source>indentation contains mixed spaces and tabs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="24"/>
-        <source>indentation is not a multiple of four</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="27"/>
-        <source>expected an indented block</source>
+        <source>indentation is not a multiple of four</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="30"/>
-        <source>unexpected indentation</source>
+        <source>expected an indented block</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="33"/>
-        <source>indentation is not a multiple of four (comment)</source>
+        <source>unexpected indentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="36"/>
-        <source>expected an indented block (comment)</source>
+        <source>indentation is not a multiple of four (comment)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="39"/>
+        <source>expected an indented block (comment)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="42"/>
         <source>unexpected indentation (comment)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="45"/>
-        <source>continuation line indentation is not a multiple of four</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="48"/>
-        <source>continuation line missing indentation or outdented</source>
+        <source>continuation line indentation is not a multiple of four</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="51"/>
+        <source>continuation line missing indentation or outdented</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="54"/>
         <source>closing bracket does not match indentation of opening bracket&apos;s line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="55"/>
-        <source>closing bracket does not match visual indentation</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="58"/>
-        <source>continuation line with same indent as next logical line</source>
+        <source>closing bracket does not match visual indentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="61"/>
-        <source>continuation line over-indented for hanging indent</source>
+        <source>continuation line with same indent as next logical line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="64"/>
-        <source>continuation line over-indented for visual indent</source>
+        <source>continuation line over-indented for hanging indent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="67"/>
-        <source>continuation line under-indented for visual indent</source>
+        <source>continuation line over-indented for visual indent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="70"/>
-        <source>visually indented line with same indent as next logical line</source>
+        <source>continuation line under-indented for visual indent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="73"/>
-        <source>continuation line unaligned for hanging indent</source>
+        <source>visually indented line with same indent as next logical line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="76"/>
-        <source>closing bracket is missing indentation</source>
+        <source>continuation line unaligned for hanging indent</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="79"/>
-        <source>indentation contains tabs</source>
+        <source>closing bracket is missing indentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="82"/>
+        <source>indentation contains tabs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="85"/>
         <source>whitespace after &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="91"/>
-        <source>whitespace before &apos;{0}&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="94"/>
-        <source>multiple spaces before operator</source>
+        <source>whitespace before &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="97"/>
-        <source>multiple spaces after operator</source>
+        <source>multiple spaces before operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="100"/>
-        <source>tab before operator</source>
+        <source>multiple spaces after operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="103"/>
-        <source>tab after operator</source>
+        <source>tab before operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="106"/>
-        <source>missing whitespace around operator</source>
+        <source>tab after operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="109"/>
-        <source>missing whitespace around arithmetic operator</source>
+        <source>missing whitespace around operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="112"/>
-        <source>missing whitespace around bitwise or shift operator</source>
+        <source>missing whitespace around arithmetic operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="115"/>
-        <source>missing whitespace around modulo operator</source>
+        <source>missing whitespace around bitwise or shift operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="118"/>
-        <source>missing whitespace after &apos;{0}&apos;</source>
+        <source>missing whitespace around modulo operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="121"/>
-        <source>multiple spaces after &apos;{0}&apos;</source>
+        <source>missing whitespace after &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="124"/>
-        <source>tab after &apos;{0}&apos;</source>
+        <source>multiple spaces after &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="127"/>
+        <source>tab after &apos;{0}&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="130"/>
         <source>unexpected spaces around keyword / parameter equals</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="133"/>
-        <source>at least two spaces before inline comment</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="136"/>
-        <source>inline comment should start with &apos;# &apos;</source>
+        <source>at least two spaces before inline comment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="139"/>
-        <source>block comment should start with &apos;# &apos;</source>
+        <source>inline comment should start with &apos;# &apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="142"/>
-        <source>too many leading &apos;#&apos; for block comment</source>
+        <source>block comment should start with &apos;# &apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="145"/>
-        <source>multiple spaces after keyword</source>
+        <source>too many leading &apos;#&apos; for block comment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="148"/>
-        <source>multiple spaces before keyword</source>
+        <source>multiple spaces after keyword</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="151"/>
-        <source>tab after keyword</source>
+        <source>multiple spaces before keyword</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="154"/>
-        <source>tab before keyword</source>
+        <source>tab after keyword</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="157"/>
-        <source>missing whitespace after keyword</source>
+        <source>tab before keyword</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="160"/>
-        <source>trailing whitespace</source>
+        <source>missing whitespace after keyword</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="163"/>
-        <source>no newline at end of file</source>
+        <source>trailing whitespace</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="166"/>
+        <source>no newline at end of file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="169"/>
         <source>blank line contains whitespace</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="191"/>
-        <source>too many blank lines ({0})</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="178"/>
-        <source>blank lines found after function decorator</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="194"/>
-        <source>blank line at end of file</source>
+        <source>too many blank lines ({0})</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="181"/>
+        <source>blank lines found after function decorator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="197"/>
-        <source>multiple imports on one line</source>
+        <source>blank line at end of file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="200"/>
-        <source>module level import not at top of file</source>
+        <source>multiple imports on one line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="203"/>
-        <source>line too long ({0} &gt; {1} characters)</source>
+        <source>module level import not at top of file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="206"/>
-        <source>the backslash is redundant between brackets</source>
+        <source>line too long ({0} &gt; {1} characters)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="209"/>
+        <source>the backslash is redundant between brackets</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="212"/>
         <source>line break before binary operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="218"/>
-        <source>.has_key() is deprecated, use &apos;in&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="221"/>
-        <source>deprecated form of raising exception</source>
+        <source>.has_key() is deprecated, use &apos;in&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="224"/>
-        <source>&apos;&lt;&gt;&apos; is deprecated, use &apos;!=&apos;</source>
+        <source>deprecated form of raising exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="227"/>
+        <source>&apos;&lt;&gt;&apos; is deprecated, use &apos;!=&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="230"/>
         <source>backticks are deprecated, use &apos;repr()&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="236"/>
-        <source>multiple statements on one line (colon)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="239"/>
-        <source>multiple statements on one line (semicolon)</source>
+        <source>multiple statements on one line (colon)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="242"/>
-        <source>statement ends with a semicolon</source>
+        <source>multiple statements on one line (semicolon)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="245"/>
+        <source>statement ends with a semicolon</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="248"/>
         <source>multiple statements on one line (def)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="251"/>
-        <source>comparison to {0} should be {1}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="254"/>
-        <source>test for membership should be &apos;not in&apos;</source>
+        <source>comparison to {0} should be {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="257"/>
-        <source>test for object identity should be &apos;is not&apos;</source>
+        <source>test for membership should be &apos;not in&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="260"/>
-        <source>do not compare types, use &apos;isinstance()&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="266"/>
-        <source>do not assign a lambda expression, use a def</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="269"/>
-        <source>ambiguous variable name &apos;{0}&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="272"/>
-        <source>ambiguous class definition &apos;{0}&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="275"/>
-        <source>ambiguous function definition &apos;{0}&apos;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="278"/>
-        <source>{0}: {1}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="281"/>
-        <source>{0}</source>
+        <source>test for object identity should be &apos;is not&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="263"/>
+        <source>do not compare types, use &apos;isinstance()&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="269"/>
+        <source>do not assign a lambda expression, use a def</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="272"/>
+        <source>ambiguous variable name &apos;{0}&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="275"/>
+        <source>ambiguous class definition &apos;{0}&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="278"/>
+        <source>ambiguous function definition &apos;{0}&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="281"/>
+        <source>{0}: {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="284"/>
+        <source>{0}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="266"/>
         <source>do not use bare except</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="181"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="184"/>
         <source>expected {0} blank lines after class or function definition, found {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="236"/>
+        <source>&apos;async&apos; and &apos;await&apos; are reserved keywords starting with Python 3.7</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="133"/>
+        <source>missing whitespace around parameter equals</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="175"/>
+        <source>expected {0} blank lines, found {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="188"/>
+        <source>expected {0} blank lines before a nested definition, found {1}</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="215"/>
+        <source>line break after binary operator</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="233"/>
-        <source>&apos;async&apos; and &apos;await&apos; are reserved keywords starting with Python 3.7</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="130"/>
-        <source>missing whitespace around parameter equals</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="172"/>
-        <source>expected {0} blank lines, found {1}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="185"/>
-        <source>expected {0} blank lines before a nested definition, found {1}</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="212"/>
-        <source>line break after binary operator</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="230"/>
         <source>invalid escape sequence &apos;\{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="188"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="191"/>
         <source>too many blank lines ({0}) before a nested definition, expected {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="175"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="178"/>
         <source>too many blank lines ({0}), expected {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="42"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="45"/>
         <source>over-indented</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="215"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="218"/>
         <source>doc line too long ({0} &gt; {1} characters)</source>
         <translation type="unfinished"></translation>
     </message>

eric ide

mercurial