Merged with default branch to prepare a new release. maintenance release-20.08

Sat, 01 Aug 2020 10:38:45 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 01 Aug 2020 10:38:45 +0200
branch
maintenance
changeset 7655
8f53d26009a2
parent 7643
0889dc771040 (current diff)
parent 7654
2c5d97189638 (diff)
child 7656
27cfb65c7324

Merged with default branch to prepare a new release.

docs/changelog file | annotate | diff | comparison | revisions
eric6/APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qch file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
eric6/WebBrowser/WebBrowserView.py file | annotate | diff | comparison | revisions
eric6/i18n/eric6_es.qm file | annotate | diff | comparison | revisions
eric6/i18n/eric6_es.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_fr.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_zh_CN.ts file | annotate | diff | comparison | revisions
--- a/docs/changelog	Sat Jul 04 11:46:13 2020 +0200
+++ b/docs/changelog	Sat Aug 01 10:38:45 2020 +0200
@@ -1,5 +1,8 @@
 Change Log
 ----------
+Version 20.8:
+- bug fixes
+
 Version 20.7:
 - bug fixes
 - General
--- a/eric6/APIs/Python3/eric6.api	Sat Jul 04 11:46:13 2020 +0200
+++ b/eric6/APIs/Python3/eric6.api	Sat Aug 01 10:38:45 2020 +0200
@@ -3020,6 +3020,7 @@
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.BugBearVisitor.visit?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.BugBearVisitor.visit_Assert?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.BugBearVisitor.visit_Assign?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.BugBearVisitor.visit_AsyncFor?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.BugBearVisitor.visit_Attribute?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.BugBearVisitor.visit_Call?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.BugBearVisitor.visit_For?4(node)
@@ -3050,10 +3051,13 @@
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.ReturnVisitor.refs?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.ReturnVisitor.returns?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.ReturnVisitor.visit_Assign?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.ReturnVisitor.visit_AsyncFor?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.ReturnVisitor.visit_AsyncFunctionDef?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.ReturnVisitor.visit_For?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.ReturnVisitor.visit_FunctionDef?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.ReturnVisitor.visit_Name?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.ReturnVisitor.visit_Return?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.ReturnVisitor.visit_While?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.ReturnVisitor?1()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.SysVersionVisitor.visit_Attribute?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.SysVersionVisitor.visit_Compare?4(node)
@@ -3196,6 +3200,7 @@
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityDefaults.SecurityDefaults?7
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.SecurityNodeVisitor.generic_visit?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.SecurityNodeVisitor.visit?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.SecurityNodeVisitor.visit_AsyncFunctionDef?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.SecurityNodeVisitor.visit_Bytes?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.SecurityNodeVisitor.visit_Call?4(node)
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.SecurityNodeVisitor.visit_ClassDef?4(node)
--- a/eric6/Debugger/VariablesViewer.py	Sat Jul 04 11:46:13 2020 +0200
+++ b/eric6/Debugger/VariablesViewer.py	Sat Aug 01 10:38:45 2020 +0200
@@ -810,7 +810,8 @@
                     self.closedItems.remove(pathlist)
                 self.getMore()
         else:
-            self.openItems.remove(pathlist)
+            if pathlist in self.openItems:
+                self.openItems.remove(pathlist)
             self.closedItems.append(pathlist)
     
     def __buildTreePath(self, parent):
Binary file eric6/Documentation/Help/source.qch has changed
--- a/eric6/Documentation/Help/source.qhp	Sat Jul 04 11:46:13 2020 +0200
+++ b/eric6/Documentation/Help/source.qhp	Sat Aug 01 10:38:45 2020 +0200
@@ -2279,6 +2279,7 @@
       <keyword name="BugBearVisitor.visit" id="BugBearVisitor.visit" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#BugBearVisitor.visit" />
       <keyword name="BugBearVisitor.visit_Assert" id="BugBearVisitor.visit_Assert" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#BugBearVisitor.visit_Assert" />
       <keyword name="BugBearVisitor.visit_Assign" id="BugBearVisitor.visit_Assign" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#BugBearVisitor.visit_Assign" />
+      <keyword name="BugBearVisitor.visit_AsyncFor" id="BugBearVisitor.visit_AsyncFor" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#BugBearVisitor.visit_AsyncFor" />
       <keyword name="BugBearVisitor.visit_Attribute" id="BugBearVisitor.visit_Attribute" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#BugBearVisitor.visit_Attribute" />
       <keyword name="BugBearVisitor.visit_Call" id="BugBearVisitor.visit_Call" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#BugBearVisitor.visit_Call" />
       <keyword name="BugBearVisitor.visit_For" id="BugBearVisitor.visit_For" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#BugBearVisitor.visit_For" />
@@ -12445,18 +12446,23 @@
       <keyword name="ReturnVisitor.__checkUnnecessaryAssign" id="ReturnVisitor.__checkUnnecessaryAssign" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.__checkUnnecessaryAssign" />
       <keyword name="ReturnVisitor.__checkUnnecessaryReturnNone" id="ReturnVisitor.__checkUnnecessaryReturnNone" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.__checkUnnecessaryReturnNone" />
       <keyword name="ReturnVisitor.__hasRefsBeforeNextAssign" id="ReturnVisitor.__hasRefsBeforeNextAssign" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.__hasRefsBeforeNextAssign" />
+      <keyword name="ReturnVisitor.__isFalse" id="ReturnVisitor.__isFalse" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.__isFalse" />
       <keyword name="ReturnVisitor.__isNone" id="ReturnVisitor.__isNone" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.__isNone" />
       <keyword name="ReturnVisitor.__resultExists" id="ReturnVisitor.__resultExists" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.__resultExists" />
       <keyword name="ReturnVisitor.__visitAssignTarget" id="ReturnVisitor.__visitAssignTarget" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.__visitAssignTarget" />
+      <keyword name="ReturnVisitor.__visitLoop" id="ReturnVisitor.__visitLoop" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.__visitLoop" />
       <keyword name="ReturnVisitor.__visitWithStack" id="ReturnVisitor.__visitWithStack" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.__visitWithStack" />
       <keyword name="ReturnVisitor.assigns" id="ReturnVisitor.assigns" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.assigns" />
       <keyword name="ReturnVisitor.refs" id="ReturnVisitor.refs" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.refs" />
       <keyword name="ReturnVisitor.returns" id="ReturnVisitor.returns" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.returns" />
       <keyword name="ReturnVisitor.visit_Assign" id="ReturnVisitor.visit_Assign" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.visit_Assign" />
+      <keyword name="ReturnVisitor.visit_AsyncFor" id="ReturnVisitor.visit_AsyncFor" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.visit_AsyncFor" />
       <keyword name="ReturnVisitor.visit_AsyncFunctionDef" id="ReturnVisitor.visit_AsyncFunctionDef" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.visit_AsyncFunctionDef" />
+      <keyword name="ReturnVisitor.visit_For" id="ReturnVisitor.visit_For" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.visit_For" />
       <keyword name="ReturnVisitor.visit_FunctionDef" id="ReturnVisitor.visit_FunctionDef" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.visit_FunctionDef" />
       <keyword name="ReturnVisitor.visit_Name" id="ReturnVisitor.visit_Name" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.visit_Name" />
       <keyword name="ReturnVisitor.visit_Return" id="ReturnVisitor.visit_Return" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.visit_Return" />
+      <keyword name="ReturnVisitor.visit_While" id="ReturnVisitor.visit_While" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#ReturnVisitor.visit_While" />
       <keyword name="SafariImporter" id="SafariImporter" ref="eric6.WebBrowser.Bookmarks.BookmarksImporters.SafariImporter.html#SafariImporter" />
       <keyword name="SafariImporter (Constructor)" id="SafariImporter (Constructor)" ref="eric6.WebBrowser.Bookmarks.BookmarksImporters.SafariImporter.html#SafariImporter.__init__" />
       <keyword name="SafariImporter (Module)" id="SafariImporter (Module)" ref="eric6.WebBrowser.Bookmarks.BookmarksImporters.SafariImporter.html" />
@@ -12696,8 +12702,10 @@
       <keyword name="SecurityNodeVisitor.__postVisit" id="SecurityNodeVisitor.__postVisit" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.html#SecurityNodeVisitor.__postVisit" />
       <keyword name="SecurityNodeVisitor.__preVisit" id="SecurityNodeVisitor.__preVisit" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.html#SecurityNodeVisitor.__preVisit" />
       <keyword name="SecurityNodeVisitor.__runChecks" id="SecurityNodeVisitor.__runChecks" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.html#SecurityNodeVisitor.__runChecks" />
+      <keyword name="SecurityNodeVisitor.__visitFunctionDefinition" id="SecurityNodeVisitor.__visitFunctionDefinition" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.html#SecurityNodeVisitor.__visitFunctionDefinition" />
       <keyword name="SecurityNodeVisitor.generic_visit" id="SecurityNodeVisitor.generic_visit" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.html#SecurityNodeVisitor.generic_visit" />
       <keyword name="SecurityNodeVisitor.visit" id="SecurityNodeVisitor.visit" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.html#SecurityNodeVisitor.visit" />
+      <keyword name="SecurityNodeVisitor.visit_AsyncFunctionDef" id="SecurityNodeVisitor.visit_AsyncFunctionDef" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.html#SecurityNodeVisitor.visit_AsyncFunctionDef" />
       <keyword name="SecurityNodeVisitor.visit_Bytes" id="SecurityNodeVisitor.visit_Bytes" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.html#SecurityNodeVisitor.visit_Bytes" />
       <keyword name="SecurityNodeVisitor.visit_Call" id="SecurityNodeVisitor.visit_Call" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.html#SecurityNodeVisitor.visit_Call" />
       <keyword name="SecurityNodeVisitor.visit_ClassDef" id="SecurityNodeVisitor.visit_ClassDef" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.html#SecurityNodeVisitor.visit_ClassDef" />
--- a/eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html	Sat Jul 04 11:46:13 2020 +0200
+++ b/eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html	Sat Aug 01 10:38:45 2020 +0200
@@ -125,6 +125,10 @@
 <td>Public method to handle assignments.</td>
 </tr>
 <tr>
+<td><a href="#BugBearVisitor.visit_AsyncFor">visit_AsyncFor</a></td>
+<td>Public method to handle 'for' statements.</td>
+</tr>
+<tr>
 <td><a href="#BugBearVisitor.visit_Attribute">visit_Attribute</a></td>
 <td>Public method to handle attributes.</td>
 </tr>
@@ -228,6 +232,20 @@
 reference to the node to be processed
 </dd>
 </dl>
+<a NAME="BugBearVisitor.visit_AsyncFor" ID="BugBearVisitor.visit_AsyncFor"></a>
+<h4>BugBearVisitor.visit_AsyncFor</h4>
+<b>visit_AsyncFor</b>(<i>node</i>)
+
+<p>
+        Public method to handle 'for' statements.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.AsyncFor)</dt>
+<dd>
+reference to the node to be processed
+</dd>
+</dl>
 <a NAME="BugBearVisitor.visit_Attribute" ID="BugBearVisitor.visit_Attribute"></a>
 <h4>BugBearVisitor.visit_Attribute</h4>
 <b>visit_Attribute</b>(<i>node</i>)
@@ -1268,6 +1286,10 @@
 <td>Private method to check for references before a following assign statement.</td>
 </tr>
 <tr>
+<td><a href="#ReturnVisitor.__isFalse">__isFalse</a></td>
+<td>Private method to check, if a node value is False.</td>
+</tr>
+<tr>
 <td><a href="#ReturnVisitor.__isNone">__isNone</a></td>
 <td>Private method to check, if a node value is None.</td>
 </tr>
@@ -1280,6 +1302,10 @@
 <td>Private method to handle an assign target node.</td>
 </tr>
 <tr>
+<td><a href="#ReturnVisitor.__visitLoop">__visitLoop</a></td>
+<td>Private method to handle loop nodes.</td>
+</tr>
+<tr>
 <td><a href="#ReturnVisitor.__visitWithStack">__visitWithStack</a></td>
 <td>Private method to traverse a given function node using a stack.</td>
 </tr>
@@ -1300,10 +1326,18 @@
 <td>Public method to handle an assign node.</td>
 </tr>
 <tr>
+<td><a href="#ReturnVisitor.visit_AsyncFor">visit_AsyncFor</a></td>
+<td>Public method to handle an async for loop.</td>
+</tr>
+<tr>
 <td><a href="#ReturnVisitor.visit_AsyncFunctionDef">visit_AsyncFunctionDef</a></td>
 <td>Public method to handle a function definition.</td>
 </tr>
 <tr>
+<td><a href="#ReturnVisitor.visit_For">visit_For</a></td>
+<td>Public method to handle a for loop.</td>
+</tr>
+<tr>
 <td><a href="#ReturnVisitor.visit_FunctionDef">visit_FunctionDef</a></td>
 <td>Public method to handle a function definition.</td>
 </tr>
@@ -1315,6 +1349,10 @@
 <td><a href="#ReturnVisitor.visit_Return">visit_Return</a></td>
 <td>Public method to handle a return node.</td>
 </tr>
+<tr>
+<td><a href="#ReturnVisitor.visit_While">visit_While</a></td>
+<td>Public method to handle a while loop.</td>
+</tr>
 </table>
 <h3>Static Methods</h3>
 
@@ -1416,6 +1454,32 @@
 bool
 </dd>
 </dl>
+<a NAME="ReturnVisitor.__isFalse" ID="ReturnVisitor.__isFalse"></a>
+<h4>ReturnVisitor.__isFalse</h4>
+<b>__isFalse</b>(<i>node</i>)
+
+<p>
+        Private method to check, if a node value is False.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.AST)</dt>
+<dd>
+reference to the node to check
+</dd>
+</dl>
+<dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating the node contains a False value
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl>
 <a NAME="ReturnVisitor.__isNone" ID="ReturnVisitor.__isNone"></a>
 <h4>ReturnVisitor.__isNone</h4>
 <b>__isNone</b>(<i>node</i>)
@@ -1436,6 +1500,12 @@
 flag indicating the node contains a None value
 </dd>
 </dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl>
 <a NAME="ReturnVisitor.__resultExists" ID="ReturnVisitor.__resultExists"></a>
 <h4>ReturnVisitor.__resultExists</h4>
 <b>__resultExists</b>(<i></i>)
@@ -1469,6 +1539,20 @@
 reference to the node to handle
 </dd>
 </dl>
+<a NAME="ReturnVisitor.__visitLoop" ID="ReturnVisitor.__visitLoop"></a>
+<h4>ReturnVisitor.__visitLoop</h4>
+<b>__visitLoop</b>(<i>node</i>)
+
+<p>
+        Private method to handle loop nodes.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.For, ast.AsyncFor or ast.While)</dt>
+<dd>
+reference to the loop node to handle
+</dd>
+</dl>
 <a NAME="ReturnVisitor.__visitWithStack" ID="ReturnVisitor.__visitWithStack"></a>
 <h4>ReturnVisitor.__visitWithStack</h4>
 <b>__visitWithStack</b>(<i>node</i>)
@@ -1557,6 +1641,20 @@
 reference to the node to handle
 </dd>
 </dl>
+<a NAME="ReturnVisitor.visit_AsyncFor" ID="ReturnVisitor.visit_AsyncFor"></a>
+<h4>ReturnVisitor.visit_AsyncFor</h4>
+<b>visit_AsyncFor</b>(<i>node</i>)
+
+<p>
+        Public method to handle an async for loop.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.AsyncFor)</dt>
+<dd>
+reference to the async for node to handle
+</dd>
+</dl>
 <a NAME="ReturnVisitor.visit_AsyncFunctionDef" ID="ReturnVisitor.visit_AsyncFunctionDef"></a>
 <h4>ReturnVisitor.visit_AsyncFunctionDef</h4>
 <b>visit_AsyncFunctionDef</b>(<i>node</i>)
@@ -1571,6 +1669,20 @@
 reference to the node to handle
 </dd>
 </dl>
+<a NAME="ReturnVisitor.visit_For" ID="ReturnVisitor.visit_For"></a>
+<h4>ReturnVisitor.visit_For</h4>
+<b>visit_For</b>(<i>node</i>)
+
+<p>
+        Public method to handle a for loop.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.For)</dt>
+<dd>
+reference to the for node to handle
+</dd>
+</dl>
 <a NAME="ReturnVisitor.visit_FunctionDef" ID="ReturnVisitor.visit_FunctionDef"></a>
 <h4>ReturnVisitor.visit_FunctionDef</h4>
 <b>visit_FunctionDef</b>(<i>node</i>)
@@ -1613,6 +1725,20 @@
 reference to the node to handle
 </dd>
 </dl>
+<a NAME="ReturnVisitor.visit_While" ID="ReturnVisitor.visit_While"></a>
+<h4>ReturnVisitor.visit_While</h4>
+<b>visit_While</b>(<i>node</i>)
+
+<p>
+        Public method to handle a while loop.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.While)</dt>
+<dd>
+reference to the while node to handle
+</dd>
+</dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
 <hr />
--- a/eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.html	Sat Jul 04 11:46:13 2020 +0200
+++ b/eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityNodeVisitor.html	Sat Aug 01 10:38:45 2020 +0200
@@ -85,6 +85,10 @@
 <td>Private method to run all enabled checks for a given check type.</td>
 </tr>
 <tr>
+<td><a href="#SecurityNodeVisitor.__visitFunctionDefinition">__visitFunctionDefinition</a></td>
+<td>Private method defining a visitor for AST FunctionDef and AsyncFunctionDef nodes.</td>
+</tr>
+<tr>
 <td><a href="#SecurityNodeVisitor.generic_visit">generic_visit</a></td>
 <td>Public method to drive the node visitor.</td>
 </tr>
@@ -93,6 +97,10 @@
 <td>Public method to inspected an AST node.</td>
 </tr>
 <tr>
+<td><a href="#SecurityNodeVisitor.visit_AsyncFunctionDef">visit_AsyncFunctionDef</a></td>
+<td>Public method defining a visitor for AST AsyncFunctionDef nodes.</td>
+</tr>
+<tr>
 <td><a href="#SecurityNodeVisitor.visit_Bytes">visit_Bytes</a></td>
 <td>Public method defining a visitor for Bytes nodes.</td>
 </tr>
@@ -207,6 +215,26 @@
 type of checks to be run
 </dd>
 </dl>
+<a NAME="SecurityNodeVisitor.__visitFunctionDefinition" ID="SecurityNodeVisitor.__visitFunctionDefinition"></a>
+<h4>SecurityNodeVisitor.__visitFunctionDefinition</h4>
+<b>__visitFunctionDefinition</b>(<i>node</i>)
+
+<p>
+        Private method defining a visitor for AST FunctionDef and
+        AsyncFunctionDef nodes.
+</p>
+<p>
+        Add relevant information about the node to the context for use in tests
+        which inspect function definitions. Add the function name to the
+        current namespace for all descendants.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.FunctionDef, ast.AsyncFunctionDef)</dt>
+<dd>
+reference to the node being inspected
+</dd>
+</dl>
 <a NAME="SecurityNodeVisitor.generic_visit" ID="SecurityNodeVisitor.generic_visit"></a>
 <h4>SecurityNodeVisitor.generic_visit</h4>
 <b>generic_visit</b>(<i>node</i>)
@@ -235,6 +263,20 @@
 AST node to be inspected
 </dd>
 </dl>
+<a NAME="SecurityNodeVisitor.visit_AsyncFunctionDef" ID="SecurityNodeVisitor.visit_AsyncFunctionDef"></a>
+<h4>SecurityNodeVisitor.visit_AsyncFunctionDef</h4>
+<b>visit_AsyncFunctionDef</b>(<i>node</i>)
+
+<p>
+        Public method defining a visitor for AST AsyncFunctionDef nodes.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.AsyncFunctionDef)</dt>
+<dd>
+reference to the node being inspected
+</dd>
+</dl>
 <a NAME="SecurityNodeVisitor.visit_Bytes" ID="SecurityNodeVisitor.visit_Bytes"></a>
 <h4>SecurityNodeVisitor.visit_Bytes</h4>
 <b>visit_Bytes</b>(<i>node</i>)
@@ -313,11 +355,6 @@
 <p>
         Public method defining a visitor for AST FunctionDef nodes.
 </p>
-<p>
-        Add relevant information about the node to the context for use in tests
-        which inspect function definitions. Add the function name to the
-        current namespace for all descendants.
-</p>
 <dl>
 
 <dt><i>node</i> (ast.FunctionDef)</dt>
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py	Sat Jul 04 11:46:13 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py	Sat Aug 01 10:38:45 2020 +0200
@@ -1471,6 +1471,17 @@
         
         self.generic_visit(node)
     
+    def visit_AsyncFor(self, node):
+        """
+        Public method to handle 'for' statements.
+        
+        @param node reference to the node to be processed
+        @type ast.AsyncFor
+        """
+        self.__checkForM507(node)
+        
+        self.generic_visit(node)
+    
     def visit_Assert(self, node):
         """
         Public method to handle 'assert' statements.
@@ -1602,6 +1613,7 @@
         
         self.__stack = []
         self.violations = []
+        self.__loopCount = 0
     
     @property
     def assigns(self):
@@ -1636,6 +1648,44 @@
         """
         return self.__stack[-1][ReturnVisitor.Returns]
     
+    def visit_For(self, node):
+        """
+        Public method to handle a for loop.
+        
+        @param node reference to the for node to handle
+        @type ast.For
+        """
+        self.__visitLoop(node)
+    
+    def visit_AsyncFor(self, node):
+        """
+        Public method to handle an async for loop.
+        
+        @param node reference to the async for node to handle
+        @type ast.AsyncFor
+        """
+        self.__visitLoop(node)
+    
+    def visit_While(self, node):
+        """
+        Public method to handle a while loop.
+        
+        @param node reference to the while node to handle
+        @type ast.While
+        """
+        self.__visitLoop(node)
+    
+    def __visitLoop(self, node):
+        """
+        Private method to handle loop nodes.
+        
+        @param node reference to the loop node to handle
+        @type ast.For, ast.AsyncFor or ast.While
+        """
+        self.__loopCount += 1
+        self.generic_visit(node)
+        self.__loopCount -= 1
+    
     def __visitWithStack(self, node):
         """
         Private method to traverse a given function node using a stack.
@@ -1690,10 +1740,18 @@
         """
         if not self.__stack:
             return
+
+        self.generic_visit(node.value)
         
-        for target in node.targets:
-            self.__visitAssignTarget(target)
-        self.generic_visit(node.value)
+        target = node.targets[0]
+        if (
+            isinstance(target, ast.Tuple) and
+            not isinstance(node.value, ast.Tuple)
+        ):
+            # skip unpacking assign
+            return
+        
+        self.__visitAssignTarget(target)
     
     def visit_Name(self, node):
         """
@@ -1717,7 +1775,7 @@
                 self.__visitAssignTarget(elt)
             return
         
-        if isinstance(node, ast.Name):
+        if not self.__loopCount and isinstance(node, ast.Name):
             self.assigns[node.id].append(node.lineno)
             return
         
@@ -1755,12 +1813,27 @@
         @param node reference to the node to check
         @type ast.AST
         @return flag indicating the node contains a None value
+        @rtype bool
         """
         return (
             AstUtilities.isNameConstant(node) and
             AstUtilities.getValue(node) is None
         )
     
+    def __isFalse(self, node):
+        """
+        Private method to check, if a node value is False.
+        
+        @param node reference to the node to check
+        @type ast.AST
+        @return flag indicating the node contains a False value
+        @rtype bool
+        """
+        return (
+            AstUtilities.isNameConstant(node) and
+            AstUtilities.getValue(node) is False
+        )
+    
     def __resultExists(self):
         """
         Private method to check the existance of a return result.
@@ -1807,14 +1880,17 @@
             self.__checkImplicitReturn(node.orelse[-1])
             return
         
-        if isinstance(node, ast.For) and node.orelse:
+        if isinstance(node, (ast.For, ast.AsyncFor)) and node.orelse:
             self.__checkImplicitReturn(node.orelse[-1])
             return
         
-        if isinstance(node, ast.With):
+        if isinstance(node, (ast.With, ast.AsyncWith)):
             self.__checkImplicitReturn(node.body[-1])
             return
         
+        if isinstance(node, ast.Assert) and self.__isFalse(node.test):
+            return
+        
         try:
             okNodes = (ast.Return, ast.Raise, ast.While, ast.Try)
         except AttributeError:
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityNodeVisitor.py	Sat Jul 04 11:46:13 2020 +0200
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityNodeVisitor.py	Sat Aug 01 10:38:45 2020 +0200
@@ -73,12 +73,31 @@
         """
         Public method defining a visitor for AST FunctionDef nodes.
         
+        @param node reference to the node being inspected
+        @type ast.FunctionDef
+        """
+        self.__visitFunctionDefinition(node)
+    
+    def visit_AsyncFunctionDef(self, node):
+        """
+        Public method defining a visitor for AST AsyncFunctionDef nodes.
+        
+        @param node reference to the node being inspected
+        @type ast.AsyncFunctionDef
+        """
+        self.__visitFunctionDefinition(node)
+    
+    def __visitFunctionDefinition(self, node):
+        """
+        Private method defining a visitor for AST FunctionDef and
+        AsyncFunctionDef nodes.
+        
         Add relevant information about the node to the context for use in tests
         which inspect function definitions. Add the function name to the
         current namespace for all descendants.
         
         @param node reference to the node being inspected
-        @type ast.FunctionDef
+        @type ast.FunctionDef, ast.AsyncFunctionDef
         """
         self.__context['function'] = node
         qualname = SecurityUtils.namespacePathJoin(self.namespace, node.name)
--- a/eric6/QScintilla/SpellChecker.py	Sat Jul 04 11:46:13 2020 +0200
+++ b/eric6/QScintilla/SpellChecker.py	Sat Aug 01 10:38:45 2020 +0200
@@ -11,7 +11,6 @@
 
 
 import os
-import sys
 
 from PyQt5.QtCore import QTimer, QObject
 
@@ -330,7 +329,7 @@
         
         if pos >= 0 and self.__checkRegion(pos):
             pos0 = pos
-            pos1 = sys.maxsize
+            pos1 = 0xffffffff
             if not self.editor.charAt(pos).isalnum():
                 line, index = self.editor.lineIndexFromPosition(pos)
                 self.editor.clearIndicator(
--- a/eric6/WebBrowser/WebBrowserView.py	Sat Jul 04 11:46:13 2020 +0200
+++ b/eric6/WebBrowser/WebBrowserView.py	Sat Aug 01 10:38:45 2020 +0200
@@ -169,9 +169,12 @@
             # pre Qt 5.12
             pass
         try:
+            from PyQt5.QtWebEngineCore import QWebEngineFindTextResult
+            # __IGNORE_WARNING__
+            
             self.__page.findTextFinished.connect(
                 self.__findTextFinished)
-        except AttributeError:
+        except (AttributeError, ImportError):
             # pre Qt 5.14
             pass
     
Binary file eric6/i18n/eric6_es.qm has changed
--- a/eric6/i18n/eric6_es.ts	Sat Jul 04 11:46:13 2020 +0200
+++ b/eric6/i18n/eric6_es.ts	Sat Aug 01 10:38:45 2020 +0200
@@ -1101,72 +1101,72 @@
 <context>
     <name>AnnotationsChecker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="811"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="808"/>
         <source>missing type annotation for function argument &apos;{0}&apos;</source>
         <translation>falta anotación de tipo para el argumento &apos;{0}&apos; de la función</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="811"/>
+        <source>missing type annotation for &apos;*{0}&apos;</source>
+        <translation>falta anotación de tipo para &apos;*{0}&apos;</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="814"/>
-        <source>missing type annotation for &apos;*{0}&apos;</source>
-        <translation>falta anotación de tipo para &apos;*{0}&apos;</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="817"/>
         <source>missing type annotation for &apos;**{0}&apos;</source>
         <translation>falta anotación de tipo para &apos;**{0}&apos;</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="823"/>
+        <source>missing return type annotation for public function</source>
+        <translation>falta anotación de tipo para valor de retorno de función pública</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="826"/>
-        <source>missing return type annotation for public function</source>
-        <translation>falta anotación de tipo para valor de retorno de función pública</translation>
+        <source>missing return type annotation for protected function</source>
+        <translation>falta anotación de tipo para valor de retorno de función protegida</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="829"/>
-        <source>missing return type annotation for protected function</source>
-        <translation>falta anotación de tipo para valor de retorno de función protegida</translation>
+        <source>missing return type annotation for private function</source>
+        <translation>falta anotación de tipo para valor de retorno de función privada</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="832"/>
-        <source>missing return type annotation for private function</source>
-        <translation>falta anotación de tipo para valor de retorno de función privada</translation>
+        <source>missing return type annotation for special method</source>
+        <translation>falta anotación de tipo para valor de retorno de método especial</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="835"/>
-        <source>missing return type annotation for special method</source>
-        <translation>falta anotación de tipo para valor de retorno de método especial</translation>
+        <source>missing return type annotation for staticmethod</source>
+        <translation>falta anotación de tipo para valor de retorno de método estático</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="838"/>
-        <source>missing return type annotation for staticmethod</source>
-        <translation>falta anotación de tipo para valor de retorno de método estático</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="841"/>
         <source>missing return type annotation for classmethod</source>
         <translation>falta anotación de tipo para valor de retorno de método de clase</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="853"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="850"/>
         <source>{0}: {1}</source>
         <translation>{0}: {1}</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="817"/>
+        <source>missing type annotation for &apos;self&apos; in method</source>
+        <translation>falta anotación de tipo para &apos;self&apos; en método</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="820"/>
-        <source>missing type annotation for &apos;self&apos; in method</source>
-        <translation>falta anotación de tipo para &apos;self&apos; en método</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="823"/>
         <source>missing type annotation for &apos;cls&apos; in classmethod</source>
         <translation>falta anotación de tipo para &apos;cls&apos; en método de clase</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="845"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="842"/>
         <source>type annotation coverage of {0}% is too low</source>
         <translation>cobertura de anotaciones de tipo de {0} demasiado baja</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="849"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="846"/>
         <source>type annotation is too complex ({0} &gt; {1})</source>
         <translation>anotaciones de tipo demasiado complejas ({0} &gt; {1})</translation>
     </message>
@@ -1179,37 +1179,37 @@
         <translation>Diagrama de aplicación {0}</translation>
     </message>
     <message>
-        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="68"/>
+        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="67"/>
         <source>Parsing modules...</source>
         <translation>Analizando módulos...</translation>
     </message>
     <message>
-        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="203"/>
+        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="202"/>
         <source>&lt;&lt;Application&gt;&gt;</source>
         <translation>&lt;&lt;Aplicación&gt;&gt;</translation>
     </message>
     <message>
-        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="205"/>
+        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="204"/>
         <source>&lt;&lt;Others&gt;&gt;</source>
         <translation>&lt;&lt;Otros&gt;&gt;</translation>
     </message>
     <message>
-        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="294"/>
+        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="293"/>
         <source>Load Diagram</source>
         <translation>Cargar Diagrama</translation>
     </message>
     <message>
-        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="294"/>
+        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="293"/>
         <source>&lt;p&gt;The diagram belongs to the project &lt;b&gt;{0}&lt;/b&gt;. Shall this project be opened?&lt;/p&gt;</source>
         <translation>&lt;p&gt;El diagrama pertenece al proyecto &lt;b&gt;{0}&lt;/b&gt;. ¿Abrir proyecto?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="68"/>
+        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="67"/>
         <source>%v/%m Modules</source>
         <translation>%v/%m Módulos</translation>
     </message>
     <message>
-        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="71"/>
+        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="70"/>
         <source>Application Diagram</source>
         <translation>Diagrama de aplicación</translation>
     </message>
@@ -1479,7 +1479,7 @@
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="158"/>
         <source>Never</source>
-        <translation type="unfinished">Nunca</translation>
+        <translation>Nunca</translation>
     </message>
 </context>
 <context>
@@ -1876,7 +1876,7 @@
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="182"/>
         <source>New &amp;Folder...</source>
-        <translation>Nueva C&amp;arpeta</translation>
+        <translation>Nueva C&amp;arpeta...</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="335"/>
@@ -2798,42 +2798,42 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="63"/>
         <source>Annotations</source>
-        <translation type="unfinished">Anotaciones</translation>
+        <translation>Anotaciones</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="66"/>
         <source>Code Complexity</source>
-        <translation type="unfinished">Complejidad del Código</translation>
+        <translation>Complejidad del Código</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="69"/>
         <source>Documentation</source>
-        <translation type="unfinished">Documentación</translation>
+        <translation>Documentación</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="72"/>
         <source>Errors</source>
-        <translation type="unfinished">Errores</translation>
+        <translation>Errores</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="75"/>
         <source>Miscellaneous</source>
-        <translation type="unfinished"></translation>
+        <translation>Miscelanea</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="78"/>
         <source>Naming</source>
-        <translation type="unfinished"></translation>
+        <translation>Nomenclatura</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="84"/>
         <source>Warnings</source>
-        <translation type="unfinished">Advertencias</translation>
+        <translation>Advertencias</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="81"/>
         <source>Security</source>
-        <translation type="unfinished">Seguridad</translation>
+        <translation>Seguridad</translation>
     </message>
 </context>
 <context>
@@ -3337,9 +3337,9 @@
 <context>
     <name>CodeStyleChecker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="1133"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="1130"/>
         <source>No message defined for code &apos;{0}&apos;.</source>
-        <translation type="unfinished"></translation>
+        <translation>No hay mensaje definido para el código &apos;{0}&apos;.</translation>
     </message>
 </context>
 <context>
@@ -3399,11 +3399,6 @@
         <translation>Excluir Mensajes:</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="obsolete">Introduzca códigos de mensaje o categorías a excluir separados por comas</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="159"/>
         <source>Press to select the message codes from a list</source>
         <translation>Pulsar para seleccionar los códigos de mensaje de una lista</translation>
@@ -3414,11 +3409,6 @@
         <translation>Mensajes Incluidos:</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="obsolete">Introducir códigos de mensaje o categorías a incluir separados por comas</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="124"/>
         <source>Fix Issues:</source>
         <translation>Arreglar Problemas:</translation>
@@ -3554,7 +3544,7 @@
         <translation>Arreglar: {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1016"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1015"/>
         <source>No issues found.</source>
         <translation>No se han encontrado problemas.</translation>
     </message>
@@ -3579,12 +3569,12 @@
         <translation>Mostrar ignorados</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="942"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="941"/>
         <source>{0} (ignored)</source>
         <translation>{0} (ignorado)</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="835"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="834"/>
         <source>Preparing files...</source>
         <translation>Preparando archivos...</translation>
     </message>
@@ -3599,7 +3589,7 @@
         <translation>Errores</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="874"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="873"/>
         <source>Transferring data...</source>
         <translation>Transfiriendo datos...</translation>
     </message>
@@ -3704,7 +3694,7 @@
         <translation>&amp;Restablecer Valores por Defecto</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1019"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1018"/>
         <source>No files found (check your ignore list).</source>
         <translation>No se han encontrado archivos (comprobar lista de ignorados).</translation>
     </message>
@@ -3844,11 +3834,6 @@
         <translation>Configurar</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1146"/>
-        <source>Run</source>
-        <translation type="obsolete">Ejecutar</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1311"/>
         <source>Press to restart the code style check run</source>
         <translation>Pulsar para reiniciar la ejecución de comprobación de estilo de código</translation>
@@ -3861,152 +3846,152 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="48"/>
         <source>Categories:</source>
-        <translation type="unfinished">Categorías:</translation>
+        <translation>Categorías:</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>
+        <translation>Seleccionar las categorías de comprobaciones a llevar a cabo.</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>
+        <translation>Introducir códigos de mensaje a excluir, separados por comas</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>
+        <translation>Introducir códigos de mensaje a incluir, separados por comas</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="833"/>
         <source>Security Options</source>
-        <translation type="unfinished"></translation>
+        <translation>Opciones de Seguridad</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="839"/>
         <source>Hardcoded &apos;tmp&apos; Directories:</source>
-        <translation type="unfinished"></translation>
+        <translation>Directorios &apos;tmp&apos; a código duro:</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="849"/>
         <source>Weak Cryptographic Keys</source>
-        <translation type="unfinished"></translation>
+        <translation>Claves Criptográficas Débiles</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="855"/>
         <source>DSA</source>
-        <translation type="unfinished"></translation>
+        <translation>DSA</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="973"/>
         <source>High Risk:</source>
-        <translation type="unfinished"></translation>
+        <translation>Riesgo Alto:</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>
+        <translation>Seleccionar la longitud de bits por debajo de la cual una clave DSA se considerará como muy débil</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="990"/>
         <source>Medium Risk:</source>
-        <translation type="unfinished"></translation>
+        <translation>Riesgo Medio:</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>
+        <translation>Seleccionar la longitud de bits por debajo de la cual una clave DSA se considerará como débil</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="911"/>
         <source>RSA</source>
-        <translation type="unfinished"></translation>
+        <translation>RSA</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>
+        <translation>Seleccionar la longitud de bits por debajo de la cual una clave RSA se considerará como muy débil</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>
+        <translation>Seleccionar la longitud de bits por debajo de la cual una clave RSA se considerará como débil</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="967"/>
         <source>Elliptic Curves</source>
-        <translation type="unfinished"></translation>
+        <translation>Curvas Elípticas</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>
+        <translation>Seleccionar la longitud de bits por debajo de la cual una clave de Curva Elíptica se considerará como muy débil</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>
+        <translation>Seleccionar la longitud de bits por debajo de la cual una clave de Curva Elíptica se considerará como débil</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>
+        <translation>Introducir los nombres de protocolos y métodos SSL inseguros (uno por línea)</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1033"/>
         <source>Insecure SSL Protocols:</source>
-        <translation type="unfinished"></translation>
+        <translation>Protocolos SSL Inseguros:</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1043"/>
         <source>Insecure Hashes:</source>
-        <translation type="unfinished"></translation>
+        <translation>Hashes Inseguros:</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>
+        <translation>Introducir una lista de métodos de hash a considerar como inseguros, separados por comas</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>
+        <translation>Seleccionar para comprobar también gestión insegura de excepciones para excepciones tipadas</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1060"/>
         <source>Check Typed Exceptions</source>
-        <translation type="unfinished"></translation>
+        <translation>Comprobar Excepciones Tipadas</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>
+        <translation>Introducir nombres de directorios (uno por línea) para comprobar</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>
+        <translation>&lt;b&gt;Nota:&lt;/b&gt; Marcar elementos de seguridad revisados con un comentario &quot;&lt;b&gt;#  secok&lt;/b&gt;&quot;.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1146"/>
         <source>Progress</source>
-        <translation type="unfinished">Progreso</translation>
+        <translation>Progreso</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>
+        <translation>Muestra una lista de archivos pendientes de comprobación</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1219"/>
         <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
+        <translation>Cancelar</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1242"/>
         <source>Results</source>
-        <translation type="unfinished">Resultados</translation>
+        <translation>Resultados</translation>
     </message>
 </context>
 <context>
@@ -4032,11 +4017,6 @@
         <translation>&lt;b&gt;Comprobar Estilo del Código....&lt;/b&gt;&lt;p&gt;Chequea archivos de Python en cuanto al cumplimiento de las convenciones de estilo de código tal como vienen dadas en varios PEPs.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginCodeStyleChecker.py" line="112"/>
-        <source>Python 2 batch check</source>
-        <translation type="obsolete">Python 2 comprobación por lotes</translation>
-    </message>
-    <message>
         <location filename="../Plugins/PluginCodeStyleChecker.py" line="107"/>
         <source>Python 3 batch check</source>
         <translation>Python 3 comprobación por lotes</translation>
@@ -4073,142 +4053,142 @@
 <context>
     <name>CodeStyleFixer</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="861"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="858"/>
         <source>Triple single quotes converted to triple double quotes.</source>
         <translation>Triple comilla simple convertida a triple comilla doble.</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="861"/>
+        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
+        <translation>Comillas introductorias corregidas para ser {0}&quot;&quot;&quot;</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="864"/>
-        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
-        <translation>Comillas introductorias corregidas para ser {0}&quot;&quot;&quot;</translation>
+        <source>Single line docstring put on one line.</source>
+        <translation>Docstrings de una sola línea puestos en una sola línea.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="867"/>
-        <source>Single line docstring put on one line.</source>
-        <translation>Docstrings de una sola línea puestos en una sola línea.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="870"/>
         <source>Period added to summary line.</source>
         <translation>Coma añadida a la línea de resumen.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="897"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="894"/>
         <source>Blank line before function/method docstring removed.</source>
         <translation>Línea en blanco antes de docstring de función/método eliminada.</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="873"/>
+        <source>Blank line inserted before class docstring.</source>
+        <translation>Linea en blanco insertada delante de docstring de clase.</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="876"/>
-        <source>Blank line inserted before class docstring.</source>
-        <translation>Linea en blanco insertada delante de docstring de clase.</translation>
+        <source>Blank line inserted after class docstring.</source>
+        <translation>Linea en blanco insertada detrás de docstring.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="879"/>
-        <source>Blank line inserted after class docstring.</source>
-        <translation>Linea en blanco insertada detrás de docstring.</translation>
+        <source>Blank line inserted after docstring summary.</source>
+        <translation>Linea en blanco insertada detrás de docstring de resumen.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="882"/>
-        <source>Blank line inserted after docstring summary.</source>
-        <translation>Linea en blanco insertada detrás de docstring de resumen.</translation>
+        <source>Blank line inserted after last paragraph of docstring.</source>
+        <translation>Linea en blanco insertada detrás de último párrafo de docstring.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="885"/>
-        <source>Blank line inserted after last paragraph of docstring.</source>
-        <translation>Linea en blanco insertada detrás de último párrafo de docstring.</translation>
+        <source>Leading quotes put on separate line.</source>
+        <translation>Comillas iniciales puestas en línea separada.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="888"/>
-        <source>Leading quotes put on separate line.</source>
-        <translation>Comillas iniciales puestas en línea separada.</translation>
+        <source>Trailing quotes put on separate line.</source>
+        <translation>Comillas finales puestas en línea separada.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="891"/>
-        <source>Trailing quotes put on separate line.</source>
-        <translation>Comillas finales puestas en línea separada.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="894"/>
         <source>Blank line before class docstring removed.</source>
         <translation>Línea en blanco antes de docstring de clase eliminada.</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="897"/>
+        <source>Blank line after class docstring removed.</source>
+        <translation>Línea en blanco detrás de docstring eliminada.</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="900"/>
-        <source>Blank line after class docstring removed.</source>
-        <translation>Línea en blanco detrás de docstring eliminada.</translation>
+        <source>Blank line after function/method docstring removed.</source>
+        <translation>Línea en blanco detrás de docstring de función/método eliminada.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="903"/>
-        <source>Blank line after function/method docstring removed.</source>
-        <translation>Línea en blanco detrás de docstring de función/método eliminada.</translation>
+        <source>Blank line after last paragraph removed.</source>
+        <translation>Linea en blanco detrás de último párrafo eliminada.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="906"/>
-        <source>Blank line after last paragraph removed.</source>
-        <translation>Linea en blanco detrás de último párrafo eliminada.</translation>
+        <source>Tab converted to 4 spaces.</source>
+        <translation>Tabulador convertido a 4 espacios.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="909"/>
-        <source>Tab converted to 4 spaces.</source>
-        <translation>Tabulador convertido a 4 espacios.</translation>
+        <source>Indentation adjusted to be a multiple of four.</source>
+        <translation>Indentación ajustada para ser un múltiplo de cuatro.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="912"/>
-        <source>Indentation adjusted to be a multiple of four.</source>
-        <translation>Indentación ajustada para ser un múltiplo de cuatro.</translation>
+        <source>Indentation of continuation line corrected.</source>
+        <translation>Indentación de línea de continuación corregida.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="915"/>
-        <source>Indentation of continuation line corrected.</source>
-        <translation>Indentación de línea de continuación corregida.</translation>
+        <source>Indentation of closing bracket corrected.</source>
+        <translation>Indentación de llave de cierre corregida.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="918"/>
-        <source>Indentation of closing bracket corrected.</source>
-        <translation>Indentación de llave de cierre corregida.</translation>
+        <source>Missing indentation of continuation line corrected.</source>
+        <translation>Indentación inexistente en línea de continuación corregida.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="921"/>
-        <source>Missing indentation of continuation line corrected.</source>
-        <translation>Indentación inexistente en línea de continuación corregida.</translation>
+        <source>Closing bracket aligned to opening bracket.</source>
+        <translation>Llave de cierre alineada a llave de apertura.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="924"/>
-        <source>Closing bracket aligned to opening bracket.</source>
-        <translation>Llave de cierre alineada a llave de apertura.</translation>
+        <source>Indentation level changed.</source>
+        <translation>Nivel de indentación corregida.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="927"/>
-        <source>Indentation level changed.</source>
-        <translation>Nivel de indentación corregida.</translation>
+        <source>Indentation level of hanging indentation changed.</source>
+        <translation>Nivel de indentación de indentación colgante corregida.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="930"/>
-        <source>Indentation level of hanging indentation changed.</source>
-        <translation>Nivel de indentación de indentación colgante corregida.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="933"/>
         <source>Visual indentation corrected.</source>
         <translation>Indentación visual corregida.</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="945"/>
+        <source>Extraneous whitespace removed.</source>
+        <translation>Eliminado espacio en blanco extraño.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="942"/>
+        <source>Missing whitespace added.</source>
+        <translation>Añadido espacio en blanco que faltaba.</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="948"/>
-        <source>Extraneous whitespace removed.</source>
-        <translation>Eliminado espacio en blanco extraño.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="945"/>
-        <source>Missing whitespace added.</source>
-        <translation>Añadido espacio en blanco que faltaba.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="951"/>
         <source>Whitespace around comment sign corrected.</source>
         <translation>Espacio en blanco alrededor de signo de comentario corregido.</translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="955"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="952"/>
         <source>%n blank line(s) inserted.</source>
         <translation>
             <numerusform>Insertada %n línea en blanco.</numerusform>
@@ -4216,7 +4196,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="958"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="955"/>
         <source>%n superfluous lines removed</source>
         <translation>
             <numerusform>Eliminada %n línea en blanco sobrante</numerusform>
@@ -4224,80 +4204,75 @@
         </translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="962"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="959"/>
         <source>Superfluous blank lines removed.</source>
         <translation>Eliminadas líneas en blanco sobrantes.</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="962"/>
+        <source>Superfluous blank lines after function decorator removed.</source>
+        <translation>Eliminadas líneas en blanco sobrantes después de decorador de función.</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="965"/>
-        <source>Superfluous blank lines after function decorator removed.</source>
-        <translation>Eliminadas líneas en blanco sobrantes después de decorador de función.</translation>
+        <source>Imports were put on separate lines.</source>
+        <translation>Imports estaban puestos en líneas separadas.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="968"/>
-        <source>Imports were put on separate lines.</source>
-        <translation>Imports estaban puestos en líneas separadas.</translation>
+        <source>Long lines have been shortened.</source>
+        <translation>Líneas largas se han acortado.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="971"/>
-        <source>Long lines have been shortened.</source>
-        <translation>Líneas largas se han acortado.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="974"/>
         <source>Redundant backslash in brackets removed.</source>
         <translation>Backslash redundante en llaves eliminado.</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="977"/>
+        <source>Compound statement corrected.</source>
+        <translation>Sentencia compuesta corregida.</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="980"/>
-        <source>Compound statement corrected.</source>
-        <translation>Sentencia compuesta corregida.</translation>
+        <source>Comparison to None/True/False corrected.</source>
+        <translation>Comparación a None/True/False corregida.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="983"/>
-        <source>Comparison to None/True/False corrected.</source>
-        <translation>Comparación a None/True/False corregida.</translation>
+        <source>&apos;{0}&apos; argument added.</source>
+        <translation>Añadido el argumento &apos;{0}&apos;.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="986"/>
-        <source>&apos;{0}&apos; argument added.</source>
-        <translation>Añadido el argumento &apos;{0}&apos;.</translation>
+        <source>&apos;{0}&apos; argument removed.</source>
+        <translation>Eliminado el argumento &apos;{0}&apos;.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="989"/>
-        <source>&apos;{0}&apos; argument removed.</source>
-        <translation>Eliminado el argumento &apos;{0}&apos;.</translation>
+        <source>Whitespace stripped from end of line.</source>
+        <translation>Espacio eliminado del final de la línea.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="992"/>
-        <source>Whitespace stripped from end of line.</source>
-        <translation>Espacio eliminado del final de la línea.</translation>
+        <source>newline added to end of file.</source>
+        <translation>Carácter de nueva línea añadido al final del archivo.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="995"/>
-        <source>newline added to end of file.</source>
-        <translation>Carácter de nueva línea añadido al final del archivo.</translation>
+        <source>Superfluous trailing blank lines removed from end of file.</source>
+        <translation>Eliminadas líneas en blanco sobrantes de final de archivo.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="998"/>
-        <source>Superfluous trailing blank lines removed from end of file.</source>
-        <translation>Eliminadas líneas en blanco sobrantes de final de archivo.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="1001"/>
         <source>&apos;&lt;&gt;&apos; replaced by &apos;!=&apos;.</source>
         <translation>&apos;&lt;&gt;&apos; reemplazado por &apos;!=&apos;.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="1005"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="1002"/>
         <source>Could not save the file! Skipping it. Reason: {0}</source>
         <translation>¡No se ha podido guardar el archivo! Va a ser omitido. Razón: {0}</translation>
     </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="1110"/>
-        <source> no message defined for code &apos;{0}&apos;</source>
-        <translation type="obsolete"> sin mensaje definido para el código &apos;{0}&apos;</translation>
-    </message>
 </context>
 <context>
     <name>CodeStyleStatisticsDialog</name>
@@ -4364,9 +4339,9 @@
     <message numerus="yes">
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py" line="73"/>
         <source>%n security issue(s) acknowledged</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation>
+            <numerusform>%n elemento de seguridad reconocido</numerusform>
+            <numerusform>%n elementos de seguridad reconocidos</numerusform>
         </translation>
     </message>
 </context>
@@ -4780,22 +4755,22 @@
 <context>
     <name>ComplexityChecker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="482"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="479"/>
         <source>&apos;{0}&apos; is too complex ({1})</source>
         <translation>&apos;{0}&apos; es demasiado complejo ({1})</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="484"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="481"/>
         <source>source code line is too complex ({0})</source>
         <translation>la línea de código fuente es demasiado compleja ({0})</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="483"/>
+        <source>overall source code line complexity is too high ({0})</source>
+        <translation>la complejidad global de línea de código fuente es demasiado elevada({0})</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="486"/>
-        <source>overall source code line complexity is too high ({0})</source>
-        <translation>la complejidad global de línea de código fuente es demasiado elevada({0})</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="489"/>
         <source>{0}: {1}</source>
         <translation>{0}: {1}</translation>
     </message>
@@ -5902,11 +5877,6 @@
         <translation>Protobuf</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationDialog.py" line="226"/>
-        <source>Python2</source>
-        <translation type="obsolete">Python2</translation>
-    </message>
-    <message>
         <location filename="../Preferences/ConfigurationDialog.py" line="138"/>
         <source>Conda</source>
         <translation>Conda</translation>
@@ -6566,12 +6536,12 @@
     <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>
+        <translation>&lt;p&gt;La generación de código para el lenguaje de proyecto &quot;{0}&quot; no está soportada.&lt;/p&gt;</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>
+        <translation>&lt;p&gt;No hay plantillas de archivo para proyectos del tipo  &quot;{0}&quot;.&lt;/p&gt;</translation>
     </message>
 </context>
 <context>
@@ -7814,54 +7784,49 @@
 <context>
     <name>DebuggerInterfacePython</name>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="459"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="460"/>
         <source>Start Debugger</source>
         <translation>Iniciar Depurador</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="459"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="460"/>
         <source>&lt;p&gt;The debugger backend could not be started.&lt;/p&gt;</source>
         <translation>&lt;p&gt;No ha sido posible lanzar el extremo del depurador.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1012"/>
-        <source>Parent Process</source>
-        <translation>Proceso Padre</translation>
-    </message>
-    <message>
         <location filename="../Debugger/DebuggerInterfacePython.py" line="1013"/>
-        <source>Child process</source>
-        <translation>Proceso hijo</translation>
+        <source>Parent Process</source>
+        <translation>Proceso Padre</translation>
     </message>
     <message>
         <location filename="../Debugger/DebuggerInterfacePython.py" line="1014"/>
+        <source>Child process</source>
+        <translation>Proceso hijo</translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1015"/>
         <source>Client forking</source>
         <translation>Fork del cliente</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1014"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1015"/>
         <source>Select the fork branch to follow.</source>
         <translation>Seleccionar la rama de fork para continuar.</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1060"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1061"/>
         <source>Debug Protocol Error</source>
         <translation>Error de Protocolo de Depuración</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1060"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1061"/>
         <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>&lt;p&gt;La respuesta recibida desde el backend del depurador no se ha podido descodificar. Por favor, informar de este problema junto con los datos recibidos a la dirección de email para bugs de eric.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Datos:&lt;br/&gt;{1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="374"/>
-        <source>&lt;p&gt;No suitable {0} environment configured.&lt;/p&gt;</source>
-        <translation type="obsolete">&lt;p&gt;No hay configurado un entorno {0} adecuado.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="354"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="355"/>
         <source>&lt;p&gt;No suitable Python3 environment configured.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
+        <translation>&lt;p&gt;No hay configurado un entorno de Python3 adecuado.&lt;/p&gt;</translation>
     </message>
 </context>
 <context>
@@ -8058,109 +8023,6 @@
     </message>
 </context>
 <context>
-    <name>DebuggerPython2Page</name>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="17"/>
-        <source>&lt;b&gt;Configure Python2 Debugger&lt;/b&gt;</source>
-        <translation type="obsolete">&lt;b&gt;Configurar el Depurador para Python2&lt;/b&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="37"/>
-        <source>Python2 Virtual Environment</source>
-        <translation type="obsolete">Entorno Virtual de Python2</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="43"/>
-        <source>Select the virtual environment to be used</source>
-        <translation type="obsolete">Seleccionar el entorno virtual a utilizar</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="50"/>
-        <source>Press to open the virtual environment manager dialog</source>
-        <translation type="obsolete">Pulsar para abrir el diálogo del gestor de entorno virtual</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="63"/>
-        <source>Debug Client Type</source>
-        <translation type="obsolete">Tipo de Cliente de Depuración</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="obsolete">Introducir la ruta del Cliente de Depuración a utilizar. Dejar en blanco para usar el cliente por defecto.</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="82"/>
-        <source>Select the standard debug client</source>
-        <translation type="obsolete">Seleccionar el cliente de depuracion estándar</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="85"/>
-        <source>Standard</source>
-        <translation type="obsolete">Estándar</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="92"/>
-        <source>Select the custom selected debug client</source>
-        <translation type="obsolete">Seleccionar el cliente de depuración personalizado</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="95"/>
-        <source>Custom</source>
-        <translation type="obsolete">Personalizado</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="105"/>
-        <source>Source association</source>
-        <translation type="obsolete">Asociación de fuentes</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="obsolete">Por favor, configure las extensiones de archivo asociadas en la página de &apos;Python&apos;.</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="143"/>
-        <source>Press to update the display of the source associations</source>
-        <translation type="obsolete">Pulsar para actualizar la visualización de las asociaciones de fuentes</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="146"/>
-        <source>Refresh</source>
-        <translation type="obsolete">Actualizar</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="obsolete">Seleccionar para redirigir stdin, stdout y stderr del programa en depuración hacia la IDE eric6</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.ui" line="174"/>
-        <source>Redirect stdin/stdout/stderr</source>
-        <translation type="obsolete">Redirigir 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="obsolete">Seleccionar para no establecer la codificación del cliente de depuración</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="obsolete">No establecer la codificación del cliente de depuración</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="obsolete">Pulse para seleccionar el Cliente de Depuración utilizando un diálogo de selección de archivos</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/DebuggerPython2Page.py" line="46"/>
-        <source>Python Files (*.py *.py2)</source>
-        <translation type="obsolete">Archivos Python (*.py *.py2)</translation>
-    </message>
-</context>
-<context>
     <name>DebuggerPython3Page</name>
     <message>
         <location filename="../Preferences/ConfigurationPages/DebuggerPython3Page.ui" line="17"/>
@@ -8465,57 +8327,57 @@
         <translation>Alt+N</translation>
     </message>
     <message>
-        <location filename="../UI/DiffDialog.py" line="221"/>
+        <location filename="../UI/DiffDialog.py" line="215"/>
         <source>Compare</source>
         <translation>Comparar</translation>
     </message>
     <message>
-        <location filename="../UI/DiffDialog.py" line="223"/>
+        <location filename="../UI/DiffDialog.py" line="217"/>
         <source>Press to perform the comparison of the two files</source>
         <translation>Pulse para realizar la comparación de los dos archivos</translation>
     </message>
     <message>
-        <location filename="../UI/DiffDialog.py" line="225"/>
+        <location filename="../UI/DiffDialog.py" line="219"/>
         <source>Save</source>
         <translation>Guardar</translation>
     </message>
     <message>
-        <location filename="../UI/DiffDialog.py" line="227"/>
+        <location filename="../UI/DiffDialog.py" line="221"/>
         <source>Save the output to a patch file</source>
         <translation>Guardar la salida a un fichero de parche</translation>
     </message>
     <message>
-        <location filename="../UI/DiffDialog.py" line="321"/>
+        <location filename="../UI/DiffDialog.py" line="315"/>
         <source>Save Diff</source>
         <translation>Guardar Diff</translation>
     </message>
     <message>
-        <location filename="../UI/DiffDialog.py" line="285"/>
+        <location filename="../UI/DiffDialog.py" line="279"/>
         <source>Patch Files (*.diff)</source>
         <translation>Archivos de Parche (*.diff)</translation>
     </message>
     <message>
-        <location filename="../UI/DiffDialog.py" line="360"/>
+        <location filename="../UI/DiffDialog.py" line="354"/>
         <source>Compare Files</source>
         <translation>Comparar Archivos</translation>
     </message>
     <message>
-        <location filename="../UI/DiffDialog.py" line="443"/>
+        <location filename="../UI/DiffDialog.py" line="437"/>
         <source>There is no difference.</source>
         <translation>No hay ninguna diferencia.</translation>
     </message>
     <message>
-        <location filename="../UI/DiffDialog.py" line="321"/>
+        <location filename="../UI/DiffDialog.py" line="315"/>
         <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>&lt;p&gt;El archivo de parche &lt;b&gt;{0}&lt;/b&gt; no puede ser guardado.&lt;br /&gt;Causa: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/DiffDialog.py" line="360"/>
+        <location filename="../UI/DiffDialog.py" line="354"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo &lt;b&gt;{0}&lt;/b&gt; no se ha podido leer.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/DiffDialog.py" line="302"/>
+        <location filename="../UI/DiffDialog.py" line="296"/>
         <source>&lt;p&gt;The patch file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo de parche &lt;b&gt;{0}&lt;/b&gt; ya existe. ¿Desea sobreescribirlo?&lt;/p&gt;</translation>
     </message>
@@ -8593,206 +8455,201 @@
     </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>docstring contiene carácter unicode no rodeado de u&quot;&quot;&quot;</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="311"/>
         <source>one-liner docstring on multiple lines</source>
         <translation>docstring de una línea en múltiples líneas</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="313"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="310"/>
         <source>docstring has wrong indentation</source>
         <translation>docstring tiene indentación errónea</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="362"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="359"/>
         <source>docstring summary does not end with a period</source>
         <translation>docstring de resumen no termina en punto</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="319"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="316"/>
         <source>docstring summary is not in imperative mood (Does instead of Do)</source>
         <translation>docstring de resumen no expresado en forma imperativa (Hace en lugar de Hacer)</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>docstring de resumen parece una firma de función/método</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="323"/>
-        <source>docstring summary looks like a function&apos;s/method&apos;s signature</source>
-        <translation>docstring de resumen parece una firma de función/método</translation>
+        <source>docstring does not mention the return value type</source>
+        <translation>docstring no menciona el tipo de valor de retorno</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="326"/>
-        <source>docstring does not mention the return value type</source>
-        <translation>docstring no menciona el tipo de valor de retorno</translation>
+        <source>function/method docstring is separated by a blank line</source>
+        <translation>docstring de función/método separado por línea en blanco</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="329"/>
-        <source>function/method docstring is separated by a blank line</source>
-        <translation>docstring de función/método separado por línea en blanco</translation>
+        <source>class docstring is not preceded by a blank line</source>
+        <translation>docstring de clase no precedido de línea en blanco</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="332"/>
-        <source>class docstring is not preceded by a blank line</source>
-        <translation>docstring de clase no precedido de línea en blanco</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="335"/>
         <source>class docstring is not followed by a blank line</source>
         <translation>docstring de clase no seguido de línea en blanco</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="393"/>
         <source>docstring summary is not followed by a blank line</source>
         <translation>docstring de resumen no seguido de línea en blanco</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="341"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="338"/>
         <source>last paragraph of docstring is not followed by a blank line</source>
         <translation>último párrafo de docstring no seguido de línea en blanco</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="346"/>
+        <source>private function/method is missing a docstring</source>
+        <translation>función/método privado al que le falta docstring</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="349"/>
-        <source>private function/method is missing a docstring</source>
-        <translation>función/método privado al que le falta docstring</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="352"/>
         <source>private class is missing a docstring</source>
         <translation>clase privada a la que falta un docstring</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="353"/>
+        <source>leading quotes of docstring not on separate line</source>
+        <translation>comillas iniciales de docstring no están en línea separada</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="356"/>
-        <source>leading quotes of docstring not on separate line</source>
-        <translation>comillas iniciales de docstring no están en línea separada</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="359"/>
         <source>trailing quotes of docstring not on separate line</source>
         <translation>comillas finales de docstring no están en línea separada</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="366"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="363"/>
         <source>docstring does not contain a @return line but function/method returns something</source>
         <translation>docstring no contiene una línea @return pero la función/método retorna algo</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="370"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="367"/>
         <source>docstring contains a @return line but function/method doesn&apos;t return anything</source>
         <translation>docstring contiene una línea @return pero la función/método no retorna nada</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="371"/>
+        <source>docstring does not contain enough @param/@keyparam lines</source>
+        <translation>docstring no contiene suficientes líneas @param/@keyparam</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="374"/>
-        <source>docstring does not contain enough @param/@keyparam lines</source>
-        <translation>docstring no contiene suficientes líneas @param/@keyparam</translation>
+        <source>docstring contains too many @param/@keyparam lines</source>
+        <translation>docstring contiene demasiadas líneas @param/@keyparam</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="377"/>
-        <source>docstring contains too many @param/@keyparam lines</source>
-        <translation>docstring contiene demasiadas líneas @param/@keyparam</translation>
+        <source>keyword only arguments must be documented with @keyparam lines</source>
+        <translation>los argumentos de solo palabra clave deben estar documentados con líneas @keyparam</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="380"/>
-        <source>keyword only arguments must be documented with @keyparam lines</source>
-        <translation>los argumentos de solo palabra clave deben estar documentados con líneas @keyparam</translation>
+        <source>order of @param/@keyparam lines does not match the function/method signature</source>
+        <translation>orden de líneas @param/@keyparam no coincide con la firma de la función/método</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>orden de líneas @param/@keyparam no coincide con la firma de la función/método</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="386"/>
         <source>class docstring is preceded by a blank line</source>
         <translation>docstring de clase precedida de línea en blanco</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="388"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="385"/>
         <source>class docstring is followed by a blank line</source>
         <translation>docstring de clase seguida de línea en blanco</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="387"/>
+        <source>function/method docstring is preceded by a blank line</source>
+        <translation>docstring de función/método precedido de línea en blanco</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="390"/>
-        <source>function/method docstring is preceded by a blank line</source>
-        <translation>docstring de función/método precedido de línea en blanco</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="393"/>
         <source>function/method docstring is followed by a blank line</source>
         <translation>docstring de función/método seguido de línea en blanco</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>último párrafo de docstring seguido de línea en blanco</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>último párrafo de docstring seguido de línea en blanco</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>docstring no contiene una línea @exception pero la función/método lanza una excepción</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="406"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="403"/>
         <source>docstring contains a @exception line but function/method doesn&apos;t raise an exception</source>
         <translation>docstring contiene una línea @exception pero la función/método no lanza una excepción</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="429"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="426"/>
         <source>{0}: {1}</source>
         <translation>{0}: {1}</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="315"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="312"/>
         <source>docstring does not contain a summary</source>
         <translation>docstring no contiene un resumen</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="364"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="361"/>
         <source>docstring summary does not start with &apos;{0}&apos;</source>
         <translation>docstring de resumen no empieza con &apos;{0}&apos;</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>la excepción &apos;{0}&apos; no está documentada en una docstring</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="410"/>
-        <source>raised exception &apos;{0}&apos; is not documented in docstring</source>
-        <translation>la excepción &apos;{0}&apos; no está documentada en una docstring</translation>
+        <source>documented exception &apos;{0}&apos; is not raised</source>
+        <translation>la excepción documentada &apos;{0}&apos; no se utiliza</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="413"/>
-        <source>documented exception &apos;{0}&apos; is not raised</source>
-        <translation>la excepción documentada &apos;{0}&apos; no se utiliza</translation>
+        <source>docstring does not contain a @signal line but class defines signals</source>
+        <translation>docstring no contiene una línea @signal pero la clase define signals</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="416"/>
-        <source>docstring does not contain a @signal line but class defines signals</source>
-        <translation>docstring no contiene una línea @signal pero la clase define signals</translation>
+        <source>docstring contains a @signal line but class doesn&apos;t define signals</source>
+        <translation>docstring contiene una línea @signal pero la clase no define signals</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="419"/>
-        <source>docstring contains a @signal line but class doesn&apos;t define signals</source>
-        <translation>docstring contiene una línea @signal pero la clase no define signals</translation>
+        <source>defined signal &apos;{0}&apos; is not documented in docstring</source>
+        <translation>la signal definida &apos;{0}&apos; no está documentada en una docstring</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>la signal definida &apos;{0}&apos; no está documentada en una docstring</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="425"/>
         <source>documented signal &apos;{0}&apos; is not defined</source>
         <translation>la signal documentada &apos;{0}&apos; no está definida</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="354"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="351"/>
         <source>class docstring is still a default string</source>
         <translation>docstring de clase es todavía una cadena por defecto</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="347"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="344"/>
         <source>function docstring is still a default string</source>
         <translation>docstring de función es todavía una cadena por defecto</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="345"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="342"/>
         <source>module docstring is still a default string</source>
         <translation>docstring de módulo es todavía una cadena por defecto</translation>
     </message>
@@ -26072,27 +25929,27 @@
 <context>
     <name>Globals</name>
     <message>
-        <location filename="../Globals/__init__.py" line="445"/>
+        <location filename="../Globals/__init__.py" line="448"/>
         <source>{0:4.2f} Bytes</source>
         <translation>{0:4.2f} Bytes</translation>
     </message>
     <message>
-        <location filename="../Globals/__init__.py" line="449"/>
+        <location filename="../Globals/__init__.py" line="452"/>
         <source>{0:4.2f} KiB</source>
         <translation>{0:4.2f} KiB</translation>
     </message>
     <message>
-        <location filename="../Globals/__init__.py" line="453"/>
+        <location filename="../Globals/__init__.py" line="456"/>
         <source>{0:4.2f} MiB</source>
         <translation>{0:4.2f} MiB</translation>
     </message>
     <message>
-        <location filename="../Globals/__init__.py" line="457"/>
+        <location filename="../Globals/__init__.py" line="460"/>
         <source>{0:4.2f} GiB</source>
         <translation>{0:4.2f} GiB</translation>
     </message>
     <message>
-        <location filename="../Globals/__init__.py" line="461"/>
+        <location filename="../Globals/__init__.py" line="464"/>
         <source>{0:4.2f} TiB</source>
         <translation>{0:4.2f} TiB</translation>
     </message>
@@ -26488,51 +26345,6 @@
         <translation>&lt;b&gt;Configurar la documentación de ayuda&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="142"/>
-        <source>Qt4 Documentation</source>
-        <translation type="obsolete">Documentación de Qt4</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="157"/>
-        <source>Enter the Qt4 documentation directory</source>
-        <translation type="obsolete">Introduzca el directorio con la documentación de 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 type="obsolete">&lt;b&gt;Nota&lt;/b&gt;: Dejar en blanco para utilizar la variable de entorno QT4DOCDIR, si ha sido establecida.</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="212"/>
-        <source>PyQt4 Documentation</source>
-        <translation type="obsolete">Documentación de PyQt4</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="227"/>
-        <source>Enter the PyQt4 documentation directory</source>
-        <translation type="obsolete">Introduzca el directorio con la documentación de 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 type="obsolete">&lt;b&gt;Nota&lt;/b&gt;: Dejar en blanco para utilizar la variable de entorno PYQT4DOCDIR, si ha sido establecida.</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="282"/>
-        <source>PySide Documentation</source>
-        <translation type="obsolete">Documentación de PySide</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="297"/>
-        <source>Enter the PySide documentation directory</source>
-        <translation type="obsolete">Introduzca el directorio con la documentación de 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 type="obsolete">&lt;b&gt;Nota&lt;/b&gt;: Dejar en blanco para utilizar la variable de entorno PYSIDEDOCDIR, si ha sido establecida.</translation>
-    </message>
-    <message>
         <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.py" line="47"/>
         <source>HTML Files (*.html *.htm);;All Files (*)</source>
         <translation>Archivos HTML (*.html *.htm);;Todos los Archivos (*)</translation>
@@ -26544,21 +26356,6 @@
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="72"/>
-        <source>Python 2 Documentation</source>
-        <translation type="obsolete">Documentación de Python 2</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="87"/>
-        <source>Enter the Python 2 documentation directory</source>
-        <translation type="obsolete">Introduzca el directorio con la documentación de 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 type="obsolete">&lt;b&gt;Nota&lt;/b&gt;: Dejar en blanco para utilizar la variable de entorno PYTHON2DOCDIR, si ha sido establecida.</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/HelpDocumentationPage.ui" line="72"/>
         <source>Python 3 Documentation</source>
         <translation>Documentación de Python 3</translation>
     </message>
@@ -38081,22 +37878,22 @@
         <translation>Diagrama de Imports: {0}</translation>
     </message>
     <message>
-        <location filename="../Graphics/ImportsDiagramBuilder.py" line="95"/>
+        <location filename="../Graphics/ImportsDiagramBuilder.py" line="93"/>
         <source>Parsing modules...</source>
         <translation>Analizando módulos...</translation>
     </message>
     <message>
-        <location filename="../Graphics/ImportsDiagramBuilder.py" line="129"/>
+        <location filename="../Graphics/ImportsDiagramBuilder.py" line="127"/>
         <source>The directory &lt;b&gt;&apos;{0}&apos;&lt;/b&gt; is not a Python package.</source>
         <translation>El directorio &lt;b&gt;&apos;{0}&apos;&lt;/b&gt; no es un paquete Python.</translation>
     </message>
     <message>
-        <location filename="../Graphics/ImportsDiagramBuilder.py" line="95"/>
+        <location filename="../Graphics/ImportsDiagramBuilder.py" line="93"/>
         <source>%v/%m Modules</source>
         <translation>%v/%m Módulos</translation>
     </message>
     <message>
-        <location filename="../Graphics/ImportsDiagramBuilder.py" line="98"/>
+        <location filename="../Graphics/ImportsDiagramBuilder.py" line="96"/>
         <source>Imports Diagramm</source>
         <translation>Diagrama de Imports</translation>
     </message>
@@ -42494,16 +42291,6 @@
         <translation>Pygments</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="387"/>
-        <source>Python Files (*.py *.py2 *.py3)</source>
-        <translation>Archivos Python (*.py *.py2 *.py3)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="390"/>
-        <source>Python GUI Files (*.pyw *.pyw2 *.pyw3)</source>
-        <translation>Archivos de GUI Python (*.pyw *.pyw2 *.pyw3)</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="560"/>
         <source>Python3 Files (*.py)</source>
         <translation>Archivos Python (*.py3)</translation>
@@ -42514,21 +42301,6 @@
         <translation>Archivos de GUI Python3 (*.pyw)</translation>
     </message>
     <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="563"/>
-        <source>Python2 Files (*.py2)</source>
-        <translation type="obsolete">Archivos Python2 (*.py2)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="569"/>
-        <source>Python2 GUI Files (*.pyw2)</source>
-        <translation type="obsolete">Archivos de GUI Python2 (*.pyw2)</translation>
-    </message>
-    <message>
-        <location filename="../QScintilla/Lexers/__init__.py" line="137"/>
-        <source>Python2</source>
-        <translation type="obsolete">Python2</translation>
-    </message>
-    <message>
         <location filename="../QScintilla/Lexers/__init__.py" line="137"/>
         <source>Python3</source>
         <translation>Python3</translation>
@@ -42648,6 +42420,16 @@
         <source>MicroPython</source>
         <translation>MicroPython</translation>
     </message>
+    <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="387"/>
+        <source>Python Files (*.py *.py3)</source>
+        <translation>Archivos Python (*.py *.py3)</translation>
+    </message>
+    <message>
+        <location filename="../QScintilla/Lexers/__init__.py" line="390"/>
+        <source>Python GUI Files (*.pyw *.pyw3)</source>
+        <translation>Archivos de GUI Python (*.pyw *.pyw3)</translation>
+    </message>
 </context>
 <context>
     <name>LfConvertDataDialog</name>
@@ -45375,469 +45157,469 @@
 <context>
     <name>MiscellaneousChecker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="495"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="492"/>
         <source>coding magic comment not found</source>
         <translation>comentario mágico de codificación no encontrado</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="495"/>
+        <source>unknown encoding ({0}) found in coding magic comment</source>
+        <translation>codificación desconocida ({0}) encontrada en comentario mágico de codificación</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="498"/>
-        <source>unknown encoding ({0}) found in coding magic comment</source>
-        <translation>codificación desconocida ({0}) encontrada en comentario mágico de codificación</translation>
+        <source>copyright notice not present</source>
+        <translation>nota de copyright no presente</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="501"/>
-        <source>copyright notice not present</source>
-        <translation>nota de copyright no presente</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="504"/>
         <source>copyright notice contains invalid author</source>
         <translation>la nota de copyright contiene un autor no válido</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="702"/>
+        <source>found {0} formatter</source>
+        <translation>encontrado formateador {0}</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="705"/>
-        <source>found {0} formatter</source>
-        <translation>encontrado formateador {0}</translation>
+        <source>format string does contain unindexed parameters</source>
+        <translation>cadena de formato que contiene parámetros sin indexar</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="708"/>
-        <source>format string does contain unindexed parameters</source>
-        <translation>cadena de formato que contiene parámetros sin indexar</translation>
+        <source>docstring does contain unindexed parameters</source>
+        <translation>docstring cque contiene parámetros sin indexar</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="711"/>
-        <source>docstring does contain unindexed parameters</source>
-        <translation>docstring cque contiene parámetros sin indexar</translation>
+        <source>other string does contain unindexed parameters</source>
+        <translation>otra cadena contiene parámetros sin indexar</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="714"/>
-        <source>other string does contain unindexed parameters</source>
-        <translation>otra cadena contiene parámetros sin indexar</translation>
+        <source>format call uses too large index ({0})</source>
+        <translation>llamada de formato usa un índice demasiado largo ({0})</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="717"/>
-        <source>format call uses too large index ({0})</source>
-        <translation>llamada de formato usa un índice demasiado largo ({0})</translation>
+        <source>format call uses missing keyword ({0})</source>
+        <translation>llamada de formato usa una palabra clave desaparecida ({0})</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="720"/>
-        <source>format call uses missing keyword ({0})</source>
-        <translation>llamada de formato usa una palabra clave desaparecida ({0})</translation>
+        <source>format call uses keyword arguments but no named entries</source>
+        <translation>llamada de formato usa argumentos de palabra clave pero sin entradas con nombre</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="723"/>
-        <source>format call uses keyword arguments but no named entries</source>
-        <translation>llamada de formato usa argumentos de palabra clave pero sin entradas con nombre</translation>
+        <source>format call uses variable arguments but no numbered entries</source>
+        <translation>llamada de formato usa argumentos de variable pero sin entradas numeradas</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="726"/>
-        <source>format call uses variable arguments but no numbered entries</source>
-        <translation>llamada de formato usa argumentos de variable pero sin entradas numeradas</translation>
+        <source>format call uses implicit and explicit indexes together</source>
+        <translation>llamada de formato usa juntos índices implícitos y explícitos</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="729"/>
-        <source>format call uses implicit and explicit indexes together</source>
-        <translation>llamada de formato usa juntos índices implícitos y explícitos</translation>
+        <source>format call provides unused index ({0})</source>
+        <translation>llamada de formato proporciona índice que no se usa ({0})</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="732"/>
-        <source>format call provides unused index ({0})</source>
-        <translation>llamada de formato proporciona índice que no se usa ({0})</translation>
+        <source>format call provides unused keyword ({0})</source>
+        <translation>llamada de formato proporciona palabra clave que no se usa ({0})</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="751"/>
+        <source>expected these __future__ imports: {0}; but only got: {1}</source>
+        <translation>se esperaban estos __future__ imports: {0} pero solamente hay: {1}</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="754"/>
+        <source>expected these __future__ imports: {0}; but got none</source>
+        <translation>se esperaban estos __future__ imports: {0}; but no hay ninguno</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="761"/>
+        <source>print statement found</source>
+        <translation>encontrada sentencia print</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="764"/>
+        <source>one element tuple found</source>
+        <translation>tupla de un elemento encontrada</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="800"/>
+        <source>{0}: {1}</source>
+        <translation>{0}: {1}</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="504"/>
+        <source>&quot;{0}&quot; is a Python builtin and is being shadowed; consider renaming the variable</source>
+        <translation>&quot;{0}&quot; es una variable nativa de Python a la que se está ocultando; considere renombrar la variable</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="508"/>
+        <source>&quot;{0}&quot; is used as an argument and thus shadows a Python builtin; consider renaming the argument</source>
+        <translation>&quot;{0}&quot; se está usando como un argumento pero oculta un argumento nativo de Python; considere renombrar el argumento</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="512"/>
+        <source>unnecessary generator - rewrite as a list comprehension</source>
+        <translation>generador innecesario - reescribir como lista de comprehensión</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="515"/>
+        <source>unnecessary generator - rewrite as a set comprehension</source>
+        <translation>generador innecesario - reescribir como conjunto de comprehensión</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="518"/>
+        <source>unnecessary generator - rewrite as a dict comprehension</source>
+        <translation>generador innecesario - reescribir como diccionario de comprehensión</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="521"/>
+        <source>unnecessary list comprehension - rewrite as a set comprehension</source>
+        <translation>lista de comprehensión innecesaria - reescribir como conjunto de comprehensión</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="524"/>
+        <source>unnecessary list comprehension - rewrite as a dict comprehension</source>
+        <translation>lista de comprehensión innecesaria - reescribir como diccionario de comprehensión</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="530"/>
+        <source>unnecessary list comprehension - &quot;{0}&quot; can take a generator</source>
+        <translation>lista de comprehensión innecesaria - &quot;{0}&quot; puede aceptar un generador</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="770"/>
+        <source>mutable default argument of type {0}</source>
+        <translation>argumento por defecto mutable de tipo {0}</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="555"/>
+        <source>sort keys - &apos;{0}&apos; should be before &apos;{1}&apos;</source>
+        <translation>ordenar claves - &apos;{0}&apos; debeía ser antes de &apos;{1}&apos;</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="738"/>
+        <source>logging statement uses &apos;%&apos;</source>
+        <translation>la sentencia de log usa &apos;%&apos;</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="744"/>
+        <source>logging statement uses f-string</source>
+        <translation>la sentencia de log usa f-string</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="747"/>
+        <source>logging statement uses &apos;warn&apos; instead of &apos;warning&apos;</source>
+        <translation>la sentencia de log usa &apos;warn&apos; en lugar de &apos;warning&apos;</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="735"/>
-        <source>format call provides unused keyword ({0})</source>
-        <translation>llamada de formato proporciona palabra clave que no se usa ({0})</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="754"/>
-        <source>expected these __future__ imports: {0}; but only got: {1}</source>
-        <translation>se esperaban estos __future__ imports: {0} pero solamente hay: {1}</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="757"/>
-        <source>expected these __future__ imports: {0}; but got none</source>
-        <translation>se esperaban estos __future__ imports: {0}; but no hay ninguno</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="764"/>
-        <source>print statement found</source>
-        <translation>encontrada sentencia print</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="767"/>
-        <source>one element tuple found</source>
-        <translation>tupla de un elemento encontrada</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="803"/>
-        <source>{0}: {1}</source>
-        <translation>{0}: {1}</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>&quot;{0}&quot; es una variable nativa de Python a la que se está ocultando; considere renombrar la variable</translation>
-    </message>
-    <message>
-        <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>&quot;{0}&quot; se está usando como un argumento pero oculta un argumento nativo de Python; considere renombrar el argumento</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="515"/>
-        <source>unnecessary generator - rewrite as a list comprehension</source>
-        <translation>generador innecesario - reescribir como lista de comprehensión</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="518"/>
-        <source>unnecessary generator - rewrite as a set comprehension</source>
-        <translation>generador innecesario - reescribir como conjunto de comprehensión</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="521"/>
-        <source>unnecessary generator - rewrite as a dict comprehension</source>
-        <translation>generador innecesario - reescribir como diccionario de comprehensión</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="524"/>
-        <source>unnecessary list comprehension - rewrite as a set comprehension</source>
-        <translation>lista de comprehensión innecesaria - reescribir como conjunto de comprehensión</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="527"/>
-        <source>unnecessary list comprehension - rewrite as a dict comprehension</source>
-        <translation>lista de comprehensión innecesaria - reescribir como diccionario de comprehensión</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="533"/>
-        <source>unnecessary list comprehension - &quot;{0}&quot; can take a generator</source>
-        <translation>lista de comprehensión innecesaria - &quot;{0}&quot; puede aceptar un generador</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="773"/>
-        <source>mutable default argument of type {0}</source>
-        <translation>argumento por defecto mutable de tipo {0}</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="558"/>
-        <source>sort keys - &apos;{0}&apos; should be before &apos;{1}&apos;</source>
-        <translation>ordenar claves - &apos;{0}&apos; debeía ser antes de &apos;{1}&apos;</translation>
+        <source>logging statement uses string.format()</source>
+        <translation>la sentencia de log usa string.format()</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="741"/>
-        <source>logging statement uses &apos;%&apos;</source>
-        <translation>la sentencia de log usa &apos;%&apos;</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="747"/>
-        <source>logging statement uses f-string</source>
-        <translation>la sentencia de log usa f-string</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>la sentencia de log usa &apos;warn&apos; en lugar de &apos;warning&apos;</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="738"/>
-        <source>logging statement uses string.format()</source>
-        <translation>la sentencia de log usa string.format()</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="744"/>
         <source>logging statement uses &apos;+&apos;</source>
         <translation>la sentencia de log usa &apos;+&apos;</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="760"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="757"/>
         <source>gettext import with alias _ found: {0}</source>
         <translation>encontrado gettext import con alias _ : {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="651"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="648"/>
         <source>Python does not support the unary prefix increment</source>
         <translation>Python no soporta el prefijo unario de incremento</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>&apos;sys.maxint&apos; no está definido en Python 3 - usar &apos;sys.maxsize&apos;</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>&apos;sys.maxint&apos; no está definido en Python 3 - usar &apos;sys.maxsize&apos;</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>&apos;BaseException.message&apos; está marcada como deprecada en Python 2.6 y se ha eliminado en Python 3 - usar &apos;str(e)&apos;</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="667"/>
+        <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>asignaciones a &apos;os.environ&apos; no limpian el entorno - usar &apos;os.environ.clear()&apos;</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>Python 3 no incluye métodos &apos;.iter*&apos; en diccionarios</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>Python 3 no incluye métodos &apos;.iter*&apos; en diccionarios</translation>
+        <source>Python 3 does not include &apos;.view*&apos; methods on dictionaries</source>
+        <translation>Python 3 no incluye métodos &apos;.view*&apos; en diccionarios</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>Python 3 no incluye métodos &apos;.view*&apos; en diccionarios</translation>
+        <source>&apos;.next()&apos; does not exist in Python 3</source>
+        <translation>&apos;.next()&apos; no existe en Python 3</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="697"/>
-        <source>&apos;.next()&apos; does not exist in Python 3</source>
-        <translation>&apos;.next()&apos; no existe en Python 3</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>&apos;__metaclass__&apos; no hace nada en Python 3 - usar &apos;class MyClass(BaseClass, metaclass=...)&apos;</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="773"/>
+        <source>mutable default argument of function call &apos;{0}&apos;</source>
+        <translation>argumento por defecto mutable de llamada a función {0}</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="651"/>
+        <source>using .strip() with multi-character strings is misleading</source>
+        <translation>usar .strip() cpm cadenas multicarácter es engañoso</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>usar &apos;hasattr(x, &quot;__call__&quot;)&apos; para probar si &apos;x&apos; is invocable no es fiable</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>
+        <translation>variable de control de bucle {0} no usada dentro del cuerpo del bucle - iniciar nombre con guión bajo</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="776"/>
-        <source>mutable default argument of function call &apos;{0}&apos;</source>
-        <translation>argumento por defecto mutable de llamada a función {0}</translation>
+        <source>None should not be added at any return if function has no return value except None</source>
+        <translation>None no se debería añadir a ningún return si la función no tiene valor de retorno excepto None</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>un valor explícito se debería añadir a cada return si la función tiene un valor de retorno excepto None</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>un return explícito se debería añadir al final de cada función si tiene un valor de retorno excepto None</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>
+        <translation>no se debería añadir un valor a una variable si se va a usar como valor de retorno solamente</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="654"/>
-        <source>using .strip() with multi-character strings is misleading</source>
-        <translation>usar .strip() cpm cadenas multicarácter es engañoso</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>usar &apos;hasattr(x, &quot;__call__&quot;)&apos; para probar si &apos;x&apos; is invocable no es fiable</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>variable de control de bucle {0} no usada dentro del cuerpo del bucle - iniciar nombre con guión bajo</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>None no se debería añadir a ningún return si la función no tiene valor de retorno excepto None</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>un valor explícito se debería añadir a cada return si la función tiene un valor de retorno excepto None</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>un return explícito se debería añadir al final de cada función si tiene un valor de retorno excepto None</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>no se debería añadir un valor a una variable si se va a usar como valor de retorno solamente</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>no llamar assert False dado que python -O elimina dichas llamadas</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="672"/>
+        <source>unncessary f-string</source>
+        <translation>f-string innecesaria</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="675"/>
-        <source>unncessary f-string</source>
-        <translation>f-string innecesaria</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>no se puede usar &apos;self.__class__&apos; como primer argumento de la llamada &apos;super()&apos;</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="682"/>
+        <source>do not call getattr with a constant attribute value</source>
+        <translation>no invocar getattr con un valor de atributo constante</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="685"/>
-        <source>do not call getattr with a constant attribute value</source>
-        <translation>no invocar getattr con un valor de atributo constante</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="688"/>
         <source>do not call setattr with a constant attribute value</source>
         <translation>no invocar setattr con un valor de atributo constante</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="799"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="796"/>
         <source>commented code lines should be removed</source>
         <translation>las líneas de código comentadas se deberían eliminar</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="795"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="792"/>
         <source>prefer implied line continuation inside parentheses, brackets and braces as opposed to a backslash</source>
         <translation>es preferible la continuación implícita de la línea entre paréntesis, corchetes y llaves al uso de la barra invertida</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="562"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="559"/>
         <source>use of &apos;datetime.datetime()&apos; without &apos;tzinfo&apos; argument should be avoided</source>
         <translation>debe evitarse el uso de &apos;datetime.datetime()&apos; sin argumento &apos;tzinfo&apos;</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="566"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="563"/>
         <source>use of &apos;datetime.datetime.today()&apos; should be avoided.
 Use &apos;datetime.datetime.now(tz=)&apos; instead.</source>
         <translation>debe evitarse el uso de &apos;datetime.datetime.today()&apos;.
 Usar &apos;datetime.datetime.now(tz=)&apos; en su lugar.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="570"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="567"/>
         <source>use of &apos;datetime.datetime.utcnow()&apos; should be avoided.
 Use &apos;datetime.datetime.now(tz=)&apos; instead.</source>
         <translation>debe evitarse el uso de  &apos;datetime.datetime.utcnow()&apos;.
 Usar &apos;datetime.datetime.now(tz=)&apos; en su lugar.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="574"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="571"/>
         <source>use of &apos;datetime.datetime.utcfromtimestamp()&apos; should be avoided.
 Use &apos;datetime.datetime.fromtimestamp(, tz=)&apos; instead.</source>
         <translation>debe evitarse el uso de &apos;datetime.datetime.utcfromtimestamp()&apos;.
 Usar &apos;datetime.datetime.fromtimestamp(, tz=)&apos; en su lugar.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="578"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="575"/>
         <source>use of &apos;datetime.datetime.now()&apos; without &apos;tz&apos; argument should be avoided</source>
         <translation>debe evitarse el uso de &apos;datetime.datetime.now()&apos; sin argumento &apos;tz&apos;</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="582"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="579"/>
         <source>use of &apos;datetime.datetime.fromtimestamp()&apos; without &apos;tz&apos; argument should be avoided</source>
         <translation>debe evitarse el uso de &apos;datetime.datetime.fromtimestamp()&apos; sin argumento &apos;tz&apos;</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="586"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="583"/>
         <source>use of &apos;datetime.datetime.strptime()&apos; should be followed by &apos;.replace(tzinfo=)&apos;</source>
         <translation>el uso de &apos;datetime.datetime.strptime()&apos; debe ser continuado con &apos;.replace(tzinfo=)&apos;</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="593"/>
+        <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>debe evitarse el uso de &apos;datetime.date()&apos;.
 Usar &apos;datetime.datetime(, tzinfo=).date()&apos; en su lugar.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
+        <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>debe evitarse el uso de &apos;datetime.date.today()&apos;.
 Usar &apos;datetime.datetime.now(tz=).date()&apos; en su lugar.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="601"/>
+        <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>
         <translation>debe evitarse el uso de &apos;datetime.date.fromtimestamp()&apos;.
 Usar &apos;datetime.datetime.fromtimestamp(tz=).date()&apos; en su lugar.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="611"/>
+        <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>debe evitarse el uso de &apos;datetime.time()&apos; sin argumento &apos;tzinfo&apos;</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="590"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="587"/>
         <source>use of &apos;datetime.datetime.fromordinal()&apos; should be avoided</source>
         <translation>debe evitarse el uso de &apos;datetime.datetime.fromordinal()&apos;</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>debe evitarse el uso de &apos;datetime.date.fromordinal()&apos;</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>debe evitarse el uso de &apos;datetime.date.fromordinal()&apos;</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="608"/>
         <source>use of &apos;datetime.date.fromisoformat()&apos; should be avoided</source>
         <translation>debe evitarse el uso de &apos;datetime.date.fromisoformat()&apos;</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="530"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="527"/>
         <source>unnecessary {0} call - rewrite as a literal</source>
         <translation>llamada {0} innecesaria - reescribir como un literal</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="533"/>
+        <source>unnecessary {0} literal - rewrite as a {1} literal</source>
+        <translation>literal {0} innecesario - reescribir como un literal {1}</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="536"/>
-        <source>unnecessary {0} literal - rewrite as a {1} literal</source>
-        <translation>literal {0} innecesario - reescribir como un literal {1}</translation>
+        <source>unnecessary {0} passed to tuple() - rewrite as a {1} literal</source>
+        <translation>innecesario {0} pasado a tuple() - reescribir como un literal {1}</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="539"/>
-        <source>unnecessary {0} passed to tuple() - rewrite as a {1} literal</source>
-        <translation>innecesario {0} pasado a tuple() - reescribir como un literal {1}</translation>
+        <source>unnecessary {0} passed to list() - rewrite as a {1} literal</source>
+        <translation>innecesario {0} pasado a list() - reescribir como un literal {1}</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="542"/>
-        <source>unnecessary {0} passed to list() - rewrite as a {1} literal</source>
-        <translation>innecesario {0} pasado a list() - reescribir como un literal {1}</translation>
+        <source>unnecessary list call - remove the outer call to list()</source>
+        <translation>llamada a lista innecesaria - eliminar la llamada más externa a list()</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="545"/>
-        <source>unnecessary list call - remove the outer call to list()</source>
-        <translation>llamada a lista innecesaria - eliminar la llamada más externa a list()</translation>
+        <source>unnecessary list comprehension - &quot;in&quot; can take a generator</source>
+        <translation>list comprehension innecesaria - &quot;in&quot; puede aceptar un generator</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="548"/>
-        <source>unnecessary list comprehension - &quot;in&quot; can take a generator</source>
-        <translation>list comprehension innecesaria - &quot;in&quot; puede aceptar un generator</translation>
+        <source>unnecessary {0} passed to tuple() - remove the outer call to {1}()</source>
+        <translation>innecesario {0} pasado a tuple() - eliminar la llamada más externa a {1}()</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>innecesario {0} pasado a tuple() - eliminar la llamada más externa a {1}()</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>innecesario {0} pasado a list() - eliminar la llamada más externa a {1}()</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>&apos;sys.version[:3]&apos; referenciado (Python 3.10), usar &apos;sys.version_info&apos;</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="616"/>
-        <source>&apos;sys.version[:3]&apos; referenced (Python 3.10), use &apos;sys.version_info&apos;</source>
-        <translation>&apos;sys.version[:3]&apos; referenciado (Python 3.10), usar &apos;sys.version_info&apos;</translation>
+        <source>&apos;sys.version[2]&apos; referenced (Python 3.10), use &apos;sys.version_info&apos;</source>
+        <translation>&apos;sys.version[2]&apos; referenciado (Python 3.10), usar &apos;sys.version_info&apos;</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>&apos;sys.version[2]&apos; referenciado (Python 3.10), usar &apos;sys.version_info&apos;</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>&apos;sys.version&apos; comparado a cadena (Python 3.10), usar &apos;sys.version_info&apos;</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>&apos;sys.version_info[0] == 3&apos; referenciado (Python 4), usar &apos;&gt;=&apos;</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="626"/>
-        <source>&apos;sys.version_info[0] == 3&apos; referenced (Python 4), use &apos;&gt;=&apos;</source>
-        <translation>&apos;sys.version_info[0] == 3&apos; referenciado (Python 4), usar &apos;&gt;=&apos;</translation>
+        <source>&apos;six.PY3&apos; referenced (Python 4), use &apos;not six.PY2&apos;</source>
+        <translation>&apos;six.PY3&apos; referencicado (Python 4), usar &apos;not six.PY2&apos;</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>&apos;six.PY3&apos; referencicado (Python 4), usar &apos;not six.PY2&apos;</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>&apos;sys.version_info[1]&apos; comparado a entero (Python 4), comparar &apos;sys.version_info&apos; con tupla</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="636"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="633"/>
         <source>&apos;sys.version_info.minor&apos; compared to integer (Python 4), compare &apos;sys.version_info&apos; to tuple</source>
         <translation>&apos;sys.version_info.minor&apos; comparado a entero (Python 4), comparar &apos;sys.version_info&apos; con tupla</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>&apos;sys.version[0]&apos; referenciado (Python 10), usar &apos;sys.version_info&apos;</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>&apos;sys.version[0]&apos; referenciado (Python 10), usar &apos;sys.version_info&apos;</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>&apos;sys.version&apos; comparado a cadena (Python 10), usar &apos;sys.version_info&apos;</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="647"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="644"/>
         <source>&apos;sys.version[:1]&apos; referenced (Python 10), use &apos;sys.version_info&apos;</source>
         <translation>&apos;sys.version[:1]&apos; referenciado (Python 10), usar &apos;sys.version_info&apos;</translation>
     </message>
@@ -46293,72 +46075,72 @@
 <context>
     <name>NamingStyleChecker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="435"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="432"/>
         <source>class names should use CapWords convention</source>
         <translation>nombres de clase deben usar la convención de CapWords</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="435"/>
+        <source>function name should be lowercase</source>
+        <translation>nombres de función deben ser en minúsculas</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="438"/>
-        <source>function name should be lowercase</source>
-        <translation>nombres de función deben ser en minúsculas</translation>
+        <source>argument name should be lowercase</source>
+        <translation>nombre de argumento debe ser en minúsculas</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="441"/>
-        <source>argument name should be lowercase</source>
-        <translation>nombre de argumento debe ser en minúsculas</translation>
+        <source>first argument of a class method should be named &apos;cls&apos;</source>
+        <translation>primer argumento de método de clase debe ser nombrado &apos;cls&apos;</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="444"/>
-        <source>first argument of a class method should be named &apos;cls&apos;</source>
-        <translation>primer argumento de método de clase debe ser nombrado &apos;cls&apos;</translation>
+        <source>first argument of a method should be named &apos;self&apos;</source>
+        <translation>primer argumento de un método debe ser nombrado &apos;self&apos;</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>primer argumento de un método debe ser nombrado &apos;self&apos;</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>primer argumento de método estático no debe ser llamado &apos;self&apos; o &apos;cls&apos;</translation>
     </message>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="451"/>
+        <source>module names should be lowercase</source>
+        <translation>nombres de módulo deben ser en minúsculas</translation>
+    </message>
+    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="454"/>
-        <source>module names should be lowercase</source>
-        <translation>nombres de módulo deben ser en minúsculas</translation>
+        <source>package names should be lowercase</source>
+        <translation>nombres de package deben ser en minúsculas</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="457"/>
-        <source>package names should be lowercase</source>
-        <translation>nombres de package deben ser en minúsculas</translation>
+        <source>constant imported as non constant</source>
+        <translation>constante importada como no constante</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="460"/>
-        <source>constant imported as non constant</source>
-        <translation>constante importada como no constante</translation>
+        <source>lowercase imported as non lowercase</source>
+        <translation>minúscula importada como no minúscula</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="463"/>
-        <source>lowercase imported as non lowercase</source>
-        <translation>minúscula importada como no minúscula</translation>
+        <source>camelcase imported as lowercase</source>
+        <translation>camelcase importado como minúsculas</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="466"/>
-        <source>camelcase imported as lowercase</source>
-        <translation>camelcase importado como minúsculas</translation>
+        <source>camelcase imported as constant</source>
+        <translation>camelcase importado como constante</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="469"/>
-        <source>camelcase imported as constant</source>
-        <translation>camelcase importado como constante</translation>
+        <source>variable in function should be lowercase</source>
+        <translation>variable en función debe ser en minúsculas</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="472"/>
-        <source>variable in function should be lowercase</source>
-        <translation>variable en función debe ser en minúsculas</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>nombres &apos;l&apos;, &apos;O&apos; y &apos;I&apos; deben ser evitados</translation>
     </message>
@@ -47282,32 +47064,32 @@
         <translation>Diagrama de Paquetes: {0}</translation>
     </message>
     <message>
-        <location filename="../Graphics/PackageDiagramBuilder.py" line="163"/>
+        <location filename="../Graphics/PackageDiagramBuilder.py" line="157"/>
         <source>Parsing modules...</source>
         <translation>Analizando módulos...</translation>
     </message>
     <message>
-        <location filename="../Graphics/PackageDiagramBuilder.py" line="215"/>
+        <location filename="../Graphics/PackageDiagramBuilder.py" line="209"/>
         <source>The directory &lt;b&gt;&apos;{0}&apos;&lt;/b&gt; is not a package.</source>
         <translation>El directorio &lt;b&gt;&apos;{0}&apos;&lt;/b&gt; no es un paquete.</translation>
     </message>
     <message>
-        <location filename="../Graphics/PackageDiagramBuilder.py" line="224"/>
+        <location filename="../Graphics/PackageDiagramBuilder.py" line="218"/>
         <source>The package &lt;b&gt;&apos;{0}&apos;&lt;/b&gt; does not contain any modules.</source>
         <translation>El paquete &lt;b&gt;&apos;{0}&apos;&lt;/b&gt; no contiene ningún módulo.</translation>
     </message>
     <message>
-        <location filename="../Graphics/PackageDiagramBuilder.py" line="241"/>
+        <location filename="../Graphics/PackageDiagramBuilder.py" line="235"/>
         <source>The package &lt;b&gt;&apos;{0}&apos;&lt;/b&gt; does not contain any classes.</source>
         <translation>El paquete &lt;b&gt;&apos;{0}&apos;&lt;/b&gt; no contiene ninguna clase.</translation>
     </message>
     <message>
-        <location filename="../Graphics/PackageDiagramBuilder.py" line="163"/>
+        <location filename="../Graphics/PackageDiagramBuilder.py" line="157"/>
         <source>%v/%m Modules</source>
         <translation>%v/%m Módulos</translation>
     </message>
     <message>
-        <location filename="../Graphics/PackageDiagramBuilder.py" line="166"/>
+        <location filename="../Graphics/PackageDiagramBuilder.py" line="160"/>
         <source>Package Diagram</source>
         <translation>Digrama de paquetes</translation>
     </message>
@@ -47762,37 +47544,37 @@
     <message>
         <location filename="../PipInterface/Pip.py" line="679"/>
         <source>Cache Info</source>
-        <translation type="unfinished"></translation>
+        <translation>Info de Cache</translation>
     </message>
     <message>
         <location filename="../PipInterface/Pip.py" line="704"/>
         <source>List Cached Files</source>
-        <translation type="unfinished"></translation>
+        <translation>Listar Archivos en Cache</translation>
     </message>
     <message>
         <location filename="../PipInterface/Pip.py" line="694"/>
         <source>Enter a file pattern (empty for all):</source>
-        <translation type="unfinished"></translation>
+        <translation>Introducir un patrón de archivo (dejar en blanco para todos):</translation>
     </message>
     <message>
         <location filename="../PipInterface/Pip.py" line="728"/>
         <source>Remove Cached Files</source>
-        <translation type="unfinished"></translation>
+        <translation>Eliminar Archivos en Cache</translation>
     </message>
     <message>
         <location filename="../PipInterface/Pip.py" line="720"/>
         <source>Enter a file pattern:</source>
-        <translation type="unfinished"></translation>
+        <translation>Introducir un patrón de archivo:</translation>
     </message>
     <message>
         <location filename="../PipInterface/Pip.py" line="751"/>
         <source>Purge Cache</source>
-        <translation type="unfinished"></translation>
+        <translation>Purgar Cache</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>
+        <translation>Desear realmente purgar la cache de pip? Todos los archivos necesitarán descargarse de nuevo.</translation>
     </message>
 </context>
 <context>
@@ -48359,7 +48141,7 @@
         <translation>Conmutar para mostrar u ocultar la ventana de búsqueda</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="88"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="89"/>
         <source>Name:</source>
         <translation>Nombre:</translation>
     </message>
@@ -48379,7 +48161,7 @@
         <translation>Seleccionar la operación de búsqueda de término combinada</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="92"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="93"/>
         <source>Summary:</source>
         <translation>Resumen:</translation>
     </message>
@@ -48414,82 +48196,82 @@
         <translation>Seleccionar para instalar el package seleccionado en el site de usuario</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="64"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="65"/>
         <source>pip Menu</source>
         <translation>Menu pip</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="89"/>
-        <source>Version:</source>
-        <translation>Versión:</translation>
-    </message>
-    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="90"/>
-        <source>Location:</source>
-        <translation>Ubicación:</translation>
+        <source>Version:</source>
+        <translation>Versión:</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="91"/>
+        <source>Location:</source>
+        <translation>Ubicación:</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="92"/>
         <source>Requires:</source>
         <translation>Requiere:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="93"/>
-        <source>Homepage:</source>
-        <translation>Página Home:</translation>
-    </message>
-    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="94"/>
-        <source>Author:</source>
-        <translation>Autor:</translation>
+        <source>Homepage:</source>
+        <translation>Página Home:</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="95"/>
-        <source>Author Email:</source>
-        <translation>Correo electrónico del Autor:</translation>
+        <source>Author:</source>
+        <translation>Autor:</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="96"/>
-        <source>License:</source>
-        <translation>Licencia:</translation>
+        <source>Author Email:</source>
+        <translation>Correo electrónico del Autor:</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="97"/>
-        <source>Metadata Version:</source>
-        <translation>Versión de Metadatos:</translation>
+        <source>License:</source>
+        <translation>Licencia:</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="98"/>
-        <source>Installer:</source>
-        <translation>Instalador:</translation>
+        <source>Metadata Version:</source>
+        <translation>Versión de Metadatos:</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="99"/>
-        <source>Classifiers:</source>
-        <translation>Clasificadores:</translation>
+        <source>Installer:</source>
+        <translation>Instalador:</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="100"/>
-        <source>Entry Points:</source>
-        <translation>Puntos de Entrada:</translation>
+        <source>Classifiers:</source>
+        <translation>Clasificadores:</translation>
     </message>
     <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="101"/>
+        <source>Entry Points:</source>
+        <translation>Puntos de Entrada:</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="102"/>
         <source>Files:</source>
         <translation>Archivos:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="218"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="237"/>
         <source>Getting installed packages...</source>
         <translation>Obteniendo packages instalados...</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="233"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="252"/>
         <source>Getting outdated packages...</source>
         <translation>Obteniendo packages antiguos...</translation>
     </message>
     <message numerus="yes">
-        <location filename="../PipInterface/PipPackagesWidget.py" line="645"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="664"/>
         <source>%n package(s) found.</source>
         <translation>
             <numerusform>%n package encontrado.</numerusform>
@@ -48497,124 +48279,124 @@
         </translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="898"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="917"/>
         <source>Search PyPI</source>
         <translation>Buscar PyPI</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="683"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="702"/>
         <source>&lt;p&gt;The package search did not return anything.&lt;/p&gt;</source>
         <translation>&lt;p&gt;La búsqueda de packages no ha devuelto nada.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="720"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="739"/>
         <source>&lt;p&gt;The package search failed.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;La búsqueda de packages ha fallado.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="725"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="744"/>
         <source>Error: {0}</source>
         <translation>Error: {0}</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="858"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="877"/>
         <source>Show Package Details</source>
         <translation>Mostrar Detalles del Package</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="858"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="877"/>
         <source>Select the package version:</source>
         <translation>Seleccionar versión del package:</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="898"/>
-        <source>&lt;p&gt;No package details info for &lt;b&gt;{0}&lt;/b&gt; available.&lt;/p&gt;</source>
-        <translation>&lt;p&gt;No hay info de detalles de package disponible para &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="914"/>
-        <source>Install Pip</source>
-        <translation>Instalar Pip</translation>
-    </message>
-    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="917"/>
+        <source>&lt;p&gt;No package details info for &lt;b&gt;{0}&lt;/b&gt; available.&lt;/p&gt;</source>
+        <translation>&lt;p&gt;No hay info de detalles de package disponible para &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="933"/>
+        <source>Install Pip</source>
+        <translation>Instalar Pip</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="936"/>
         <source>Install Pip to User-Site</source>
         <translation>Instalar Pip en el Sitio de Usuario</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="920"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="939"/>
         <source>Repair Pip</source>
         <translation>Reparar Pip</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1033"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1053"/>
         <source>Install Packages</source>
         <translation>Instalar Packages</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="927"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="946"/>
         <source>Install Local Package</source>
         <translation>Instalar Package Local</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="931"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="950"/>
         <source>Install Requirements</source>
         <translation>Instalar Requisitos</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="934"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="953"/>
         <source>Uninstall Requirements</source>
         <translation>Desinstalar Requisitos</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="937"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="956"/>
         <source>Generate Requirements...</source>
         <translation>Generar Requisitos...</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="955"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="974"/>
         <source>Edit User Configuration...</source>
         <translation>Editar Configuración de Usuario...</translation>
     </message>
     <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="958"/>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="977"/>
         <source>Edit Environment Configuration...</source>
         <translation>Editar Configuración de Entorno...</translation>
     </message>
     <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="982"/>
+        <source>Configure...</source>
+        <translation>Configurar...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1166"/>
+        <source>Edit Configuration</source>
+        <translation>Editar Configuración</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="1166"/>
+        <source>No valid configuration path determined. Aborting</source>
+        <translation>No hay una ruta válida de configuración determinada. Abortando</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="960"/>
+        <source>Show Cache Info...</source>
+        <translation>Mostrar info de Cache...</translation>
+    </message>
+    <message>
         <location filename="../PipInterface/PipPackagesWidget.py" line="963"/>
-        <source>Configure...</source>
-        <translation>Configurar...</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1146"/>
-        <source>Edit Configuration</source>
-        <translation>Editar Configuración</translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="1146"/>
-        <source>No valid configuration path determined. Aborting</source>
-        <translation>No hay una ruta válida de configuración determinada. Abortando</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"/>
+        <translation>Mostrar Archivos en Cache...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="966"/>
         <source>Remove Cached Files...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../PipInterface/PipPackagesWidget.py" line="950"/>
+        <translation>Eliminar Archivos en Cache...</translation>
+    </message>
+    <message>
+        <location filename="../PipInterface/PipPackagesWidget.py" line="969"/>
         <source>Purge Cache...</source>
-        <translation type="unfinished"></translation>
+        <translation>Purgar Cache...</translation>
     </message>
 </context>
 <context>
@@ -49879,17 +49661,17 @@
 <context>
     <name>Preferences</name>
     <message>
-        <location filename="../Preferences/__init__.py" line="1604"/>
+        <location filename="../Preferences/__init__.py" line="1603"/>
         <source>Export Preferences</source>
         <translation>Exportar Preferencias</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1632"/>
+        <location filename="../Preferences/__init__.py" line="1631"/>
         <source>Import Preferences</source>
         <translation>Importar Preferencias</translation>
     </message>
     <message>
-        <location filename="../Preferences/__init__.py" line="1632"/>
+        <location filename="../Preferences/__init__.py" line="1631"/>
         <source>Properties File (*.ini);;All Files (*)</source>
         <translation>Archivo de Propiedades (*.ini);;Todos los archivos (*)</translation>
     </message>
@@ -50217,16 +49999,6 @@
         <translation>Presione para buscar programas</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="215"/>
-        <source>Forms Compiler (Ruby, Qt4)</source>
-        <translation type="obsolete">Compilador de Formularios (Ruby, Qt4)</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="220"/>
-        <source>Resource Compiler (Ruby, Qt4)</source>
-        <translation type="obsolete">Compilador de Recursos (Ruby, Qt4)</translation>
-    </message>
-    <message>
         <location filename="../Preferences/ProgramsDialog.py" line="203"/>
         <source>CORBA IDL Compiler</source>
         <translation>Compilador CORBA IDL</translation>
@@ -50257,21 +50029,6 @@
         <translation>Corrección Ortográfica - PyEnchant</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="186"/>
-        <source>Forms Compiler (Python, PySide)</source>
-        <translation type="obsolete">Compilador de Formularios (Python, PySide)</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="191"/>
-        <source>Resource Compiler (Python, PySide)</source>
-        <translation type="obsolete">Compilador de Recursos (Python, PySide)</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="181"/>
-        <source>Translation Extractor (Python, PySide)</source>
-        <translation type="obsolete">Extractor de traducciones (Python, PySide)</translation>
-    </message>
-    <message>
         <location filename="../Preferences/ProgramsDialog.py" line="252"/>
         <source>Source Highlighter - Pygments</source>
         <translation>Resaltador de Código Fuente - Pygments</translation>
@@ -50297,21 +50054,6 @@
         <translation>Qt Assistant</translation>
     </message>
     <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="147"/>
-        <source>Translation Extractor (Python, PyQt4)</source>
-        <translation type="obsolete">Extractor de Traducciones (Python, PyQt4)</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="152"/>
-        <source>Forms Compiler (Python, PyQt4)</source>
-        <translation type="obsolete">Compilador de Forms (Python, PyQt4)</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ProgramsDialog.py" line="157"/>
-        <source>Resource Compiler (Python, PyQt4)</source>
-        <translation type="obsolete">Compilador de Recursos (Python, PyQt4)</translation>
-    </message>
-    <message>
         <location filename="../Preferences/ProgramsDialog.py" line="146"/>
         <source>Translation Extractor (Python, PyQt5)</source>
         <translation>Extractor de Traducciones (Python, PyQt5)</translation>
@@ -50410,217 +50152,217 @@
 <context>
     <name>Project</name>
     <message>
-        <location filename="../Project/Project.py" line="270"/>
+        <location filename="../Project/Project.py" line="269"/>
         <source>Console</source>
         <translation>Consola</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="271"/>
+        <location filename="../Project/Project.py" line="270"/>
         <source>Other</source>
         <translation>Otro</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="783"/>
+        <location filename="../Project/Project.py" line="782"/>
         <source>Read project file</source>
         <translation>Leer archivo de proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="886"/>
+        <location filename="../Project/Project.py" line="885"/>
         <source>Save project file</source>
         <translation>Guardar proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="922"/>
+        <location filename="../Project/Project.py" line="921"/>
         <source>Read user project properties</source>
         <translation>Leer las propiedades de proyecto del usuario</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="946"/>
+        <location filename="../Project/Project.py" line="945"/>
         <source>Save user project properties</source>
         <translation>Guardar propiedades de proyecto del usuario</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1004"/>
+        <location filename="../Project/Project.py" line="1003"/>
         <source>Read project session</source>
         <translation>Leer sesion de proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1229"/>
+        <location filename="../Project/Project.py" line="1228"/>
         <source>Please save the project first.</source>
         <translation>Por favor guarde primero el proyecto.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1040"/>
+        <location filename="../Project/Project.py" line="1039"/>
         <source>Save project session</source>
         <translation>Guardar sesion de proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1069"/>
+        <location filename="../Project/Project.py" line="1068"/>
         <source>Delete project session</source>
         <translation>Borrar sesion de proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1103"/>
+        <location filename="../Project/Project.py" line="1102"/>
         <source>Read tasks</source>
         <translation>Leer tareas</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1123"/>
+        <location filename="../Project/Project.py" line="1122"/>
         <source>Save tasks</source>
         <translation>Guardar Tareas</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1182"/>
+        <location filename="../Project/Project.py" line="1181"/>
         <source>Read debugger properties</source>
         <translation>Leer propiedades del depurador</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1217"/>
+        <location filename="../Project/Project.py" line="1216"/>
         <source>Save debugger properties</source>
         <translation>Guardar propiedades del depurador</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1243"/>
+        <location filename="../Project/Project.py" line="1242"/>
         <source>Delete debugger properties</source>
         <translation>Borrar propiedades del depurador</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1371"/>
+        <location filename="../Project/Project.py" line="1370"/>
         <source>Add Language</source>
         <translation>Añadir lenguaje</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1496"/>
+        <location filename="../Project/Project.py" line="1495"/>
         <source>Delete translation</source>
         <translation>Borrar traducción</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1661"/>
+        <location filename="../Project/Project.py" line="1660"/>
         <source>Add file</source>
         <translation>Agregar archivo</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1793"/>
+        <location filename="../Project/Project.py" line="1792"/>
         <source>The target directory must not be empty.</source>
         <translation>El directorio de destino no puede estar vacío.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1804"/>
+        <location filename="../Project/Project.py" line="1803"/>
         <source>Add directory</source>
         <translation>Añadir directorio</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1692"/>
+        <location filename="../Project/Project.py" line="1691"/>
         <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;El directorio de origen no contiene archivos que pertenezcan a la categoría seleccionada.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1804"/>
+        <location filename="../Project/Project.py" line="1803"/>
         <source>The source directory must not be empty.</source>
         <translation>El directorio de origen no puede estar vacío.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1941"/>
+        <location filename="../Project/Project.py" line="1940"/>
         <source>Rename file</source>
         <translation>Renombrar archivo</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1965"/>
+        <location filename="../Project/Project.py" line="1964"/>
         <source>Rename File</source>
         <translation>Renombrar Archivo</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2215"/>
+        <location filename="../Project/Project.py" line="2214"/>
         <source>Delete file</source>
         <translation>Borrar archivo</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2245"/>
+        <location filename="../Project/Project.py" line="2244"/>
         <source>Delete directory</source>
         <translation>Borrar directorio</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2340"/>
+        <location filename="../Project/Project.py" line="2339"/>
         <source>Create project directory</source>
         <translation>Crear directorio de proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2947"/>
+        <location filename="../Project/Project.py" line="2946"/>
         <source>New Project</source>
         <translation>Proyecto nuevo</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2456"/>
+        <location filename="../Project/Project.py" line="2455"/>
         <source>Add existing files to the project?</source>
         <translation>¿Agregar archivos existentes al proyecto?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2947"/>
+        <location filename="../Project/Project.py" line="2946"/>
         <source>Select Version Control System</source>
         <translation>Seleccion el Sistema de control de versiones (VCS)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2583"/>
+        <location filename="../Project/Project.py" line="2582"/>
         <source>Would you like to edit the VCS command options?</source>
         <translation>¿Le gustaría editar las opciones de comando para VCS?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3822"/>
+        <location filename="../Project/Project.py" line="3821"/>
         <source>New project</source>
         <translation>Proyecto nuevo</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2526"/>
+        <location filename="../Project/Project.py" line="2525"/>
         <source>Shall the project file be added to the repository?</source>
         <translation>¿Debe añadirse el archivo de proyecto al repositorio?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2562"/>
+        <location filename="../Project/Project.py" line="2561"/>
         <source>None</source>
         <translation>Ninguno</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2555"/>
+        <location filename="../Project/Project.py" line="2554"/>
         <source>Select version control system for the project</source>
         <translation>Seleccione el sistema de control de versiones para el proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3836"/>
+        <location filename="../Project/Project.py" line="3835"/>
         <source>Open project</source>
         <translation>Abrir proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3097"/>
+        <location filename="../Project/Project.py" line="3096"/>
         <source>Project Files (*.e4p)</source>
         <translation>Archivos de proyecto (*.e4p)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3873"/>
+        <location filename="../Project/Project.py" line="3872"/>
         <source>Save project as</source>
         <translation>Guardar proyecto como</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3112"/>
+        <location filename="../Project/Project.py" line="3111"/>
         <source>Save File</source>
         <translation>Guardar archivo</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3148"/>
+        <location filename="../Project/Project.py" line="3147"/>
         <source>Close Project</source>
         <translation>Cerrar Proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3148"/>
+        <location filename="../Project/Project.py" line="3147"/>
         <source>The current project has unsaved changes.</source>
         <translation>El proyecto actual tiene cambios sin guardar.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3325"/>
+        <location filename="../Project/Project.py" line="3324"/>
         <source>Syntax errors detected</source>
         <translation>Se detectaron errores de sintaxis</translation>
     </message>
     <message numerus="yes">
-        <location filename="../Project/Project.py" line="3325"/>
+        <location filename="../Project/Project.py" line="3324"/>
         <source>The project contains %n file(s) with syntax errors.</source>
         <translation>
             <numerusform>El archivo contiene %n archivo(s) con errores de sintaxis.</numerusform>
@@ -50628,1080 +50370,1050 @@
         </translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3822"/>
+        <location filename="../Project/Project.py" line="3821"/>
         <source>&amp;New...</source>
         <translation>&amp;Nuevo...</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="3826"/>
+        <source>Generate a new project</source>
+        <translation>Generar un nuevo proyecto</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="3827"/>
-        <source>Generate a new project</source>
-        <translation>Generar un nuevo proyecto</translation>
-    </message>
-    <message>
-        <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;Nuevo...&lt;/b&gt;&lt;p&gt;Abre un diálogo para introducir la información para un nuevo proyecto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3836"/>
+        <location filename="../Project/Project.py" line="3835"/>
         <source>&amp;Open...</source>
         <translation>&amp;Abrir...</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="3840"/>
+        <source>Open an existing project</source>
+        <translation>Abrir un proyecto existente</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="3841"/>
-        <source>Open an existing project</source>
-        <translation>Abrir un proyecto existente</translation>
-    </message>
-    <message>
-        <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;Abrir...&lt;/b&gt;&lt;p&gt;Abre un proyecto existente..&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3849"/>
+        <location filename="../Project/Project.py" line="3848"/>
         <source>Close project</source>
         <translation>Cerrar proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3849"/>
+        <location filename="../Project/Project.py" line="3848"/>
         <source>&amp;Close</source>
         <translation>&amp;Cerrar</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="3852"/>
+        <source>Close the current project</source>
+        <translation>Cierra el proyecto actual</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="3853"/>
-        <source>Close the current project</source>
-        <translation>Cierra el proyecto actual</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;Cerrar&lt;/b&gt;&lt;p&gt;Cierra el proyecto actualt.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3861"/>
+        <location filename="../Project/Project.py" line="3860"/>
         <source>Save project</source>
         <translation>Guardar proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4053"/>
+        <location filename="../Project/Project.py" line="4052"/>
         <source>&amp;Save</source>
         <translation>&amp;Guardar</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="3864"/>
+        <source>Save the current project</source>
+        <translation>Guarda el proyecto actual</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="3865"/>
-        <source>Save the current project</source>
-        <translation>Guarda el proyecto actual</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;Guardar&lt;/b&gt;&lt;p&gt;Guarda el proyecto actual.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3873"/>
+        <location filename="../Project/Project.py" line="3872"/>
         <source>Save &amp;as...</source>
         <translation>Guardar co&amp;mo...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3877"/>
+        <location filename="../Project/Project.py" line="3876"/>
         <source>Save the current project to a new file</source>
         <translation>Guardar el proyecto actual en un nuevo archivo</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3879"/>
+        <location filename="../Project/Project.py" line="3878"/>
         <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;Guardar como&lt;/b&gt;&lt;p&gt;Guarda el proyecto en otro archivo.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3888"/>
+        <location filename="../Project/Project.py" line="3887"/>
         <source>Add files to project</source>
         <translation>Agregar archivos al proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3888"/>
+        <location filename="../Project/Project.py" line="3887"/>
         <source>Add &amp;files...</source>
         <translation>&amp;Agregar archivos...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3893"/>
+        <location filename="../Project/Project.py" line="3892"/>
         <source>Add files to the current project</source>
         <translation>Añadir archivos al proyecto actual</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3895"/>
+        <location filename="../Project/Project.py" line="3894"/>
         <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;Añadir archivos...&lt;/b&gt;&lt;p&gt;Abre un diálogo para añadir archivos al proyecto actual. El lugar donde se van a añadir es determinado por la extensión del nombre de archivo.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3904"/>
+        <location filename="../Project/Project.py" line="3903"/>
         <source>Add directory to project</source>
         <translation>Agregar directorio al proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3904"/>
+        <location filename="../Project/Project.py" line="3903"/>
         <source>Add directory...</source>
         <translation>Agregar directorio...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3909"/>
+        <location filename="../Project/Project.py" line="3908"/>
         <source>Add a directory to the current project</source>
         <translation>Agregar directorio al proyecto actual</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3911"/>
+        <location filename="../Project/Project.py" line="3910"/>
         <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;Añadir directorio...&lt;/b&gt;&lt;p&gt;Abre un diálogo para añadir un directorio al proyecto actual.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3919"/>
+        <location filename="../Project/Project.py" line="3918"/>
         <source>Add translation to project</source>
         <translation>Añadir traducción al proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3919"/>
+        <location filename="../Project/Project.py" line="3918"/>
         <source>Add &amp;translation...</source>
         <translation>Añadir &amp;Traducción...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3924"/>
+        <location filename="../Project/Project.py" line="3923"/>
         <source>Add a translation to the current project</source>
         <translation>Añadir una traducción al proyecto actual</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3926"/>
+        <location filename="../Project/Project.py" line="3925"/>
         <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;Añadir traducción...&lt;/b&gt;&lt;p&gt;Abre un diálogo para añadir una traducción al proyecto actual.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3934"/>
+        <location filename="../Project/Project.py" line="3933"/>
         <source>Search new files</source>
         <translation>Buscar archivos nuevos</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3934"/>
+        <location filename="../Project/Project.py" line="3933"/>
         <source>Searc&amp;h new files...</source>
         <translation>Bus&amp;car archivos nuevos...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3938"/>
+        <location filename="../Project/Project.py" line="3937"/>
         <source>Search new files in the project directory.</source>
         <translation>Bucar nuevos archivos en el directorio de proyecto.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3964"/>
+        <location filename="../Project/Project.py" line="3963"/>
         <source>Project properties</source>
         <translation>Propiedades del proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3964"/>
+        <location filename="../Project/Project.py" line="3963"/>
         <source>&amp;Properties...</source>
         <translation>&amp;Propiedades...</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="3968"/>
+        <source>Show the project properties</source>
+        <translation>Ver las propiedades del proyecto</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="3969"/>
-        <source>Show the project properties</source>
-        <translation>Ver las propiedades del proyecto</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="3970"/>
         <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;Propiedades...&lt;/b&gt;&lt;p&gt;Muestra un diálogo para editar las propiedades del proyecto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3977"/>
+        <location filename="../Project/Project.py" line="3976"/>
         <source>User project properties</source>
         <translation>Propiedades del usuario del proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3977"/>
+        <location filename="../Project/Project.py" line="3976"/>
         <source>&amp;User Properties...</source>
         <translation>Propiedades del &amp;Usuario...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3982"/>
+        <location filename="../Project/Project.py" line="3981"/>
         <source>Show the user specific project properties</source>
         <translation>Muestra propiedades del proyecto específicas del usuario</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3984"/>
+        <location filename="../Project/Project.py" line="3983"/>
         <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;Propiedades del Usuario...&lt;/b&gt;&lt;p&gt;Abre un diálogo par editar las propiedades del proyecto específicas del usuario.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3992"/>
+        <location filename="../Project/Project.py" line="3991"/>
         <source>Filetype Associations</source>
         <translation>Asociación de tipos de archivo</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3992"/>
+        <location filename="../Project/Project.py" line="3991"/>
         <source>Filetype Associations...</source>
         <translation>Asociación de tipos de archivo...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3996"/>
+        <location filename="../Project/Project.py" line="3995"/>
         <source>Show the project filetype associations</source>
         <translation>Ver las asociaciones del proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4028"/>
+        <location filename="../Project/Project.py" line="4027"/>
         <source>Debugger Properties</source>
         <translation>Propiedades del depurador</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4028"/>
+        <location filename="../Project/Project.py" line="4027"/>
         <source>Debugger &amp;Properties...</source>
         <translation>&amp;Propiedades del depurador...</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="4031"/>
+        <source>Show the debugger properties</source>
+        <translation>Muestra las propiedades del depurador</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="4032"/>
-        <source>Show the debugger properties</source>
-        <translation>Muestra las propiedades del depurador</translation>
-    </message>
-    <message>
-        <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;Propiedades del Depurador...&lt;/b&gt;&lt;p&gt;Abre un diálogo par editar las propiedades del depurador específicas del proyecto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4041"/>
+        <location filename="../Project/Project.py" line="4040"/>
         <source>Load</source>
         <translation>Cargar</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4041"/>
+        <location filename="../Project/Project.py" line="4040"/>
         <source>&amp;Load</source>
         <translation>&amp;Cargar</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="4044"/>
+        <source>Load the debugger properties</source>
+        <translation>Cargar las propiedades del depurador</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="4045"/>
-        <source>Load the debugger properties</source>
-        <translation>Cargar las propiedades del depurador</translation>
-    </message>
-    <message>
-        <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;Cargar Propiedades del Depurador&lt;/b&gt;&lt;p&gt;Carga las opciones de configuración del depurador específicas del proyecto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4053"/>
+        <location filename="../Project/Project.py" line="4052"/>
         <source>Save</source>
         <translation>Guardar</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="4056"/>
+        <source>Save the debugger properties</source>
+        <translation>Guardar propiedades del depurador</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="4057"/>
-        <source>Save the debugger properties</source>
-        <translation>Guardar propiedades del depurador</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;Guardar Propiedades del Depurador&lt;/b&gt;&lt;p&gt;Guarda las opciones de configuración del depurador específicas del proyecto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4065"/>
+        <location filename="../Project/Project.py" line="4064"/>
         <source>Delete</source>
         <translation>Borrar</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4065"/>
+        <location filename="../Project/Project.py" line="4064"/>
         <source>&amp;Delete</source>
         <translation>&amp;Borrar</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="4068"/>
+        <source>Delete the debugger properties</source>
+        <translation>Borrar las propiedades del depurador</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="4069"/>
-        <source>Delete the debugger properties</source>
-        <translation>Borrar las propiedades del depurador</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;Borrar Propiedades del Depurador&lt;/b&gt;&lt;p&gt;Borra el archivo que contiene las opciones de configuración del depurador específicas del proyecto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4078"/>
+        <location filename="../Project/Project.py" line="4077"/>
         <source>Reset</source>
         <translation>Reiniciar</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4078"/>
+        <location filename="../Project/Project.py" line="4077"/>
         <source>&amp;Reset</source>
         <translation>&amp;Reiniciar</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="4081"/>
+        <source>Reset the debugger properties</source>
+        <translation>Restablecer las propiedades del depurador</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="4082"/>
-        <source>Reset the debugger properties</source>
-        <translation>Restablecer las propiedades del depurador</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;Restablecer Propiedades del Depurador&lt;/b&gt;&lt;p&gt;Restablece las opciones de configuración del depurador específicas del proyecto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4092"/>
+        <location filename="../Project/Project.py" line="4091"/>
         <source>Load session</source>
         <translation>Cargar sesión</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="4095"/>
+        <source>Load the projects session file.</source>
+        <translation>Cargar archivo de sesión de proyectos.</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="4096"/>
-        <source>Load the projects session file.</source>
-        <translation>Cargar archivo de sesión de proyectos.</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4097"/>
         <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;Cargar sesión&lt;/b&gt;&lt;p&gt;Carga el archivo de sesión de proyecto. La sesión consiste en los datos siguientes.&lt;br&gt;- todos los archivos de fuentes abiertos&lt;br&gt;- todos los puntos de interrupción&lt;br&gt;- todos los argumentos de línea de comandos&lt;br&gt;- el directorio de trabajo&lt;br&gt;- el flag de reporte de excepciones&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4110"/>
+        <location filename="../Project/Project.py" line="4109"/>
         <source>Save session</source>
         <translation>Guardar sesión</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="4113"/>
+        <source>Save the projects session file.</source>
+        <translation>Guardar archivos de sessión de proyecto.</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="4114"/>
-        <source>Save the projects session file.</source>
-        <translation>Guardar archivos de sessión de proyecto.</translation>
-    </message>
-    <message>
-        <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;Guardar sesión&lt;/b&gt;&lt;p&gt;Guarda el archivo de sesión de proyecto. La sesión consiste en los datos siguientes.&lt;br&gt;- todos los archivos de fuentes abiertos&lt;br&gt;- todos los puntos de interrupción&lt;br&gt;- todos los argumentos de línea de comandos&lt;br&gt;- el directorio de trabajo&lt;br&gt;- el flag de reporte de excepciones&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4128"/>
+        <location filename="../Project/Project.py" line="4127"/>
         <source>Delete session</source>
         <translation>Borrar sesión</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="4131"/>
+        <source>Delete the projects session file.</source>
+        <translation>Borrar el archivo de sesión de proyecto.</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="4132"/>
-        <source>Delete the projects session file.</source>
-        <translation>Borrar el archivo de sesión de proyecto.</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;Borrar sesión&lt;/b&gt;&lt;p&gt;Borra el archivo de sesión del proyecto&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4142"/>
+        <location filename="../Project/Project.py" line="4141"/>
         <source>Code Metrics</source>
         <translation>Métricas de código</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4142"/>
+        <location filename="../Project/Project.py" line="4141"/>
         <source>&amp;Code Metrics...</source>
         <translation>Métricas de &amp;código...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4146"/>
+        <location filename="../Project/Project.py" line="4145"/>
         <source>Show some code metrics for the project.</source>
         <translation>Muestra algunas métricas del código para este proyecto.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4148"/>
+        <location filename="../Project/Project.py" line="4147"/>
         <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;Métricas de Código...&lt;/b&gt;&lt;p&gt;Muestra algunas métricas de código para todos los archivos Python en el proyecto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4156"/>
+        <location filename="../Project/Project.py" line="4155"/>
         <source>Python Code Coverage</source>
         <translation>Cobertura de Código Python</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4156"/>
+        <location filename="../Project/Project.py" line="4155"/>
         <source>Code Co&amp;verage...</source>
         <translation>Co&amp;bertura de código...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4160"/>
+        <location filename="../Project/Project.py" line="4159"/>
         <source>Show code coverage information for the project.</source>
         <translation>Muestra información de cobertura de código para el proyecto.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4162"/>
+        <location filename="../Project/Project.py" line="4161"/>
         <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;Cobertura de Código...&lt;/b&gt;&lt;p&gt;Muestra la información de cobertura de código para todos los archivos Python en el proyecto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5044"/>
+        <location filename="../Project/Project.py" line="5043"/>
         <source>Profile Data</source>
         <translation>Datos de perfil</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4170"/>
+        <location filename="../Project/Project.py" line="4169"/>
         <source>&amp;Profile Data...</source>
         <translation>Datos de &amp;pefil...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4174"/>
+        <location filename="../Project/Project.py" line="4173"/>
         <source>Show profiling data for the project.</source>
         <translation>Mostrar datos de profiling para el proyecto.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4176"/>
+        <location filename="../Project/Project.py" line="4175"/>
         <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;Datos de Profiling...&lt;/b&gt;&lt;p&gt;Muestra datos de profiling para el proyecto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5098"/>
+        <location filename="../Project/Project.py" line="5097"/>
         <source>Application Diagram</source>
         <translation>Diagrama de Aplicación</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4185"/>
+        <location filename="../Project/Project.py" line="4184"/>
         <source>&amp;Application Diagram...</source>
         <translation>Diagrama de &amp;Aplicación...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4189"/>
+        <location filename="../Project/Project.py" line="4188"/>
         <source>Show a diagram of the project.</source>
         <translation>Mostrar diagrama del proyecto.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4191"/>
+        <location filename="../Project/Project.py" line="4190"/>
         <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;Diagrama de Aplicación...&lt;/b&gt;&lt;p&gt;Muestra un diagrama del proyecto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5291"/>
+        <location filename="../Project/Project.py" line="5290"/>
         <source>Create Package List</source>
         <translation>Crear Lista del Paquete</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4214"/>
+        <location filename="../Project/Project.py" line="4213"/>
         <source>Create &amp;Package List</source>
         <translation>Crear &amp;Package List</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5565"/>
+        <location filename="../Project/Project.py" line="5564"/>
         <source>Create Plugin Archive</source>
         <translation>Crear Archivo de Plugin</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="4315"/>
+        <source>&amp;Project</source>
+        <translation>&amp;Proyecto</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="4316"/>
-        <source>&amp;Project</source>
-        <translation>&amp;Proyecto</translation>
+        <source>Open &amp;Recent Projects</source>
+        <translation>Abrir Proyectos &amp;Recientes</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4321"/>
+        <source>&amp;Version Control</source>
+        <translation>Control de &amp;Versiones</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4325"/>
+        <source>Chec&amp;k</source>
+        <translation>Veri&amp;ficar</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4327"/>
+        <source>Sho&amp;w</source>
+        <translation>V&amp;er</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4328"/>
+        <source>&amp;Diagrams</source>
+        <translation>&amp;Diagramas</translation>
     </message>
     <message>
         <location filename="../Project/Project.py" line="4317"/>
-        <source>Open &amp;Recent Projects</source>
-        <translation>Abrir Proyectos &amp;Recientes</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4322"/>
-        <source>&amp;Version Control</source>
-        <translation>Control de &amp;Versiones</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4326"/>
-        <source>Chec&amp;k</source>
-        <translation>Veri&amp;ficar</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4328"/>
-        <source>Sho&amp;w</source>
-        <translation>V&amp;er</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4329"/>
-        <source>&amp;Diagrams</source>
-        <translation>&amp;Diagramas</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4318"/>
         <source>Session</source>
         <translation>Sesión</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4331"/>
-        <source>Source &amp;Documentation</source>
-        <translation>Origen de &amp;Documentación</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4319"/>
-        <source>Debugger</source>
-        <translation>Depurador</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="4330"/>
+        <source>Source &amp;Documentation</source>
+        <translation>Origen de &amp;Documentación</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4318"/>
+        <source>Debugger</source>
+        <translation>Depurador</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4329"/>
         <source>Pac&amp;kagers</source>
         <translation>Empa&amp;quetadores</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4456"/>
+        <location filename="../Project/Project.py" line="4455"/>
         <source>Project</source>
         <translation>Proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4522"/>
+        <location filename="../Project/Project.py" line="4521"/>
         <source>&amp;Clear</source>
         <translation>&amp;Borrar</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4695"/>
+        <location filename="../Project/Project.py" line="4694"/>
         <source>Search New Files</source>
         <translation>Buscar nuevos archivos</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4695"/>
+        <location filename="../Project/Project.py" line="4694"/>
         <source>There were no new files found to be added.</source>
         <translation>No se han encontrado nuevos archivos para ser añadidos.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4841"/>
+        <location filename="../Project/Project.py" line="4840"/>
         <source>Version Control System</source>
         <translation>Sistema de control de versiones</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4971"/>
+        <location filename="../Project/Project.py" line="4970"/>
         <source>Coverage Data</source>
         <translation>Datos de Cobertura</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5021"/>
+        <location filename="../Project/Project.py" line="5020"/>
         <source>There is no main script defined for the current project. Aborting</source>
         <translation>No hay script principal definido para el proyecto actual. Abortando</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4994"/>
+        <location filename="../Project/Project.py" line="4993"/>
         <source>Code Coverage</source>
         <translation>Cobertura de codigo</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4994"/>
+        <location filename="../Project/Project.py" line="4993"/>
         <source>Please select a coverage file</source>
         <translation>Por favor seleccione un archivo de cobertura</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5044"/>
+        <location filename="../Project/Project.py" line="5043"/>
         <source>Please select a profile file</source>
         <translation>Por favor seleccione un archivo de profiling</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5098"/>
+        <location filename="../Project/Project.py" line="5097"/>
         <source>Include module names?</source>
         <translation>¿Incluir nombres de módulos?</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5242"/>
+        <location filename="../Project/Project.py" line="5241"/>
         <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;El archivo &lt;b&gt;PKGLIST&lt;/b&gt; ya existe.&lt;/p&gt;&lt;p&gt;¿Desea sobreescribirlo?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5310"/>
+        <location filename="../Project/Project.py" line="5309"/>
         <source>The project does not have a main script defined. Aborting...</source>
         <translation>No hay script principal definido para el proyecto actual. Abortando...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="368"/>
+        <location filename="../Project/Project.py" line="367"/>
         <source>Registering Project Type</source>
         <translation>Registrando Tipo de Proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4230"/>
+        <location filename="../Project/Project.py" line="4229"/>
         <source>Create Plugin &amp;Archives</source>
         <translation>Crear &amp;Archivos de Plugin</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1371"/>
+        <location filename="../Project/Project.py" line="1370"/>
         <source>You have to specify a translation pattern first.</source>
         <translation>Debe especificar primero un patrón de traducción.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2666"/>
+        <location filename="../Project/Project.py" line="2665"/>
         <source>Translation Pattern</source>
         <translation>Patrón de Traducción</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2666"/>
+        <location filename="../Project/Project.py" line="2665"/>
         <source>Enter the path pattern for translation files (use &apos;%language%&apos; in place of the language code):</source>
         <translation>Introduzca el patrón de ruta para los archivos de traducción (use &apos;%language%&apos; in lugar del código de idioma):</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4010"/>
+        <location filename="../Project/Project.py" line="4009"/>
         <source>Lexer Associations</source>
         <translation>Asociaciones de Analizador Léxico</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4010"/>
+        <location filename="../Project/Project.py" line="4009"/>
         <source>Lexer Associations...</source>
         <translation>Asociaciones de Analizador Léxico...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4014"/>
+        <location filename="../Project/Project.py" line="4013"/>
         <source>Show the project lexer associations (overriding defaults)</source>
         <translation>Ver las asociaciones de analizador léxico del proyecto (sobreescribiendo valores por defecto)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4016"/>
+        <location filename="../Project/Project.py" line="4015"/>
         <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>&lt;b&gt;Asociaciones de Analizador Léxico ...&lt;/b&gt;&lt;p&gt;Muestra un diálogo para editar las asociaciones de analizador léxico del proyecto. Estas asociaciones sobreescriben las asociaciones de analizador léxico globales. Los analizadores léxicos se utilizan para resaltar el texto en el editor.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="299"/>
-        <source>PySide GUI</source>
-        <translation type="obsolete">GUI de PySide</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="300"/>
-        <source>PySide Console</source>
-        <translation type="obsolete">Consola PySide</translation>
-    </message>
-    <message>
         <location filename="../Project/Project.py" line="174"/>
         <source>Python3 Files (*.py *.py3);;Python3 GUI Files (*.pyw *.pyw3);;</source>
         <translation>Archivos Python3 (*.py *.py3);;Archivos de GUI Python3 (*.pyw *.pyw3);;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="783"/>
+        <location filename="../Project/Project.py" line="782"/>
         <source>&lt;p&gt;The project file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo de proyecto &lt;b&gt;{0}&lt;/b&gt; no ha podido ser leído.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="886"/>
+        <location filename="../Project/Project.py" line="885"/>
         <source>&lt;p&gt;The project file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo de proyecto &lt;b&gt;{0}&lt;/b&gt; no ha podido ser guardado.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="922"/>
+        <location filename="../Project/Project.py" line="921"/>
         <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>&lt;p&gt;El archivo de propiedades de proyecto específicas del usuario &lt;b&gt;{0}&lt;/b&gt; no ha podido ser leído.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="946"/>
+        <location filename="../Project/Project.py" line="945"/>
         <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>&lt;p&gt;El archivo de propiedades de proyecto específicas del usuario &lt;b&gt;{0}&lt;/b&gt; no ha podido ser guardado.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1004"/>
+        <location filename="../Project/Project.py" line="1003"/>
         <source>&lt;p&gt;The project session file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo de sesión de proyecto &lt;b&gt;{0}&lt;/b&gt; no ha podido leerse.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1040"/>
+        <location filename="../Project/Project.py" line="1039"/>
         <source>&lt;p&gt;The project session file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo de sesión de proyecto &lt;b&gt;{0}&lt;/b&gt; no ha podido guardarse.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1069"/>
+        <location filename="../Project/Project.py" line="1068"/>
         <source>&lt;p&gt;The project session file &lt;b&gt;{0}&lt;/b&gt; could not be deleted.&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo de sesión de proyecto &lt;b&gt;{0}&lt;/b&gt; no ha podido borrarse.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1103"/>
+        <location filename="../Project/Project.py" line="1102"/>
         <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;El archivo de tareas &lt;b&gt;{0}&lt;/b&gt; no puede leerse.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1123"/>
+        <location filename="../Project/Project.py" line="1122"/>
         <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;El archivo de tareas &lt;b&gt;{0}&lt;/b&gt; no pudo ser guardado.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1182"/>
+        <location filename="../Project/Project.py" line="1181"/>
         <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>&lt;p&gt;El archivo de propiedades del depurador del proyecto  &lt;b&gt;{0}&lt;/b&gt; no ha podido leerse.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1217"/>
+        <location filename="../Project/Project.py" line="1216"/>
         <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>&lt;p&gt;El archivo de propiedades del depurador del proyecto  &lt;b&gt;{0}&lt;/b&gt; no pudo ser guardado.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1243"/>
+        <location filename="../Project/Project.py" line="1242"/>
         <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>&lt;p&gt;El archivo de propiedades del depurador del proyecto  &lt;b&gt;{0}&lt;/b&gt; no pudo ser borrado.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1725"/>
+        <location filename="../Project/Project.py" line="1724"/>
         <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>&lt;p&gt;El archivo &lt;b&gt;{0}&lt;/b&gt; ya existe.&lt;/p&gt;&lt;p&gt;¿Desea sobreescribirlo?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3112"/>
+        <location filename="../Project/Project.py" line="3111"/>
         <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo &lt;b&gt;{0}&lt;/b&gt; ya existe.&lt;/p&gt;&lt;p&gt;¿Desea sobreescribirlo?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1965"/>
+        <location filename="../Project/Project.py" line="1964"/>
         <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>&lt;p&gt;El archivo &lt;b&gt;{0}&lt;/b&gt; no puede ser renombrado.&lt;br /&gt;Causa: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2340"/>
+        <location filename="../Project/Project.py" line="2339"/>
         <source>&lt;p&gt;The project directory &lt;b&gt;{0}&lt;/b&gt; could not be created.&lt;/p&gt;</source>
         <translation>&lt;p&gt;El directorio de proyecto &lt;b&gt;{0}&lt;/b&gt; no pudo ser creado.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4841"/>
+        <location filename="../Project/Project.py" line="4840"/>
         <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>&lt;p&gt;El VCS seleccionado &lt;b&gt;{0}&lt;/b&gt; no ha sido encontrado.&lt;br&gt;Deshabilitando control de versiones.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5291"/>
+        <location filename="../Project/Project.py" line="5290"/>
         <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>&lt;p&gt;El archivo &lt;b&gt;PKGLIST&lt;/b&gt; no puede ser creado.&lt;/p&gt;&lt;p&gt;Causa: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5451"/>
+        <location filename="../Project/Project.py" line="5450"/>
         <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>&lt;p&gt;El fichero&lt;b&gt;{0}&lt;/b&gt; no ha podido ser almacenado en el archivo. Va a ser ignorado.&lt;/p&gt;&lt;p&gt;Causa: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5524"/>
+        <location filename="../Project/Project.py" line="5523"/>
         <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>&lt;p&gt;El archivo de plugin&lt;b&gt;{0}&lt;/b&gt; no puede ser leido.&lt;/p&gt;&lt;p&gt;Causa: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1648"/>
+        <location filename="../Project/Project.py" line="1647"/>
         <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>&lt;p&gt;El archivo seleccionado &lt;b&gt;{0}&lt;/b&gt; no ha podido se añadido a &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Razón: {2}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1707"/>
+        <location filename="../Project/Project.py" line="1706"/>
         <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>&lt;p&gt;El directorio de destino &lt;b&gt;{0}&lt;/b&gt; no ha podido ser creado.&lt;/p&gt;&lt;p&gt;Razón: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="175"/>
-        <source>Python2 Files (*.py2);;Python2 GUI Files (*.pyw2);;</source>
-        <translation type="obsolete">Archivos Python2(*.py2);;Archivos de GUI Python2 (*.pyw2);;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="2423"/>
+        <location filename="../Project/Project.py" line="2422"/>
         <source>Create main script</source>
         <translation>Crear script principal</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2423"/>
+        <location filename="../Project/Project.py" line="2422"/>
         <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>&lt;p&gt;El script principal &lt;b&gt;{0}&lt;/b&gt; no se ha podido crear.&lt;br/&gt;Razón: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4199"/>
+        <location filename="../Project/Project.py" line="4198"/>
         <source>Load Diagram</source>
         <translation>Cargar Diagrama</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4199"/>
+        <location filename="../Project/Project.py" line="4198"/>
         <source>&amp;Load Diagram...</source>
         <translation>&amp;Cargar Diagrama...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4203"/>
+        <location filename="../Project/Project.py" line="4202"/>
         <source>Load a diagram from file.</source>
         <translation>CArgar diagrama desde archivo.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4205"/>
+        <location filename="../Project/Project.py" line="4204"/>
         <source>&lt;b&gt;Load Diagram...&lt;/b&gt;&lt;p&gt;This loads a diagram from file.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Cargar Diagrama...&lt;/b&gt;&lt;p&gt;Carga un diagrama desde un archivo.&lt;/p&gt;</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="obsolete">&lt;p&gt;El Lenguaje de Programación &lt;b&gt;{0}&lt;/b&gt; no está soportado.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="368"/>
+        <location filename="../Project/Project.py" line="367"/>
         <source>&lt;p&gt;The Project type &lt;b&gt;{0}&lt;/b&gt; is already registered.&lt;/p&gt;</source>
         <translation>&lt;p&gt;El Tipo de Proyecto &lt;b&gt;{0}&lt;/b&gt; ya está registrado.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="356"/>
+        <location filename="../Project/Project.py" line="355"/>
         <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>&lt;p&gt;El tipo de Proyecto &lt;b&gt;{0}&lt;/b&gt; ya está registrado con el Lenguaje de Programación &lt;b&gt;{1}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="266"/>
+        <source>PyQt5 GUI</source>
+        <translation>GUI PyQt5</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="267"/>
-        <source>PyQt5 GUI</source>
-        <translation>GUI PyQt5</translation>
+        <source>PyQt5 Console</source>
+        <translation>Consola PyQt5</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4829"/>
+        <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>&lt;p&gt;El VCS seleccionado &lt;b&gt;{0}&lt;/b&gt; no ha sido encontrado.&lt;br&gt;Revirtiendo sobreescritura.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5564"/>
+        <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>&lt;p&gt;El archivo de plugin&lt;b&gt;{0}&lt;/b&gt; no puede ser leido.&lt;/p&gt;&lt;p&gt;Causa: {1}&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4218"/>
+        <source>Create an initial PKGLIST file for an eric6 plugin.</source>
+        <translation>Crear un archivo inicial PKGLIST para un plugin para eric6.</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4220"/>
+        <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>&lt;b&gt;Crear Package List&lt;/b&gt;&lt;p&gt;Crea una lista inicial de archivos para incluir en un archivo de plugin para eric6. Esta lista se crea a partir del archivo de proyecto.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4234"/>
+        <source>Create eric6 plugin archive files.</source>
+        <translation>Crear ficheros para archivo de plugin de eric6.</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="4236"/>
+        <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>&lt;b&gt;Crear Archivo de Plugin&lt;/b&gt;&lt;p&gt;Crea ficheros para archivo de plugin de eric6 utilizando el listado de ficheros proporcionados en un archivo PKGLIST*. El nombre de archivo se crea a partir del nombre del script principal si no se desinga uno en el archivo de lista de package.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../Project/Project.py" line="5414"/>
+        <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>&lt;p&gt;El archivo de plugin de eric6 &lt;b&gt;{0}&lt;/b&gt; no ha podido ser creado. Abortando...&lt;/p&gt;&lt;p&gt;Razón: {1}&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="../Project/Project.py" line="268"/>
-        <source>PyQt5 Console</source>
-        <translation>Consola PyQt5</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>&lt;p&gt;El VCS seleccionado &lt;b&gt;{0}&lt;/b&gt; no ha sido encontrado.&lt;br&gt;Revirtiendo sobreescritura.&lt;/p&gt;&lt;p&gt;{1}&lt;/p&gt;</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>&lt;p&gt;El archivo de plugin&lt;b&gt;{0}&lt;/b&gt; no puede ser leido.&lt;/p&gt;&lt;p&gt;Causa: {1}&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4219"/>
-        <source>Create an initial PKGLIST file for an eric6 plugin.</source>
-        <translation>Crear un archivo inicial PKGLIST para un plugin para 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>&lt;b&gt;Crear Package List&lt;/b&gt;&lt;p&gt;Crea una lista inicial de archivos para incluir en un archivo de plugin para eric6. Esta lista se crea a partir del archivo de proyecto.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="4235"/>
-        <source>Create eric6 plugin archive files.</source>
-        <translation>Crear ficheros para archivo de plugin de eric6.</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>&lt;b&gt;Crear Archivo de Plugin&lt;/b&gt;&lt;p&gt;Crea ficheros para archivo de plugin de eric6 utilizando el listado de ficheros proporcionados en un archivo PKGLIST*. El nombre de archivo se crea a partir del nombre del script principal si no se desinga uno en el archivo de lista de package.&lt;/p&gt;</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>&lt;p&gt;El archivo de plugin de eric6 &lt;b&gt;{0}&lt;/b&gt; no ha podido ser creado. Abortando...&lt;/p&gt;&lt;p&gt;Razón: {1}&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="269"/>
         <source>Eric6 Plugin</source>
         <translation>Eric6 Plugin</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2915"/>
+        <location filename="../Project/Project.py" line="2914"/>
         <source>Create project management directory</source>
         <translation>Crear directorio de gestión del proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2915"/>
+        <location filename="../Project/Project.py" line="2914"/>
         <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;El directorio del proyecto &lt;b&gt;{0}&lt;/b&gt; no se puede escribir.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3949"/>
+        <location filename="../Project/Project.py" line="3948"/>
         <source>Alt+Ctrl+P</source>
         <comment>Project|Search Project File</comment>
         <translation>Alt+Ctrl+P</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3955"/>
+        <location filename="../Project/Project.py" line="3954"/>
         <source>Search for a file in the project list of files.</source>
         <translation>Bucar un archivo en el listado de archivos del proyecto.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3957"/>
+        <location filename="../Project/Project.py" line="3956"/>
         <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>&lt;b&gt;Buscar Archivo en el Proyecto&lt;/b&gt;&lt;p&gt;Busca un archivo en el listado de archivos del proyecto.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3949"/>
+        <location filename="../Project/Project.py" line="3948"/>
         <source>Search Project File</source>
         <translation>Buscar Archivo en Proyecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3949"/>
+        <location filename="../Project/Project.py" line="3948"/>
         <source>Search Project File...</source>
         <translation>Buscar Archivo en Proyecto...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5346"/>
+        <location filename="../Project/Project.py" line="5345"/>
         <source>Create Plugin Archives</source>
         <translation>Crear Archivos de Plugin</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4247"/>
+        <location filename="../Project/Project.py" line="4246"/>
         <source>Create Plugin Archives (Snapshot)</source>
         <translation>Crear Archivos de Plugin (Snapshot)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4247"/>
+        <location filename="../Project/Project.py" line="4246"/>
         <source>Create Plugin Archives (&amp;Snapshot)</source>
         <translation>Crear Archivos de Plugin (&amp;Snapshot)</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4252"/>
+        <location filename="../Project/Project.py" line="4251"/>
         <source>Create eric6 plugin archive files (snapshot releases).</source>
         <translation>Crear ficheros para archivo de plugin de eric6 (snapshot releases).</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4254"/>
+        <location filename="../Project/Project.py" line="4253"/>
         <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>&lt;b&gt;Crear Archivos de Plugin (Snapshot)&lt;/b&gt;&lt;p&gt;Crea ficheros para archivo de plugin de eric6 usando el listado de ficheros dado en un archivo PKGLIST*. El nombre del archivo se construye a partir del nombre del script principal si no se designa uno en el archivo de package list. La entrada de versión del script principal se modifica para reflejar una snapshot release.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5324"/>
+        <location filename="../Project/Project.py" line="5323"/>
         <source>Select package lists:</source>
         <translation>Seleccionar package lists:</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5342"/>
+        <location filename="../Project/Project.py" line="5341"/>
         <source>Creating plugin archives...</source>
         <translation>Creando archivos de plugin...</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5342"/>
+        <location filename="../Project/Project.py" line="5341"/>
         <source>Abort</source>
         <translation>Abortar</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5342"/>
+        <location filename="../Project/Project.py" line="5341"/>
         <source>%v/%m Archives</source>
         <translation>%v/%m Archivos</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5359"/>
+        <location filename="../Project/Project.py" line="5358"/>
         <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>&lt;p&gt;El archivo&lt;b&gt;{0}&lt;/b&gt; no puede ser leído.&lt;/p&gt;&lt;p&gt;Causa: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5470"/>
+        <location filename="../Project/Project.py" line="5469"/>
         <source>&lt;p&gt;The eric6 plugin archive files were created with some errors.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Los ficheros para archivo de plugin de eric6 se han creado con errores.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5473"/>
+        <location filename="../Project/Project.py" line="5472"/>
         <source>&lt;p&gt;The eric6 plugin archive files were created successfully.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Los ficheros para archivo de plugin de eric6 se han creado correctamente.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5335"/>
+        <location filename="../Project/Project.py" line="5334"/>
         <source>&lt;p&gt;No package list files (PKGLIST*) available or selected. Aborting...&lt;/p&gt;</source>
         <translation>&lt;p&gt;No hay archivo de package list (PKGLIST*) disponible o seleccionado. Abortando...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5387"/>
+        <location filename="../Project/Project.py" line="5386"/>
         <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>&lt;p&gt;El archivo &lt;b&gt;{0}&lt;/b&gt; todavía no está listo.&lt;/p&gt;&lt;p&gt;Por favor, revíselo y borre la línea &apos;; initial_list&apos; del encabezado.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3940"/>
+        <location filename="../Project/Project.py" line="3939"/>
         <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>&lt;b&gt;Buscar nuevos archivos...&lt;/b&gt;&lt;p&gt;Busca nuevos archivos (fuentes, *.ui, *.idl, *.proto) en el directorio del proyecto y en los subdirectorios registrados.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="3998"/>
+        <location filename="../Project/Project.py" line="3997"/>
         <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>&lt;b&gt;Asociaciones de tipos de archivo...&lt;/b&gt;&lt;p&gt;Muestra un diálogo para editar asociaciones de tipos de archivo del proyecto. Estas asociaciones determinan el tipo (fuentes, formulario, interfaces, protocolos u otros) con un patrón de nombre de archivo. Se usan al añadir archivos al proyecto y al realizar una búsqueda de nuevos archivos.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="1496"/>
+        <location filename="../Project/Project.py" line="1495"/>
         <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>&lt;p&gt;El archivo de traducción seleccionado &lt;b&gt;{0}&lt;/b&gt; no se ha podido borrar.&lt;/p&gt;&lt;p&gt;Razón: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2215"/>
+        <location filename="../Project/Project.py" line="2214"/>
         <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>&lt;p&gt;El archivo seleccionado &lt;b&gt;{0}&lt;/b&gt; no se ha podido borrar.&lt;/p&gt;&lt;p&gt;Razón: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2245"/>
+        <location filename="../Project/Project.py" line="2244"/>
         <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>&lt;p&gt;El directorio seleccionado &lt;b&gt;{0}&lt;/b&gt; no se ha podido borrar.&lt;/p&gt;&lt;p&gt;Razón: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2738"/>
+        <location filename="../Project/Project.py" line="2737"/>
         <source>Create Makefile</source>
         <translation>Crear Makefile</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="2738"/>
+        <location filename="../Project/Project.py" line="2737"/>
         <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>&lt;p&gt;El makefile &lt;b&gt;{0}&lt;/b&gt; no se ha podido crear.&lt;br/&gt;Razón: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5751"/>
+        <location filename="../Project/Project.py" line="5750"/>
         <source>Execute Make</source>
         <translation>Ejecutar Make</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4268"/>
+        <location filename="../Project/Project.py" line="4267"/>
         <source>&amp;Execute Make</source>
         <translation>&amp;Ejecutar Make</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4272"/>
+        <location filename="../Project/Project.py" line="4271"/>
         <source>Perform a &apos;make&apos; run.</source>
         <translation>Ejecutar un &apos;make&apos;.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4274"/>
+        <location filename="../Project/Project.py" line="4273"/>
         <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>&lt;b&gt;Ejecutar Make&lt;/b&gt;&lt;p&gt;Ejecuta un &apos;make&apos; para reconstruir el target configurado.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5731"/>
+        <location filename="../Project/Project.py" line="5730"/>
         <source>Test for Changes</source>
         <translation>Comprobar Cambios</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4282"/>
+        <location filename="../Project/Project.py" line="4281"/>
         <source>&amp;Test for Changes</source>
         <translation>&amp;Comprobar Cambios</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4286"/>
+        <location filename="../Project/Project.py" line="4285"/>
         <source>Question &apos;make&apos;, if a rebuild is needed.</source>
         <translation>Preguntar a &apos;make&apos; si es necesario reconstruir.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4288"/>
+        <location filename="../Project/Project.py" line="4287"/>
         <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>&lt;b&gt;Comprobar Cambios&lt;/b&gt;&lt;p&gt;Pregunta a &apos;make si es necesario reconstruir el target configurado.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4333"/>
+        <location filename="../Project/Project.py" line="4332"/>
         <source>Make</source>
         <translation>Make</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5679"/>
+        <location filename="../Project/Project.py" line="5678"/>
         <source>The make process did not start.</source>
         <translation>El proceso make no ha comenzado.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5724"/>
+        <location filename="../Project/Project.py" line="5723"/>
         <source>The make process crashed.</source>
         <translation>El proceso make ha fallado.</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5734"/>
+        <location filename="../Project/Project.py" line="5733"/>
         <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>&lt;p&gt;Hay cambios que requieren que el target make configurado &lt;b&gt;{0}&lt;/b&gt; se reconstruya.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5739"/>
+        <location filename="../Project/Project.py" line="5738"/>
         <source>&lt;p&gt;There are changes that require the default make target to be rebuilt.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Hay cambios que requieren que el target make por defecto se reconstruya.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="5751"/>
+        <location filename="../Project/Project.py" line="5750"/>
         <source>The makefile contains errors.</source>
         <translation>El makefile contiene errores.</translation>
     </message>
     <message>
+        <location filename="../Project/Project.py" line="281"/>
+        <source>PySide2 GUI</source>
+        <translation>GUI de PySide2</translation>
+    </message>
+    <message>
         <location filename="../Project/Project.py" line="282"/>
-        <source>PySide2 GUI</source>
-        <translation>GUI de PySide2</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="283"/>
         <source>PySide2 Console</source>
         <translation>Consola PySide2</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="4321"/>
+        <location filename="../Project/Project.py" line="4320"/>
         <source>Project-T&amp;ools</source>
         <translation>Herramientas de Pr&amp;ojecto</translation>
     </message>
     <message>
-        <location filename="../Project/Project.py" line="278"/>
-        <source>PyQt4 GUI (deprecated)</source>
-        <translation type="obsolete">PyQt4 GUI (deprecado)</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="279"/>
-        <source>PyQt4 Console (deprecated)</source>
-        <translation type="obsolete">PyQt4 Console (deprecado)</translation>
-    </message>
-    <message>
-        <location filename="../Project/Project.py" line="345"/>
+        <location filename="../Project/Project.py" line="344"/>
         <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>
+        <translation>&lt;p&gt;El Lenguaje de Programación &lt;b&gt;{0}&lt;/b&gt; no está soportado (tipo de proyecto: {1}).&lt;/p&gt;</translation>
     </message>
 </context>
 <context>
@@ -55667,16 +55379,6 @@
         <translation>Asociación de fuentes</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="obsolete">Introduzca las extensiones de archivo a ser asociadas con las versiones de Python separadas por un espacio. No se deben solapar entre si.</translation>
-    </message>
-    <message>
-        <location filename="../Preferences/ConfigurationPages/PythonPage.ui" line="147"/>
-        <source>Python 2:</source>
-        <translation type="obsolete">Python 2:</translation>
-    </message>
-    <message>
         <location filename="../Preferences/ConfigurationPages/PythonPage.ui" line="137"/>
         <source>Python 3:</source>
         <translation>Python 3:</translation>
@@ -55709,7 +55411,7 @@
     <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>
+        <translation>Introducir extensiones de archivo a asociar con Python, separados por un espacio.</translation>
     </message>
 </context>
 <context>
@@ -60943,327 +60645,327 @@
     <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>
+        <translation>Detectado uso de &apos;assert&apos;. El código englobado se eliminará con la compilación a byte code optimizado.</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>
+        <translation>Detectado uso de &apos;exec&apos;.</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>
+        <translation>&apos;chmod&apos; estableciendo una máscara permisiva  {0} en archivo ({1}).</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="32"/>
         <source>Possible binding to all interfaces.</source>
-        <translation type="unfinished"></translation>
+        <translation>Posible enlace a todas las interfaces.</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>
+        <translation>Posible contraseña a código duro: &apos;{0}&apos;</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>
+        <translation>Probable uso inseguro de directorio/archivo temporal.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="53"/>
         <source>Try, Except, Pass detected.</source>
-        <translation type="unfinished"></translation>
+        <translation>Detectado Try, Except, Pass.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="56"/>
         <source>Try, Except, Continue detected.</source>
-        <translation type="unfinished"></translation>
+        <translation>Detectado Try, Except, Continue.</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>
+        <translation>Una apliación Flask parece ejecutada con debug=True, lo que expone la herramienta de depuración y permite la ejecución de código arbitrario.</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>
+        <translation>Pickle y módulos que lo envuelven puede ser inseguro cuando se utiliza para deserializar datos no confiables, posible problema de seguridad.</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>
+        <translation>La deserialización con el módulo marshal es posiblemente peligrosa.</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>
+        <translation>Uso de función de hash MD2, MD4, MD5, o SHA1 inseguro.</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>
+        <translation>Uso de cifrado &apos;{0}&apos; inseguro. Reemplazar con un cifrado seguro conocido como AES.</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>
+        <translation>Uso de modo de cifrado inseguro &apos;{0}&apos;.</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>
+        <translation>Uso de función insegura y deprecada (mktemp).</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>
+        <translation>Uso de función posiblemente insegura - considerar uso más seguro de ast.literal_eval.</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>
+        <translation>El uso de mark_safe() puede exponer vulnerabilidades de cross-site scripting y debería revisarse.</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>
+        <translation>El uso de HTTPSConnection en versionesde Python más antiguas que 2.7.9 y 3.4.3 no proporciona seguridad, ver https://wiki.openstack.org/wiki/OSSN/OSSN-0033</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>
+        <translation>Auditar url abierta a esquemas permitidos. PErmitir el uso de file:// o esquemas personalizados es a menudo inesperado.</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>
+        <translation>Los generadores pseudo-random estándar no son adecuados para propósitos de seguridad/criptografía.</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>
+        <translation>Invocación de funciones relacionadas con Telner. Telnet se considera como inseguro. Utilizar SSH o algún otro protocolo encriptado.</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>
+        <translation>El uso de &apos;{0}&apos; para interpretar datos XML no fiables es conocido como vector de ataques XML. Reemplazar &apos;{0}&apos; con su función equivalente defusedxml o asegurar que se está invocando defusedxml.defuse_stdlib().</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>
+        <translation>El uso de &apos;{0}&apos; para interpretar datos XML no fiables es conocido como vector de ataques XML. Reemplazar &apos;{0}&apos; con su función equivalente defusedxml.</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>
+        <translation>Invocación de funciones relacionadas con FTP. FTP se considera inseguro. Utilizar SSH/SFTP/SCP u otro protocolo encriptado.</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>
+        <translation>El método input en Python 2 lee desde el input estándar, evaluando y ejecutando la cadena resultante como código fuente Python. Esto es similar, aunque peor, al uso de eval. Con Python 2, utilizar raw_input en su logar, input es seguro con Python 3.</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>
+        <translation>Por defecto Python creará un contexto SSL seguro y verificado para utilizar en clases como HTTPSConnection. Sin embargo, aún así permite el uso de contextos inseguros a través de _create_unverified_context que revierte al comportamient anterior sin validación de certificados o comprobación de hostname.</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>
+        <translation>Uso de os.tempnam() y os.tmpnam() es vulnerable a ataques symlink. Considerar el uso de tmpfile() en su lugar.</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>
+        <translation>Uso de función de hash {0} insegura.</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>
+        <translation>Se está importando un módulo relacionado con telnet.  Telnet se considera inseguro. Utilizar SSH u otro protocolo encriptado.</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>
+        <translation>Se está importando un módulo relacionado con FTP.  FTP se considera inseguro. Usar SSH/SFTP/SCP u otro protocolo encriptado.</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>
+        <translation>Considerar las posibles implicaciones de seguridad asociadas con el módulo &apos;{0}&apos;.</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>
+        <translation>El uso de &apos;{0}&apos; para interpretar datos XML no fiables es conocido como vector de ataques XML. Reemplazar &apos;{0}&apos; con su package equivalente defusedxml o asegurar que se está invocando defusedxml.defuse_stdlib().</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>
+        <translation>El uso de &apos;{0}&apos; para interpretar datos XML no fiables es conocido como vector de ataques XML. Reemplazar &apos;{0}&apos; con package equivalente defusedxml.</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>
+        <translation>El uso de &apos;{0}&apos; para interpretar datos XML no fiables es conocido como vector de ataques XML. Utilizar la función defused.xmlrpc.monkey_patch() para hacer &apos;monkey patch&apos; con xmlrpclib y mitigar las vulnerabilidades XML.</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>
+        <translation>Considerar las posibles implicaciones de seguridad asociadas con el módulo &apos;{0}&apos;.</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>
+        <translation>La biblioteca pyCrypto y su módulo &apos;{0}&apos; ya no tienen mantenimiento y se han deprecado. Considerar el uso de la biblioteca pyca/cryptography.</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>
+        <translation>Llamada &apos;requests&apos; con verify=False deshabilitando comprobaciones de certificado SSL, problema de seguridad.</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>
+        <translation>Llamada &apos;ssl.wrap_socket&apos; con versión de protocolo SSL/TLS insegura identificada, problema de seguridad.</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>
+        <translation>Llamada &apos;SSL.Context&apos; con versión de protocolo SSL/TLS insegura identificada, problema de seguridad.</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>
+        <translation>Llamada a Function con versión de protocolo SSL/TLS insegura identificada, problema de seguridad.</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>
+        <translation>Definición de función con versión de protocolo SSL/TLS insegura identificada, posible problema de seguridad.</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>
+        <translation>Llamada &apos;ssl.wrap_socket&apos; sin versión de protocolo SSL/TLS especificada, el valor por defecto &apos;SSLv23&apos; puede ser inseguro, posible problema de seguridad.</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>
+        <translation>Tamaños {0} de clave por debajo de {1:d} bits se consideran frágiles.</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>
+        <translation>Uso de &apos;yaml.load()&apos; no seguro. Permite la instanciación de objetos arbitrarios. Considerar &apos;yaml.safe_load()&apos;.</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>
+        <translation>Llamada Paramiko con política de asignar automáticamente relación de confianza a una clave de host desconocido.</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>
+        <translation>Posible inyección de shell vía llamada &apos;Paramiko&apos;, comprobar que las entradas se han sanitizado adecuadamente.</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>
+        <translation>La llamada &apos;subprocess&apos; con shell=True parece segura, pero puede cambiar en el futuro, considerar reimplementación sin shell</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>
+        <translation>Llamada &apos;subprocess&apos; sin shell=True identificada, problema de seguridad.</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>
+        <translation>Llamada &apos;subprocess&apos; - comprobar la ejecución de inputs de no confianza.</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>
+        <translation>Llamada a función con parámetro shell=True identificada, posible problema de seguridad.</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>
+        <translation>Inicio de un proceso con una shell: Aparentemente seguro, pero esto puede cambiar en el futuro, considerar reimplementación sin shell</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>
+        <translation>Iniciar un proceso con una shell, posible inyeción detectada, problema de seguridad.</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>
+        <translation>Iniciar un proceso sin una shell.</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>
+        <translation>Iniciar un proceso con una ruta parcialmente ejecutable.</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>
+        <translation>Posible vector de inyección de SQL a través de construcción de query basada en cadenas.</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>
+        <translation>Posible inyección de wildcard en llamada: {0}</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>
+        <translation>Uso de&apos;extra()&apos; abre un vector potencial de ataque SQL.</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>
+        <translation>El uso de &apos;RawSQL()&apos; abre un vector potencial de ataque SQL.</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>
+        <translation>El uso de plantillas jinja2 con &apos;autoescape=False&apos; es peligroso y puede conducir a XSS. Usar &apos;autoescape=True&apos; o usar la función &apos;select_autoescape&apos; para mitigar vulnerabilidades XSS.</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>
+        <translation>Por defecto, jinja2 establece &apos;autoescape&apos; a False. Considerar el uso de &apos;autoescape=True&apos; o de la función &apos;select_autoescape&apos; para mitigar vulnerabilidades XSS.</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>
+        <translation>Las plantillas Mako permiten dibujado de HTML/JS por defecto y son inherentemente abiertas a ataques XSS. Asegurar que las variables en todas las plantillas se sanitizan apropiadamente con la flags &apos;n&apos;, &apos;h&apos; o &apos;x&apos; (dependiendo del contexto). Por ejemplo, para hacer un HTML escape de la avariable &apos;data&apos;, hacer ${{ data |h }}.</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>
+        <translation>Potencial XSS en la función &apos;mark_safe()&apos;.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="373"/>
         <source>{0}: {1}</source>
-        <translation type="unfinished">{0}: {1}</translation>
+        <translation>{0}: {1}</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>
+        <translation>Posible clave de acceso a AWS con código duro: {0}</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>
+        <translation>Posible clave secreta de acceso a AWS con código duro: {0}</translation>
     </message>
 </context>
 <context>
@@ -61869,52 +61571,52 @@
         <translation>Popular a partir del Proyecto</translation>
     </message>
     <message>
-        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="62"/>
+        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="61"/>
         <source>distutils</source>
         <translation>distutils</translation>
     </message>
     <message>
-        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="63"/>
+        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="62"/>
         <source>setuptools</source>
         <translation>setuptools</translation>
     </message>
     <message>
-        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="547"/>
+        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="545"/>
         <source>Package Directory</source>
         <translation>Directorio de Paquetes</translation>
     </message>
     <message>
-        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="580"/>
+        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="578"/>
         <source>Packages Root Directory</source>
         <translation>Directorio Raíz de Paquetes</translation>
     </message>
     <message>
-        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="619"/>
+        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="617"/>
         <source>Add Package</source>
         <translation>Añadir Paquete</translation>
     </message>
     <message>
-        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="619"/>
+        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="617"/>
         <source>&lt;p&gt;The directory &lt;b&gt;{0}&lt;/b&gt; is not a Python package.&lt;/p&gt;</source>
         <translation>&lt;p&gt;El directorio &lt;b&gt;{0}&lt;/b&gt; no es un paquete Python.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="675"/>
+        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="673"/>
         <source>Add Scripts</source>
         <translation>Añadir Scripts</translation>
     </message>
     <message>
-        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="675"/>
+        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="673"/>
         <source>Python Files (*.py);;All Files(*)</source>
         <translation>Archivos Python (*.py);;Todos los Archivos(*)</translation>
     </message>
     <message>
-        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="714"/>
+        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="712"/>
         <source>Add Python Modules</source>
         <translation>Añadir Módulos Python</translation>
     </message>
     <message>
-        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="714"/>
+        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="712"/>
         <source>Python Files (*.py)</source>
         <translation>Archivos de Python (*.py)</translation>
     </message>
@@ -61964,12 +61666,12 @@
         <translation>Introducir las palabras clave separadas por comas</translation>
     </message>
     <message>
-        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="155"/>
+        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="154"/>
         <source>Reading Trove Classifiers</source>
         <translation>Leyendo Clasificadores Trove</translation>
     </message>
     <message>
-        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="155"/>
+        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="154"/>
         <source>&lt;p&gt;The Trove Classifiers file &lt;b&gt;{0}&lt;/b&gt; could not be read.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;El archivo de Clasificadores Trove &lt;b&gt;{0}&lt;/b&gt; no se ha podido leer.&lt;/p&gt;&lt;p&gt;Razón: {1}&lt;/p&gt;</translation>
     </message>
@@ -62029,7 +61731,7 @@
         <translation>Añadir Sentencia &apos;include_package_data&apos;</translation>
     </message>
     <message>
-        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="793"/>
+        <location filename="../Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py" line="791"/>
         <source>Source Directory</source>
         <translation>Directorio de Fuentes</translation>
     </message>
@@ -65564,22 +65266,22 @@
         <translation>Desbloqueando en el repositorio Subversion</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsPySvn/subversion.py" line="1940"/>
+        <location filename="../Plugins/VcsPlugins/vcsPySvn/subversion.py" line="1938"/>
         <source>Property set.</source>
         <translation>Propiedad establecida.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsPySvn/subversion.py" line="1992"/>
+        <location filename="../Plugins/VcsPlugins/vcsPySvn/subversion.py" line="1990"/>
         <source>Property deleted.</source>
         <translation>Propiedad borrada.</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsPySvn/subversion.py" line="2264"/>
+        <location filename="../Plugins/VcsPlugins/vcsPySvn/subversion.py" line="2262"/>
         <source>Subversion Lock</source>
         <translation>Bloqueo de Subversion</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsPySvn/subversion.py" line="2264"/>
+        <location filename="../Plugins/VcsPlugins/vcsPySvn/subversion.py" line="2262"/>
         <source>Enter lock comment</source>
         <translation>Introducir comentario para el bloqueo</translation>
     </message>
@@ -68184,7 +67886,7 @@
         <translation>Fecha</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnRepoBrowserDialog.py" line="287"/>
+        <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnRepoBrowserDialog.py" line="286"/>
         <source>Subversion Error</source>
         <translation>Error de Subversion</translation>
     </message>
@@ -68239,7 +67941,7 @@
         <translation>Alt+M</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnRepoBrowserDialog.py" line="207"/>
+        <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnRepoBrowserDialog.py" line="206"/>
         <source>The installed version of PySvn should be 1.4.0 or better.</source>
         <translation>La versión instalada de PySvn debería ser 1.4.0 o superior.</translation>
     </message>
@@ -69032,7 +68734,7 @@
         <translation>Error de Generación de Proceso</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnTagBranchListDialog.py" line="158"/>
+        <location filename="../Plugins/VcsPlugins/vcsPySvn/SvnTagBranchListDialog.py" line="157"/>
         <source>The installed version of PySvn should be 1.4.0 or better.</source>
         <translation>La versión instalada de PySvn debería ser 1.4.0 o superior.</translation>
     </message>
@@ -70907,27 +70609,22 @@
 <context>
     <name>SyntaxCheckService</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="211"/>
-        <source>Python 2 batch check</source>
-        <translation type="obsolete">Python 2 comprobación por lotes</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="211"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="209"/>
         <source>Python 3 batch check</source>
         <translation>Python 3 comprobación por lotes</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="227"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="225"/>
         <source>JavaScript batch check</source>
         <translation>Javascript comprobación por lotes</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="243"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="241"/>
         <source>YAML batch check</source>
         <translation>YAML comprobación por lotes</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="259"/>
+        <location filename="../Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckService.py" line="257"/>
         <source>JSON batch check</source>
         <translation>JSON comprobación por lotes</translation>
     </message>
@@ -71515,7 +71212,7 @@
         <translation>Muestra el progreso de la acción de tabnanny</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Tabnanny/TabnannyDialog.py" line="327"/>
+        <location filename="../Plugins/CheckerPlugins/Tabnanny/TabnannyDialog.py" line="326"/>
         <source>No indentation errors found.</source>
         <translation>No se han encontrado errores de indentación.</translation>
     </message>
@@ -71545,7 +71242,7 @@
         <translation>%v/%m Archivos</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Tabnanny/TabnannyDialog.py" line="232"/>
+        <location filename="../Plugins/CheckerPlugins/Tabnanny/TabnannyDialog.py" line="231"/>
         <source>Preparing files...</source>
         <translation>Preparando archivos...</translation>
     </message>
@@ -71555,7 +71252,7 @@
         <translation>Errores</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/Tabnanny/TabnannyDialog.py" line="255"/>
+        <location filename="../Plugins/CheckerPlugins/Tabnanny/TabnannyDialog.py" line="254"/>
         <source>Transferring data...</source>
         <translation>Transfiriendo datos...</translation>
     </message>
@@ -71563,32 +71260,27 @@
 <context>
     <name>TabnannyPlugin</name>
     <message>
-        <location filename="../Plugins/PluginTabnanny.py" line="288"/>
+        <location filename="../Plugins/PluginTabnanny.py" line="289"/>
         <source>Check Indentations</source>
         <translation>Verificar Indentaciones</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginTabnanny.py" line="288"/>
+        <location filename="../Plugins/PluginTabnanny.py" line="289"/>
         <source>&amp;Indentations...</source>
         <translation>&amp;Indentaciones...</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginTabnanny.py" line="195"/>
+        <location filename="../Plugins/PluginTabnanny.py" line="196"/>
         <source>Check indentations using tabnanny.</source>
         <translation>Verificar indentaciones utilizando tabnanny.</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginTabnanny.py" line="292"/>
+        <location filename="../Plugins/PluginTabnanny.py" line="293"/>
         <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;Verificar Indentaciones...&lt;/b&gt;&lt;p&gt;Chequea archivos Python buscando indentaciones mal hechas usando tabnanny.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/PluginTabnanny.py" line="106"/>
-        <source>Python 2 batch check</source>
-        <translation type="obsolete">Python 2 comprobación por lotes</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/PluginTabnanny.py" line="101"/>
+        <location filename="../Plugins/PluginTabnanny.py" line="102"/>
         <source>Python 3 batch check</source>
         <translation>Python 3 comprobación por lotes</translation>
     </message>
@@ -74235,12 +73927,12 @@
         <translation>Diagrama de Clases: {0}</translation>
     </message>
     <message>
-        <location filename="../Graphics/UMLClassDiagramBuilder.py" line="84"/>
+        <location filename="../Graphics/UMLClassDiagramBuilder.py" line="83"/>
         <source>The module &lt;b&gt;&apos;{0}&apos;&lt;/b&gt; could not be found.</source>
         <translation>No se encuentra el módulo &lt;b&gt;&apos;{0}&apos;&lt;/b&gt;.</translation>
     </message>
     <message>
-        <location filename="../Graphics/UMLClassDiagramBuilder.py" line="146"/>
+        <location filename="../Graphics/UMLClassDiagramBuilder.py" line="145"/>
         <source>The module &lt;b&gt;&apos;{0}&apos;&lt;/b&gt; does not contain any classes.</source>
         <translation>El módulo &lt;b&gt;&apos;{0}&apos;&lt;/b&gt; no contiene ninguna clase.</translation>
     </message>
@@ -74702,11 +74394,6 @@
         <translation>Archivos Python (*.py);;Todos los Archivos (*)</translation>
     </message>
     <message>
-        <location filename="../PyUnit/UnittestDialog.py" line="299"/>
-        <source>Python3 Files ({1});;Python2 Files ({0});;All Files (*)</source>
-        <translation type="obsolete">Archivos Python3 ({1});;Archivos Python2 ({0});;Todos los Archivos (*)</translation>
-    </message>
-    <message>
         <location filename="../PyUnit/UnittestDialog.py" line="1023"/>
         <source>Failure: {0}</source>
         <translation>Fallido: {0}</translation>
@@ -74964,7 +74651,7 @@
     <message>
         <location filename="../PyUnit/UnittestDialog.py" line="294"/>
         <source>Python3 Files ({0});;All Files (*)</source>
-        <translation type="unfinished"></translation>
+        <translation>Archivos de Python3 ({0});;Todos los Archivos (*)</translation>
     </message>
 </context>
 <context>
@@ -75751,31 +75438,6 @@
         <translation>&lt;b&gt;Repositorios de Plugins...&lt;/b&gt;&lt;p&gt;Abre un diálogo que muestra una lista de extensiones (plugins) disponibles en Internet.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2735"/>
-        <source>Qt4 Documentation</source>
-        <translation type="obsolete">Documentación de Qt4</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2735"/>
-        <source>Qt&amp;4 Documentation</source>
-        <translation type="obsolete">Documentación de Qt&amp;4</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2739"/>
-        <source>Open Qt4 Documentation</source>
-        <translation type="obsolete">Abrir Documentación de Qt4</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2767"/>
-        <source>PyQt4 Documentation</source>
-        <translation type="obsolete">Documentación de PyQt4</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2771"/>
-        <source>Open PyQt4 Documentation</source>
-        <translation type="obsolete">Abrir Documentación de PyQt4</translation>
-    </message>
-    <message>
         <location filename="../UI/UserInterface.py" line="2793"/>
         <source>Eric API Documentation</source>
         <translation>Documentación de API de Eric</translation>
@@ -75931,11 +75593,6 @@
         <translation>Documentación</translation>
     </message>
     <message>
-        <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 type="obsolete">&lt;P&gt;El punto de entrada de documentación de PyQt4 no ha sido configurado.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../UI/UserInterface.py" line="6263"/>
         <source>Save tasks</source>
         <translation>Guardar tareas</translation>
@@ -76286,21 +75943,6 @@
         <translation>Editor de &amp;Iconos...</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2869"/>
-        <source>PySide Documentation</source>
-        <translation type="obsolete">Documentación de PySide</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2869"/>
-        <source>Py&amp;Side Documentation</source>
-        <translation type="obsolete">Documentación de Py&amp;Side</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2873"/>
-        <source>Open PySide Documentation</source>
-        <translation type="obsolete">Abrir Documentación de PySide</translation>
-    </message>
-    <message>
         <location filename="../UI/UserInterface.py" line="1487"/>
         <source>{0} - Passive Mode</source>
         <translation>{0} - Modo Pasivo</translation>
@@ -76475,26 +76117,6 @@
         <translation>Abrir Documentación de Python 3</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2823"/>
-        <source>Python 2 Documentation</source>
-        <translation type="obsolete">Documentación de Python 2</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2823"/>
-        <source>Python &amp;2 Documentation</source>
-        <translation type="obsolete">Documentación de Python &amp;2</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2827"/>
-        <source>Open Python 2 Documentation</source>
-        <translation type="obsolete">Abrir Documentación de Python 2</translation>
-    </message>
-    <message>
-        <location filename="../UI/UserInterface.py" line="2829"/>
-        <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="obsolete">&lt;b&gt;Documentación de Python 2&lt;/b&gt;&lt;p&gt;Mostrar la documentación de Python 2. Si no se ha configurado un directorio con esta documentación, la ubicación de la documentación de Python 2 se asumirá en el directorio de documentación bajo la ubicación del ejecutable configurado de Python 2 en Windows, y en &lt;i&gt;/usr/share/doc/packages/python/html/python-docs-html&lt;/i&gt; para Unix. Establezca el valor de la variable de entorno PYTHON2DOCDIR para sobreescribir estas opciones. &lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../UI/UserInterface.py" line="6916"/>
         <source>Error getting versions information</source>
         <translation>Error al obtener información de versiones</translation>
@@ -76951,11 +76573,6 @@
         <translation>&lt;b&gt;Editar Filtros de Mensajes&lt;/b&gt;&lt;p&gt;Abre un diálogo para editar los filtros de mensajes utilizados para suprimir mensajes no deseados y que no se muestren en la ventana de error.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2767"/>
-        <source>PyQt&amp;4 Documentation</source>
-        <translation type="obsolete">Documentación de PyQt&amp;4</translation>
-    </message>
-    <message>
         <location filename="../UI/UserInterface.py" line="2750"/>
         <source>PyQt5 Documentation</source>
         <translation>Documentación de PyQt5</translation>
@@ -77212,30 +76829,15 @@
     </message>
     <message>
         <location filename="../UI/UserInterface.py" line="2740"/>
-        <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>
-        <translation type="obsolete">&lt;b&gt;Documentación de Qt4&lt;/b&gt;&lt;p&gt;Muestra la Documentación de Qt4. Dependiendo de la configuración, esta documentación será mostrará en el visor de ayuda interno de Eric, o se ejecutará en un navegador web, o Qt Assistant.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <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>&lt;b&gt;Documentación de Qt5&lt;/b&gt;&lt;p&gt;Muestra la Documentación de Qt5. Dependiendo de la configuración, esta documentación será mostrará en el visor de ayuda interno de Eric, o se ejecutará en un navegador web, o Qt Assistant.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2772"/>
-        <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="obsolete">&lt;b&gt;Documentación de PyQt4&lt;/b&gt;&lt;p&gt;Muestra la Documentación de PyQt4. Dependiendo de la configuración, esta documentación será mostrará en el visor de ayuda interno de Eric, o se ejecutará en un navegador web, o Qt Assistant.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../UI/UserInterface.py" line="2756"/>
         <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>&lt;b&gt;Documentación de PyQt5&lt;/b&gt;&lt;p&gt;Muestra la Documentación de PyQt5. Dependiendo de la configuración, esta documentación será mostrará en el visor de ayuda interno de Eric, o se ejecutará en un navegador web, o Qt Assistant.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../UI/UserInterface.py" line="2875"/>
-        <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="obsolete">&lt;b&gt;Documentación de PySide&lt;/b&gt;&lt;p&gt;Muestra la Documentación de PySide. Dependiendo de la configuración, esta documentación será mostrará en el visor de ayuda interno de Eric, o se ejecutará en un navegador web, o Qt Assistant.&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../UI/UserInterface.py" line="2814"/>
         <source>PySide2 Documentation</source>
         <translation>Documentación de PySide2</translation>
@@ -77518,167 +77120,167 @@
 <context>
     <name>Variable Types</name>
     <message>
-        <location filename="../Debugger/Config.py" line="17"/>
+        <location filename="../Debugger/Config.py" line="15"/>
         <source>Hidden Attributes</source>
         <translation>Atributos Ocultos</translation>
     </message>
     <message>
+        <location filename="../Debugger/Config.py" line="16"/>
+        <source>None</source>
+        <translation>Ninguno</translation>
+    </message>
+    <message>
+        <location filename="../Debugger/Config.py" line="17"/>
+        <source>Type</source>
+        <translation>Tipo</translation>
+    </message>
+    <message>
         <location filename="../Debugger/Config.py" line="18"/>
-        <source>None</source>
-        <translation>Ninguno</translation>
+        <source>Boolean</source>
+        <translation>Booleano</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="19"/>
-        <source>Type</source>
-        <translation>Tipo</translation>
+        <source>Integer</source>
+        <translation>Entero</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="20"/>
-        <source>Boolean</source>
-        <translation>Booleano</translation>
+        <source>Long Integer</source>
+        <translation>Entero Largo</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="21"/>
-        <source>Integer</source>
-        <translation>Entero</translation>
+        <source>Float</source>
+        <translation>Flotante</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="22"/>
-        <source>Long Integer</source>
-        <translation>Entero Largo</translation>
+        <source>Complex</source>
+        <translation>Complejo</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="23"/>
-        <source>Float</source>
-        <translation>Flotante</translation>
+        <source>String</source>
+        <translation>Cadena</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="24"/>
-        <source>Complex</source>
-        <translation>Complejo</translation>
+        <source>Unicode String</source>
+        <translation>Cadena Unicode</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="25"/>
-        <source>String</source>
-        <translation>Cadena</translation>
+        <source>Tuple</source>
+        <translation>Tupla</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="26"/>
-        <source>Unicode String</source>
-        <translation>Cadena Unicode</translation>
+        <source>List/Array</source>
+        <translation>Lista/Array</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="27"/>
-        <source>Tuple</source>
-        <translation>Tupla</translation>
+        <source>Dictionary/Hash/Map</source>
+        <translation>Diccionario/Hash/Mapa</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="28"/>
-        <source>List/Array</source>
-        <translation>Lista/Array</translation>
-    </message>
-    <message>
-        <location filename="../Debugger/Config.py" line="29"/>
-        <source>Dictionary/Hash/Map</source>
-        <translation>Diccionario/Hash/Mapa</translation>
-    </message>
-    <message>
-        <location filename="../Debugger/Config.py" line="30"/>
         <source>Dictionary Proxy</source>
         <translation>Proxy a Diccionario</translation>
     </message>
     <message>
+        <location filename="../Debugger/Config.py" line="31"/>
+        <source>File</source>
+        <translation>Archivo</translation>
+    </message>
+    <message>
+        <location filename="../Debugger/Config.py" line="32"/>
+        <source>X Range</source>
+        <translation>Rango X</translation>
+    </message>
+    <message>
         <location filename="../Debugger/Config.py" line="33"/>
-        <source>File</source>
-        <translation>Archivo</translation>
+        <source>Slice</source>
+        <translation>Slice</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="34"/>
-        <source>X Range</source>
-        <translation>Rango X</translation>
+        <source>Buffer</source>
+        <translation>Buffr</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="35"/>
-        <source>Slice</source>
-        <translation>Slice</translation>
+        <source>Class</source>
+        <translation>Clase</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="36"/>
-        <source>Buffer</source>
-        <translation>Buffr</translation>
+        <source>Class Instance</source>
+        <translation>Instancia de Clase</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="37"/>
-        <source>Class</source>
-        <translation>Clase</translation>
+        <source>Class Method</source>
+        <translation>Método de Clase</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="38"/>
-        <source>Class Instance</source>
-        <translation>Instancia de Clase</translation>
+        <source>Class Property</source>
+        <translation>Propiedad de Clase</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="39"/>
-        <source>Class Method</source>
-        <translation>Método de Clase</translation>
+        <source>Generator</source>
+        <translation>Generador</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="40"/>
-        <source>Class Property</source>
-        <translation>Propiedad de Clase</translation>
-    </message>
-    <message>
-        <location filename="../Debugger/Config.py" line="41"/>
-        <source>Generator</source>
-        <translation>Generador</translation>
+        <source>Function</source>
+        <translation>Función</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="42"/>
-        <source>Function</source>
-        <translation>Función</translation>
+        <source>Builtin Function</source>
+        <translation>Función de serie (builtin)</translation>
+    </message>
+    <message>
+        <location filename="../Debugger/Config.py" line="43"/>
+        <source>Code</source>
+        <translation>Código</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="44"/>
-        <source>Builtin Function</source>
-        <translation>Función de serie (builtin)</translation>
+        <source>Module</source>
+        <translation>Módulo</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="45"/>
-        <source>Code</source>
-        <translation>Código</translation>
+        <source>Ellipsis</source>
+        <translation>Elipse</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="46"/>
-        <source>Module</source>
-        <translation>Módulo</translation>
+        <source>Traceback</source>
+        <translation>Trazado</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="47"/>
-        <source>Ellipsis</source>
-        <translation>Elipse</translation>
+        <source>Frame</source>
+        <translation>Frame</translation>
+    </message>
+    <message>
+        <location filename="../Debugger/Config.py" line="29"/>
+        <source>Set</source>
+        <translation>Establecer</translation>
+    </message>
+    <message>
+        <location filename="../Debugger/Config.py" line="30"/>
+        <source>Frozen Set</source>
+        <translation>Conjunto Congelado</translation>
     </message>
     <message>
         <location filename="../Debugger/Config.py" line="48"/>
-        <source>Traceback</source>
-        <translation>Trazado</translation>
-    </message>
-    <message>
-        <location filename="../Debugger/Config.py" line="49"/>
-        <source>Frame</source>
-        <translation>Frame</translation>
-    </message>
-    <message>
-        <location filename="../Debugger/Config.py" line="31"/>
-        <source>Set</source>
-        <translation>Establecer</translation>
-    </message>
-    <message>
-        <location filename="../Debugger/Config.py" line="32"/>
-        <source>Frozen Set</source>
-        <translation>Conjunto Congelado</translation>
-    </message>
-    <message>
-        <location filename="../Debugger/Config.py" line="50"/>
         <source>Bytes</source>
         <translation>Bytes</translation>
     </message>
@@ -77709,7 +77311,7 @@
 <context>
     <name>VariableItem</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="211"/>
+        <location filename="../Debugger/VariablesViewer.py" line="208"/>
         <source>&lt;double click to show value&gt;</source>
         <translation>&lt;doble click para mostrar valor&gt;</translation>
     </message>
@@ -77776,22 +77378,22 @@
 <context>
     <name>VariablesModel</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="282"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Globals</source>
         <translation>Globales</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="284"/>
+        <location filename="../Debugger/VariablesViewer.py" line="281"/>
         <source>Locals</source>
         <translation>Locales</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="286"/>
+        <location filename="../Debugger/VariablesViewer.py" line="283"/>
         <source>Type</source>
         <translation>Tipo</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="286"/>
+        <location filename="../Debugger/VariablesViewer.py" line="283"/>
         <source>Value</source>
         <translation>Valor</translation>
     </message>
@@ -77799,32 +77401,32 @@
 <context>
     <name>VariablesViewer</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="958"/>
+        <location filename="../Debugger/VariablesViewer.py" line="955"/>
         <source>Global Variables</source>
         <translation>Variables Globales</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="959"/>
+        <location filename="../Debugger/VariablesViewer.py" line="956"/>
         <source>&lt;b&gt;The Global Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the global variables of the debugged program.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Ventana de Visor de Variables Globales&lt;/b&gt;&lt;p&gt;Esta ventana muestra las variables globales del programa en depuración.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="965"/>
+        <location filename="../Debugger/VariablesViewer.py" line="962"/>
         <source>Local Variables</source>
         <translation>Variables Locales</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="966"/>
+        <location filename="../Debugger/VariablesViewer.py" line="963"/>
         <source>&lt;b&gt;The Local Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the local variables of the debugged program.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Ventana de Visor de Variables Locales&lt;/b&gt;&lt;p&gt;Esta ventana muestra las variables locales  del programa en depuración.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1083"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1080"/>
         <source>Show Details...</source>
         <translation>Mostrar detalles...</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1098"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1095"/>
         <source>Configure...</source>
         <translation>Configurar...</translation>
     </message>
@@ -77834,27 +77436,27 @@
         <translation>{0} elementos</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1096"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1093"/>
         <source>Refresh</source>
         <translation>Actualizar</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1085"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1082"/>
         <source>Expand</source>
         <translation>Expandir</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1086"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1083"/>
         <source>Collapse</source>
         <translation>Contraer</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1087"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1084"/>
         <source>Collapse All</source>
         <translation>Contraer Todo</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1096"/>
         <source>Variables Type Filter...</source>
         <translation>Fitro por Tipo de Variable...</translation>
     </message>
@@ -81998,11 +81600,6 @@
         <translation>Entorno Global</translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="87"/>
-        <source>Select the Python variant</source>
-        <translation type="obsolete">Seleccionar la variante de Python</translation>
-    </message>
-    <message>
         <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="20"/>
         <source>PATH Prefix:</source>
         <translation>Prefijo de PATH:</translation>
@@ -82013,11 +81610,6 @@
         <translation>Introducir la ruta de búsqueda del ejecutable a anteponer a la variable de entorno PATH. Usar &apos;{0}&apos; como separador.</translation>
     </message>
     <message>
-        <location filename="../VirtualEnv/VirtualenvAddEditDialog.ui" line="80"/>
-        <source>Python Variant:</source>
-        <translation type="obsolete">Variante de Python:</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>
@@ -82597,11 +82189,6 @@
         <source>Python Interpreter</source>
         <translation>Intérprete de Python</translation>
     </message>
-    <message>
-        <location filename="../VirtualEnv/VirtualenvInterpreterSelectionDialog.ui" line="64"/>
-        <source>Select the Python variant</source>
-        <translation type="obsolete">Seleccionar la variante de Python</translation>
-    </message>
 </context>
 <context>
     <name>VirtualenvManager</name>
@@ -83570,12 +83157,12 @@
         <translation>Hoja de Estilo:</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/WebBrowserInterfacePage.py" line="37"/>
+        <location filename="../Preferences/ConfigurationPages/WebBrowserInterfacePage.py" line="35"/>
         <source>Qt Style Sheets (*.qss);;Cascading Style Sheets (*.css);;All files (*)</source>
         <translation>hojas de Estilos Qt (*.qss);;hojas de Estilos CSS (*.css);;Todos los Archivos(*)</translation>
     </message>
     <message>
-        <location filename="../Preferences/ConfigurationPages/WebBrowserInterfacePage.py" line="63"/>
+        <location filename="../Preferences/ConfigurationPages/WebBrowserInterfacePage.py" line="61"/>
         <source>System</source>
         <translation>Sistema</translation>
     </message>
@@ -87264,7 +86851,7 @@
         <translation>Error de interpretación de XML</translation>
     </message>
     <message>
-        <location filename="../E5XML/XMLStreamReaderBase.py" line="194"/>
+        <location filename="../E5XML/XMLStreamReaderBase.py" line="191"/>
         <source>Pickle data encoding &apos;{0}&apos; is not supported.</source>
         <translation>La codificación de datos de Pickle {0}no está soportada.</translation>
     </message>
@@ -87855,7 +87442,7 @@
     <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>
+        <translation>&apos;if tuple literal&apos; siempre es true, ¿quizá se deba eliminar una coma accidental?</translation>
     </message>
 </context>
 <context>
@@ -88279,7 +87866,7 @@
 <context>
     <name>subversion</name>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsPySvn/subversion.py" line="1741"/>
+        <location filename="../Plugins/VcsPlugins/vcsPySvn/subversion.py" line="1739"/>
         <source>unknown</source>
         <translation>desconocido</translation>
     </message>
@@ -88289,7 +87876,7 @@
         <translation>&lt;h3&gt;Información del repositorio&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Subversion V.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;URL&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Revisión actual&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Revisión enviada&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Fecha de envío&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{4}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Hora de envío&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{5}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Último autor&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{6}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../Plugins/VcsPlugins/vcsPySvn/subversion.py" line="1744"/>
+        <location filename="../Plugins/VcsPlugins/vcsPySvn/subversion.py" line="1742"/>
         <source>&lt;h3&gt;Repository information&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;PySvn V.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Subversion V.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Subversion API V.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;URL&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Current revision&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{4}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Committed revision&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{5}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Committed date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{6}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Comitted time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{7}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Last author&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{8}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation>&lt;h3&gt;Information del repositorio&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;PySvn V.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Subversion V.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Subversion API V.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;URL&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Current revision&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{4}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Revisión enviada&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{5}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Fecha de envío&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{6}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Hora de envio&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{7}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Último autor&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{8}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
Binary file eric6/i18n/eric6_fr.qm has changed
--- a/eric6/i18n/eric6_fr.ts	Sat Jul 04 11:46:13 2020 +0200
+++ b/eric6/i18n/eric6_fr.ts	Sat Aug 01 10:38:45 2020 +0200
@@ -10,7 +10,7 @@
     <message>
         <location filename="../Plugins/AboutPlugin/AboutDialog.ui" line="56"/>
         <source>&amp;About</source>
-        <translation>&amp;À propos de </translation>
+        <translation>&amp;À propos</translation>
     </message>
     <message>
         <location filename="../Plugins/AboutPlugin/AboutDialog.ui" line="73"/>
@@ -30,7 +30,7 @@
     <message>
         <location filename="../Plugins/AboutPlugin/AboutDialog.py" line="24"/>
         <source>&lt;p&gt;{0} is an Integrated Development Environment for the Python programming language. It is written using the PyQt Python bindings for the Qt GUI toolkit and the QScintilla editor widget.&lt;/p&gt;&lt;p&gt;For more information see &lt;a href=&quot;{1}&quot;&gt;{1}&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Please send bug reports to &lt;a href=&quot;mailto:{2}&quot;&gt;{2}&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;To request a new feature please send an email to &lt;a href=&quot;mailto:{3}&quot;&gt;{3}&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;{0} uses third party software which is copyrighted by its respective copyright holder. For details see the copyright notice of the individual package.&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">&lt;p&gt;{0} est un environnement de développement intégré pour le langage Python. Il est écrit à l&apos;aide du binding Python PyQt pour la bibliothèque Qt et de l&apos;éditeur QScintilla.&lt;/p&gt;&lt;p&gt;POur plus d&apos;informations, voir &lt;a href=&quot;{1}&quot;&gt;{1}&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Merci d&apos;envoyer vos rapports de bug à &lt;a href=&quot;mailto:{2}&quot;&gt;{2}&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Pour demander une nouvelle fonctionnalité, merci d&apos;envoyer un courriel à &lt;a href=&quot;mailto:{3}&quot;&gt;{3}&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;{0} utilise des programmes tiers qui sont protégés par le droit d&apos;auteurs. Pour plus de détails, voir la licence du programme concerné.&lt;/p&gt;</translation>
     </message>
 </context>
 <context>
@@ -184,7 +184,7 @@
     <message>
         <location filename="../WebBrowser/AdBlock/AdBlockDialog.ui" line="135"/>
         <source>Use only essential part of EasyList (for performance reasons)</source>
-        <translation type="unfinished"></translation>
+        <translation>Utiliser uniquement les parties essentielles de EasyList (pour des raisons de performances)</translation>
     </message>
 </context>
 <context>
@@ -293,12 +293,12 @@
     <message>
         <location filename="../WebBrowser/AdBlock/AdBlockManager.py" line="335"/>
         <source>Subscribe?</source>
-        <translation type="unfinished">Souscrire?</translation>
+        <translation>Souscrire ?</translation>
     </message>
     <message>
         <location filename="../WebBrowser/AdBlock/AdBlockManager.py" line="335"/>
         <source>&lt;p&gt;Subscribe to this AdBlock subscription?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
-        <translation type="unfinished">&lt;p&gt;Souscrire à cette subscription AdBlock?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
+        <translation type="unfinished">&lt;p&gt;Souscrire à AdBlock?&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
 </context>
 <context>
@@ -351,12 +351,12 @@
     <message>
         <location filename="../WebBrowser/AdBlock/AdBlockSubscription.py" line="282"/>
         <source>Unable to open AdBlock file &apos;{0}&apos; for reading.</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible d&apos;ouvrir le fichier AdBlock &apos;{0}&apos; en lecture.</translation>
     </message>
     <message>
         <location filename="../WebBrowser/AdBlock/AdBlockSubscription.py" line="525"/>
         <source>Unable to open AdBlock file &apos;{0}&apos; for writing.</source>
-        <translation type="unfinished"></translation>
+        <translation>Impossible d&apos;ouvrir le fichier AdBlock &apos;{0}&apos; en écriture.</translation>
     </message>
 </context>
 <context>
@@ -543,7 +543,7 @@
     <message>
         <location filename="../Project/AddDirectoryDialog.py" line="76"/>
         <source>Protocol Files</source>
-        <translation type="unfinished"></translation>
+        <translation>Fichiers Protocoles</translation>
     </message>
 </context>
 <context>
@@ -643,7 +643,7 @@
     <message>
         <location filename="../Project/AddFileDialog.py" line="81"/>
         <source>Source Files ({0});;Forms Files ({1});;Resource Files ({2});;Interface Files ({3});;Protocol Files ({4});;Translation Files ({5});;All Files (*)</source>
-        <translation type="unfinished">Fichiers sources ({0});;Fichiers feuilles ({1});;Fichiers ressources ({2});;Fichiers interfaces ({3});; Fichiers de traduction ({4});; Tous fichiers (*)</translation>
+        <translation>Fichiers sources ({0});;Fichiers feuilles ({1});;Fichiers ressources ({2});;Fichiers interfaces ({3});;Fichiers Protocoles({4});;Fichiers de traduction ({5});; Tous fichiers (*)</translation>
     </message>
     <message>
         <location filename="../Project/AddFileDialog.py" line="103"/>
@@ -673,7 +673,7 @@
     <message>
         <location filename="../Project/AddFileDialog.ui" line="48"/>
         <source>Enter the name of files to add separated by &quot;;&quot;</source>
-        <translation type="unfinished"></translation>
+        <translation>Entrez les noms des fichiers à ajouter séparés par &quot;;&quot;</translation>
     </message>
     <message>
         <location filename="../Project/AddFileDialog.ui" line="51"/>
@@ -686,12 +686,12 @@
     <message>
         <location filename="../Project/AddFileDialog.py" line="135"/>
         <source>Protocol Files ({0})</source>
-        <translation type="unfinished"></translation>
+        <translation>Fichiers Protocoles ({0})</translation>
     </message>
     <message>
         <location filename="../Project/AddFileDialog.py" line="137"/>
         <source>Select protocol files</source>
-        <translation type="unfinished"></translation>
+        <translation>Sélectionner les fichiers protocoles</translation>
     </message>
 </context>
 <context>
@@ -1115,93 +1115,93 @@
     <message>
         <location filename="../MultiProject/AddProjectDialog.ui" line="112"/>
         <source>Select to make this project the main project</source>
-        <translation type="unfinished"></translation>
+        <translation>Sélectionnez pour rendre ce projet le projet principal</translation>
     </message>
     <message>
         <location filename="../MultiProject/AddProjectDialog.ui" line="115"/>
         <source>Is &amp;main project</source>
-        <translation type="unfinished"></translation>
+        <translation>Est le projet principal</translation>
     </message>
     <message>
         <location filename="../MultiProject/AddProjectDialog.ui" line="92"/>
         <source>&amp;Category:</source>
-        <translation type="unfinished"></translation>
+        <translation>&amp;Catégorie :</translation>
     </message>
     <message>
         <location filename="../MultiProject/AddProjectDialog.ui" line="102"/>
         <source>Select a project category</source>
-        <translation type="unfinished"></translation>
+        <translation>Choisir la catégorie du projet</translation>
     </message>
 </context>
 <context>
     <name>AnnotationsChecker</name>
     <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="808"/>
+        <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 function argument &apos;{0}&apos;</source>
+        <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 public 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="829"/>
-        <source>missing return type annotation for protected function</source>
+        <source>missing return type annotation for private function</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="832"/>
-        <source>missing return type annotation for private function</source>
+        <source>missing return type annotation for special method</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="835"/>
-        <source>missing return type annotation for special method</source>
+        <source>missing return type annotation for staticmethod</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="853"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="850"/>
         <source>{0}: {1}</source>
+        <translation type="unfinished">{0}: {1}</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="845"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="842"/>
         <source>type annotation coverage of {0}% is too low</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="849"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="846"/>
         <source>type annotation is too complex ({0} &gt; {1})</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1214,39 +1214,39 @@
         <translation>Diagramme de l&apos;application {0}</translation>
     </message>
     <message>
-        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="68"/>
+        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="67"/>
         <source>Parsing modules...</source>
         <translation>Analyse des modules...</translation>
     </message>
     <message>
-        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="203"/>
+        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="202"/>
         <source>&lt;&lt;Application&gt;&gt;</source>
         <translation>&lt;&lt;Application&gt;&gt;</translation>
     </message>
     <message>
-        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="205"/>
+        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="204"/>
         <source>&lt;&lt;Others&gt;&gt;</source>
         <translation>&lt;&lt;Autres&gt;&gt;</translation>
     </message>
     <message>
-        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="294"/>
+        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="293"/>
         <source>Load Diagram</source>
         <translation>Charger le diagramme</translation>
     </message>
     <message>
-        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="294"/>
+        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="293"/>
         <source>&lt;p&gt;The diagram belongs to the project &lt;b&gt;{0}&lt;/b&gt;. Shall this project be opened?&lt;/p&gt;</source>
         <translation>&lt;p&gt; Le diagramme appartient au projet &lt;b&gt;{0}&lt;/b&gt;. Est-ce que ce projet devrqit être ouvert ? &lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="68"/>
+        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="67"/>
         <source>%v/%m Modules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="71"/>
+        <translation>Modules %v/%m</translation>
+    </message>
+    <message>
+        <location filename="../Graphics/ApplicationDiagramBuilder.py" line="70"/>
         <source>Application Diagram</source>
-        <translation type="unfinished">Diagramme de l&apos;application</translation>
+        <translation>Application Diagramme</translation>
     </message>
 </context>
 <context>
@@ -1424,7 +1424,7 @@
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="285"/>
         <source> ms</source>
-        <translation type="unfinished"> ms</translation>
+        <translation> ms</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="136"/>
@@ -1449,52 +1449,52 @@
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="282"/>
         <source>System Default</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Valeur par défaut du système</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="314"/>
         <source>Background Services</source>
-        <translation type="unfinished"></translation>
+        <translation>Tâches de fond</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="332"/>
         <source>max. Processes:</source>
-        <translation type="unfinished"></translation>
+        <translation></translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="342"/>
         <source>Automatic</source>
-        <translation type="unfinished"></translation>
+        <translation>Automatique</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.py" line="30"/>
         <source>eric is using background services for certain things like syntax checks or code style checks. Per default the number of processes to use for these checks is determined automatically based on the number of CPUs. Please note, that this is an advanced setting.</source>
-        <translation type="unfinished"></translation>
+        <translation>eric utilise les tâches de fond pour certaines choses comme la vérification de la syntaxe ou du style du code. Par défaut, le nombre de tâches de fond utilisé pour ces vérifications est automatiquement déterminé sur la base du nombre de CPU. Veuillez noter que ceci est un paramétrage avancé.</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="67"/>
         <source>Select to use the global application menu bar</source>
-        <translation type="unfinished"></translation>
+        <translation>Cochez pour utiliser la barre de menu générale</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="70"/>
         <source>Use Global Menu Bar</source>
-        <translation type="unfinished"></translation>
+        <translation>Utiliser la barre de menu général</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="245"/>
         <source>Minimum Severity for message dialog:</source>
-        <translation type="unfinished"></translation>
+        <translation></translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="258"/>
         <source>Select the minimum message severity shown</source>
-        <translation type="unfinished"></translation>
+        <translation></translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.py" line="38"/>
         <source>Debug</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Debug</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.py" line="39"/>
@@ -1509,12 +1509,12 @@
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.py" line="41"/>
         <source>Fatal Error</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Erreur Fatal</translation>
     </message>
     <message>
         <location filename="../Preferences/ConfigurationPages/ApplicationPage.ui" line="158"/>
         <source>Never</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Jamais</translation>
     </message>
 </context>
 <context>
@@ -1570,7 +1570,7 @@
     <message>
         <location filename="../Utilities/BackgroundService.py" line="129"/>
         <source>{0} not configured.</source>
-        <translation type="unfinished"></translation>
+        <translation>{0} n&apos;est pas configuré.</translation>
     </message>
     <message>
         <location filename="../Utilities/BackgroundService.py" line="183"/>
@@ -1699,7 +1699,7 @@
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarkPropertiesDialog.py" line="40"/>
         <source>Visited &lt;b&gt;{0}&lt;/b&gt; times. Last visit on &lt;b&gt;{1}&lt;/b&gt;.</source>
-        <translation type="unfinished"></translation>
+        <translation>Visité &lt;b&gt;{0}&lt;/b&gt; fois. Dernière visite le &lt;b&gt;{1}&lt;/b&gt;.</translation>
     </message>
 </context>
 <context>
@@ -1897,32 +1897,32 @@
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="163"/>
         <source>Open in New &amp;Window</source>
-        <translation type="unfinished"></translation>
+        <translation>Ouvrir dans une Nouvelle Fenêtre</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="165"/>
         <source>Open in New Pri&amp;vate Window</source>
-        <translation type="unfinished"></translation>
+        <translation>Ouvrir dans une Nouvelle Fenêtre Pri&amp;vée</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="160"/>
         <source>Open in New &amp;Background Tab</source>
-        <translation type="unfinished"></translation>
+        <translation>Ouvrir dans un Nouvel Onglet de fond</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="182"/>
         <source>New &amp;Folder...</source>
-        <translation type="unfinished"></translation>
+        <translation>Nouveau Dossier...</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="335"/>
         <source>New Bookmark Folder</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Nouveau Dossier de Signets</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksDialog.py" line="335"/>
         <source>Enter title for new bookmark folder:</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Entrer le titre pour le nouveau dossier de signets :</translation>
     </message>
 </context>
 <context>
@@ -1970,7 +1970,7 @@
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksImportDialog.ui" line="141"/>
         <source>Enter the name of the bookmarks file or directory</source>
-        <translation type="unfinished"></translation>
+        <translation>Entrer le nom du signet ou dossier</translation>
     </message>
 </context>
 <context>
@@ -2072,7 +2072,8 @@
         <location filename="../WebBrowser/Bookmarks/BookmarksManager.py" line="139"/>
         <source>Error when loading bookmarks on line {0}, column {1}:
  {2}</source>
-        <translation type="unfinished"></translation>
+        <translation>Erreur lors du chargement des signets à la ligne {0}, colonne {1}:
+ {2}</translation>
     </message>
 </context>
 <context>
@@ -2085,32 +2086,32 @@
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="167"/>
         <source>Open</source>
-        <translation type="unfinished">Ouvrir</translation>
+        <translation>Ouvrir</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="171"/>
         <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation type="unfinished"></translation>
+        <translation>Ouvrir dans un Nouvel Onglet<byte value="x9"/>Ctrl+LMB</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="175"/>
         <source>Open in New Window</source>
-        <translation type="unfinished"></translation>
+        <translation>Ouvrir dans une Nouvelle Fenêtre</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="179"/>
         <source>Open in New Private Window</source>
-        <translation type="unfinished"></translation>
+        <translation>Ouvrir dans une Nouvelle Fenêtre Privée</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="185"/>
         <source>Remove</source>
-        <translation type="unfinished">Supprimer</translation>
+        <translation>Supprimer</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="190"/>
         <source>Properties...</source>
-        <translation type="unfinished"></translation>
+        <translation>Propriétés...</translation>
     </message>
 </context>
 <context>
@@ -2164,42 +2165,42 @@
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="87"/>
         <source>Open</source>
-        <translation type="unfinished">Ouvrir</translation>
+        <translation>Ouvrir</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="91"/>
         <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation type="unfinished"></translation>
+        <translation>Ouvrir dans un Nouvel Onglet<byte value="x9"/>Ctrl+LMB</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="95"/>
         <source>Open in New Window</source>
-        <translation type="unfinished"></translation>
+        <translation>Ouvrir dans une Nouvelle Fenêtre</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="99"/>
         <source>Open in New Private Window</source>
-        <translation type="unfinished"></translation>
+        <translation>Ouvrir dans une Nouvelle Fenêtre Privée</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="105"/>
         <source>Remove</source>
-        <translation type="unfinished">Supprimer</translation>
+        <translation>Supprimer</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="110"/>
         <source>Properties...</source>
-        <translation type="unfinished"></translation>
+        <translation>Propriétés...</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="115"/>
         <source>Add Bookmark...</source>
-        <translation type="unfinished"></translation>
+        <translation>Ajouter Signet...</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="116"/>
         <source>Add Folder...</source>
-        <translation type="unfinished"></translation>
+        <translation>Ajouter Dossier...</translation>
     </message>
 </context>
 <context>
@@ -2393,17 +2394,17 @@
     <message>
         <location filename="../UI/Browser.py" line="501"/>
         <source>Show Mime-Type</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Montrer le type Mime</translation>
     </message>
     <message>
         <location filename="../UI/Browser.py" line="474"/>
         <source>The mime type of the file could not be determined.</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Le type mime du fichier n&apos;a pas pu être déterminé.</translation>
     </message>
     <message>
         <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"></translation>
+        <translation type="unfinished">Le fichier a le type mime &lt;b&gt;{0}&lt;/b&gt;.</translation>
     </message>
     <message>
         <location filename="../UI/Browser.py" line="501"/>
@@ -2413,12 +2414,12 @@
     <message>
         <location filename="../UI/Browser.py" line="228"/>
         <source>Open in Hex Editor</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Ouvrir dans Hex Editor</translation>
     </message>
     <message>
         <location filename="../UI/Browser.py" line="267"/>
         <source>Find &amp;&amp; Replace in this directory</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Chercher &amp; Remplacer dans ce répertoirej</translation>
     </message>
 </context>
 <context>
@@ -2451,7 +2452,7 @@
     <message>
         <location filename="../UI/BrowserModel.py" line="667"/>
         <source>Imports</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Imports</translation>
     </message>
 </context>
 <context>
@@ -2469,20 +2470,23 @@
     <message>
         <location filename="../Debugger/CallStackViewer.py" line="53"/>
         <source>Save</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Sauvegarder</translation>
     </message>
     <message>
         <location filename="../Debugger/CallStackViewer.py" line="60"/>
         <source>File: {0}
 Line: {1}
 {2}{3}</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Fichier : {0}
+Ligne : {1}
+{2}{3}</translation>
     </message>
     <message>
         <location filename="../Debugger/CallStackViewer.py" line="62"/>
         <source>File: {0}
 Line: {1}</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Fichier : {0}
+Ligne : {1}</translation>
     </message>
     <message>
         <location filename="../Debugger/CallStackViewer.py" line="171"/>
@@ -2492,7 +2496,7 @@
     <message>
         <location filename="../Debugger/CallStackViewer.py" line="157"/>
         <source>Text Files (*.txt);;All Files (*)</source>
-        <translation type="unfinished">Fichiers de texte (*.txt);;Tous les fichiers (*)</translation>
+        <translation type="unfinished">Fichiers texte (*.txt);;Tous les fichiers (*)</translation>
     </message>
     <message>
         <location filename="../Debugger/CallStackViewer.py" line="171"/>
@@ -2535,7 +2539,7 @@
     <message>
         <location filename="../Debugger/CallTraceViewer.ui" line="65"/>
         <source>Press to resize the columns to their contents</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Appuyer pour ajuster les colonnes à leurs contenus</translation>
     </message>
     <message>
         <location filename="../Debugger/CallTraceViewer.ui" line="75"/>
@@ -2565,7 +2569,7 @@
     <message>
         <location filename="../Debugger/CallTraceViewer.py" line="143"/>
         <source>Text Files (*.txt);;All Files (*)</source>
-        <translation type="unfinished">Fichiers de texte (*.txt);;Tous les fichiers (*)</translation>
+        <translation type="unfinished">Fichiers texte (*.txt);;Tous les fichiers (*)</translation>
     </message>
     <message>
         <location filename="../Debugger/CallTraceViewer.py" line="157"/>
@@ -2590,7 +2594,7 @@
     <message>
         <location filename="../Debugger/CallTraceViewer.ui" line="45"/>
         <source>Stop recording on exit</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Arrêter l&apos;enregistrement en quittant</translation>
     </message>
 </context>
 <context>
@@ -2820,12 +2824,12 @@
     <message>
         <location filename="../Cooperation/ChatWidget.py" line="187"/>
         <source>New User</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Nouvel Utilisateur</translation>
     </message>
     <message>
         <location filename="../Cooperation/ChatWidget.py" line="187"/>
         <source>{0} has joined.</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">{0} est arrivé.</translation>
     </message>
     <message>
         <location filename="../Cooperation/ChatWidget.py" line="218"/>
@@ -2835,12 +2839,12 @@
     <message>
         <location filename="../Cooperation/ChatWidget.py" line="218"/>
         <source>{0} has left.</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">{0} est parti.</translation>
     </message>
     <message>
         <location filename="../Cooperation/ChatWidget.py" line="241"/>
         <source>Message from &lt;{0}&gt;</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Message de &lt;{0}&gt;</translation>
     </message>
 </context>
 <context>
@@ -2848,7 +2852,7 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="63"/>
         <source>Annotations</source>
-        <translation type="unfinished"></translation>
+        <translation>Annotations</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="66"/>
@@ -2868,7 +2872,7 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="75"/>
         <source>Miscellaneous</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Divers</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="78"/>
@@ -2878,7 +2882,7 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="84"/>
         <source>Warnings</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Warnings</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="81"/>
@@ -2891,7 +2895,7 @@
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksImporters/ChromeImporter.py" line="43"/>
         <source>Google Chrome stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Google Chrome stocke ses signets dans le fichier texte &lt;b&gt;Bookmarks&lt;/b&gt;. Ce fichier est habituellement situé dans</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksImporters/ChromeImporter.py" line="64"/>
@@ -2901,7 +2905,7 @@
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksImporters/ChromeImporter.py" line="64"/>
         <source>Chromium stores its bookmarks in the &lt;b&gt;Bookmarks&lt;/b&gt; text file. This file is usually located in</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Chromium stocke ses signets dans le fichier texte &lt;b&gt;Bookmarks&lt;/b&gt;. Ce fichier est habituellement situé dans</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksImporters/ChromeImporter.py" line="113"/>
@@ -2912,17 +2916,18 @@
         <location filename="../WebBrowser/Bookmarks/BookmarksImporters/ChromeImporter.py" line="130"/>
         <source>File &apos;{0}&apos; cannot be read.
 Reason: {1}</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Le fichier &apos;{0}&apos; n&apos;a pas pu être lu.
+Raison : {1}</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksImporters/ChromeImporter.py" line="141"/>
         <source>Google Chrome Import</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Import Google Chrome</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksImporters/ChromeImporter.py" line="143"/>
         <source>Chromium Import</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Import Chromium</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksImporters/ChromeImporter.py" line="145"/>
@@ -2940,7 +2945,7 @@
     <message>
         <location filename="../MicroPython/CircuitPythonDevices.py" line="160"/>
         <source>Workspace Directory</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Répertoire de travail</translation>
     </message>
     <message>
         <location filename="../MicroPython/CircuitPythonDevices.py" line="160"/>
@@ -2970,7 +2975,7 @@
     <message>
         <location filename="../MicroPython/CircuitPythonDevices.py" line="227"/>
         <source>Compiled Python Files (*.mpy);;Python Files (*.py);;All Files (*)</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Fichiers Python Compilés (*.mpy);;Fichiers Python (*.py);;Tous les Fichiers (*)</translation>
     </message>
 </context>
 <context>
@@ -3033,7 +3038,7 @@
     <message>
         <location filename="../MicroPython/CircuitPythonFirmwareSelectionDialog.py" line="52"/>
         <source>Manual Select</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Sélection Manuelle</translation>
     </message>
 </context>
 <context>
@@ -3041,17 +3046,17 @@
     <message>
         <location filename="../UI/ClearPrivateDataDialog.ui" line="14"/>
         <source>Clear Private Data</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Effacer les Données Privées</translation>
     </message>
     <message>
         <location filename="../UI/ClearPrivateDataDialog.ui" line="23"/>
         <source>Select to clear the list of recently opened files</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Cocher pour effacer la liste des fichiers ouverts récemment</translation>
     </message>
     <message>
         <location filename="../UI/ClearPrivateDataDialog.ui" line="26"/>
         <source>Recently opened files</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Fichiers ouverts récemment</translation>
     </message>
     <message>
         <location filename="../UI/ClearPrivateDataDialog.ui" line="36"/>
@@ -3061,57 +3066,57 @@
     <message>
         <location filename="../UI/ClearPrivateDataDialog.ui" line="39"/>
         <source>Recently opened projects and project histories</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Projets récemment ouverts et historique</translation>
     </message>
     <message>
         <location filename="../UI/ClearPrivateDataDialog.ui" line="49"/>
         <source>Select to clear the list of recently opened multi projects</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Cocher pour effacer la liste des multi projets récemment ouverts</translation>
     </message>
     <message>
         <location filename="../UI/ClearPrivateDataDialog.ui" line="52"/>
         <source>Recently opened multi projects</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Multi projets récemment ouverts</translation>
     </message>
     <message>
         <location filename="../UI/ClearPrivateDataDialog.ui" line="62"/>
         <source>Select to clear the debug histories</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Cocher pour effacer l&apos;historique du debug</translation>
     </message>
     <message>
         <location filename="../UI/ClearPrivateDataDialog.ui" line="65"/>
         <source>Debug histories</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Historique du Debug</translation>
     </message>
     <message>
         <location filename="../UI/ClearPrivateDataDialog.ui" line="75"/>
         <source>Select to clear the shell histories</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Cocher pour effacer l&apos;historique du shell</translation>
     </message>
     <message>
         <location filename="../UI/ClearPrivateDataDialog.ui" line="78"/>
         <source>Shell histories</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Historique du Shell</translation>
     </message>
     <message>
         <location filename="../UI/ClearPrivateDataDialog.ui" line="88"/>
         <source>Select to clear the VCS related histories</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Cocher pour effacer l&apos;historique associé au système de gestion de version</translation>
     </message>
     <message>
         <location filename="../UI/ClearPrivateDataDialog.ui" line="91"/>
         <source>Version Control System histories</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Historique du système de gestion de version</translation>
     </message>
     <message>
         <location filename="../UI/ClearPrivateDataDialog.ui" line="108"/>
         <source>Select to clear the private data of plug-ins not covered above</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Cocher pour effacer les données privées des plug-ins non listés ci-dessus</translation>
     </message>
     <message>
         <location filename="../UI/ClearPrivateDataDialog.ui" line="111"/>
         <source>Plug-in private data</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Données privées des plug-ins</translation>
     </message>
 </context>
 <context>
@@ -3150,12 +3155,12 @@
     <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/CloseheadExtension/closehead.py" line="62"/>
         <source>Revision &lt;{0}&gt; closed.</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Révision &lt;{0}&gt; fermée.</translation>
     </message>
     <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/CloseheadExtension/closehead.py" line="65"/>
         <source>Revisions &lt;{0}&gt; closed.</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Révisiosn &lt;{0}&gt; fermées.</translation>
     </message>
     <message>
         <location filename="../Plugins/VcsPlugins/vcsMercurial/CloseheadExtension/closehead.py" line="71"/>
@@ -3201,7 +3206,7 @@
     <message>
         <location filename="../UI/CodeDocumentationViewer.py" line="407"/>
         <source>No documentation available</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Pas de documentation disponible</translation>
     </message>
     <message>
         <location filename="../UI/CodeDocumentationViewer.py" line="428"/>
@@ -3211,30 +3216,30 @@
     <message>
         <location filename="../UI/CodeDocumentationViewer.py" line="433"/>
         <source>This function has been disabled.</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Cette fonction a été désactivée.</translation>
     </message>
     <message>
         <location filename="../UI/CodeDocumentationViewerTemplate.py" line="139"/>
         <source>No further documentation available</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Pas plus de documentation disponible</translation>
     </message>
     <message>
         <location filename="../UI/CodeDocumentationViewerTemplate.py" line="60"/>
         <source>&lt;p&gt;&lt;b&gt;Definition:&lt;/b&gt; &lt;span class=&quot;def&quot;&gt;@NAME@@ARGSPEC@&lt;/span&gt;&lt;/p&gt;</source>
         <comment>Just translate &apos;Definition:&apos; and leave the rest intact.</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">&lt;p&gt;&lt;b&gt;Définition :&lt;/b&gt; &lt;span class=&quot;def&quot;&gt;@NAME@@ARGSPEC@&lt;/span&gt;&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="../UI/CodeDocumentationViewerTemplate.py" line="70"/>
         <source>&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; @NOTE@&lt;/p&gt;</source>
         <comment>Just translate &apos;Note:&apos; and leave the rest intact.</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">&lt;p&gt;&lt;b&gt;Note :&lt;/b&gt; @NOTE@&lt;/p&gt;</translation>
     </message>
     <message>
         <location filename="../UI/CodeDocumentationViewerTemplate.py" line="65"/>
         <source>&lt;p&gt;&lt;b&gt;Type:&lt;/b&gt; @TYPE@&lt;/p&gt;</source>
         <comment>Just translate &apos;Type:&apos; and leave the rest intact.</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">&lt;p&gt;&lt;b&gt;Type :&lt;/b&gt; @TYPE@&lt;/p&gt;</translation>
     </message>
 </context>
 <context>
@@ -3373,12 +3378,12 @@
     <message>
         <location filename="../DataViews/CodeMetricsDialog.ui" line="158"/>
         <source>%v/%m Files</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Fichiers %v/%m</translation>
     </message>
     <message>
         <location filename="../DataViews/CodeMetricsDialog.py" line="202"/>
         <source>comment lines</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">lignes de commentaire</translation>
     </message>
 </context>
 <context>
@@ -3396,7 +3401,7 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleAddBuiltinIgnoreDialog.ui" line="33"/>
         <source>Left Side:</source>
-        <translation type="unfinished"></translation>
+        <translation>Côté gauche :</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleAddBuiltinIgnoreDialog.ui" line="40"/>
@@ -3406,7 +3411,7 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleAddBuiltinIgnoreDialog.ui" line="47"/>
         <source>Right Side:</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Côté droit :</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleAddBuiltinIgnoreDialog.ui" line="54"/>
@@ -3417,9 +3422,9 @@
 <context>
     <name>CodeStyleChecker</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="1133"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="1130"/>
         <source>No message defined for code &apos;{0}&apos;.</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Pas de message défini pour le code &apos;{0}&apos;.</translation>
     </message>
 </context>
 <context>
@@ -3427,7 +3432,7 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="14"/>
         <source>Code Style Check Result</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Résultat de la vérification du style du code</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="17"/>
@@ -3439,42 +3444,42 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="68"/>
         <source>Exclude Files:</source>
-        <translation type="unfinished">Fichiers exclus:</translation>
+        <translation>Fichiers exclus :</translation>
     </message>
     <message>
         <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">Entrer les filtres de noms de fichiers à exclure, séparés par des virgules</translation>
+        <translation>Entrer les filtres de noms de fichiers à exclure, séparés par des virgules</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1090"/>
         <source>Press to start the code style check run</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Appuyer pour lancer la vérification du style du code</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1321"/>
         <source>Press to fix the selected issues</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Appuyer pour corriger les erreurs sélectionnées</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1113"/>
         <source>Press to load the default values</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Appuyer pour charger les valeurs par défaut</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1123"/>
         <source>Press to store the current values as defaults</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Appuyer pour définir les valeurs actuelles comme par défaut</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1133"/>
         <source>Press to reset the default values</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Appuyer pour réinitialiser les valeurs par défaut</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="82"/>
         <source>Exclude Messages:</source>
-        <translation type="unfinished"></translation>
+        <translation>Messages Exclus :</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="159"/>
@@ -3484,7 +3489,7 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="103"/>
         <source>Included Messages:</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Messages Inclus :</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="124"/>
@@ -3509,12 +3514,12 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="283"/>
         <source>Max. Line Length:</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Longueur max. des lignes :</translation>
     </message>
     <message>
         <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>
+        <translation type="unfinished">Entrer la longueur maximale autorisée des lignes (PEP-8: 79 caractères)</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="443"/>
@@ -3539,22 +3544,22 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="168"/>
         <source>Select to repeat each message type</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Cocher pour répéter chaque type de message</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="171"/>
         <source>Repeat messages</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Répéter les messages</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="181"/>
         <source>Select to fix some issues</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Cocher pour corriger certaines erreurs</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="184"/>
         <source>Fix issues automatically</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Corriger les erreurs automatiquement</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1263"/>
@@ -3567,92 +3572,92 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1279"/>
         <source>File/Line</source>
-        <translation type="unfinished">Fichier/ligne</translation>
+        <translation>Fichier/Ligne</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1284"/>
         <source>Code</source>
-        <translation type="unfinished">Code</translation>
+        <translation>Code</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1289"/>
         <source>Message</source>
-        <translation type="unfinished">Message</translation>
+        <translation>Message</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="122"/>
         <source>PEP-257</source>
-        <translation type="unfinished"></translation>
+        <translation>PEP-257</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="123"/>
         <source>Eric</source>
-        <translation type="unfinished"></translation>
+        <translation>Eric</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1354"/>
         <source>Statistics...</source>
-        <translation type="unfinished"></translation>
+        <translation>Statistiques...</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1351"/>
         <source>Press to show some statistics for the last run</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Appuyer pour montrer quelques statistiques du dernier lancement</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1344"/>
         <source>Show</source>
-        <translation type="unfinished"></translation>
+        <translation>Montrer</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1341"/>
         <source>Press to show all files containing an issue</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Appuyer pour montrer tous les fichiers contenant une erreur</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="238"/>
         <source>Error: {0}</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Erreur : {0}</translation>
     </message>
     <message>
         <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="1016"/>
+        <translation type="unfinished">Correction : {0}</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1015"/>
         <source>No issues found.</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Pas d&apos;erreur trouvé.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1189"/>
         <source>Shows the progress of the code style check</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Montre la progression de la vérification du style du code</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1198"/>
         <source>%v/%m Files</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Fichiers %v/%m</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="194"/>
         <source>Select to show ignored issues</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Cocher pour montrer les erreurs ignorées</translation>
     </message>
     <message>
         <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="942"/>
+        <translation type="unfinished">Montrer les erreurs ignorées</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="941"/>
         <source>{0} (ignored)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="835"/>
+        <translation type="unfinished">{0} (ignoré)</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="834"/>
         <source>Preparing files...</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Préparation des fichiers...</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="698"/>
@@ -3662,22 +3667,22 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="211"/>
         <source>Errors</source>
-        <translation type="unfinished">Erreurs</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="874"/>
+        <translation>Erreurs</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="873"/>
         <source>Transferring data...</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Transfert des données...</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="42"/>
         <source>Global Options</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Options globales</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="233"/>
         <source>Specific Options</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Options spécifiques</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="275"/>
@@ -3712,17 +3717,17 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="502"/>
         <source>Min. File Size:</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Taille mini du fichier :</translation>
     </message>
     <message>
         <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>
+        <translation type="unfinished">Entrer la taille minimum qu&apos;un fichier doit avoir pour être vérifié (0 pour tous les fichiers)</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="535"/>
         <source>Author:</source>
-        <translation type="unfinished">Auteur:</translation>
+        <translation type="unfinished">Auteur :</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="542"/>
@@ -3737,7 +3742,7 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="558"/>
         <source>Expected Imports:</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Imports attendus :</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="672"/>
@@ -3747,32 +3752,32 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1093"/>
         <source>&amp;Start</source>
-        <translation type="unfinished">&amp;Lancer</translation>
+        <translation type="unfinished">Lancer</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1324"/>
         <source>&amp;Fix Selected</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Corriger sélection</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1116"/>
         <source>&amp;Load Defaults</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Charger valeurs par défaut</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1126"/>
         <source>St&amp;ore Defaults</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">St&amp;ocker valeurs par défaut</translation>
     </message>
     <message>
         <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="1019"/>
+        <translation type="unfinished">&amp;Réinitialiser valeurs par défaut</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1018"/>
         <source>No files found (check your ignore list).</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Pas de fichier trouvé (vérifier votre liste d&apos;ignorés).</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="584"/>
@@ -3782,12 +3787,12 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="600"/>
         <source>Left</source>
-        <translation type="unfinished">Left</translation>
+        <translation type="unfinished">Gauche</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="605"/>
         <source>Right</source>
-        <translation type="unfinished">Right</translation>
+        <translation type="unfinished">Droite</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="615"/>
@@ -3797,7 +3802,7 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="625"/>
         <source>Press to delete the selected entries</source>
-        <translation type="unfinished">Cliquer pour supprimer les entrées sélectionnées</translation>
+        <translation>Cliquer pour supprimer les entrées sélectionnées</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="691"/>
@@ -3827,7 +3832,7 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="350"/>
         <source>Blank Lines Before</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Ligne vide avant</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="356"/>
@@ -3837,7 +3842,7 @@
     <message>
         <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>
+        <translation type="unfinished">Entrer le nombre de lignes vides avant une classe de haut niveau ou fonction</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="395"/>
@@ -3852,22 +3857,22 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="309"/>
         <source>Max. Documentation Line Length:</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Longueur max des lignes de la Documentation</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="653"/>
         <source>Commented Code</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Code commenté</translation>
     </message>
     <message>
         <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>
+        <translation type="unfinished">Cocher pour chercher le code commenté de manière plus agressive. Cela peut augmenter le nombre de faux positifs.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="662"/>
         <source>Search aggressively</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Chercher de manière agressive</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="763"/>
@@ -3887,12 +3892,12 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="779"/>
         <source>off</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">désactivé</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="782"/>
         <source>%</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">%</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="805"/>
@@ -3907,27 +3912,27 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="32"/>
         <source>Configure</source>
-        <translation type="unfinished">Configuration</translation>
+        <translation>Configuration</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1311"/>
         <source>Press to restart the code style check run</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Appuyer pour relancer la vérification du style du code</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1314"/>
         <source>Restart</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Relancer</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="48"/>
         <source>Categories:</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Catégories :</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>
+        <translation type="unfinished">Choisir les catégories de vérifications à réaliser.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="89"/>
@@ -3942,7 +3947,7 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="833"/>
         <source>Security Options</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Options de sécurité</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="839"/>
@@ -3962,7 +3967,7 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="973"/>
         <source>High Risk:</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Risque élévé :</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="868"/>
@@ -3972,7 +3977,7 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="990"/>
         <source>Medium Risk:</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Risque moyen :</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="885"/>
@@ -3982,7 +3987,7 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="911"/>
         <source>RSA</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">RSA</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="924"/>
@@ -4042,7 +4047,7 @@
     <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>
+        <translation type="unfinished">Entrer le nom des répertoires (un par ligne) à vérifier</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1250"/>
@@ -4052,22 +4057,22 @@
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1146"/>
         <source>Progress</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Progression</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>
+        <translation type="unfinished">Montre la liste des fichiers en attente de vérification</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui" line="1219"/>
         <source>Canc