Code Style Checker: added checks for logging statements

Sun, 11 Mar 2018 15:27:23 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 11 Mar 2018 15:27:23 +0100
changeset 6180
8d72871c16ba
parent 6179
8d74886f2107
child 6181
2ae7e332b941

Code Style Checker: added checks for logging statements

APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
APIs/Python3/eric6.bas file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html file | annotate | diff | comparison | revisions
Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py file | annotate | diff | comparison | revisions
Plugins/CheckerPlugins/CodeStyleChecker/translations.py file | annotate | diff | comparison | revisions
changelog file | annotate | diff | comparison | revisions
eric6.e4p file | annotate | diff | comparison | revisions
i18n/eric6_cs.ts file | annotate | diff | comparison | revisions
i18n/eric6_de.qm file | annotate | diff | comparison | revisions
i18n/eric6_de.ts file | annotate | diff | comparison | revisions
i18n/eric6_empty.ts file | annotate | diff | comparison | revisions
i18n/eric6_en.ts file | annotate | diff | comparison | revisions
i18n/eric6_es.ts file | annotate | diff | comparison | revisions
i18n/eric6_fr.ts file | annotate | diff | comparison | revisions
i18n/eric6_it.ts file | annotate | diff | comparison | revisions
i18n/eric6_pt.ts file | annotate | diff | comparison | revisions
i18n/eric6_ru.ts file | annotate | diff | comparison | revisions
i18n/eric6_tr.ts file | annotate | diff | comparison | revisions
i18n/eric6_zh_CN.ts file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric6.api	Sat Mar 10 14:57:23 2018 +0100
+++ b/APIs/Python3/eric6.api	Sun Mar 11 15:27:23 2018 +0100
@@ -4021,6 +4021,11 @@
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleContext.ssource?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleContext.start?4()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyleChecker.DocStyleContext?1(source, startLine, contextType)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.LoggingVisitor.LoggingLevels?7
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.LoggingVisitor.visit_BinOp?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.LoggingVisitor.visit_Call?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.LoggingVisitor.visit_JoinedStr?4(node)
+eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.LoggingVisitor?1()
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.MiscellaneousChecker.BuiltinsWhiteList?7
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.MiscellaneousChecker.Codes?7
 eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.MiscellaneousChecker.FormatFieldRegex?7
--- a/APIs/Python3/eric6.bas	Sat Mar 10 14:57:23 2018 +0100
+++ b/APIs/Python3/eric6.bas	Sun Mar 11 15:27:23 2018 +0100
@@ -578,6 +578,7 @@
 LogViewer QWidget
 LogViewerEdit QTextEdit
 LogViewerPage ConfigurationPageBase Ui_LogViewerPage
+LoggingVisitor ast.NodeVisitor
 ManageDictionariesDialog QDialog Ui_ManageDictionariesDialog
 MarkdownProvider MarkupBase
 MasterPasswordEntryDialog QDialog Ui_MasterPasswordEntryDialog
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Sat Mar 10 14:57:23 2018 +0100
+++ b/Documentation/Help/source.qhp	Sun Mar 11 15:27:23 2018 +0100
@@ -10778,6 +10778,16 @@
       <keyword name="LogViewerPage (Constructor)" id="LogViewerPage (Constructor)" ref="eric6.Preferences.ConfigurationPages.LogViewerPage.html#LogViewerPage.__init__" />
       <keyword name="LogViewerPage (Module)" id="LogViewerPage (Module)" ref="eric6.Preferences.ConfigurationPages.LogViewerPage.html" />
       <keyword name="LogViewerPage.save" id="LogViewerPage.save" ref="eric6.Preferences.ConfigurationPages.LogViewerPage.html#LogViewerPage.save" />
+      <keyword name="LoggingVisitor" id="LoggingVisitor" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#LoggingVisitor" />
+      <keyword name="LoggingVisitor (Constructor)" id="LoggingVisitor (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#LoggingVisitor.__init__" />
+      <keyword name="LoggingVisitor.__detectLoggingLevel" id="LoggingVisitor.__detectLoggingLevel" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#LoggingVisitor.__detectLoggingLevel" />
+      <keyword name="LoggingVisitor.__isFormatCall" id="LoggingVisitor.__isFormatCall" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#LoggingVisitor.__isFormatCall" />
+      <keyword name="LoggingVisitor.__withinExtraKeyword" id="LoggingVisitor.__withinExtraKeyword" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#LoggingVisitor.__withinExtraKeyword" />
+      <keyword name="LoggingVisitor.__withinLoggingArgument" id="LoggingVisitor.__withinLoggingArgument" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#LoggingVisitor.__withinLoggingArgument" />
+      <keyword name="LoggingVisitor.__withinLoggingStatement" id="LoggingVisitor.__withinLoggingStatement" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#LoggingVisitor.__withinLoggingStatement" />
+      <keyword name="LoggingVisitor.visit_BinOp" id="LoggingVisitor.visit_BinOp" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#LoggingVisitor.visit_BinOp" />
+      <keyword name="LoggingVisitor.visit_Call" id="LoggingVisitor.visit_Call" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#LoggingVisitor.visit_Call" />
+      <keyword name="LoggingVisitor.visit_JoinedStr" id="LoggingVisitor.visit_JoinedStr" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#LoggingVisitor.visit_JoinedStr" />
       <keyword name="LoginForm" id="LoginForm" ref="eric6.Helpviewer.Passwords.LoginForm.html#LoginForm" />
       <keyword name="LoginForm" id="LoginForm" ref="eric6.WebBrowser.Passwords.LoginForm.html#LoginForm" />
       <keyword name="LoginForm (Constructor)" id="LoginForm (Constructor)" ref="eric6.Helpviewer.Passwords.LoginForm.html#LoginForm.__init__" />
@@ -11014,6 +11024,7 @@
       <keyword name="MiscellaneousChecker.__checkDictWithSortedKeys" id="MiscellaneousChecker.__checkDictWithSortedKeys" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#MiscellaneousChecker.__checkDictWithSortedKeys" />
       <keyword name="MiscellaneousChecker.__checkFormatString" id="MiscellaneousChecker.__checkFormatString" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#MiscellaneousChecker.__checkFormatString" />
       <keyword name="MiscellaneousChecker.__checkFuture" id="MiscellaneousChecker.__checkFuture" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#MiscellaneousChecker.__checkFuture" />
+      <keyword name="MiscellaneousChecker.__checkLogging" id="MiscellaneousChecker.__checkLogging" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#MiscellaneousChecker.__checkLogging" />
       <keyword name="MiscellaneousChecker.__checkMutableDefault" id="MiscellaneousChecker.__checkMutableDefault" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#MiscellaneousChecker.__checkMutableDefault" />
       <keyword name="MiscellaneousChecker.__checkPep3101" id="MiscellaneousChecker.__checkPep3101" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#MiscellaneousChecker.__checkPep3101" />
       <keyword name="MiscellaneousChecker.__checkPrintStatements" id="MiscellaneousChecker.__checkPrintStatements" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html#MiscellaneousChecker.__checkPrintStatements" />
--- a/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html	Sat Mar 10 14:57:23 2018 +0100
+++ b/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.MiscellaneousChecker.html	Sun Mar 11 15:27:23 2018 +0100
@@ -30,6 +30,9 @@
 <h3>Classes</h3>
 <table>
 <tr>
+<td><a href="#LoggingVisitor">LoggingVisitor</a></td>
+<td>Class implementing a node visitor to check logging statements.</td>
+</tr><tr>
 <td><a href="#MiscellaneousChecker">MiscellaneousChecker</a></td>
 <td>Class implementing a checker for miscellaneous checks.</td>
 </tr><tr>
@@ -42,6 +45,188 @@
 <tr><td>None</td></tr>
 </table>
 <hr /><hr />
+<a NAME="LoggingVisitor" ID="LoggingVisitor"></a>
+<h2>LoggingVisitor</h2>
+<p>
+    Class implementing a node visitor to check logging statements.
+</p>
+<h3>Derived from</h3>
+ast.NodeVisitor
+<h3>Class Attributes</h3>
+<table>
+<tr><td>LoggingLevels</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#LoggingVisitor.__init__">LoggingVisitor</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#LoggingVisitor.__detectLoggingLevel">__detectLoggingLevel</a></td>
+<td>Private method to decide whether an AST Call is a logging call.</td>
+</tr><tr>
+<td><a href="#LoggingVisitor.__isFormatCall">__isFormatCall</a></td>
+<td>Private method to check if a function call uses format.</td>
+</tr><tr>
+<td><a href="#LoggingVisitor.__withinExtraKeyword">__withinExtraKeyword</a></td>
+<td>Private method to check, if we are inside the extra keyword.</td>
+</tr><tr>
+<td><a href="#LoggingVisitor.__withinLoggingArgument">__withinLoggingArgument</a></td>
+<td>Private method to check, if we are inside a logging argument.</td>
+</tr><tr>
+<td><a href="#LoggingVisitor.__withinLoggingStatement">__withinLoggingStatement</a></td>
+<td>Private method to check, if we are inside a logging statement.</td>
+</tr><tr>
+<td><a href="#LoggingVisitor.visit_BinOp">visit_BinOp</a></td>
+<td>Public method to handle binary operations while processing the first logging argument.</td>
+</tr><tr>
+<td><a href="#LoggingVisitor.visit_Call">visit_Call</a></td>
+<td>Public method to handle a function call.</td>
+</tr><tr>
+<td><a href="#LoggingVisitor.visit_JoinedStr">visit_JoinedStr</a></td>
+<td>Public method to handle f-string arguments.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="LoggingVisitor.__init__" ID="LoggingVisitor.__init__"></a>
+<h4>LoggingVisitor (Constructor)</h4>
+<b>LoggingVisitor</b>(<i></i>)
+<p>
+        Constructor
+</p><a NAME="LoggingVisitor.__detectLoggingLevel" ID="LoggingVisitor.__detectLoggingLevel"></a>
+<h4>LoggingVisitor.__detectLoggingLevel</h4>
+<b>__detectLoggingLevel</b>(<i>node</i>)
+<p>
+        Private method to decide whether an AST Call is a logging call.
+</p><dl>
+<dt><i>node</i> (ast.Call)</dt>
+<dd>
+reference to the node to be processed
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+logging level
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+str or None
+</dd>
+</dl><a NAME="LoggingVisitor.__isFormatCall" ID="LoggingVisitor.__isFormatCall"></a>
+<h4>LoggingVisitor.__isFormatCall</h4>
+<b>__isFormatCall</b>(<i>node</i>)
+<p>
+        Private method to check if a function call uses format.
+</p><dl>
+<dt><i>node</i> (ast.Call)</dt>
+<dd>
+reference to the node to be processed
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating the function call uses format
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl><a NAME="LoggingVisitor.__withinExtraKeyword" ID="LoggingVisitor.__withinExtraKeyword"></a>
+<h4>LoggingVisitor.__withinExtraKeyword</h4>
+<b>__withinExtraKeyword</b>(<i>node</i>)
+<p>
+        Private method to check, if we are inside the extra keyword.
+</p><dl>
+<dt><i>node</i> (ast.keyword)</dt>
+<dd>
+reference to the node to be checked
+</dd>
+</dl><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating we are inside the extra keyword
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl><a NAME="LoggingVisitor.__withinLoggingArgument" ID="LoggingVisitor.__withinLoggingArgument"></a>
+<h4>LoggingVisitor.__withinLoggingArgument</h4>
+<b>__withinLoggingArgument</b>(<i></i>)
+<p>
+        Private method to check, if we are inside a logging argument.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating we are inside a logging argument
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl><a NAME="LoggingVisitor.__withinLoggingStatement" ID="LoggingVisitor.__withinLoggingStatement"></a>
+<h4>LoggingVisitor.__withinLoggingStatement</h4>
+<b>__withinLoggingStatement</b>(<i></i>)
+<p>
+        Private method to check, if we are inside a logging statement.
+</p><dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating we are inside a logging statement
+</dd>
+</dl><dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl><a NAME="LoggingVisitor.visit_BinOp" ID="LoggingVisitor.visit_BinOp"></a>
+<h4>LoggingVisitor.visit_BinOp</h4>
+<b>visit_BinOp</b>(<i>node</i>)
+<p>
+        Public method to handle binary operations while processing the first
+        logging argument.
+</p><dl>
+<dt><i>node</i> (ast.BinOp)</dt>
+<dd>
+reference to the node to be processed
+</dd>
+</dl><a NAME="LoggingVisitor.visit_Call" ID="LoggingVisitor.visit_Call"></a>
+<h4>LoggingVisitor.visit_Call</h4>
+<b>visit_Call</b>(<i>node</i>)
+<p>
+        Public method to handle a function call.
+</p><p>
+        Every logging statement and string format is expected to be a function
+        call.
+</p><dl>
+<dt><i>node</i> (ast.Call)</dt>
+<dd>
+reference to the node to be processed
+</dd>
+</dl><a NAME="LoggingVisitor.visit_JoinedStr" ID="LoggingVisitor.visit_JoinedStr"></a>
+<h4>LoggingVisitor.visit_JoinedStr</h4>
+<b>visit_JoinedStr</b>(<i>node</i>)
+<p>
+        Public method to handle f-string arguments.
+</p><dl>
+<dt><i>node</i> (ast.JoinedStr)</dt>
+<dd>
+reference to the node to be processed
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr /><hr />
 <a NAME="MiscellaneousChecker" ID="MiscellaneousChecker"></a>
 <h2>MiscellaneousChecker</h2>
 <p>
@@ -84,6 +269,9 @@
 <td><a href="#MiscellaneousChecker.__checkFuture">__checkFuture</a></td>
 <td>Private method to check the __future__ imports.</td>
 </tr><tr>
+<td><a href="#MiscellaneousChecker.__checkLogging">__checkLogging</a></td>
+<td>Private method to check logging statements.</td>
+</tr><tr>
 <td><a href="#MiscellaneousChecker.__checkMutableDefault">__checkMutableDefault</a></td>
 <td>Private method to check for use of mutable types as default arguments.</td>
 </tr><tr>
@@ -186,6 +374,11 @@
 <b>__checkFuture</b>(<i></i>)
 <p>
         Private method to check the __future__ imports.
+</p><a NAME="MiscellaneousChecker.__checkLogging" ID="MiscellaneousChecker.__checkLogging"></a>
+<h4>MiscellaneousChecker.__checkLogging</h4>
+<b>__checkLogging</b>(<i></i>)
+<p>
+        Private method to check logging statements.
 </p><a NAME="MiscellaneousChecker.__checkMutableDefault" ID="MiscellaneousChecker.__checkMutableDefault"></a>
 <h4>MiscellaneousChecker.__checkMutableDefault</h4>
 <b>__checkMutableDefault</b>(<i></i>)
--- a/Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py	Sat Mar 10 14:57:23 2018 +0100
+++ b/Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py	Sun Mar 11 15:27:23 2018 +0100
@@ -32,6 +32,7 @@
         "M611", "M612", "M613",
         "M621", "M622", "M623", "M624", "M625",
         "M631", "M632",
+        "M651", "M652", "M653", "M654", "M655",
         
         "M701", "M702",
         
@@ -108,6 +109,7 @@
             (self.__checkFormatString, ("M611", "M612", "M613",
                                         "M621", "M622", "M623", "M624", "M625",
                                         "M631", "M632")),
+            (self.__checkLogging, ("M651", "M652", "M653", "M654", "M655")),
             (self.__checkFuture, ("M701", "M702")),
             (self.__checkPrintStatements, ("M801",)),
             (self.__checkTuple, ("M811", )),
@@ -644,6 +646,15 @@
                     if key2.s < key1.s:
                         self.__error(key2.lineno - 1, key2.col_offset,
                                      "M201", key2.s, key1.s)
+    
+    def __checkLogging(self):
+        """
+        Private method to check logging statements.
+        """
+        visitor = LoggingVisitor()
+        visitor.visit(self.__tree)
+        for node, reason in visitor.violations:
+            self.__error(node.lineno - 1, node.col_offset, reason)
 
 
 class TextVisitor(ast.NodeVisitor):
@@ -784,5 +795,177 @@
                 self.calls[node.args[0]] = (node, True)
         super(TextVisitor, self).generic_visit(node)
 
+
+class LoggingVisitor(ast.NodeVisitor):
+    """
+    Class implementing a node visitor to check logging statements.
+    """
+    LoggingLevels = {
+        "debug",
+        "critical",
+        "error",
+        "info",
+        "warn",
+        "warning",
+    }
+    
+    def __init__(self):
+        """
+        Constructor
+        """
+        super(LoggingVisitor, self).__init__()
+        
+        self.__currentLoggingCall = None
+        self.__currentLoggingArgument = None
+        self.__currentLoggingLevel = None
+        self.__currentExtraKeyword = None
+        self.violations = []
+
+    def __withinLoggingStatement(self):
+        """
+        Private method to check, if we are inside a logging statement.
+        
+        @return flag indicating we are inside a logging statement
+        @rtype bool
+        """
+        return self.__currentLoggingCall is not None
+
+    def __withinLoggingArgument(self):
+        """
+        Private method to check, if we are inside a logging argument.
+        
+        @return flag indicating we are inside a logging argument
+        @rtype bool
+        """
+        return self.__currentLoggingArgument is not None
+
+    def __withinExtraKeyword(self, node):
+        """
+        Private method to check, if we are inside the extra keyword.
+        
+        @param node reference to the node to be checked
+        @type ast.keyword
+        @return flag indicating we are inside the extra keyword
+        @rtype bool
+        """
+        return self.__currentExtraKeyword is not None and \
+            self.__currentExtraKeyword != node
+    
+    def __detectLoggingLevel(self, node):
+        """
+        Private method to decide whether an AST Call is a logging call.
+        
+        @param node reference to the node to be processed
+        @type ast.Call
+        @return logging level
+        @rtype str or None
+        """
+        try:
+            if node.func.value.id == "warnings":
+                return None
+            
+            if node.func.attr in LoggingVisitor.LoggingLevels:
+                return node.func.attr
+        except AttributeError:
+            pass
+        
+        return None
+
+    def __isFormatCall(self, node):
+        """
+        Private method to check if a function call uses format.
+
+        @param node reference to the node to be processed
+        @type ast.Call
+        @return flag indicating the function call uses format
+        @rtype bool
+        """
+        try:
+            return node.func.attr == "format"
+        except AttributeError:
+            return False
+    
+    def visit_Call(self, node):
+        """
+        Public method to handle a function call.
+
+        Every logging statement and string format is expected to be a function
+        call.
+        
+        @param node reference to the node to be processed
+        @type ast.Call
+        """
+        # we are in a logging statement
+        if self.__withinLoggingStatement():
+            if self.__withinLoggingArgument() and self.__isFormatCall(node):
+                self.violations.append((node, "M651"))
+                super(LoggingVisitor, self).generic_visit(node)
+                return
+        
+        loggingLevel = self.__detectLoggingLevel(node)
+        
+        if loggingLevel and self.__currentLoggingLevel is None:
+            self.__currentLoggingLevel = loggingLevel
+        
+        # we are in some other statement
+        if loggingLevel is None:
+            super(LoggingVisitor, self).generic_visit(node)
+            return
+        
+        # we are entering a new logging statement
+        self.__currentLoggingCall = node
+        
+        if loggingLevel == "warn":
+            self.violations.append((node, "M655"))
+        
+        for index, child in enumerate(ast.iter_child_nodes(node)):
+            if index == 1:
+                self.__currentLoggingArgument = child
+            if index > 1 and isinstance(child, ast.keyword) and \
+               child.arg == "extra":
+                self.__currentExtraKeyword = child
+            
+            super(LoggingVisitor, self).visit(child)
+            
+            self.__currentLoggingArgument = None
+            self.__currentExtraKeyword = None
+        
+        self.__currentLoggingCall = None
+        self.__currentLoggingLevel = None
+    
+    def visit_BinOp(self, node):
+        """
+        Public method to handle binary operations while processing the first
+        logging argument.
+        
+        @param node reference to the node to be processed
+        @type ast.BinOp
+        """
+        if self.__withinLoggingStatement() and self.__withinLoggingArgument():
+            # handle percent format
+            if isinstance(node.op, ast.Mod):
+                self.violations.append((node, "M652"))
+            
+            # handle string concat
+            if isinstance(node.op, ast.Add):
+                self.violations.append((node, "M653"))
+        
+        super(LoggingVisitor, self).generic_visit(node)
+    
+    def visit_JoinedStr(self, node):
+        """
+        Public method to handle f-string arguments.
+        
+        @param node reference to the node to be processed
+        @type ast.JoinedStr
+        """
+        if sys.version_info >= (3, 6):
+            if self.__withinLoggingStatement():
+                if any(isinstance(i, ast.FormattedValue) for i in node.values):
+                    if self.__withinLoggingArgument():
+                        self.violations.append((node, "M654"))
+                        
+                        super(LoggingVisitor, self).generic_visit(node)
+
 #
 # eflag: noqa = M702
--- a/Plugins/CheckerPlugins/CodeStyleChecker/translations.py	Sat Mar 10 14:57:23 2018 +0100
+++ b/Plugins/CheckerPlugins/CodeStyleChecker/translations.py	Sun Mar 11 15:27:23 2018 +0100
@@ -535,6 +535,21 @@
     "M632": QCoreApplication.translate(
         "MiscellaneousChecker",
         "format call provides unused keyword ({0})"),
+    "M651": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "logging statement uses string.format()"),
+    "M652": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "logging statement uses '%'"),          # __IGNORE_WARNING_M601__
+    "M653": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "logging statement uses '+'"),
+    "M654": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "logging statement uses f-string"),
+    "M655": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "logging statement uses 'warn' instead of 'warning'"),
     "M701": QCoreApplication.translate(
         "MiscellaneousChecker",
         "expected these __future__ imports: {0}; but only got: {1}"),
--- a/changelog	Sat Mar 10 14:57:23 2018 +0100
+++ b/changelog	Sun Mar 11 15:27:23 2018 +0100
@@ -5,6 +5,7 @@
 - Code Style Checker
   -- added checks for default docstring in functions and modules
   -- added check for dictionaries with sorted keys
+  -- added checks for logging statements
 
 Version 18.03:
 - bug fixes
--- a/eric6.e4p	Sat Mar 10 14:57:23 2018 +0100
+++ b/eric6.e4p	Sun Mar 11 15:27:23 2018 +0100
@@ -2200,14 +2200,14 @@
   </Resources>
   <Others>
     <Other>.hgignore</Other>
+    <Other>APIs/Python/zope-2.10.7.api</Other>
+    <Other>APIs/Python/zope-2.11.2.api</Other>
+    <Other>APIs/Python/zope-3.3.1.api</Other>
     <Other>APIs/Python3/PyQt4.bas</Other>
     <Other>APIs/Python3/PyQt5.bas</Other>
     <Other>APIs/Python3/QScintilla2.bas</Other>
     <Other>APIs/Python3/eric6.api</Other>
     <Other>APIs/Python3/eric6.bas</Other>
-    <Other>APIs/Python/zope-2.10.7.api</Other>
-    <Other>APIs/Python/zope-2.11.2.api</Other>
-    <Other>APIs/Python/zope-3.3.1.api</Other>
     <Other>APIs/QSS/qss.api</Other>
     <Other>APIs/Ruby/Ruby-1.8.7.api</Other>
     <Other>APIs/Ruby/Ruby-1.8.7.bas</Other>
@@ -2832,7 +2832,7 @@
               <string>ExcludeMessages</string>
             </key>
             <value>
-              <string>C101, E265, E266, E305, E402, M811, N802, N803, N807, N808, N821, W293</string>
+              <string>C101, E265, E266, E305, E402, M811, N802, N803, N807, N808, N821, W293, M201</string>
             </value>
             <key>
               <string>FixCodes</string>
--- a/i18n/eric6_cs.ts	Sat Mar 10 14:57:23 2018 +0100
+++ b/i18n/eric6_cs.ts	Sun Mar 11 15:27:23 2018 +0100
@@ -3807,147 +3807,147 @@
 <context>
     <name>CodeStyleFixer</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="561"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
         <source>Triple single quotes converted to triple double quotes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="564"/>
-        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="567"/>
-        <source>Single line docstring put on one line.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="570"/>
-        <source>Period added to summary line.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
-        <source>Blank line before function/method docstring removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
-        <source>Blank line inserted before class docstring.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="579"/>
-        <source>Blank line inserted after class docstring.</source>
+        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="582"/>
-        <source>Blank line inserted after docstring summary.</source>
+        <source>Single line docstring put on one line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="585"/>
-        <source>Blank line inserted after last paragraph of docstring.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="588"/>
-        <source>Leading quotes put on separate line.</source>
+        <source>Period added to summary line.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
+        <source>Blank line before function/method docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="591"/>
-        <source>Trailing quotes put on separate line.</source>
+        <source>Blank line inserted before class docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="594"/>
-        <source>Blank line before class docstring removed.</source>
+        <source>Blank line inserted after class docstring.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
+        <source>Blank line inserted after docstring summary.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="600"/>
-        <source>Blank line after class docstring removed.</source>
+        <source>Blank line inserted after last paragraph of docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="603"/>
-        <source>Blank line after function/method docstring removed.</source>
+        <source>Leading quotes put on separate line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="606"/>
-        <source>Blank line after last paragraph removed.</source>
+        <source>Trailing quotes put on separate line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="609"/>
-        <source>Tab converted to 4 spaces.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
-        <source>Indentation adjusted to be a multiple of four.</source>
+        <source>Blank line before class docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="615"/>
-        <source>Indentation of continuation line corrected.</source>
+        <source>Blank line after class docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="618"/>
-        <source>Indentation of closing bracket corrected.</source>
+        <source>Blank line after function/method docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="621"/>
-        <source>Missing indentation of continuation line corrected.</source>
+        <source>Blank line after last paragraph removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="624"/>
-        <source>Closing bracket aligned to opening bracket.</source>
+        <source>Tab converted to 4 spaces.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="627"/>
-        <source>Indentation level changed.</source>
+        <source>Indentation adjusted to be a multiple of four.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="630"/>
-        <source>Indentation level of hanging indentation changed.</source>
+        <source>Indentation of continuation line corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="633"/>
-        <source>Visual indentation corrected.</source>
+        <source>Indentation of closing bracket corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="636"/>
+        <source>Missing indentation of continuation line corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="639"/>
+        <source>Closing bracket aligned to opening bracket.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="642"/>
+        <source>Indentation level changed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="645"/>
+        <source>Indentation level of hanging indentation changed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="648"/>
+        <source>Visual indentation corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="663"/>
         <source>Extraneous whitespace removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="645"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="660"/>
         <source>Missing whitespace added.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="651"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="666"/>
         <source>Whitespace around comment sign corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="654"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="669"/>
         <source>One blank line inserted.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="658"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="673"/>
         <source>%n blank line(s) inserted.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -3956,7 +3956,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="661"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="676"/>
         <source>%n superfluous lines removed</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -3965,77 +3965,77 @@
         </translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="665"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="680"/>
         <source>Superfluous blank lines removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="668"/>
-        <source>Superfluous blank lines after function decorator removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="671"/>
-        <source>Imports were put on separate lines.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="674"/>
-        <source>Long lines have been shortened.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="677"/>
-        <source>Redundant backslash in brackets removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="683"/>
-        <source>Compound statement corrected.</source>
+        <source>Superfluous blank lines after function decorator removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="686"/>
-        <source>Comparison to None/True/False corrected.</source>
+        <source>Imports were put on separate lines.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="689"/>
-        <source>&apos;{0}&apos; argument added.</source>
+        <source>Long lines have been shortened.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="692"/>
-        <source>&apos;{0}&apos; argument removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="695"/>
-        <source>Whitespace stripped from end of line.</source>
+        <source>Redundant backslash in brackets removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="698"/>
-        <source>newline added to end of file.</source>
+        <source>Compound statement corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="701"/>
-        <source>Superfluous trailing blank lines removed from end of file.</source>
+        <source>Comparison to None/True/False corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="704"/>
+        <source>&apos;{0}&apos; argument added.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="707"/>
+        <source>&apos;{0}&apos; argument removed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="710"/>
+        <source>Whitespace stripped from end of line.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="713"/>
+        <source>newline added to end of file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="716"/>
+        <source>Superfluous trailing blank lines removed from end of file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="719"/>
         <source>&apos;&lt;&gt;&apos; replaced by &apos;!=&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="708"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="723"/>
         <source>Could not save the file! Skipping it. Reason: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="789"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="804"/>
         <source> no message defined for code &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -45735,27 +45735,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
         <source>expected these __future__ imports: {0}; but only got: {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
-        <source>expected these __future__ imports: {0}; but got none</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
-        <source>print statement found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
-        <source>one element tuple found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="556"/>
+        <source>expected these __future__ imports: {0}; but got none</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="559"/>
+        <source>print statement found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="562"/>
+        <source>one element tuple found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="571"/>
         <source>{0}: {1}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -45810,7 +45810,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="568"/>
         <source>mutable default argument of type {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -45819,6 +45819,31 @@
         <source>sort keys - &apos;{0}&apos; should be before &apos;{1}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
+        <source>logging statement uses &apos;%&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
+        <source>logging statement uses f-string</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="550"/>
+        <source>logging statement uses &apos;warn&apos; instead of &apos;warning&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <source>logging statement uses string.format()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
+        <source>logging statement uses &apos;+&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MouseClickDialog</name>
@@ -49266,37 +49291,37 @@
 <context>
     <name>PluginInfoDialog</name>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="13"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="14"/>
         <source>Loaded Plugins</source>
         <translation>Načtené pluginy</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="32"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="33"/>
         <source>&lt;b&gt;Plugin List&lt;/b&gt;&lt;p&gt;This lists all loaded plugins. Double-clicking an entry shows more detailed information in a separate dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Seznam pluginů&lt;/b&gt;&lt;p&gt;Seznam všech načtených modulů. Dvojitý klik na položku zobrazí v dialogovém okně více inforamcí o položce.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="48"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="52"/>
         <source>Module</source>
         <translation>Modul</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="53"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="57"/>
         <source>Name</source>
         <translation>Jméno</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="63"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="67"/>
         <source>Autoactivate</source>
         <translation>Autoaktivovat</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="68"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="72"/>
         <source>Active</source>
         <translation>Aktivní</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="73"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="77"/>
         <source>Description</source>
         <translation>Popisek</translation>
     </message>
@@ -49326,12 +49351,12 @@
         <translation>Deaktivovat</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="22"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="23"/>
         <source>Double-Click an entry to show detailed info. Plugins with an error are shown in red.</source>
         <translation>Dvojitý klik na položku zobrazí detailní info. Pluginy s chybami jsou zobrazeny červeně.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="58"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="62"/>
         <source>Version</source>
         <translation>Verze</translation>
     </message>
Binary file i18n/eric6_de.qm has changed
--- a/i18n/eric6_de.ts	Sat Mar 10 14:57:23 2018 +0100
+++ b/i18n/eric6_de.ts	Sun Mar 11 15:27:23 2018 +0100
@@ -3714,147 +3714,147 @@
 <context>
     <name>CodeStyleFixer</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="561"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
         <source>Triple single quotes converted to triple double quotes.</source>
         <translation>Dreifache Einfachanführungszeichen in dreifache Doppelanführungszeichen umgewandelt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="564"/>
-        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
-        <translation>Einleitende Anführungszeichen in {0}&quot;&quot;&quot; korrigiert</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="567"/>
-        <source>Single line docstring put on one line.</source>
-        <translation>Einzeiligen Docstring auf eine Zeile gebracht.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="570"/>
-        <source>Period added to summary line.</source>
-        <translation>Punkt an die Zusammenfassungszeile angefügt.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
-        <source>Blank line before function/method docstring removed.</source>
-        <translation>Leerzeile vor Funktions-/Methodendocstring entfernt.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
-        <source>Blank line inserted before class docstring.</source>
-        <translation>Leerzeile vor Klassendocstring eingefügt.</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="579"/>
-        <source>Blank line inserted after class docstring.</source>
-        <translation>Leerzeile nach Klassendocstring eingefügt.</translation>
+        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
+        <translation>Einleitende Anführungszeichen in {0}&quot;&quot;&quot; korrigiert</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="582"/>
-        <source>Blank line inserted after docstring summary.</source>
-        <translation>Leerzeile nach Docstring Zusammenfassung eingefügt.</translation>
+        <source>Single line docstring put on one line.</source>
+        <translation>Einzeiligen Docstring auf eine Zeile gebracht.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="585"/>
-        <source>Blank line inserted after last paragraph of docstring.</source>
-        <translation>Leerzeile nach letztem Abschnitt des Docstring eingefügt.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="588"/>
-        <source>Leading quotes put on separate line.</source>
-        <translation>Einleitende Anführungszeichen auf separate Zeile gesetzt.</translation>
+        <source>Period added to summary line.</source>
+        <translation>Punkt an die Zusammenfassungszeile angefügt.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
+        <source>Blank line before function/method docstring removed.</source>
+        <translation>Leerzeile vor Funktions-/Methodendocstring entfernt.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="591"/>
-        <source>Trailing quotes put on separate line.</source>
-        <translation>Schließende Anführungszeichen auf separate Zeile gesetzt.</translation>
+        <source>Blank line inserted before class docstring.</source>
+        <translation>Leerzeile vor Klassendocstring eingefügt.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="594"/>
-        <source>Blank line before class docstring removed.</source>
-        <translation>Leerzeile vor Klassendocstring entfernt.</translation>
+        <source>Blank line inserted after class docstring.</source>
+        <translation>Leerzeile nach Klassendocstring eingefügt.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
+        <source>Blank line inserted after docstring summary.</source>
+        <translation>Leerzeile nach Docstring Zusammenfassung eingefügt.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="600"/>
-        <source>Blank line after class docstring removed.</source>
-        <translation>Leerzeile nach Klassendocstring entfernt.</translation>
+        <source>Blank line inserted after last paragraph of docstring.</source>
+        <translation>Leerzeile nach letztem Abschnitt des Docstring eingefügt.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="603"/>
-        <source>Blank line after function/method docstring removed.</source>
-        <translation>Leerzeile nach Funktions-/Methodendocstring entfernt.</translation>
+        <source>Leading quotes put on separate line.</source>
+        <translation>Einleitende Anführungszeichen auf separate Zeile gesetzt.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="606"/>
-        <source>Blank line after last paragraph removed.</source>
-        <translation>Leerzeile nach letzten Abschnitt entfernt.</translation>
+        <source>Trailing quotes put on separate line.</source>
+        <translation>Schließende Anführungszeichen auf separate Zeile gesetzt.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="609"/>
-        <source>Tab converted to 4 spaces.</source>
-        <translation>Tabulator in 4 Leerzeichen gewandelt.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
-        <source>Indentation adjusted to be a multiple of four.</source>
-        <translation>Einrückung auf ein Vielfaches von vier korrigiert.</translation>
+        <source>Blank line before class docstring removed.</source>
+        <translation>Leerzeile vor Klassendocstring entfernt.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="615"/>
-        <source>Indentation of continuation line corrected.</source>
-        <translation>Einrückung der Fortsetzungszeile korrigiert.</translation>
+        <source>Blank line after class docstring removed.</source>
+        <translation>Leerzeile nach Klassendocstring entfernt.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="618"/>
-        <source>Indentation of closing bracket corrected.</source>
-        <translation>Einrückung der schließenden Klammer korrigiert.</translation>
+        <source>Blank line after function/method docstring removed.</source>
+        <translation>Leerzeile nach Funktions-/Methodendocstring entfernt.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="621"/>
-        <source>Missing indentation of continuation line corrected.</source>
-        <translation>Fehlende Einrückung der Fortsetzungszeile korrigiert.</translation>
+        <source>Blank line after last paragraph removed.</source>
+        <translation>Leerzeile nach letzten Abschnitt entfernt.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="624"/>
-        <source>Closing bracket aligned to opening bracket.</source>
-        <translation>Schließende Klammer an öffnender Klammer ausgerichtet.</translation>
+        <source>Tab converted to 4 spaces.</source>
+        <translation>Tabulator in 4 Leerzeichen gewandelt.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="627"/>
-        <source>Indentation level changed.</source>
-        <translation>Einrückungsebene geändert.</translation>
+        <source>Indentation adjusted to be a multiple of four.</source>
+        <translation>Einrückung auf ein Vielfaches von vier korrigiert.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="630"/>
-        <source>Indentation level of hanging indentation changed.</source>
-        <translation>Einrückungsebene der hängenden Einrückung geändert.</translation>
+        <source>Indentation of continuation line corrected.</source>
+        <translation>Einrückung der Fortsetzungszeile korrigiert.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="633"/>
-        <source>Visual indentation corrected.</source>
-        <translation>Visuelle Einrückung korrigiert.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="648"/>
-        <source>Extraneous whitespace removed.</source>
-        <translation>Überzählige Leerzeichen gelöscht.</translation>
+        <source>Indentation of closing bracket corrected.</source>
+        <translation>Einrückung der schließenden Klammer korrigiert.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="636"/>
+        <source>Missing indentation of continuation line corrected.</source>
+        <translation>Fehlende Einrückung der Fortsetzungszeile korrigiert.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="639"/>
+        <source>Closing bracket aligned to opening bracket.</source>
+        <translation>Schließende Klammer an öffnender Klammer ausgerichtet.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="642"/>
+        <source>Indentation level changed.</source>
+        <translation>Einrückungsebene geändert.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="645"/>
+        <source>Indentation level of hanging indentation changed.</source>
+        <translation>Einrückungsebene der hängenden Einrückung geändert.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="648"/>
+        <source>Visual indentation corrected.</source>
+        <translation>Visuelle Einrückung korrigiert.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="663"/>
+        <source>Extraneous whitespace removed.</source>
+        <translation>Überzählige Leerzeichen gelöscht.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="660"/>
         <source>Missing whitespace added.</source>
         <translation>Fehlende Leerzeichen eingefügt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="651"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="666"/>
         <source>Whitespace around comment sign corrected.</source>
         <translation>Leerzeichen um Kommentarzeichen korrigiert.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="654"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="669"/>
         <source>One blank line inserted.</source>
         <translation>Eine Leerzeile eingefügt.</translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="658"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="673"/>
         <source>%n blank line(s) inserted.</source>
         <translation>
             <numerusform>Eine Leerzeile eingefügt.</numerusform>
@@ -3862,7 +3862,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="661"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="676"/>
         <source>%n superfluous lines removed</source>
         <translation>
             <numerusform>Eine überflüssige Zeile gelöscht</numerusform>
@@ -3870,77 +3870,77 @@
         </translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="665"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="680"/>
         <source>Superfluous blank lines removed.</source>
         <translation>Überflüssige Leerzeilen gelöscht.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="668"/>
-        <source>Superfluous blank lines after function decorator removed.</source>
-        <translation>Überflüssige Leerzeilen nach Funktionsdekorator gelöscht.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="671"/>
-        <source>Imports were put on separate lines.</source>
-        <translation>Imports wurden auf separate Zeilen verteilt.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="674"/>
-        <source>Long lines have been shortened.</source>
-        <translation>Lange Zeilen wurden gekürzt.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="677"/>
-        <source>Redundant backslash in brackets removed.</source>
-        <translation>Redundante Backslashes in Klammern entfernt.</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="683"/>
-        <source>Compound statement corrected.</source>
-        <translation>Compund Statement korrigiert.</translation>
+        <source>Superfluous blank lines after function decorator removed.</source>
+        <translation>Überflüssige Leerzeilen nach Funktionsdekorator gelöscht.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="686"/>
-        <source>Comparison to None/True/False corrected.</source>
-        <translation>Vergleich mit None/True/False korrigiert.</translation>
+        <source>Imports were put on separate lines.</source>
+        <translation>Imports wurden auf separate Zeilen verteilt.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="689"/>
-        <source>&apos;{0}&apos; argument added.</source>
-        <translation>&apos;{0}&apos; Argument hinzugefügt.</translation>
+        <source>Long lines have been shortened.</source>
+        <translation>Lange Zeilen wurden gekürzt.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="692"/>
-        <source>&apos;{0}&apos; argument removed.</source>
-        <translation>&apos;{0}&apos; Argument entfernt.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="695"/>
-        <source>Whitespace stripped from end of line.</source>
-        <translation>Leerzeichen am Zeilenende entfernt.</translation>
+        <source>Redundant backslash in brackets removed.</source>
+        <translation>Redundante Backslashes in Klammern entfernt.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="698"/>
-        <source>newline added to end of file.</source>
-        <translation>Zeilenvorschub am Dateiende angefügt.</translation>
+        <source>Compound statement corrected.</source>
+        <translation>Compund Statement korrigiert.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="701"/>
-        <source>Superfluous trailing blank lines removed from end of file.</source>
-        <translation>Überflüssige Leerzeilen am Dateiende gelöscht.</translation>
+        <source>Comparison to None/True/False corrected.</source>
+        <translation>Vergleich mit None/True/False korrigiert.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="704"/>
+        <source>&apos;{0}&apos; argument added.</source>
+        <translation>&apos;{0}&apos; Argument hinzugefügt.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="707"/>
+        <source>&apos;{0}&apos; argument removed.</source>
+        <translation>&apos;{0}&apos; Argument entfernt.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="710"/>
+        <source>Whitespace stripped from end of line.</source>
+        <translation>Leerzeichen am Zeilenende entfernt.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="713"/>
+        <source>newline added to end of file.</source>
+        <translation>Zeilenvorschub am Dateiende angefügt.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="716"/>
+        <source>Superfluous trailing blank lines removed from end of file.</source>
+        <translation>Überflüssige Leerzeilen am Dateiende gelöscht.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="719"/>
         <source>&apos;&lt;&gt;&apos; replaced by &apos;!=&apos;.</source>
         <translation>„&lt;&gt;“ durch „!=“ ersetzt.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="708"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="723"/>
         <source>Could not save the file! Skipping it. Reason: {0}</source>
         <translation>Datei konnte nicht gespeichert werden! Ursache: {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="789"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="804"/>
         <source> no message defined for code &apos;{0}&apos;</source>
         <translation> keine Nachricht für &apos;{0}&apos; definiert</translation>
     </message>
@@ -44765,27 +44765,27 @@
         <translation>Format Aufruf verwendet ungenutztes Schlüsselwort ({0})</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
         <source>expected these __future__ imports: {0}; but only got: {1}</source>
         <translation>erwartete __future__ Imports: {0}; aber nur {1} gefunden</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
-        <source>expected these __future__ imports: {0}; but got none</source>
-        <translation>erwartete __future__ Imports: {0}; jedoch keine gefunden</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
-        <source>print statement found</source>
-        <translation>print Statement gefunden</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
-        <source>one element tuple found</source>
-        <translation>Tuple mit einem Element gefunden</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="556"/>
+        <source>expected these __future__ imports: {0}; but got none</source>
+        <translation>erwartete __future__ Imports: {0}; jedoch keine gefunden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="559"/>
+        <source>print statement found</source>
+        <translation>print Statement gefunden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="562"/>
+        <source>one element tuple found</source>
+        <translation>Tuple mit einem Element gefunden</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="571"/>
         <source>{0}: {1}</source>
         <translation>{0}: {1}</translation>
     </message>
@@ -44840,7 +44840,7 @@
         <translation>unnötige List Comprehension - &quot;{0}&quot; kann einen Generator verwenden</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="568"/>
         <source>mutable default argument of type {0}</source>
         <translation>veränderbares Standardargument des Typs {0}</translation>
     </message>
@@ -44849,6 +44849,31 @@
         <source>sort keys - &apos;{0}&apos; should be before &apos;{1}&apos;</source>
         <translation>Schlüssel sortieren - &apos;{0}&apos; sollte vor &apos;{1}&apos; kommen</translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
+        <source>logging statement uses &apos;%&apos;</source>
+        <translation>Loggingbefehl verwendet &apos;%&apos;</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
+        <source>logging statement uses f-string</source>
+        <translation>Loggingbefehl verwendet &apos;f-string&apos;</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="550"/>
+        <source>logging statement uses &apos;warn&apos; instead of &apos;warning&apos;</source>
+        <translation>Loggingbefehl verwendet &apos;warn&apos; anstelle &apos;warning&apos;</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <source>logging statement uses string.format()</source>
+        <translation>Loggingbefehl verwendet &apos;string.format()&apos;</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
+        <source>logging statement uses &apos;+&apos;</source>
+        <translation>Loggingbefehl verwendet &apos;+&apos;</translation>
+    </message>
 </context>
 <context>
     <name>MouseClickDialog</name>
@@ -48271,37 +48296,37 @@
 <context>
     <name>PluginInfoDialog</name>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="13"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="14"/>
         <source>Loaded Plugins</source>
         <translation>Geladene Plugins</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="32"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="33"/>
         <source>&lt;b&gt;Plugin List&lt;/b&gt;&lt;p&gt;This lists all loaded plugins. Double-clicking an entry shows more detailed information in a separate dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Pluginliste&lt;/b&gt;&lt;p&gt;Dies listet alel geladenen Plugins. Doppelklicken Sie einen Eintrag, so werden detailliertere Informationen in einem separaten Dialog angezeigt.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="48"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="52"/>
         <source>Module</source>
         <translation>Modul</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="53"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="57"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="63"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="67"/>
         <source>Autoactivate</source>
         <translation>Autoaktivierung</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="68"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="72"/>
         <source>Active</source>
         <translation>Aktiv</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="73"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="77"/>
         <source>Description</source>
         <translation>Beschreibung</translation>
     </message>
@@ -48331,12 +48356,12 @@
         <translation>Deaktivieren</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="22"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="23"/>
         <source>Double-Click an entry to show detailed info. Plugins with an error are shown in red.</source>
         <translation>Einen Eintrag doppelklicken, um detaillierte Informationen anzuzeigen. Plugins mit Fehler werden in Rot dargestellt.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="58"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="62"/>
         <source>Version</source>
         <translation>Version</translation>
     </message>
--- a/i18n/eric6_empty.ts	Sat Mar 10 14:57:23 2018 +0100
+++ b/i18n/eric6_empty.ts	Sun Mar 11 15:27:23 2018 +0100
@@ -3668,231 +3668,231 @@
 <context>
     <name>CodeStyleFixer</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="561"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
         <source>Triple single quotes converted to triple double quotes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="564"/>
-        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="567"/>
-        <source>Single line docstring put on one line.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="570"/>
-        <source>Period added to summary line.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
-        <source>Blank line before function/method docstring removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
-        <source>Blank line inserted before class docstring.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="579"/>
-        <source>Blank line inserted after class docstring.</source>
+        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="582"/>
-        <source>Blank line inserted after docstring summary.</source>
+        <source>Single line docstring put on one line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="585"/>
-        <source>Blank line inserted after last paragraph of docstring.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="588"/>
-        <source>Leading quotes put on separate line.</source>
+        <source>Period added to summary line.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
+        <source>Blank line before function/method docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="591"/>
-        <source>Trailing quotes put on separate line.</source>
+        <source>Blank line inserted before class docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="594"/>
-        <source>Blank line before class docstring removed.</source>
+        <source>Blank line inserted after class docstring.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
+        <source>Blank line inserted after docstring summary.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="600"/>
-        <source>Blank line after class docstring removed.</source>
+        <source>Blank line inserted after last paragraph of docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="603"/>
-        <source>Blank line after function/method docstring removed.</source>
+        <source>Leading quotes put on separate line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="606"/>
-        <source>Blank line after last paragraph removed.</source>
+        <source>Trailing quotes put on separate line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="609"/>
-        <source>Tab converted to 4 spaces.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
-        <source>Indentation adjusted to be a multiple of four.</source>
+        <source>Blank line before class docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="615"/>
-        <source>Indentation of continuation line corrected.</source>
+        <source>Blank line after class docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="618"/>
-        <source>Indentation of closing bracket corrected.</source>
+        <source>Blank line after function/method docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="621"/>
-        <source>Missing indentation of continuation line corrected.</source>
+        <source>Blank line after last paragraph removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="624"/>
-        <source>Closing bracket aligned to opening bracket.</source>
+        <source>Tab converted to 4 spaces.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="627"/>
-        <source>Indentation level changed.</source>
+        <source>Indentation adjusted to be a multiple of four.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="630"/>
-        <source>Indentation level of hanging indentation changed.</source>
+        <source>Indentation of continuation line corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="633"/>
-        <source>Visual indentation corrected.</source>
+        <source>Indentation of closing bracket corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="636"/>
+        <source>Missing indentation of continuation line corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="639"/>
+        <source>Closing bracket aligned to opening bracket.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="642"/>
+        <source>Indentation level changed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="645"/>
+        <source>Indentation level of hanging indentation changed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="648"/>
+        <source>Visual indentation corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="663"/>
         <source>Extraneous whitespace removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="645"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="660"/>
         <source>Missing whitespace added.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="651"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="666"/>
         <source>Whitespace around comment sign corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="654"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="669"/>
         <source>One blank line inserted.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="658"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="673"/>
         <source>%n blank line(s) inserted.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="661"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="676"/>
         <source>%n superfluous lines removed</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="665"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="680"/>
         <source>Superfluous blank lines removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="668"/>
-        <source>Superfluous blank lines after function decorator removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="671"/>
-        <source>Imports were put on separate lines.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="674"/>
-        <source>Long lines have been shortened.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="677"/>
-        <source>Redundant backslash in brackets removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="683"/>
-        <source>Compound statement corrected.</source>
+        <source>Superfluous blank lines after function decorator removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="686"/>
-        <source>Comparison to None/True/False corrected.</source>
+        <source>Imports were put on separate lines.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="689"/>
-        <source>&apos;{0}&apos; argument added.</source>
+        <source>Long lines have been shortened.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="692"/>
-        <source>&apos;{0}&apos; argument removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="695"/>
-        <source>Whitespace stripped from end of line.</source>
+        <source>Redundant backslash in brackets removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="698"/>
-        <source>newline added to end of file.</source>
+        <source>Compound statement corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="701"/>
-        <source>Superfluous trailing blank lines removed from end of file.</source>
+        <source>Comparison to None/True/False corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="704"/>
+        <source>&apos;{0}&apos; argument added.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="707"/>
+        <source>&apos;{0}&apos; argument removed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="710"/>
+        <source>Whitespace stripped from end of line.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="713"/>
+        <source>newline added to end of file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="716"/>
+        <source>Superfluous trailing blank lines removed from end of file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="719"/>
         <source>&apos;&lt;&gt;&apos; replaced by &apos;!=&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="708"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="723"/>
         <source>Could not save the file! Skipping it. Reason: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="789"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="804"/>
         <source> no message defined for code &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -44527,27 +44527,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
         <source>expected these __future__ imports: {0}; but only got: {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
-        <source>expected these __future__ imports: {0}; but got none</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
-        <source>print statement found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
-        <source>one element tuple found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="556"/>
+        <source>expected these __future__ imports: {0}; but got none</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="559"/>
+        <source>print statement found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="562"/>
+        <source>one element tuple found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="571"/>
         <source>{0}: {1}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -44602,7 +44602,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="568"/>
         <source>mutable default argument of type {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -44611,6 +44611,31 @@
         <source>sort keys - &apos;{0}&apos; should be before &apos;{1}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
+        <source>logging statement uses &apos;%&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
+        <source>logging statement uses f-string</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="550"/>
+        <source>logging statement uses &apos;warn&apos; instead of &apos;warning&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <source>logging statement uses string.format()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
+        <source>logging statement uses &apos;+&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MouseClickDialog</name>
@@ -48028,47 +48053,47 @@
 <context>
     <name>PluginInfoDialog</name>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="13"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="14"/>
         <source>Loaded Plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="22"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="23"/>
         <source>Double-Click an entry to show detailed info. Plugins with an error are shown in red.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="32"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="33"/>
         <source>&lt;b&gt;Plugin List&lt;/b&gt;&lt;p&gt;This lists all loaded plugins. Double-clicking an entry shows more detailed information in a separate dialog.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="48"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="52"/>
         <source>Module</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="53"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="57"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="58"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="62"/>
         <source>Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="63"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="67"/>
         <source>Autoactivate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="68"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="72"/>
         <source>Active</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="73"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="77"/>
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric6_en.ts	Sat Mar 10 14:57:23 2018 +0100
+++ b/i18n/eric6_en.ts	Sun Mar 11 15:27:23 2018 +0100
@@ -3668,147 +3668,147 @@
 <context>
     <name>CodeStyleFixer</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="561"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
         <source>Triple single quotes converted to triple double quotes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="564"/>
-        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="567"/>
-        <source>Single line docstring put on one line.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="570"/>
-        <source>Period added to summary line.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
-        <source>Blank line before function/method docstring removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
-        <source>Blank line inserted before class docstring.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="579"/>
-        <source>Blank line inserted after class docstring.</source>
+        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="582"/>
-        <source>Blank line inserted after docstring summary.</source>
+        <source>Single line docstring put on one line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="585"/>
-        <source>Blank line inserted after last paragraph of docstring.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="588"/>
-        <source>Leading quotes put on separate line.</source>
+        <source>Period added to summary line.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
+        <source>Blank line before function/method docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="591"/>
-        <source>Trailing quotes put on separate line.</source>
+        <source>Blank line inserted before class docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="594"/>
-        <source>Blank line before class docstring removed.</source>
+        <source>Blank line inserted after class docstring.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
+        <source>Blank line inserted after docstring summary.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="600"/>
-        <source>Blank line after class docstring removed.</source>
+        <source>Blank line inserted after last paragraph of docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="603"/>
-        <source>Blank line after function/method docstring removed.</source>
+        <source>Leading quotes put on separate line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="606"/>
-        <source>Blank line after last paragraph removed.</source>
+        <source>Trailing quotes put on separate line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="609"/>
-        <source>Tab converted to 4 spaces.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
-        <source>Indentation adjusted to be a multiple of four.</source>
+        <source>Blank line before class docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="615"/>
-        <source>Indentation of continuation line corrected.</source>
+        <source>Blank line after class docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="618"/>
-        <source>Indentation of closing bracket corrected.</source>
+        <source>Blank line after function/method docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="621"/>
-        <source>Missing indentation of continuation line corrected.</source>
+        <source>Blank line after last paragraph removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="624"/>
-        <source>Closing bracket aligned to opening bracket.</source>
+        <source>Tab converted to 4 spaces.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="627"/>
-        <source>Indentation level changed.</source>
+        <source>Indentation adjusted to be a multiple of four.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="630"/>
-        <source>Indentation level of hanging indentation changed.</source>
+        <source>Indentation of continuation line corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="633"/>
-        <source>Visual indentation corrected.</source>
+        <source>Indentation of closing bracket corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="636"/>
+        <source>Missing indentation of continuation line corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="639"/>
+        <source>Closing bracket aligned to opening bracket.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="642"/>
+        <source>Indentation level changed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="645"/>
+        <source>Indentation level of hanging indentation changed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="648"/>
+        <source>Visual indentation corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="663"/>
         <source>Extraneous whitespace removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="645"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="660"/>
         <source>Missing whitespace added.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="651"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="666"/>
         <source>Whitespace around comment sign corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="654"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="669"/>
         <source>One blank line inserted.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="658"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="673"/>
         <source>%n blank line(s) inserted.</source>
         <translation>
             <numerusform>%n blank line inserted.</numerusform>
@@ -3816,7 +3816,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="661"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="676"/>
         <source>%n superfluous lines removed</source>
         <translation>
             <numerusform>%n superfluous line removed</numerusform>
@@ -3824,77 +3824,77 @@
         </translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="665"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="680"/>
         <source>Superfluous blank lines removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="668"/>
-        <source>Superfluous blank lines after function decorator removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="671"/>
-        <source>Imports were put on separate lines.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="674"/>
-        <source>Long lines have been shortened.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="677"/>
-        <source>Redundant backslash in brackets removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="683"/>
-        <source>Compound statement corrected.</source>
+        <source>Superfluous blank lines after function decorator removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="686"/>
-        <source>Comparison to None/True/False corrected.</source>
+        <source>Imports were put on separate lines.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="689"/>
-        <source>&apos;{0}&apos; argument added.</source>
+        <source>Long lines have been shortened.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="692"/>
-        <source>&apos;{0}&apos; argument removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="695"/>
-        <source>Whitespace stripped from end of line.</source>
+        <source>Redundant backslash in brackets removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="698"/>
-        <source>newline added to end of file.</source>
+        <source>Compound statement corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="701"/>
-        <source>Superfluous trailing blank lines removed from end of file.</source>
+        <source>Comparison to None/True/False corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="704"/>
+        <source>&apos;{0}&apos; argument added.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="707"/>
+        <source>&apos;{0}&apos; argument removed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="710"/>
+        <source>Whitespace stripped from end of line.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="713"/>
+        <source>newline added to end of file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="716"/>
+        <source>Superfluous trailing blank lines removed from end of file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="719"/>
         <source>&apos;&lt;&gt;&apos; replaced by &apos;!=&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="708"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="723"/>
         <source>Could not save the file! Skipping it. Reason: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="789"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="804"/>
         <source> no message defined for code &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -44569,27 +44569,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
         <source>expected these __future__ imports: {0}; but only got: {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
-        <source>expected these __future__ imports: {0}; but got none</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
-        <source>print statement found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
-        <source>one element tuple found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="556"/>
+        <source>expected these __future__ imports: {0}; but got none</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="559"/>
+        <source>print statement found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="562"/>
+        <source>one element tuple found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="571"/>
         <source>{0}: {1}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -44644,7 +44644,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="568"/>
         <source>mutable default argument of type {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -44653,6 +44653,31 @@
         <source>sort keys - &apos;{0}&apos; should be before &apos;{1}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
+        <source>logging statement uses &apos;%&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
+        <source>logging statement uses f-string</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="550"/>
+        <source>logging statement uses &apos;warn&apos; instead of &apos;warning&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <source>logging statement uses string.format()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
+        <source>logging statement uses &apos;+&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MouseClickDialog</name>
@@ -48072,47 +48097,47 @@
 <context>
     <name>PluginInfoDialog</name>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="13"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="14"/>
         <source>Loaded Plugins</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="22"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="23"/>
         <source>Double-Click an entry to show detailed info. Plugins with an error are shown in red.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="32"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="33"/>
         <source>&lt;b&gt;Plugin List&lt;/b&gt;&lt;p&gt;This lists all loaded plugins. Double-clicking an entry shows more detailed information in a separate dialog.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="48"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="52"/>
         <source>Module</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="53"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="57"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="58"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="62"/>
         <source>Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="63"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="67"/>
         <source>Autoactivate</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="68"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="72"/>
         <source>Active</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="73"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="77"/>
         <source>Description</source>
         <translation type="unfinished"></translation>
     </message>
--- a/i18n/eric6_es.ts	Sat Mar 10 14:57:23 2018 +0100
+++ b/i18n/eric6_es.ts	Sun Mar 11 15:27:23 2018 +0100
@@ -3709,147 +3709,147 @@
 <context>
     <name>CodeStyleFixer</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="561"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
         <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="564"/>
-        <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="567"/>
-        <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="570"/>
-        <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="597"/>
-        <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="576"/>
-        <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="579"/>
-        <source>Blank line inserted after class docstring.</source>
-        <translation>Linea en blanco insertada detrás de docstring.</translation>
+        <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="582"/>
-        <source>Blank line inserted after docstring summary.</source>
-        <translation>Linea en blanco insertada detrás de docstring de resumen.</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="585"/>
-        <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="588"/>
-        <source>Leading quotes put on separate line.</source>
-        <translation>Comillas iniciales puestas en línea separada.</translation>
+        <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="612"/>
+        <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="591"/>
-        <source>Trailing quotes put on separate line.</source>
-        <translation>Comillas finales puestas en línea separada.</translation>
+        <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="594"/>
-        <source>Blank line before class docstring removed.</source>
-        <translation>Línea en blanco antes de docstring de clase eliminada.</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="597"/>
+        <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="600"/>
-        <source>Blank line after class docstring removed.</source>
-        <translation>Línea en blanco detrás de docstring eliminada.</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="603"/>
-        <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>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="606"/>
-        <source>Blank line after last paragraph removed.</source>
-        <translation>Linea en blanco detrás de último párrafo eliminada.</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="609"/>
-        <source>Tab converted to 4 spaces.</source>
-        <translation>Tabulador convertido a 4 espacios.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
-        <source>Indentation adjusted to be a multiple of four.</source>
-        <translation>Indentación ajustada para ser un múltiplo de cuatro.</translation>
+        <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="615"/>
-        <source>Indentation of continuation line corrected.</source>
-        <translation>Indentación de línea de continuación corregida.</translation>
+        <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="618"/>
-        <source>Indentation of closing bracket corrected.</source>
-        <translation>Indentación de llave de cierre corregida.</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="621"/>
-        <source>Missing indentation of continuation line corrected.</source>
-        <translation>Indentación inexistente en línea de continuación corregida.</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="624"/>
-        <source>Closing bracket aligned to opening bracket.</source>
-        <translation>Llave de cierre alineada a llave de apertura.</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="627"/>
-        <source>Indentation level changed.</source>
-        <translation>Nivel de indentación corregida.</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="630"/>
-        <source>Indentation level of hanging indentation changed.</source>
-        <translation>Nivel de indentación de indentación colgante corregida.</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="633"/>
-        <source>Visual indentation corrected.</source>
-        <translation>Indentación visual corregida.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="648"/>
-        <source>Extraneous whitespace removed.</source>
-        <translation>Eliminado espacio en blanco extraño.</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="636"/>
+        <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="639"/>
+        <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="642"/>
+        <source>Indentation level changed.</source>
+        <translation>Nivel de indentación corregida.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="645"/>
+        <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="648"/>
+        <source>Visual indentation corrected.</source>
+        <translation>Indentación visual corregida.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="663"/>
+        <source>Extraneous whitespace removed.</source>
+        <translation>Eliminado espacio en blanco extraño.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="660"/>
         <source>Missing whitespace added.</source>
         <translation>Añadido espacio en blanco que faltaba.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="651"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="666"/>
         <source>Whitespace around comment sign corrected.</source>
         <translation>Espacio en blanco alrededor de signo de comentario corregido.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="654"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="669"/>
         <source>One blank line inserted.</source>
         <translation>Insertada una línea en blanco.</translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="658"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="673"/>
         <source>%n blank line(s) inserted.</source>
         <translation>
             <numerusform>Insertada %n línea en blanco.</numerusform>
@@ -3857,7 +3857,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="661"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="676"/>
         <source>%n superfluous lines removed</source>
         <translation>
             <numerusform>Eliminada %n línea en blanco sobrante</numerusform>
@@ -3865,77 +3865,77 @@
         </translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="665"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="680"/>
         <source>Superfluous blank lines removed.</source>
         <translation>Eliminadas líneas en blanco sobrantes.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="668"/>
-        <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="671"/>
-        <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="674"/>
-        <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="677"/>
-        <source>Redundant backslash in brackets removed.</source>
-        <translation>Backslash redundante en llaves eliminado.</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="683"/>
-        <source>Compound statement corrected.</source>
-        <translation>Sentencia compuesta corregida.</translation>
+        <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="686"/>
-        <source>Comparison to None/True/False corrected.</source>
-        <translation>Comparación a None/True/False corregida.</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="689"/>
-        <source>&apos;{0}&apos; argument added.</source>
-        <translation>Añadido el argumento &apos;{0}&apos;.</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="692"/>
-        <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="695"/>
-        <source>Whitespace stripped from end of line.</source>
-        <translation>Espacio eliminado del final de la línea.</translation>
+        <source>Redundant backslash in brackets removed.</source>
+        <translation>Backslash redundante en llaves eliminado.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="698"/>
-        <source>newline added to end of file.</source>
-        <translation>Carácter de nueva línea añadido al final del archivo.</translation>
+        <source>Compound statement corrected.</source>
+        <translation>Sentencia compuesta corregida.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="701"/>
-        <source>Superfluous trailing blank lines removed from end of file.</source>
-        <translation>Eliminadas líneas en blanco sobrantes de final de archivo.</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="704"/>
+        <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="707"/>
+        <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="710"/>
+        <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="713"/>
+        <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="716"/>
+        <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="719"/>
         <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="708"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="723"/>
         <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="789"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="804"/>
         <source> no message defined for code &apos;{0}&apos;</source>
         <translation> sin mensaje definido para el código &apos;{0}&apos;</translation>
     </message>
@@ -44767,27 +44767,27 @@
         <translation>llamada de formato proporciona palabra clave que no se usa ({0})</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
         <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="541"/>
-        <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="544"/>
-        <source>print statement found</source>
-        <translation>encontrada sentencia print</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
-        <source>one element tuple found</source>
-        <translation>tupla de un elemento encontrada</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="556"/>
+        <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="559"/>
+        <source>print statement found</source>
+        <translation>encontrada sentencia print</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="562"/>
+        <source>one element tuple found</source>
+        <translation>tupla de un elemento encontrada</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="571"/>
         <source>{0}: {1}</source>
         <translation>{0}: {1}</translation>
     </message>
@@ -44842,7 +44842,7 @@
         <translation>lista de comprehensión innecesaria - &quot;{0}&quot; puede aceptar un generador</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="568"/>
         <source>mutable default argument of type {0}</source>
         <translation>argumento por defecto mutable de tipo {0}</translation>
     </message>
@@ -44851,6 +44851,31 @@
         <source>sort keys - &apos;{0}&apos; should be before &apos;{1}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
+        <source>logging statement uses &apos;%&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
+        <source>logging statement uses f-string</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="550"/>
+        <source>logging statement uses &apos;warn&apos; instead of &apos;warning&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <source>logging statement uses string.format()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
+        <source>logging statement uses &apos;+&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MouseClickDialog</name>
@@ -48273,42 +48298,42 @@
 <context>
     <name>PluginInfoDialog</name>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="13"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="14"/>
         <source>Loaded Plugins</source>
         <translation>Plugins Cargados</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="22"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="23"/>
         <source>Double-Click an entry to show detailed info. Plugins with an error are shown in red.</source>
         <translation>Haga doble click sobre una entrada para mostrar información detallada. Los plugins con un errores se muestran en rojo.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="32"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="33"/>
         <source>&lt;b&gt;Plugin List&lt;/b&gt;&lt;p&gt;This lists all loaded plugins. Double-clicking an entry shows more detailed information in a separate dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Lista de Plugins&lt;/b&gt;&lt;p&gt;Muestra todos los plugins cargados. Un doble click en una entrada muestra más información en un diálogo aparte.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="48"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="52"/>
         <source>Module</source>
         <translation>Módulo</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="53"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="57"/>
         <source>Name</source>
         <translation>Nombre</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="63"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="67"/>
         <source>Autoactivate</source>
         <translation>Autoactivar</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="68"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="72"/>
         <source>Active</source>
         <translation>Activo</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="73"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="77"/>
         <source>Description</source>
         <translation>Descripción</translation>
     </message>
@@ -48338,7 +48363,7 @@
         <translation>No</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="58"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="62"/>
         <source>Version</source>
         <translation>Versión</translation>
     </message>
--- a/i18n/eric6_fr.ts	Sat Mar 10 14:57:23 2018 +0100
+++ b/i18n/eric6_fr.ts	Sun Mar 11 15:27:23 2018 +0100
@@ -3824,147 +3824,147 @@
 <context>
     <name>CodeStyleFixer</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="561"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
         <source>Triple single quotes converted to triple double quotes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="564"/>
-        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="567"/>
-        <source>Single line docstring put on one line.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="570"/>
-        <source>Period added to summary line.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
-        <source>Blank line before function/method docstring removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
-        <source>Blank line inserted before class docstring.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="579"/>
-        <source>Blank line inserted after class docstring.</source>
+        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="582"/>
-        <source>Blank line inserted after docstring summary.</source>
+        <source>Single line docstring put on one line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="585"/>
-        <source>Blank line inserted after last paragraph of docstring.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="588"/>
-        <source>Leading quotes put on separate line.</source>
+        <source>Period added to summary line.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
+        <source>Blank line before function/method docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="591"/>
-        <source>Trailing quotes put on separate line.</source>
+        <source>Blank line inserted before class docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="594"/>
-        <source>Blank line before class docstring removed.</source>
+        <source>Blank line inserted after class docstring.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
+        <source>Blank line inserted after docstring summary.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="600"/>
-        <source>Blank line after class docstring removed.</source>
+        <source>Blank line inserted after last paragraph of docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="603"/>
-        <source>Blank line after function/method docstring removed.</source>
+        <source>Leading quotes put on separate line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="606"/>
-        <source>Blank line after last paragraph removed.</source>
+        <source>Trailing quotes put on separate line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="609"/>
-        <source>Tab converted to 4 spaces.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
-        <source>Indentation adjusted to be a multiple of four.</source>
+        <source>Blank line before class docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="615"/>
-        <source>Indentation of continuation line corrected.</source>
+        <source>Blank line after class docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="618"/>
-        <source>Indentation of closing bracket corrected.</source>
+        <source>Blank line after function/method docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="621"/>
-        <source>Missing indentation of continuation line corrected.</source>
+        <source>Blank line after last paragraph removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="624"/>
-        <source>Closing bracket aligned to opening bracket.</source>
+        <source>Tab converted to 4 spaces.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="627"/>
-        <source>Indentation level changed.</source>
+        <source>Indentation adjusted to be a multiple of four.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="630"/>
-        <source>Indentation level of hanging indentation changed.</source>
+        <source>Indentation of continuation line corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="633"/>
-        <source>Visual indentation corrected.</source>
+        <source>Indentation of closing bracket corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="636"/>
+        <source>Missing indentation of continuation line corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="639"/>
+        <source>Closing bracket aligned to opening bracket.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="642"/>
+        <source>Indentation level changed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="645"/>
+        <source>Indentation level of hanging indentation changed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="648"/>
+        <source>Visual indentation corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="663"/>
         <source>Extraneous whitespace removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="645"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="660"/>
         <source>Missing whitespace added.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="651"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="666"/>
         <source>Whitespace around comment sign corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="654"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="669"/>
         <source>One blank line inserted.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="658"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="673"/>
         <source>%n blank line(s) inserted.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -3972,7 +3972,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="661"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="676"/>
         <source>%n superfluous lines removed</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -3980,77 +3980,77 @@
         </translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="665"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="680"/>
         <source>Superfluous blank lines removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="668"/>
-        <source>Superfluous blank lines after function decorator removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="671"/>
-        <source>Imports were put on separate lines.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="674"/>
-        <source>Long lines have been shortened.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="677"/>
-        <source>Redundant backslash in brackets removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="683"/>
-        <source>Compound statement corrected.</source>
+        <source>Superfluous blank lines after function decorator removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="686"/>
-        <source>Comparison to None/True/False corrected.</source>
+        <source>Imports were put on separate lines.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="689"/>
-        <source>&apos;{0}&apos; argument added.</source>
+        <source>Long lines have been shortened.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="692"/>
-        <source>&apos;{0}&apos; argument removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="695"/>
-        <source>Whitespace stripped from end of line.</source>
+        <source>Redundant backslash in brackets removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="698"/>
-        <source>newline added to end of file.</source>
+        <source>Compound statement corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="701"/>
-        <source>Superfluous trailing blank lines removed from end of file.</source>
+        <source>Comparison to None/True/False corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="704"/>
+        <source>&apos;{0}&apos; argument added.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="707"/>
+        <source>&apos;{0}&apos; argument removed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="710"/>
+        <source>Whitespace stripped from end of line.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="713"/>
+        <source>newline added to end of file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="716"/>
+        <source>Superfluous trailing blank lines removed from end of file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="719"/>
         <source>&apos;&lt;&gt;&apos; replaced by &apos;!=&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="708"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="723"/>
         <source>Could not save the file! Skipping it. Reason: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="789"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="804"/>
         <source> no message defined for code &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -45479,27 +45479,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
         <source>expected these __future__ imports: {0}; but only got: {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
-        <source>expected these __future__ imports: {0}; but got none</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
-        <source>print statement found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
-        <source>one element tuple found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="556"/>
+        <source>expected these __future__ imports: {0}; but got none</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="559"/>
+        <source>print statement found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="562"/>
+        <source>one element tuple found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="571"/>
         <source>{0}: {1}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -45554,7 +45554,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="568"/>
         <source>mutable default argument of type {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -45563,6 +45563,31 @@
         <source>sort keys - &apos;{0}&apos; should be before &apos;{1}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
+        <source>logging statement uses &apos;%&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
+        <source>logging statement uses f-string</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="550"/>
+        <source>logging statement uses &apos;warn&apos; instead of &apos;warning&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <source>logging statement uses string.format()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
+        <source>logging statement uses &apos;+&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MouseClickDialog</name>
@@ -49002,17 +49027,17 @@
 <context>
     <name>PluginInfoDialog</name>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="48"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="52"/>
         <source>Module</source>
         <translation>Module</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="53"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="57"/>
         <source>Name</source>
         <translation>Nom</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="73"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="77"/>
         <source>Description</source>
         <translation>Description</translation>
     </message>
@@ -49027,27 +49052,27 @@
         <translation>Non</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="13"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="14"/>
         <source>Loaded Plugins</source>
         <translation>Plugins chargés</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="22"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="23"/>
         <source>Double-Click an entry to show detailed info. Plugins with an error are shown in red.</source>
         <translation>Double-cliquer sur une entrée pour afficher les informations détaillées. Les plugins ayant des erreurs sont affichés en rouge.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="32"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="33"/>
         <source>&lt;b&gt;Plugin List&lt;/b&gt;&lt;p&gt;This lists all loaded plugins. Double-clicking an entry shows more detailed information in a separate dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Liste des plugins&lt;/b&gt;&lt;p&gt;Cette liste affiche tous les plugins chargés. Un double-click sur une entrée affiche des informations détaillées dans une fenêtre séparée.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="63"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="67"/>
         <source>Autoactivate</source>
         <translation>Activation automatique</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="68"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="72"/>
         <source>Active</source>
         <translation>Actif</translation>
     </message>
@@ -49067,7 +49092,7 @@
         <translation>Désactiver</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="58"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="62"/>
         <source>Version</source>
         <translation>Version</translation>
     </message>
--- a/i18n/eric6_it.ts	Sat Mar 10 14:57:23 2018 +0100
+++ b/i18n/eric6_it.ts	Sun Mar 11 15:27:23 2018 +0100
@@ -3741,147 +3741,147 @@
 <context>
     <name>CodeStyleFixer</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="561"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
         <source>Triple single quotes converted to triple double quotes.</source>
         <translation>Triple virgolette singole convertite in triple virgolette doppie.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="564"/>
-        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
-        <translation>Virgolette introduttive corrette in {0}&quot;&quot;&quot;</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="567"/>
-        <source>Single line docstring put on one line.</source>
-        <translation>Singole righe documentazione raggruppate su una sola.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="570"/>
-        <source>Period added to summary line.</source>
-        <translation>Aggiunto punto alla riga sommario.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
-        <source>Blank line before function/method docstring removed.</source>
-        <translation>Riga vuota prima della stringa di documentazione funzione/metodo rimossa.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
-        <source>Blank line inserted before class docstring.</source>
-        <translation>Riga vuota inserita prima della stringa di documentazione della classe.</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="579"/>
-        <source>Blank line inserted after class docstring.</source>
-        <translation>Linea vuota inserita dopo la stringa di documentazione della classe.</translation>
+        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
+        <translation>Virgolette introduttive corrette in {0}&quot;&quot;&quot;</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="582"/>
-        <source>Blank line inserted after docstring summary.</source>
-        <translation>Linea vuota inserita dopo la stringa di documentazione del sommario.</translation>
+        <source>Single line docstring put on one line.</source>
+        <translation>Singole righe documentazione raggruppate su una sola.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="585"/>
-        <source>Blank line inserted after last paragraph of docstring.</source>
-        <translation>Linea vuota inserita dopo l&apos;ultimo paragrafo della stringa di documentazione.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="588"/>
-        <source>Leading quotes put on separate line.</source>
-        <translation>Le virgolette di testa messe su una riga separata.</translation>
+        <source>Period added to summary line.</source>
+        <translation>Aggiunto punto alla riga sommario.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
+        <source>Blank line before function/method docstring removed.</source>
+        <translation>Riga vuota prima della stringa di documentazione funzione/metodo rimossa.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="591"/>
-        <source>Trailing quotes put on separate line.</source>
-        <translation>Le virgolette di coda messe su una riga separata.</translation>
+        <source>Blank line inserted before class docstring.</source>
+        <translation>Riga vuota inserita prima della stringa di documentazione della classe.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="594"/>
-        <source>Blank line before class docstring removed.</source>
-        <translation>Rimossa riga vuota prima della stringa di documentazione.</translation>
+        <source>Blank line inserted after class docstring.</source>
+        <translation>Linea vuota inserita dopo la stringa di documentazione della classe.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
+        <source>Blank line inserted after docstring summary.</source>
+        <translation>Linea vuota inserita dopo la stringa di documentazione del sommario.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="600"/>
-        <source>Blank line after class docstring removed.</source>
-        <translation>Rimossa riga vuota dopo della stringa di documentazione.</translation>
+        <source>Blank line inserted after last paragraph of docstring.</source>
+        <translation>Linea vuota inserita dopo l&apos;ultimo paragrafo della stringa di documentazione.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="603"/>
-        <source>Blank line after function/method docstring removed.</source>
-        <translation>Riga vuota dopo la stringa di documentazione funzione/metodo rimossa.</translation>
+        <source>Leading quotes put on separate line.</source>
+        <translation>Le virgolette di testa messe su una riga separata.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="606"/>
-        <source>Blank line after last paragraph removed.</source>
-        <translation>Rimossa riga vuota dopo l&apos;ultimo paragrafo.</translation>
+        <source>Trailing quotes put on separate line.</source>
+        <translation>Le virgolette di coda messe su una riga separata.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="609"/>
-        <source>Tab converted to 4 spaces.</source>
-        <translation>Convertita Tabulazione in 4 spazi.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
-        <source>Indentation adjusted to be a multiple of four.</source>
-        <translation>Identazione portata ad un multiplo di quattro.</translation>
+        <source>Blank line before class docstring removed.</source>
+        <translation>Rimossa riga vuota prima della stringa di documentazione.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="615"/>
-        <source>Indentation of continuation line corrected.</source>
-        <translation>Identazione di continuazione riga corretta.</translation>
+        <source>Blank line after class docstring removed.</source>
+        <translation>Rimossa riga vuota dopo della stringa di documentazione.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="618"/>
-        <source>Indentation of closing bracket corrected.</source>
-        <translation>Identazione di parentesi chiusa corretta.</translation>
+        <source>Blank line after function/method docstring removed.</source>
+        <translation>Riga vuota dopo la stringa di documentazione funzione/metodo rimossa.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="621"/>
-        <source>Missing indentation of continuation line corrected.</source>
-        <translation>Corretta la mancanza di indentazione della continuazione riga.</translation>
+        <source>Blank line after last paragraph removed.</source>
+        <translation>Rimossa riga vuota dopo l&apos;ultimo paragrafo.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="624"/>
-        <source>Closing bracket aligned to opening bracket.</source>
-        <translation>Parentesi chiusa allineata con quella d&apos;apertura.</translation>
+        <source>Tab converted to 4 spaces.</source>
+        <translation>Convertita Tabulazione in 4 spazi.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="627"/>
-        <source>Indentation level changed.</source>
-        <translation>Livello di indentazione modificato.</translation>
+        <source>Indentation adjusted to be a multiple of four.</source>
+        <translation>Identazione portata ad un multiplo di quattro.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="630"/>
-        <source>Indentation level of hanging indentation changed.</source>
-        <translation>Modificato il livello di indentazione dell&apos;indentazione pendente.</translation>
+        <source>Indentation of continuation line corrected.</source>
+        <translation>Identazione di continuazione riga corretta.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="633"/>
-        <source>Visual indentation corrected.</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="648"/>
-        <source>Extraneous whitespace removed.</source>
-        <translation>Spazio non pertinente eliminato.</translation>
+        <source>Indentation of closing bracket corrected.</source>
+        <translation>Identazione di parentesi chiusa corretta.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="636"/>
+        <source>Missing indentation of continuation line corrected.</source>
+        <translation>Corretta la mancanza di indentazione della continuazione riga.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="639"/>
+        <source>Closing bracket aligned to opening bracket.</source>
+        <translation>Parentesi chiusa allineata con quella d&apos;apertura.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="642"/>
+        <source>Indentation level changed.</source>
+        <translation>Livello di indentazione modificato.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="645"/>
+        <source>Indentation level of hanging indentation changed.</source>
+        <translation>Modificato il livello di indentazione dell&apos;indentazione pendente.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="648"/>
+        <source>Visual indentation corrected.</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="663"/>
+        <source>Extraneous whitespace removed.</source>
+        <translation>Spazio non pertinente eliminato.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="660"/>
         <source>Missing whitespace added.</source>
         <translation>Spazi mancanti aggiunti.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="651"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="666"/>
         <source>Whitespace around comment sign corrected.</source>
         <translation>Corretto spazio vicino al segno di commento.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="654"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="669"/>
         <source>One blank line inserted.</source>
         <translation>Inserita una riga vuota.</translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="658"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="673"/>
         <source>%n blank line(s) inserted.</source>
         <translation type="unfinished">
             <numerusform>%n riga vuota inserita.</numerusform>
@@ -3889,7 +3889,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="661"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="676"/>
         <source>%n superfluous lines removed</source>
         <translation type="unfinished">
             <numerusform>%n riga superflua eliminata</numerusform>
@@ -3897,77 +3897,77 @@
         </translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="665"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="680"/>
         <source>Superfluous blank lines removed.</source>
         <translation>Righe vuote superflue eliminate.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="668"/>
-        <source>Superfluous blank lines after function decorator removed.</source>
-        <translation>Righe vuote superflue eliminate dopo a dichiarazione della funzione.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="671"/>
-        <source>Imports were put on separate lines.</source>
-        <translation>Import messi su righe separate.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="674"/>
-        <source>Long lines have been shortened.</source>
-        <translation>Accorciate righe lughe.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="677"/>
-        <source>Redundant backslash in brackets removed.</source>
-        <translation>Rimossi barre rovesciate ridondanti.</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="683"/>
-        <source>Compound statement corrected.</source>
-        <translation>Corretta istruzione composta.</translation>
+        <source>Superfluous blank lines after function decorator removed.</source>
+        <translation>Righe vuote superflue eliminate dopo a dichiarazione della funzione.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="686"/>
-        <source>Comparison to None/True/False corrected.</source>
-        <translation>Corretta comparazione con None/True/False.</translation>
+        <source>Imports were put on separate lines.</source>
+        <translation>Import messi su righe separate.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="689"/>
-        <source>&apos;{0}&apos; argument added.</source>
-        <translation>&apos;{0}&apos; argumento aggiunto.</translation>
+        <source>Long lines have been shortened.</source>
+        <translation>Accorciate righe lughe.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="692"/>
-        <source>&apos;{0}&apos; argument removed.</source>
-        <translation>&apos;{0}&apos; argumento rimosso.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="695"/>
-        <source>Whitespace stripped from end of line.</source>
-        <translation>Eliminati gli spazi alla fine della linea.</translation>
+        <source>Redundant backslash in brackets removed.</source>
+        <translation>Rimossi barre rovesciate ridondanti.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="698"/>
-        <source>newline added to end of file.</source>
-        <translation>Aggiunta una nuova riga alla fine del file.</translation>
+        <source>Compound statement corrected.</source>
+        <translation>Corretta istruzione composta.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="701"/>
-        <source>Superfluous trailing blank lines removed from end of file.</source>
-        <translation>Rghe vuote superflue eliminate dalla fine del file.</translation>
+        <source>Comparison to None/True/False corrected.</source>
+        <translation>Corretta comparazione con None/True/False.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="704"/>
+        <source>&apos;{0}&apos; argument added.</source>
+        <translation>&apos;{0}&apos; argumento aggiunto.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="707"/>
+        <source>&apos;{0}&apos; argument removed.</source>
+        <translation>&apos;{0}&apos; argumento rimosso.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="710"/>
+        <source>Whitespace stripped from end of line.</source>
+        <translation>Eliminati gli spazi alla fine della linea.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="713"/>
+        <source>newline added to end of file.</source>
+        <translation>Aggiunta una nuova riga alla fine del file.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="716"/>
+        <source>Superfluous trailing blank lines removed from end of file.</source>
+        <translation>Rghe vuote superflue eliminate dalla fine del file.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="719"/>
         <source>&apos;&lt;&gt;&apos; replaced by &apos;!=&apos;.</source>
         <translation>&apos;&lt;&gt;&apos; sostituito da &apos;!=&apos;.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="708"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="723"/>
         <source>Could not save the file! Skipping it. Reason: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="789"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="804"/>
         <source> no message defined for code &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -44740,27 +44740,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
         <source>expected these __future__ imports: {0}; but only got: {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
-        <source>expected these __future__ imports: {0}; but got none</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
-        <source>print statement found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
-        <source>one element tuple found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="556"/>
+        <source>expected these __future__ imports: {0}; but got none</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="559"/>
+        <source>print statement found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="562"/>
+        <source>one element tuple found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="571"/>
         <source>{0}: {1}</source>
         <translation type="unfinished">{0}: {1}</translation>
     </message>
@@ -44815,7 +44815,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="568"/>
         <source>mutable default argument of type {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -44824,6 +44824,31 @@
         <source>sort keys - &apos;{0}&apos; should be before &apos;{1}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
+        <source>logging statement uses &apos;%&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
+        <source>logging statement uses f-string</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="550"/>
+        <source>logging statement uses &apos;warn&apos; instead of &apos;warning&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <source>logging statement uses string.format()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
+        <source>logging statement uses &apos;+&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MouseClickDialog</name>
@@ -48245,17 +48270,17 @@
 <context>
     <name>PluginInfoDialog</name>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="48"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="52"/>
         <source>Module</source>
         <translation>Modulo</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="53"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="57"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="73"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="77"/>
         <source>Description</source>
         <translation>Descrizione</translation>
     </message>
@@ -48270,27 +48295,27 @@
         <translation>No</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="13"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="14"/>
         <source>Loaded Plugins</source>
         <translation>Plugin caricati</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="22"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="23"/>
         <source>Double-Click an entry to show detailed info. Plugins with an error are shown in red.</source>
         <translation>Doppio click su un elemento per vedere informazioni dettagliate. I Plugin con errori sono mostrati in rosso.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="32"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="33"/>
         <source>&lt;b&gt;Plugin List&lt;/b&gt;&lt;p&gt;This lists all loaded plugins. Double-clicking an entry shows more detailed information in a separate dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Lista dei Plugin&lt;/b&gt;&lt;p&gt;Lista dei plugin caricati. Doppio click su un elemento per vedere informazioni dettagliate in un dialogo&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="63"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="67"/>
         <source>Autoactivate</source>
         <translation>Autoattiva</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="68"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="72"/>
         <source>Active</source>
         <translation>Attivo</translation>
     </message>
@@ -48310,7 +48335,7 @@
         <translation>Disattivare</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="58"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="62"/>
         <source>Version</source>
         <translation>Versione</translation>
     </message>
--- a/i18n/eric6_pt.ts	Sat Mar 10 14:57:23 2018 +0100
+++ b/i18n/eric6_pt.ts	Sun Mar 11 15:27:23 2018 +0100
@@ -3873,147 +3873,147 @@
 <context>
     <name>CodeStyleFixer</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="561"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
         <source>Triple single quotes converted to triple double quotes.</source>
         <translation>Três aspas simples convertidas a três aspas duplas.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="564"/>
-        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
-        <translation>Corrigidas as aspas introdutórias para ser {0}&quot;&quot;&quot;</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="567"/>
-        <source>Single line docstring put on one line.</source>
-        <translation>Docstring de linha única posta numa linha.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="570"/>
-        <source>Period added to summary line.</source>
-        <translation>Ponto adicionado à linha sumário.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
-        <source>Blank line before function/method docstring removed.</source>
-        <translation>Retirada a linha vazia antes da docstring de função/método.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
-        <source>Blank line inserted before class docstring.</source>
-        <translation>Linha branca inserida antes da docstring de classe.</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="579"/>
-        <source>Blank line inserted after class docstring.</source>
-        <translation>Inserida linha vazia depois da docstring de classe.</translation>
+        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
+        <translation>Corrigidas as aspas introdutórias para ser {0}&quot;&quot;&quot;</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="582"/>
-        <source>Blank line inserted after docstring summary.</source>
-        <translation>Inserida linha vazia depois da docstring de sumário.</translation>
+        <source>Single line docstring put on one line.</source>
+        <translation>Docstring de linha única posta numa linha.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="585"/>
-        <source>Blank line inserted after last paragraph of docstring.</source>
-        <translation>Inserida linha vazia depois do último parágrafo da docstring.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="588"/>
-        <source>Leading quotes put on separate line.</source>
-        <translation>Aspas iniciais postas numa linha separada.</translation>
+        <source>Period added to summary line.</source>
+        <translation>Ponto adicionado à linha sumário.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
+        <source>Blank line before function/method docstring removed.</source>
+        <translation>Retirada a linha vazia antes da docstring de função/método.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="591"/>
-        <source>Trailing quotes put on separate line.</source>
-        <translation>Aspas finais postas numa linha separada.</translation>
+        <source>Blank line inserted before class docstring.</source>
+        <translation>Linha branca inserida antes da docstring de classe.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="594"/>
-        <source>Blank line before class docstring removed.</source>
-        <translation>Retirada linha vazia antes da docstring de classe.</translation>
+        <source>Blank line inserted after class docstring.</source>
+        <translation>Inserida linha vazia depois da docstring de classe.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
+        <source>Blank line inserted after docstring summary.</source>
+        <translation>Inserida linha vazia depois da docstring de sumário.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="600"/>
-        <source>Blank line after class docstring removed.</source>
-        <translation>Retirada linha vazia depois da docstring de classe.</translation>
+        <source>Blank line inserted after last paragraph of docstring.</source>
+        <translation>Inserida linha vazia depois do último parágrafo da docstring.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="603"/>
-        <source>Blank line after function/method docstring removed.</source>
-        <translation>Retirada a linha vazia depois da docstring de função/método.</translation>
+        <source>Leading quotes put on separate line.</source>
+        <translation>Aspas iniciais postas numa linha separada.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="606"/>
-        <source>Blank line after last paragraph removed.</source>
-        <translation>Retirada linha vazia depois do último parágrafo.</translation>
+        <source>Trailing quotes put on separate line.</source>
+        <translation>Aspas finais postas numa linha separada.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="609"/>
-        <source>Tab converted to 4 spaces.</source>
-        <translation>Tabulação convertida a 4 espaços.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
-        <source>Indentation adjusted to be a multiple of four.</source>
-        <translation>Ajustada a indentação a múltiplos de quatro.</translation>
+        <source>Blank line before class docstring removed.</source>
+        <translation>Retirada linha vazia antes da docstring de classe.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="615"/>
-        <source>Indentation of continuation line corrected.</source>
-        <translation>Corrigida a indentação da linha de continuação.</translation>
+        <source>Blank line after class docstring removed.</source>
+        <translation>Retirada linha vazia depois da docstring de classe.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="618"/>
-        <source>Indentation of closing bracket corrected.</source>
-        <translation>Corrigida a indentação de parêntesis de fecho.</translation>
+        <source>Blank line after function/method docstring removed.</source>
+        <translation>Retirada a linha vazia depois da docstring de função/método.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="621"/>
-        <source>Missing indentation of continuation line corrected.</source>
-        <translation>Corrigida falta de indentação na linha de continuação.</translation>
+        <source>Blank line after last paragraph removed.</source>
+        <translation>Retirada linha vazia depois do último parágrafo.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="624"/>
-        <source>Closing bracket aligned to opening bracket.</source>
-        <translation>Parêntesis de fecho alinhado com parêntesis de abertura.</translation>
+        <source>Tab converted to 4 spaces.</source>
+        <translation>Tabulação convertida a 4 espaços.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="627"/>
-        <source>Indentation level changed.</source>
-        <translation>Alterado o nível da indentação.</translation>
+        <source>Indentation adjusted to be a multiple of four.</source>
+        <translation>Ajustada a indentação a múltiplos de quatro.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="630"/>
-        <source>Indentation level of hanging indentation changed.</source>
-        <translation>Alterado o nível da indentação pendente.</translation>
+        <source>Indentation of continuation line corrected.</source>
+        <translation>Corrigida a indentação da linha de continuação.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="633"/>
-        <source>Visual indentation corrected.</source>
-        <translation>Indentação visual corrigida.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="648"/>
-        <source>Extraneous whitespace removed.</source>
-        <translation>Espaço estranho retirado.</translation>
+        <source>Indentation of closing bracket corrected.</source>
+        <translation>Corrigida a indentação de parêntesis de fecho.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="636"/>
+        <source>Missing indentation of continuation line corrected.</source>
+        <translation>Corrigida falta de indentação na linha de continuação.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="639"/>
+        <source>Closing bracket aligned to opening bracket.</source>
+        <translation>Parêntesis de fecho alinhado com parêntesis de abertura.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="642"/>
+        <source>Indentation level changed.</source>
+        <translation>Alterado o nível da indentação.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="645"/>
+        <source>Indentation level of hanging indentation changed.</source>
+        <translation>Alterado o nível da indentação pendente.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="648"/>
+        <source>Visual indentation corrected.</source>
+        <translation>Indentação visual corrigida.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="663"/>
+        <source>Extraneous whitespace removed.</source>
+        <translation>Espaço estranho retirado.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="660"/>
         <source>Missing whitespace added.</source>
         <translation>Adicionado espaço branco em falta.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="651"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="666"/>
         <source>Whitespace around comment sign corrected.</source>
         <translation>Corrigido espaço em volta do símbolo de comentário.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="654"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="669"/>
         <source>One blank line inserted.</source>
         <translation>Inserida uma linha vazia.</translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="658"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="673"/>
         <source>%n blank line(s) inserted.</source>
         <translation>
             <numerusform>inserida uma linha vazia.</numerusform>
@@ -4021,7 +4021,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="661"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="676"/>
         <source>%n superfluous lines removed</source>
         <translation>
             <numerusform>retirada uma linha desnecessária</numerusform>
@@ -4029,77 +4029,77 @@
         </translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="665"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="680"/>
         <source>Superfluous blank lines removed.</source>
         <translation>Retiradas linhas vazias desnecessárias.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="668"/>
-        <source>Superfluous blank lines after function decorator removed.</source>
-        <translation>Retiradas linhas vazias desnecessárias após o decorador de função.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="671"/>
-        <source>Imports were put on separate lines.</source>
-        <translation>Imports foram postos em linhas separadas.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="674"/>
-        <source>Long lines have been shortened.</source>
-        <translation>Foram encolhidas as linhas compridas.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="677"/>
-        <source>Redundant backslash in brackets removed.</source>
-        <translation>Retirada barra invertida redundante entre parêntesis.</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="683"/>
-        <source>Compound statement corrected.</source>
-        <translation>Instrução composta corrigida.</translation>
+        <source>Superfluous blank lines after function decorator removed.</source>
+        <translation>Retiradas linhas vazias desnecessárias após o decorador de função.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="686"/>
-        <source>Comparison to None/True/False corrected.</source>
-        <translation>Corrigida a comparação a None/True/False.</translation>
+        <source>Imports were put on separate lines.</source>
+        <translation>Imports foram postos em linhas separadas.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="689"/>
-        <source>&apos;{0}&apos; argument added.</source>
-        <translation>Adicionado o argumento &apos;{0}&apos;.</translation>
+        <source>Long lines have been shortened.</source>
+        <translation>Foram encolhidas as linhas compridas.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="692"/>
-        <source>&apos;{0}&apos; argument removed.</source>
-        <translation>Removido o argumento &apos;{0}&apos;.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="695"/>
-        <source>Whitespace stripped from end of line.</source>
-        <translation>Eliminado o espaço no fim de linha.</translation>
+        <source>Redundant backslash in brackets removed.</source>
+        <translation>Retirada barra invertida redundante entre parêntesis.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="698"/>
-        <source>newline added to end of file.</source>
-        <translation>adicionada uma linha nova ao fim do ficheiro.</translation>
+        <source>Compound statement corrected.</source>
+        <translation>Instrução composta corrigida.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="701"/>
-        <source>Superfluous trailing blank lines removed from end of file.</source>
-        <translation>Retiradas linhas vazias desnecessárias do fim do ficheiro.</translation>
+        <source>Comparison to None/True/False corrected.</source>
+        <translation>Corrigida a comparação a None/True/False.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="704"/>
+        <source>&apos;{0}&apos; argument added.</source>
+        <translation>Adicionado o argumento &apos;{0}&apos;.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="707"/>
+        <source>&apos;{0}&apos; argument removed.</source>
+        <translation>Removido o argumento &apos;{0}&apos;.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="710"/>
+        <source>Whitespace stripped from end of line.</source>
+        <translation>Eliminado o espaço no fim de linha.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="713"/>
+        <source>newline added to end of file.</source>
+        <translation>adicionada uma linha nova ao fim do ficheiro.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="716"/>
+        <source>Superfluous trailing blank lines removed from end of file.</source>
+        <translation>Retiradas linhas vazias desnecessárias do fim do ficheiro.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="719"/>
         <source>&apos;&lt;&gt;&apos; replaced by &apos;!=&apos;.</source>
         <translation>&apos;&lt;&gt;&apos; substituido por &apos;!=&apos;.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="708"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="723"/>
         <source>Could not save the file! Skipping it. Reason: {0}</source>
         <translation>Não se pode gravar ficheiro! Saltando-o. Motivo: {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="789"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="804"/>
         <source> no message defined for code &apos;{0}&apos;</source>
         <translation> sem mensagem definida para código &apos;{0}&apos;</translation>
     </message>
@@ -46187,27 +46187,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
         <source>expected these __future__ imports: {0}; but only got: {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
-        <source>expected these __future__ imports: {0}; but got none</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
-        <source>print statement found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
-        <source>one element tuple found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="556"/>
+        <source>expected these __future__ imports: {0}; but got none</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="559"/>
+        <source>print statement found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="562"/>
+        <source>one element tuple found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="571"/>
         <source>{0}: {1}</source>
         <translation type="unfinished">{0}: {1}</translation>
     </message>
@@ -46262,7 +46262,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="568"/>
         <source>mutable default argument of type {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -46271,6 +46271,31 @@
         <source>sort keys - &apos;{0}&apos; should be before &apos;{1}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
+        <source>logging statement uses &apos;%&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
+        <source>logging statement uses f-string</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="550"/>
+        <source>logging statement uses &apos;warn&apos; instead of &apos;warning&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <source>logging statement uses string.format()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
+        <source>logging statement uses &apos;+&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MouseClickDialog</name>
@@ -49705,47 +49730,47 @@
 <context>
     <name>PluginInfoDialog</name>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="13"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="14"/>
         <source>Loaded Plugins</source>
         <translation>Complementos Carregados</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="22"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="23"/>
         <source>Double-Click an entry to show detailed info. Plugins with an error are shown in red.</source>
         <translation>Duplo clique numa entrada para mostrar informação detalhada. Os complementos com algum erro aparecem a vermelho.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="32"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="33"/>
         <source>&lt;b&gt;Plugin List&lt;/b&gt;&lt;p&gt;This lists all loaded plugins. Double-clicking an entry shows more detailed information in a separate dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Lista de Complementos&lt;/b&gt;&lt;p&gt;Lista todos os complementos carregados. Duplo clique numa entrada mostra mais informação detalhada numa caixa de diálogo aparte.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="48"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="52"/>
         <source>Module</source>
         <translation>Módulo</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="53"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="57"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="58"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="62"/>
         <source>Version</source>
         <translation>Versão</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="63"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="67"/>
         <source>Autoactivate</source>
         <translation>Auto-ativar</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="68"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="72"/>
         <source>Active</source>
         <translation>Ativo</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="73"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="77"/>
         <source>Description</source>
         <translation>Descrição</translation>
     </message>
--- a/i18n/eric6_ru.ts	Sat Mar 10 14:57:23 2018 +0100
+++ b/i18n/eric6_ru.ts	Sun Mar 11 15:27:23 2018 +0100
@@ -3711,147 +3711,147 @@
 <context>
     <name>CodeStyleFixer</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="561"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
         <source>Triple single quotes converted to triple double quotes.</source>
         <translation>Тройные одинарные кавычки заменены тройными двойными.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="564"/>
-        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
-        <translation>Кавычки во введении исправлены на {0}&quot;&quot;&quot;</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="567"/>
-        <source>Single line docstring put on one line.</source>
-        <translation>Одиночная строка документации распологается в одной строке.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="570"/>
-        <source>Period added to summary line.</source>
-        <translation>Добавлена точка в строке резюме.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
-        <source>Blank line before function/method docstring removed.</source>
-        <translation>Удалена пустая строка перед строкой документации для function/method.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
-        <source>Blank line inserted before class docstring.</source>
-        <translation>Добавлена пустая строка перед строкой документации для class.</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="579"/>
-        <source>Blank line inserted after class docstring.</source>
-        <translation>Добавлена пустая строка после строки документации для class.</translation>
+        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
+        <translation>Кавычки во введении исправлены на {0}&quot;&quot;&quot;</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="582"/>
-        <source>Blank line inserted after docstring summary.</source>
-        <translation>Добавлена пустая строка после резюме строки документации.</translation>
+        <source>Single line docstring put on one line.</source>
+        <translation>Одиночная строка документации распологается в одной строке.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="585"/>
-        <source>Blank line inserted after last paragraph of docstring.</source>
-        <translation>Добавлена пустая строка после последнего абзаца строки документации.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="588"/>
-        <source>Leading quotes put on separate line.</source>
-        <translation>Открывающие кавычки размещены на отдельной строке.</translation>
+        <source>Period added to summary line.</source>
+        <translation>Добавлена точка в строке резюме.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
+        <source>Blank line before function/method docstring removed.</source>
+        <translation>Удалена пустая строка перед строкой документации для function/method.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="591"/>
-        <source>Trailing quotes put on separate line.</source>
-        <translation>Закрывающие кавычки размещены на отдельной строке.</translation>
+        <source>Blank line inserted before class docstring.</source>
+        <translation>Добавлена пустая строка перед строкой документации для class.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="594"/>
-        <source>Blank line before class docstring removed.</source>
-        <translation>Удалена пустая строка перед строкой документации для class.</translation>
+        <source>Blank line inserted after class docstring.</source>
+        <translation>Добавлена пустая строка после строки документации для class.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
+        <source>Blank line inserted after docstring summary.</source>
+        <translation>Добавлена пустая строка после резюме строки документации.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="600"/>
-        <source>Blank line after class docstring removed.</source>
-        <translation>Удалена пустая строка после строки документации для class.</translation>
+        <source>Blank line inserted after last paragraph of docstring.</source>
+        <translation>Добавлена пустая строка после последнего абзаца строки документации.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="603"/>
-        <source>Blank line after function/method docstring removed.</source>
-        <translation>Удалена пустая строка после строки документации для function/method.</translation>
+        <source>Leading quotes put on separate line.</source>
+        <translation>Открывающие кавычки размещены на отдельной строке.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="606"/>
-        <source>Blank line after last paragraph removed.</source>
-        <translation>Удалена пустая строка после последнего абзаца.</translation>
+        <source>Trailing quotes put on separate line.</source>
+        <translation>Закрывающие кавычки размещены на отдельной строке.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="609"/>
-        <source>Tab converted to 4 spaces.</source>
-        <translation>Символы табуляции заменяются на 4 пробела.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
-        <source>Indentation adjusted to be a multiple of four.</source>
-        <translation>Величина отступа сделана кратной четырём.</translation>
+        <source>Blank line before class docstring removed.</source>
+        <translation>Удалена пустая строка перед строкой документации для class.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="615"/>
-        <source>Indentation of continuation line corrected.</source>
-        <translation>Исправлен размер отступа строки продолжения.</translation>
+        <source>Blank line after class docstring removed.</source>
+        <translation>Удалена пустая строка после строки документации для class.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="618"/>
-        <source>Indentation of closing bracket corrected.</source>
-        <translation>Исправлен размер отступа закрывающей скобки.</translation>
+        <source>Blank line after function/method docstring removed.</source>
+        <translation>Удалена пустая строка после строки документации для function/method.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="621"/>
-        <source>Missing indentation of continuation line corrected.</source>
-        <translation>Добавлен отступ к строке продолжения.</translation>
+        <source>Blank line after last paragraph removed.</source>
+        <translation>Удалена пустая строка после последнего абзаца.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="624"/>
-        <source>Closing bracket aligned to opening bracket.</source>
-        <translation>Закрывающая скобка выровнена с открывающей.</translation>
+        <source>Tab converted to 4 spaces.</source>
+        <translation>Символы табуляции заменяются на 4 пробела.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="627"/>
-        <source>Indentation level changed.</source>
-        <translation>Изменен размер отступа.</translation>
+        <source>Indentation adjusted to be a multiple of four.</source>
+        <translation>Величина отступа сделана кратной четырём.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="630"/>
-        <source>Indentation level of hanging indentation changed.</source>
-        <translation>Изменен размер отступа для висячих отступов.</translation>
+        <source>Indentation of continuation line corrected.</source>
+        <translation>Исправлен размер отступа строки продолжения.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="633"/>
-        <source>Visual indentation corrected.</source>
-        <translation>Исправленена величина визуального отступа.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="648"/>
-        <source>Extraneous whitespace removed.</source>
-        <translation>Лишние символы пропуска удалены.</translation>
+        <source>Indentation of closing bracket corrected.</source>
+        <translation>Исправлен размер отступа закрывающей скобки.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="636"/>
+        <source>Missing indentation of continuation line corrected.</source>
+        <translation>Добавлен отступ к строке продолжения.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="639"/>
+        <source>Closing bracket aligned to opening bracket.</source>
+        <translation>Закрывающая скобка выровнена с открывающей.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="642"/>
+        <source>Indentation level changed.</source>
+        <translation>Изменен размер отступа.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="645"/>
+        <source>Indentation level of hanging indentation changed.</source>
+        <translation>Изменен размер отступа для висячих отступов.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="648"/>
+        <source>Visual indentation corrected.</source>
+        <translation>Исправленена величина визуального отступа.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="663"/>
+        <source>Extraneous whitespace removed.</source>
+        <translation>Лишние символы пропуска удалены.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="660"/>
         <source>Missing whitespace added.</source>
         <translation>Добавлены недостающие символы пропуска.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="651"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="666"/>
         <source>Whitespace around comment sign corrected.</source>
         <translation>Символы пропуска вокруг символа комментария откорректированы.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="654"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="669"/>
         <source>One blank line inserted.</source>
         <translation>Добавлена одна пустая строка.</translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="658"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="673"/>
         <source>%n blank line(s) inserted.</source>
         <translation>
             <numerusform>%n пустая строка вставлена.</numerusform>
@@ -3860,7 +3860,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="661"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="676"/>
         <source>%n superfluous lines removed</source>
         <translation>
             <numerusform>%n лишняя пустая строка удалена</numerusform>
@@ -3869,77 +3869,77 @@
         </translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="665"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="680"/>
         <source>Superfluous blank lines removed.</source>
         <translation>Удалены излишние пустые строки.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="668"/>
-        <source>Superfluous blank lines after function decorator removed.</source>
-        <translation>Удалены пустые строки после декоратора функции.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="671"/>
-        <source>Imports were put on separate lines.</source>
-        <translation>Операторы импорта помещены на отдельных строках.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="674"/>
-        <source>Long lines have been shortened.</source>
-        <translation>Укорочены длинные строки.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="677"/>
-        <source>Redundant backslash in brackets removed.</source>
-        <translation>Удалены излишние символы &apos;\&apos;.</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="683"/>
-        <source>Compound statement corrected.</source>
-        <translation>Исправлены выражения оператора.</translation>
+        <source>Superfluous blank lines after function decorator removed.</source>
+        <translation>Удалены пустые строки после декоратора функции.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="686"/>
-        <source>Comparison to None/True/False corrected.</source>
-        <translation>Исправлено сравнение с None/True/False.</translation>
+        <source>Imports were put on separate lines.</source>
+        <translation>Операторы импорта помещены на отдельных строках.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="689"/>
-        <source>&apos;{0}&apos; argument added.</source>
-        <translation>Добавлен &apos;{0}&apos; аргумент.</translation>
+        <source>Long lines have been shortened.</source>
+        <translation>Укорочены длинные строки.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="692"/>
-        <source>&apos;{0}&apos; argument removed.</source>
-        <translation>Удалён &apos;{0}&apos; аргумент.</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="695"/>
-        <source>Whitespace stripped from end of line.</source>
-        <translation>Завершающие символы пропуска обрезаны.</translation>
+        <source>Redundant backslash in brackets removed.</source>
+        <translation>Удалены излишние символы &apos;\&apos;.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="698"/>
-        <source>newline added to end of file.</source>
-        <translation>символ новой строки добавлен в конец файла.</translation>
+        <source>Compound statement corrected.</source>
+        <translation>Исправлены выражения оператора.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="701"/>
-        <source>Superfluous trailing blank lines removed from end of file.</source>
-        <translation>Удалены пустые строки в конце файла.</translation>
+        <source>Comparison to None/True/False corrected.</source>
+        <translation>Исправлено сравнение с None/True/False.</translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="704"/>
+        <source>&apos;{0}&apos; argument added.</source>
+        <translation>Добавлен &apos;{0}&apos; аргумент.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="707"/>
+        <source>&apos;{0}&apos; argument removed.</source>
+        <translation>Удалён &apos;{0}&apos; аргумент.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="710"/>
+        <source>Whitespace stripped from end of line.</source>
+        <translation>Завершающие символы пропуска обрезаны.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="713"/>
+        <source>newline added to end of file.</source>
+        <translation>символ новой строки добавлен в конец файла.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="716"/>
+        <source>Superfluous trailing blank lines removed from end of file.</source>
+        <translation>Удалены пустые строки в конце файла.</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="719"/>
         <source>&apos;&lt;&gt;&apos; replaced by &apos;!=&apos;.</source>
         <translation>&apos;&lt;&gt;&apos; заменен на &apos;!=&apos;.</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="708"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="723"/>
         <source>Could not save the file! Skipping it. Reason: {0}</source>
         <translation>Не удалось сохранить файл! Пропускаем. Причина: {0}</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="789"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="804"/>
         <source> no message defined for code &apos;{0}&apos;</source>
         <translation> нет сообщения, определенного для кода &apos;{0}&apos;</translation>
     </message>
@@ -44850,27 +44850,27 @@
         <translation>Формат вызова предоставляет неиспользованное ключевое слово ({0})</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
         <source>expected these __future__ imports: {0}; but only got: {1}</source>
         <translation>ожидался __future__ imports: {0}; получены только: {1}</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
-        <source>expected these __future__ imports: {0}; but got none</source>
-        <translation>ожидался __future__  imports: {0}; не получено ничего</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
-        <source>print statement found</source>
-        <translation>обнаружен оператор печати</translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
-        <source>one element tuple found</source>
-        <translation>один элемент кортежа найден</translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="556"/>
+        <source>expected these __future__ imports: {0}; but got none</source>
+        <translation>ожидался __future__  imports: {0}; не получено ничего</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="559"/>
+        <source>print statement found</source>
+        <translation>обнаружен оператор печати</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="562"/>
+        <source>one element tuple found</source>
+        <translation>один элемент кортежа найден</translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="571"/>
         <source>{0}: {1}</source>
         <translation>{0}: {1}</translation>
     </message>
@@ -44925,7 +44925,7 @@
         <translation>неподходящий генератор списков - &quot;{0}&quot; может являться генератором</translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="568"/>
         <source>mutable default argument of type {0}</source>
         <translation>изменяемый аргумент по умолчанию типа {0}</translation>
     </message>
@@ -44934,6 +44934,31 @@
         <source>sort keys - &apos;{0}&apos; should be before &apos;{1}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
+        <source>logging statement uses &apos;%&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
+        <source>logging statement uses f-string</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="550"/>
+        <source>logging statement uses &apos;warn&apos; instead of &apos;warning&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <source>logging statement uses string.format()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
+        <source>logging statement uses &apos;+&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MouseClickDialog</name>
@@ -48358,48 +48383,48 @@
 <context>
     <name>PluginInfoDialog</name>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="13"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="14"/>
         <source>Loaded Plugins</source>
         <translation>Загруженные плагины</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="22"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="23"/>
         <source>Double-Click an entry to show detailed info. Plugins with an error are shown in red.</source>
         <translation>Двойной щелчок по записи списка показывает подробную информацию о плагине. Плагины с ошибками выделены красным цветом.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="32"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="33"/>
         <source>&lt;b&gt;Plugin List&lt;/b&gt;&lt;p&gt;This lists all loaded plugins. Double-clicking an entry shows more detailed information in a separate dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Список плагинов&lt;/b&gt;
 &lt;p&gt;Список отображает все загруженные плагины. Двойной щелчок по записи списка вызывает отдельное окно с подробной информацией о плагине.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="48"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="52"/>
         <source>Module</source>
         <translation>Модуль</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="53"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="57"/>
         <source>Name</source>
         <translation>Имя</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="58"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="62"/>
         <source>Version</source>
         <translation>Версия</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="63"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="67"/>
         <source>Autoactivate</source>
         <translation>Автоактивация</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="68"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="72"/>
         <source>Active</source>
         <translation>Активный</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="73"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="77"/>
         <source>Description</source>
         <translation>Описание</translation>
     </message>
--- a/i18n/eric6_tr.ts	Sat Mar 10 14:57:23 2018 +0100
+++ b/i18n/eric6_tr.ts	Sun Mar 11 15:27:23 2018 +0100
@@ -3811,147 +3811,147 @@
 <context>
     <name>CodeStyleFixer</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="561"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
         <source>Triple single quotes converted to triple double quotes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="564"/>
-        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="567"/>
-        <source>Single line docstring put on one line.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="570"/>
-        <source>Period added to summary line.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
-        <source>Blank line before function/method docstring removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
-        <source>Blank line inserted before class docstring.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="579"/>
-        <source>Blank line inserted after class docstring.</source>
+        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="582"/>
-        <source>Blank line inserted after docstring summary.</source>
+        <source>Single line docstring put on one line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="585"/>
-        <source>Blank line inserted after last paragraph of docstring.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="588"/>
-        <source>Leading quotes put on separate line.</source>
+        <source>Period added to summary line.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
+        <source>Blank line before function/method docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="591"/>
-        <source>Trailing quotes put on separate line.</source>
+        <source>Blank line inserted before class docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="594"/>
-        <source>Blank line before class docstring removed.</source>
+        <source>Blank line inserted after class docstring.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
+        <source>Blank line inserted after docstring summary.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="600"/>
-        <source>Blank line after class docstring removed.</source>
+        <source>Blank line inserted after last paragraph of docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="603"/>
-        <source>Blank line after function/method docstring removed.</source>
+        <source>Leading quotes put on separate line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="606"/>
-        <source>Blank line after last paragraph removed.</source>
+        <source>Trailing quotes put on separate line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="609"/>
-        <source>Tab converted to 4 spaces.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
-        <source>Indentation adjusted to be a multiple of four.</source>
+        <source>Blank line before class docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="615"/>
-        <source>Indentation of continuation line corrected.</source>
+        <source>Blank line after class docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="618"/>
-        <source>Indentation of closing bracket corrected.</source>
+        <source>Blank line after function/method docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="621"/>
-        <source>Missing indentation of continuation line corrected.</source>
+        <source>Blank line after last paragraph removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="624"/>
-        <source>Closing bracket aligned to opening bracket.</source>
+        <source>Tab converted to 4 spaces.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="627"/>
-        <source>Indentation level changed.</source>
+        <source>Indentation adjusted to be a multiple of four.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="630"/>
-        <source>Indentation level of hanging indentation changed.</source>
+        <source>Indentation of continuation line corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="633"/>
-        <source>Visual indentation corrected.</source>
+        <source>Indentation of closing bracket corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="636"/>
+        <source>Missing indentation of continuation line corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="639"/>
+        <source>Closing bracket aligned to opening bracket.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="642"/>
+        <source>Indentation level changed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="645"/>
+        <source>Indentation level of hanging indentation changed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="648"/>
+        <source>Visual indentation corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="663"/>
         <source>Extraneous whitespace removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="645"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="660"/>
         <source>Missing whitespace added.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="651"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="666"/>
         <source>Whitespace around comment sign corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="654"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="669"/>
         <source>One blank line inserted.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="658"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="673"/>
         <source>%n blank line(s) inserted.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -3959,7 +3959,7 @@
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="661"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="676"/>
         <source>%n superfluous lines removed</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -3967,77 +3967,77 @@
         </translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="665"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="680"/>
         <source>Superfluous blank lines removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="668"/>
-        <source>Superfluous blank lines after function decorator removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="671"/>
-        <source>Imports were put on separate lines.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="674"/>
-        <source>Long lines have been shortened.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="677"/>
-        <source>Redundant backslash in brackets removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="683"/>
-        <source>Compound statement corrected.</source>
+        <source>Superfluous blank lines after function decorator removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="686"/>
-        <source>Comparison to None/True/False corrected.</source>
+        <source>Imports were put on separate lines.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="689"/>
-        <source>&apos;{0}&apos; argument added.</source>
+        <source>Long lines have been shortened.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="692"/>
-        <source>&apos;{0}&apos; argument removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="695"/>
-        <source>Whitespace stripped from end of line.</source>
+        <source>Redundant backslash in brackets removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="698"/>
-        <source>newline added to end of file.</source>
+        <source>Compound statement corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="701"/>
-        <source>Superfluous trailing blank lines removed from end of file.</source>
+        <source>Comparison to None/True/False corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="704"/>
+        <source>&apos;{0}&apos; argument added.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="707"/>
+        <source>&apos;{0}&apos; argument removed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="710"/>
+        <source>Whitespace stripped from end of line.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="713"/>
+        <source>newline added to end of file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="716"/>
+        <source>Superfluous trailing blank lines removed from end of file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="719"/>
         <source>&apos;&lt;&gt;&apos; replaced by &apos;!=&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="708"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="723"/>
         <source>Could not save the file! Skipping it. Reason: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="789"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="804"/>
         <source> no message defined for code &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -45569,27 +45569,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
         <source>expected these __future__ imports: {0}; but only got: {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
-        <source>expected these __future__ imports: {0}; but got none</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
-        <source>print statement found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
-        <source>one element tuple found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="556"/>
+        <source>expected these __future__ imports: {0}; but got none</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="559"/>
+        <source>print statement found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="562"/>
+        <source>one element tuple found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="571"/>
         <source>{0}: {1}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -45644,7 +45644,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="568"/>
         <source>mutable default argument of type {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -45653,6 +45653,31 @@
         <source>sort keys - &apos;{0}&apos; should be before &apos;{1}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
+        <source>logging statement uses &apos;%&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
+        <source>logging statement uses f-string</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="550"/>
+        <source>logging statement uses &apos;warn&apos; instead of &apos;warning&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <source>logging statement uses string.format()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
+        <source>logging statement uses &apos;+&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MouseClickDialog</name>
@@ -49098,47 +49123,47 @@
 <context>
     <name>PluginInfoDialog</name>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="13"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="14"/>
         <source>Loaded Plugins</source>
         <translation>Yüklenmeş Eklentiler</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="22"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="23"/>
         <source>Double-Click an entry to show detailed info. Plugins with an error are shown in red.</source>
         <translation>Çift-Tık detaylı bilgileri göstermek için.Eklentilerle ilgili hatalar kırmızıda gösterilyor.</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="32"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="33"/>
         <source>&lt;b&gt;Plugin List&lt;/b&gt;&lt;p&gt;This lists all loaded plugins. Double-clicking an entry shows more detailed information in a separate dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Eklenti Listesi&lt;/b&gt;&lt;p&gt;Bu tüm yüklü eklentileri listeler.Çift_tıklamada ayrılmış bir diyalogda detaylı bilgi gösterilir.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="48"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="52"/>
         <source>Module</source>
         <translation>Modül</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="53"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="57"/>
         <source>Name</source>
         <translation>Adı</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="58"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="62"/>
         <source>Version</source>
         <translation>Sürüm</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="63"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="67"/>
         <source>Autoactivate</source>
         <translation>Otomatikaktiflik</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="68"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="72"/>
         <source>Active</source>
         <translation>Aktif</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="73"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="77"/>
         <source>Description</source>
         <translation>Açıklama</translation>
     </message>
--- a/i18n/eric6_zh_CN.ts	Sat Mar 10 14:57:23 2018 +0100
+++ b/i18n/eric6_zh_CN.ts	Sun Mar 11 15:27:23 2018 +0100
@@ -3820,231 +3820,231 @@
 <context>
     <name>CodeStyleFixer</name>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="561"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
         <source>Triple single quotes converted to triple double quotes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="564"/>
-        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="567"/>
-        <source>Single line docstring put on one line.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="570"/>
-        <source>Period added to summary line.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
-        <source>Blank line before function/method docstring removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="576"/>
-        <source>Blank line inserted before class docstring.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="579"/>
-        <source>Blank line inserted after class docstring.</source>
+        <source>Introductory quotes corrected to be {0}&quot;&quot;&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="582"/>
-        <source>Blank line inserted after docstring summary.</source>
+        <source>Single line docstring put on one line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="585"/>
-        <source>Blank line inserted after last paragraph of docstring.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="588"/>
-        <source>Leading quotes put on separate line.</source>
+        <source>Period added to summary line.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
+        <source>Blank line before function/method docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="591"/>
-        <source>Trailing quotes put on separate line.</source>
+        <source>Blank line inserted before class docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="594"/>
-        <source>Blank line before class docstring removed.</source>
+        <source>Blank line inserted after class docstring.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="597"/>
+        <source>Blank line inserted after docstring summary.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="600"/>
-        <source>Blank line after class docstring removed.</source>
+        <source>Blank line inserted after last paragraph of docstring.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="603"/>
-        <source>Blank line after function/method docstring removed.</source>
+        <source>Leading quotes put on separate line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="606"/>
-        <source>Blank line after last paragraph removed.</source>
+        <source>Trailing quotes put on separate line.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="609"/>
-        <source>Tab converted to 4 spaces.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="612"/>
-        <source>Indentation adjusted to be a multiple of four.</source>
+        <source>Blank line before class docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="615"/>
-        <source>Indentation of continuation line corrected.</source>
+        <source>Blank line after class docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="618"/>
-        <source>Indentation of closing bracket corrected.</source>
+        <source>Blank line after function/method docstring removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="621"/>
-        <source>Missing indentation of continuation line corrected.</source>
+        <source>Blank line after last paragraph removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="624"/>
-        <source>Closing bracket aligned to opening bracket.</source>
+        <source>Tab converted to 4 spaces.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="627"/>
-        <source>Indentation level changed.</source>
+        <source>Indentation adjusted to be a multiple of four.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="630"/>
-        <source>Indentation level of hanging indentation changed.</source>
+        <source>Indentation of continuation line corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="633"/>
-        <source>Visual indentation corrected.</source>
+        <source>Indentation of closing bracket corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="636"/>
+        <source>Missing indentation of continuation line corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="639"/>
+        <source>Closing bracket aligned to opening bracket.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="642"/>
+        <source>Indentation level changed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="645"/>
+        <source>Indentation level of hanging indentation changed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="648"/>
+        <source>Visual indentation corrected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="663"/>
         <source>Extraneous whitespace removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="645"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="660"/>
         <source>Missing whitespace added.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="651"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="666"/>
         <source>Whitespace around comment sign corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="654"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="669"/>
         <source>One blank line inserted.</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="658"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="673"/>
         <source>%n blank line(s) inserted.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="661"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="676"/>
         <source>%n superfluous lines removed</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="665"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="680"/>
         <source>Superfluous blank lines removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="668"/>
-        <source>Superfluous blank lines after function decorator removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="671"/>
-        <source>Imports were put on separate lines.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="674"/>
-        <source>Long lines have been shortened.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="677"/>
-        <source>Redundant backslash in brackets removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="683"/>
-        <source>Compound statement corrected.</source>
+        <source>Superfluous blank lines after function decorator removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="686"/>
-        <source>Comparison to None/True/False corrected.</source>
+        <source>Imports were put on separate lines.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="689"/>
-        <source>&apos;{0}&apos; argument added.</source>
+        <source>Long lines have been shortened.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="692"/>
-        <source>&apos;{0}&apos; argument removed.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="695"/>
-        <source>Whitespace stripped from end of line.</source>
+        <source>Redundant backslash in brackets removed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="698"/>
-        <source>newline added to end of file.</source>
+        <source>Compound statement corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="701"/>
-        <source>Superfluous trailing blank lines removed from end of file.</source>
+        <source>Comparison to None/True/False corrected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="704"/>
+        <source>&apos;{0}&apos; argument added.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="707"/>
+        <source>&apos;{0}&apos; argument removed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="710"/>
+        <source>Whitespace stripped from end of line.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="713"/>
+        <source>newline added to end of file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="716"/>
+        <source>Superfluous trailing blank lines removed from end of file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="719"/>
         <source>&apos;&lt;&gt;&apos; replaced by &apos;!=&apos;.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="708"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="723"/>
         <source>Could not save the file! Skipping it. Reason: {0}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="789"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="804"/>
         <source> no message defined for code &apos;{0}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -45557,27 +45557,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
         <source>expected these __future__ imports: {0}; but only got: {1}</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
-        <source>expected these __future__ imports: {0}; but got none</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
-        <source>print statement found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
-        <source>one element tuple found</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="556"/>
+        <source>expected these __future__ imports: {0}; but got none</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="559"/>
+        <source>print statement found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="562"/>
+        <source>one element tuple found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="571"/>
         <source>{0}: {1}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -45632,7 +45632,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="553"/>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="568"/>
         <source>mutable default argument of type {0}</source>
         <translation type="unfinished"></translation>
     </message>
@@ -45641,6 +45641,31 @@
         <source>sort keys - &apos;{0}&apos; should be before &apos;{1}&apos;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="541"/>
+        <source>logging statement uses &apos;%&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="547"/>
+        <source>logging statement uses f-string</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="550"/>
+        <source>logging statement uses &apos;warn&apos; instead of &apos;warning&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/>
+        <source>logging statement uses string.format()</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="544"/>
+        <source>logging statement uses &apos;+&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MouseClickDialog</name>
@@ -49085,47 +49110,47 @@
 <context>
     <name>PluginInfoDialog</name>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="13"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="14"/>
         <source>Loaded Plugins</source>
         <translation>载入的插件</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="22"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="23"/>
         <source>Double-Click an entry to show detailed info. Plugins with an error are shown in red.</source>
         <translation>双击条目显示详细信息。有错误的插件显示为红色。</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="32"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="33"/>
         <source>&lt;b&gt;Plugin List&lt;/b&gt;&lt;p&gt;This lists all loaded plugins. Double-clicking an entry shows more detailed information in a separate dialog.&lt;/p&gt;</source>
         <translation>&lt;b&gt;插件列表&lt;/b&gt;&lt;p&gt;列出所有已载入的插件。双击条目在单独的对话框中显示更多详细信息。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="48"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="52"/>
         <source>Module</source>
         <translation>模块</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="53"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="57"/>
         <source>Name</source>
         <translation>名称</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="58"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="62"/>
         <source>Version</source>
         <translation>版本</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="63"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="67"/>
         <source>Autoactivate</source>
         <translation>自动激活</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="68"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="72"/>
         <source>Active</source>
         <translation>活动的</translation>
     </message>
     <message>
-        <location filename="../PluginManager/PluginInfoDialog.ui" line="73"/>
+        <location filename="../PluginManager/PluginInfoDialog.ui" line="77"/>
         <source>Description</source>
         <translation>描述</translation>
     </message>

eric ide

mercurial