eric6/Plugins/CheckerPlugins/CodeStyleChecker/translations.py

changeset 6942
2602857055c5
parent 6882
65d1bf4b7427
child 7021
2894aa889a4e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/translations.py	Sun Apr 14 15:09:21 2019 +0200
@@ -0,0 +1,898 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2014 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing message translations for the code style plugin messages.
+"""
+
+from __future__ import unicode_literals
+
+from PyQt5.QtCore import QCoreApplication
+
+from Globals import translate
+
+__all__ = ["getTranslatedMessage"]
+
+_messages = {
+    "E101": QCoreApplication.translate(
+        "pycodestyle",
+        "indentation contains mixed spaces and tabs"),
+    "E111": QCoreApplication.translate(
+        "pycodestyle",
+        "indentation is not a multiple of four"),
+    "E112": QCoreApplication.translate(
+        "pycodestyle",
+        "expected an indented block"),
+    "E113": QCoreApplication.translate(
+        "pycodestyle",
+        "unexpected indentation"),
+    "E114": QCoreApplication.translate(
+        "pycodestyle",
+        "indentation is not a multiple of four (comment)"),
+    "E115": QCoreApplication.translate(
+        "pycodestyle",
+        "expected an indented block (comment)"),
+    "E116": QCoreApplication.translate(
+        "pycodestyle",
+        "unexpected indentation (comment)"),
+    "E117": QCoreApplication.translate(
+        "pycodestyle",
+        "over-indented"),
+    "E121": QCoreApplication.translate(
+        "pycodestyle",
+        "continuation line indentation is not a multiple of four"),
+    "E122": QCoreApplication.translate(
+        "pycodestyle",
+        "continuation line missing indentation or outdented"),
+    "E123": QCoreApplication.translate(
+        "pycodestyle",
+        "closing bracket does not match indentation of opening"
+        " bracket's line"),
+    "E124": QCoreApplication.translate(
+        "pycodestyle",
+        "closing bracket does not match visual indentation"),
+    "E125": QCoreApplication.translate(
+        "pycodestyle",
+        "continuation line with same indent as next logical line"),
+    "E126": QCoreApplication.translate(
+        "pycodestyle",
+        "continuation line over-indented for hanging indent"),
+    "E127": QCoreApplication.translate(
+        "pycodestyle",
+        "continuation line over-indented for visual indent"),
+    "E128": QCoreApplication.translate(
+        "pycodestyle",
+        "continuation line under-indented for visual indent"),
+    "E129": QCoreApplication.translate(
+        "pycodestyle",
+        "visually indented line with same indent as next logical line"),
+    "E131": QCoreApplication.translate(
+        "pycodestyle",
+        "continuation line unaligned for hanging indent"),
+    "E133": QCoreApplication.translate(
+        "pycodestyle",
+        "closing bracket is missing indentation"),
+    "W191": QCoreApplication.translate(
+        "pycodestyle",
+        "indentation contains tabs"),
+    "E201": QCoreApplication.translate(
+        "pycodestyle",
+        "whitespace after '{0}'"),
+    "E202": QCoreApplication.translate(
+        "pycodestyle",
+        "whitespace before '{0}'"),
+    "E203": QCoreApplication.translate(
+        "pycodestyle",
+        "whitespace before '{0}'"),
+    "E211": QCoreApplication.translate(
+        "pycodestyle",
+        "whitespace before '{0}'"),
+    "E221": QCoreApplication.translate(
+        "pycodestyle",
+        "multiple spaces before operator"),
+    "E222": QCoreApplication.translate(
+        "pycodestyle",
+        "multiple spaces after operator"),
+    "E223": QCoreApplication.translate(
+        "pycodestyle",
+        "tab before operator"),
+    "E224": QCoreApplication.translate(
+        "pycodestyle",
+        "tab after operator"),
+    "E225": QCoreApplication.translate(
+        "pycodestyle",
+        "missing whitespace around operator"),
+    "E226": QCoreApplication.translate(
+        "pycodestyle",
+        "missing whitespace around arithmetic operator"),
+    "E227": QCoreApplication.translate(
+        "pycodestyle",
+        "missing whitespace around bitwise or shift operator"),
+    "E228": QCoreApplication.translate(
+        "pycodestyle",
+        "missing whitespace around modulo operator"),
+    "E231": QCoreApplication.translate(
+        "pycodestyle",
+        "missing whitespace after '{0}'"),
+    "E241": QCoreApplication.translate(
+        "pycodestyle",
+        "multiple spaces after '{0}'"),
+    "E242": QCoreApplication.translate(
+        "pycodestyle",
+        "tab after '{0}'"),
+    "E251": QCoreApplication.translate(
+        "pycodestyle",
+        "unexpected spaces around keyword / parameter equals"),
+    "E252": QCoreApplication.translate(
+        "pycodestyle",
+        "missing whitespace around parameter equals"),
+    "E261": QCoreApplication.translate(
+        "pycodestyle",
+        "at least two spaces before inline comment"),
+    "E262": QCoreApplication.translate(
+        "pycodestyle",
+        "inline comment should start with '# '"),
+    "E265": QCoreApplication.translate(
+        "pycodestyle",
+        "block comment should start with '# '"),
+    "E266": QCoreApplication.translate(
+        "pycodestyle",
+        "too many leading '#' for block comment"),
+    "E271": QCoreApplication.translate(
+        "pycodestyle",
+        "multiple spaces after keyword"),
+    "E272": QCoreApplication.translate(
+        "pycodestyle",
+        "multiple spaces before keyword"),
+    "E273": QCoreApplication.translate(
+        "pycodestyle",
+        "tab after keyword"),
+    "E274": QCoreApplication.translate(
+        "pycodestyle",
+        "tab before keyword"),
+    "E275": QCoreApplication.translate(
+        "pycodestyle",
+        "missing whitespace after keyword"),
+    "W291": QCoreApplication.translate(
+        "pycodestyle",
+        "trailing whitespace"),
+    "W292": QCoreApplication.translate(
+        "pycodestyle",
+        "no newline at end of file"),
+    "W293": QCoreApplication.translate(
+        "pycodestyle",
+        "blank line contains whitespace"),
+    "E301": QCoreApplication.translate(
+        "pycodestyle",
+        "expected {0} blank lines, found {1}"),
+    "E302": QCoreApplication.translate(
+        "pycodestyle",
+        "expected {0} blank lines, found {1}"),
+    "E303": QCoreApplication.translate(
+        "pycodestyle",
+        "too many blank lines ({0}), expected {1}"),
+    "E304": QCoreApplication.translate(
+        "pycodestyle",
+        "blank lines found after function decorator"),
+    "E305": QCoreApplication.translate(
+        "pycodestyle",
+        "expected {0} blank lines after class or function definition,"
+        " found {1}"),
+    "E306": QCoreApplication.translate(
+        "pycodestyle",
+        "expected {0} blank lines before a nested definition, found {1}"),
+    "E307": QCoreApplication.translate(
+        "pycodestyle",
+        "too many blank lines ({0}) before a nested definition, expected {1}"),
+    "E308": QCoreApplication.translate(
+        "pycodestyle",
+        "too many blank lines ({0})"),
+    "W391": QCoreApplication.translate(
+        "pycodestyle",
+        "blank line at end of file"),
+    "E401": QCoreApplication.translate(
+        "pycodestyle",
+        "multiple imports on one line"),
+    "E402": QCoreApplication.translate(
+        "pycodestyle",
+        "module level import not at top of file"),
+    "E501": QCoreApplication.translate(
+        "pycodestyle",
+        "line too long ({0} > {1} characters)"),
+    "E502": QCoreApplication.translate(
+        "pycodestyle",
+        "the backslash is redundant between brackets"),
+    "W503": QCoreApplication.translate(
+        "pycodestyle",
+        "line break before binary operator"),
+    "W504": QCoreApplication.translate(
+        "pycodestyle",
+        "line break after binary operator"),
+    "W505": QCoreApplication.translate(
+        "pycodestyle",
+        "doc line too long ({0} > {1} characters)"),
+    "W601": QCoreApplication.translate(
+        "pycodestyle",
+        ".has_key() is deprecated, use 'in'"),
+    "W602": QCoreApplication.translate(
+        "pycodestyle",
+        "deprecated form of raising exception"),
+    "W603": QCoreApplication.translate(
+        "pycodestyle",
+        "'<>' is deprecated, use '!='"),
+    "W604": QCoreApplication.translate(
+        "pycodestyle",
+        "backticks are deprecated, use 'repr()'"),
+    "W605": QCoreApplication.translate(
+        "pycodestyle",
+        "invalid escape sequence '\\{0}'"),
+    "W606": QCoreApplication.translate(
+        "pycodestyle",
+        "'async' and 'await' are reserved keywords starting with Python 3.7"),
+    "E701": QCoreApplication.translate(
+        "pycodestyle",
+        "multiple statements on one line (colon)"),
+    "E702": QCoreApplication.translate(
+        "pycodestyle",
+        "multiple statements on one line (semicolon)"),
+    "E703": QCoreApplication.translate(
+        "pycodestyle",
+        "statement ends with a semicolon"),
+    "E704": QCoreApplication.translate(
+        "pycodestyle",
+        "multiple statements on one line (def)"),
+    "E711": QCoreApplication.translate(
+        "pycodestyle",
+        "comparison to {0} should be {1}"),
+    "E712": QCoreApplication.translate(
+        "pycodestyle",
+        "comparison to {0} should be {1}"),
+    "E713": QCoreApplication.translate(
+        "pycodestyle",
+        "test for membership should be 'not in'"),
+    "E714": QCoreApplication.translate(
+        "pycodestyle",
+        "test for object identity should be 'is not'"),
+    "E721": QCoreApplication.translate(
+        "pycodestyle",
+        "do not compare types, use 'isinstance()'"),
+    "E722": QCoreApplication.translate(
+        "pycodestyle",
+        "do not use bare except"),
+    "E731": QCoreApplication.translate(
+        "pycodestyle",
+        "do not assign a lambda expression, use a def"),
+    "E741": QCoreApplication.translate(
+        "pycodestyle",
+        "ambiguous variable name '{0}'"),
+    "E742": QCoreApplication.translate(
+        "pycodestyle",
+        "ambiguous class definition '{0}'"),
+    "E743": QCoreApplication.translate(
+        "pycodestyle",
+        "ambiguous function definition '{0}'"),
+    "E901": QCoreApplication.translate(
+        "pycodestyle",
+        "{0}: {1}"),
+    "E902": QCoreApplication.translate(
+        "pycodestyle",
+        "{0}"),
+
+    # DocStyleChecker messages
+    "D101": QCoreApplication.translate(
+        "DocStyleChecker", "module is missing a docstring"),
+    "D102": QCoreApplication.translate(
+        "DocStyleChecker",
+        "public function/method is missing a docstring"),
+    "D103": QCoreApplication.translate(
+        "DocStyleChecker",
+        "private function/method may be missing a docstring"),
+    "D104": QCoreApplication.translate(
+        "DocStyleChecker", "public class is missing a docstring"),
+    "D105": QCoreApplication.translate(
+        "DocStyleChecker", "private class may be missing a docstring"),
+    "D111": QCoreApplication.translate(
+        "DocStyleChecker", 'docstring not surrounded by """'),
+    "D112": QCoreApplication.translate(
+        "DocStyleChecker",
+        'docstring containing \\ not surrounded by r"""'),
+    "D113": QCoreApplication.translate(
+        "DocStyleChecker",
+        'docstring containing unicode character not surrounded by u"""'),
+    "D121": QCoreApplication.translate(
+        "DocStyleChecker", "one-liner docstring on multiple lines"),
+    "D122": QCoreApplication.translate(
+        "DocStyleChecker", "docstring has wrong indentation"),
+    "D130": QCoreApplication.translate(
+        "DocStyleChecker", "docstring does not contain a summary"),
+    "D131": QCoreApplication.translate(
+        "DocStyleChecker", "docstring summary does not end with a period"),
+    "D132": QCoreApplication.translate(
+        "DocStyleChecker",
+        "docstring summary is not in imperative mood"
+        " (Does instead of Do)"),
+    "D133": QCoreApplication.translate(
+        "DocStyleChecker",
+        "docstring summary looks like a function's/method's signature"),
+    "D134": QCoreApplication.translate(
+        "DocStyleChecker",
+        "docstring does not mention the return value type"),
+    "D141": QCoreApplication.translate(
+        "DocStyleChecker",
+        "function/method docstring is separated by a blank line"),
+    "D142": QCoreApplication.translate(
+        "DocStyleChecker",
+        "class docstring is not preceded by a blank line"),
+    "D143": QCoreApplication.translate(
+        "DocStyleChecker",
+        "class docstring is not followed by a blank line"),
+    "D144": QCoreApplication.translate(
+        "DocStyleChecker",
+        "docstring summary is not followed by a blank line"),
+    "D145": QCoreApplication.translate(
+        "DocStyleChecker",
+        "last paragraph of docstring is not followed by a blank line"),
+    
+    "D201": QCoreApplication.translate(
+        "DocStyleChecker", "module docstring is still a default string"),
+    "D202": QCoreApplication.translate(
+        "DocStyleChecker", "function docstring is still a default string"),
+    "D203": QCoreApplication.translate(
+        "DocStyleChecker",
+        "private function/method is missing a docstring"),
+    "D205": QCoreApplication.translate(
+        "DocStyleChecker", "private class is missing a docstring"),
+    "D206": QCoreApplication.translate(
+        "DocStyleChecker", "class docstring is still a default string"),
+    "D221": QCoreApplication.translate(
+        "DocStyleChecker",
+        "leading quotes of docstring not on separate line"),
+    "D222": QCoreApplication.translate(
+        "DocStyleChecker",
+        "trailing quotes of docstring not on separate line"),
+    "D231": QCoreApplication.translate(
+        "DocStyleChecker", "docstring summary does not end with a period"),
+    "D232": QCoreApplication.translate(
+        "DocStyleChecker", "docstring summary does not start with '{0}'"),
+    "D234": QCoreApplication.translate(
+        "DocStyleChecker",
+        "docstring does not contain a @return line but function/method"
+        " returns something"),
+    "D235": QCoreApplication.translate(
+        "DocStyleChecker",
+        "docstring contains a @return line but function/method doesn't"
+        " return anything"),
+    "D236": QCoreApplication.translate(
+        "DocStyleChecker",
+        "docstring does not contain enough @param/@keyparam lines"),
+    "D237": QCoreApplication.translate(
+        "DocStyleChecker",
+        "docstring contains too many @param/@keyparam lines"),
+    "D238": QCoreApplication.translate(
+        "DocStyleChecker",
+        "keyword only arguments must be documented with @keyparam lines"),
+    "D239": QCoreApplication.translate(
+        "DocStyleChecker", "order of @param/@keyparam lines does"
+        " not match the function/method signature"),
+    "D242": QCoreApplication.translate(
+        "DocStyleChecker", "class docstring is preceded by a blank line"),
+    "D243": QCoreApplication.translate(
+        "DocStyleChecker", "class docstring is followed by a blank line"),
+    "D244": QCoreApplication.translate(
+        "DocStyleChecker",
+        "function/method docstring is preceded by a blank line"),
+    "D245": QCoreApplication.translate(
+        "DocStyleChecker",
+        "function/method docstring is followed by a blank line"),
+    "D246": QCoreApplication.translate(
+        "DocStyleChecker",
+        "docstring summary is not followed by a blank line"),
+    "D247": QCoreApplication.translate(
+        "DocStyleChecker",
+        "last paragraph of docstring is followed by a blank line"),
+    "D250": QCoreApplication.translate(
+        "DocStyleChecker",
+        "docstring does not contain a @exception line but function/method"
+        " raises an exception"),
+    "D251": QCoreApplication.translate(
+        "DocStyleChecker",
+        "docstring contains a @exception line but function/method doesn't"
+        " raise an exception"),
+    "D252": QCoreApplication.translate(
+        "DocStyleChecker",
+        "raised exception '{0}' is not documented in docstring"),
+    "D253": QCoreApplication.translate(
+        "DocStyleChecker",
+        "documented exception '{0}' is not raised"),
+    "D260": QCoreApplication.translate(
+        "DocStyleChecker",
+        "docstring does not contain a @signal line but class defines signals"),
+    "D261": QCoreApplication.translate(
+        "DocStyleChecker",
+        "docstring contains a @signal line but class doesn't define signals"),
+    "D262": QCoreApplication.translate(
+        "DocStyleChecker",
+        "defined signal '{0}' is not documented in docstring"),
+    "D263": QCoreApplication.translate(
+        "DocStyleChecker",
+        "documented signal '{0}' is not defined"),
+    
+    "D901": QCoreApplication.translate(
+        "DocStyleChecker", "{0}: {1}"),
+
+    # NamingStyleChecker messages
+    "N801": QCoreApplication.translate(
+        "NamingStyleChecker",
+        "class names should use CapWords convention"),
+    "N802": QCoreApplication.translate(
+        "NamingStyleChecker",
+        "function name should be lowercase"),
+    "N803": QCoreApplication.translate(
+        "NamingStyleChecker",
+        "argument name should be lowercase"),
+    "N804": QCoreApplication.translate(
+        "NamingStyleChecker",
+        "first argument of a class method should be named 'cls'"),
+    "N805": QCoreApplication.translate(
+        "NamingStyleChecker",
+        "first argument of a method should be named 'self'"),
+    "N806": QCoreApplication.translate(
+        "NamingStyleChecker",
+        "first argument of a static method should not be named"
+        " 'self' or 'cls"),
+    "N807": QCoreApplication.translate(
+        "NamingStyleChecker",
+        "module names should be lowercase"),
+    "N808": QCoreApplication.translate(
+        "NamingStyleChecker",
+        "package names should be lowercase"),
+    "N811": QCoreApplication.translate(
+        "NamingStyleChecker",
+        "constant imported as non constant"),
+    "N812": QCoreApplication.translate(
+        "NamingStyleChecker",
+        "lowercase imported as non lowercase"),
+    "N813": QCoreApplication.translate(
+        "NamingStyleChecker",
+        "camelcase imported as lowercase"),
+    "N814": QCoreApplication.translate(
+        "NamingStyleChecker",
+        "camelcase imported as constant"),
+    "N821": QCoreApplication.translate(
+        "NamingStyleChecker",
+        "variable in function should be lowercase"),
+    "N831": QCoreApplication.translate(
+        "NamingStyleChecker",
+        "names 'l', 'O' and 'I' should be avoided"),
+
+    # Code complexity messages
+    "C101": QCoreApplication.translate(
+        "ComplexityChecker", "'{0}' is too complex ({1})"),
+    "C111": QCoreApplication.translate(
+        "ComplexityChecker", "source code line is too complex ({0})"),
+    "C112": QCoreApplication.translate(
+        "ComplexityChecker",
+        "overall source code line complexity is too high ({0})"),
+    "C901": QCoreApplication.translate(
+        "ComplexityChecker", "{0}: {1}"),
+    
+    # Messages of the Miscellaneous Checker
+    "M101": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "coding magic comment not found"),
+    "M102": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "unknown encoding ({0}) found in coding magic comment"),
+    "M111": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "copyright notice not present"),
+    "M112": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "copyright notice contains invalid author"),
+    "M131": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        '"{0}" is a Python builtin and is being shadowed; '
+        'consider renaming the variable'),
+    "M132": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        '"{0}" is used as an argument and thus shadows a '
+        'Python builtin; consider renaming the argument'),
+    "M191": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        'unnecessary generator - rewrite as a list comprehension'),
+    "M192": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        'unnecessary generator - rewrite as a set comprehension'),
+    "M193": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        'unnecessary generator - rewrite as a dict comprehension'),
+    "M194": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        'unnecessary list comprehension - rewrite as a set comprehension'),
+    "M195": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        'unnecessary list comprehension - rewrite as a dict comprehension'),
+    "M196": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        'unnecessary list literal - rewrite as a set literal'),
+    "M197": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        'unnecessary list literal - rewrite as a dict literal'),
+    "M198": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        'unnecessary list comprehension - "{0}" can take a generator'),
+    "M201": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "sort keys - '{0}' should be before '{1}'"),
+    "M501": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "Python does not support the unary prefix increment"),
+    "M502": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "using .strip() with multi-character strings is misleading"),
+    "M503": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        """using 'hasattr(x, "__call__")' to test if 'x' is callable is"""
+        """ unreliable"""),
+    "M504": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "'sys.maxint' is not defined in Python 3 - use 'sys.maxsize'"),
+    "M505": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "'BaseException.message' has been deprecated as of Python 2.6 and is"
+        " removed in Python 3 - use 'str(e)'"),
+    "M506": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "assigning to 'os.environ' does not clear the environment -"
+        " use 'os.environ.clear()'"),
+    "M507": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "loop control variable {0} not used within the loop body -"
+        " start the name with an underscore"),
+    "M511": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "Python 3 does not include '.iter*' methods on dictionaries"),
+    "M512": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "Python 3 does not include '.view*' methods on dictionaries"),
+    "M513": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "'.next()' does not exist in Python 3"),
+    "M514": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "'__metaclass__' does nothing on Python 3 -"
+        " use 'class MyClass(BaseClass, metaclass=...)'"),
+    "M601": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "found {0} formatter"),
+    "M611": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "format string does contain unindexed parameters"),
+    "M612": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "docstring does contain unindexed parameters"),
+    "M613": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "other string does contain unindexed parameters"),
+    "M621": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "format call uses too large index ({0})"),
+    "M622": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "format call uses missing keyword ({0})"),
+    "M623": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "format call uses keyword arguments but no named entries"),
+    "M624": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "format call uses variable arguments but no numbered entries"),
+    "M625": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "format call uses implicit and explicit indexes together"),
+    "M631": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "format call provides unused index ({0})"),
+    "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}"),
+    "M702": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "expected these __future__ imports: {0}; but got none"),
+    "M711": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "gettext import with alias _ found: {0}"),
+    "M801": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "print statement found"),
+    "M811": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "one element tuple found"),
+    "M821": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "mutable default argument of type {0}"),
+    "M822": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "mutable default argument of type {0}"),
+    "M823": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "mutable default argument of function call '{0}'"),
+    "M831": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "None should not be added at any return if function has no return"
+        " value except None"),
+    "M832": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "an explicit value at every return should be added if function has"
+        " a return value except None"),
+    "M833": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "an explicit return at the end of the function should be added if"
+        " it has a return value except None"),
+    "M834": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "a value should not be assigned to a variable if it will be used as a"
+        " return value only"),
+    "M901": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "{0}: {1}"),
+    
+    # CodeStyleFixer messages
+    "FD111": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Triple single quotes converted to triple double quotes."),
+    'FD112': QCoreApplication.translate(
+        'CodeStyleFixer',
+        'Introductory quotes corrected to be {0}"""'),
+    "FD121": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Single line docstring put on one line."),
+    "FD131": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Period added to summary line."),
+    "FD141": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Blank line before function/method docstring removed."),
+    "FD142": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Blank line inserted before class docstring."),
+    "FD143": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Blank line inserted after class docstring."),
+    "FD144": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Blank line inserted after docstring summary."),
+    "FD145": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Blank line inserted after last paragraph of docstring."),
+    "FD221": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Leading quotes put on separate line."),
+    "FD222": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Trailing quotes put on separate line."),
+    "FD242": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Blank line before class docstring removed."),
+    "FD244": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Blank line before function/method docstring removed."),
+    "FD243": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Blank line after class docstring removed."),
+    "FD245": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Blank line after function/method docstring removed."),
+    "FD247": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Blank line after last paragraph removed."),
+    "FE101": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Tab converted to 4 spaces."),
+    "FE111": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Indentation adjusted to be a multiple of four."),
+    "FE121": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Indentation of continuation line corrected."),
+    "FE124": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Indentation of closing bracket corrected."),
+    "FE122": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Missing indentation of continuation line corrected."),
+    "FE123": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Closing bracket aligned to opening bracket."),
+    "FE125": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Indentation level changed."),
+    "FE126": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Indentation level of hanging indentation changed."),
+    "FE127": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Visual indentation corrected."),
+    "FE201": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Extraneous whitespace removed."),
+    "FE225": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Missing whitespace added."),
+    "FE221": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Extraneous whitespace removed."),
+    "FE231": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Missing whitespace added."),
+    "FE251": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Extraneous whitespace removed."),
+    "FE261": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Whitespace around comment sign corrected."),
+    
+    "FE302+": lambda n=1: translate(
+        'CodeStyleFixer',
+        "%n blank line(s) inserted.", '', n),
+    "FE302-": lambda n=1: translate(
+        'CodeStyleFixer',
+        "%n superfluous lines removed", '', n),
+    
+    "FE303": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Superfluous blank lines removed."),
+    "FE304": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Superfluous blank lines after function decorator removed."),
+    "FE401": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Imports were put on separate lines."),
+    "FE501": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Long lines have been shortened."),
+    "FE502": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Redundant backslash in brackets removed."),
+    "FE701": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Compound statement corrected."),
+    "FE702": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Compound statement corrected."),
+    "FE711": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Comparison to None/True/False corrected."),
+    "FN804": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "'{0}' argument added."),
+    "FN806": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "'{0}' argument removed."),
+    "FW291": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Whitespace stripped from end of line."),
+    "FW292": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "newline added to end of file."),
+    "FW391": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Superfluous trailing blank lines removed from end of file."),
+    "FW603": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "'<>' replaced by '!='."),
+        
+    "FWRITE_ERROR": QCoreApplication.translate(
+        'CodeStyleFixer',
+        "Could not save the file! Skipping it. Reason: {0}"),
+}
+
+_messages_sample_args = {
+    "E201": ["([{"],
+    "E202": ["}])"],
+    "E203": [",;:"],
+    "E211": ["(["],
+    "E231": [",;:"],
+    "E241": [",;:"],
+    "E242": [",;:"],
+    "E301": [1, 0],
+    "E302": [2, 1],
+    "E303": [3, 2],
+    "E305": [2, 1],
+    "E306": [1, 0],
+    "E307": [3, 1],
+    "E308": [3],
+    "E501": [85, 79],
+    "W505": [80, 72],
+    "E605": ["A"],
+    "E711": ["None", "'if cond is None:'"],
+    "E712": ["True", "'if cond is True:' or 'if cond:'"],
+    "E741": ["l"],
+    "E742": ["l"],
+    "E743": ["l"],
+    "E901": ["SyntaxError", "Invalid Syntax"],
+    "E902": ["IOError"],
+    "D232": ["public"],
+    "D252": ["RuntimeError"],
+    "D253": ["RuntimeError"],
+    "D262": ["buttonClicked"],
+    "D263": ["buttonClicked"],
+    "D901": ["SyntaxError", "Invalid Syntax"],
+    "C101": ["foo.bar", "42"],
+    "C111": [42],
+    "C112": [12.0],
+    "C901": ["SyntaxError", "Invalid Syntax"],
+    "M102": ["enc42"],
+    "M131": ["list"],
+    "M132": ["list"],
+    "M198": ["sorted"],
+    "M201": ["bar", "foo"],
+    "M507": ["x"],
+    "M601": ["%s"],
+    "M621": [5],
+    "M622": ["foo"],
+    "M631": [5],
+    "M632": ["foo"],
+    "M701": ["print_function, unicode_literals", "print_function"],
+    "M702": ["print_function, unicode_literals"],
+    "M711": ["lgettext"],
+    "M821": ["Dict"],
+    "M822": ["Call"],
+    "M823": ["dict"],
+    "M901": ["SyntaxError", "Invalid Syntax"],
+    "FWRITE_ERROR": ["IOError"],
+}
+
+
+def getTranslatedMessage(message):
+    """
+    Module function to get a translated and formatted message for a
+    given pyflakes message ID.
+    
+    @param message the message ID (string)
+    @return translated and formatted message (string)
+    """
+    if isinstance(message, list):
+        message, args = message
+    else:
+        args = []
+
+    if message in _messages:
+        if isinstance(args, int):
+            # Retranslate with correct plural form
+            return _messages[message](args)
+        else:
+            if message.startswith(('FD', 'FE', 'FN', 'FW')):
+                prefix = ''
+            else:
+                prefix = message + ' '
+            return prefix + _messages[message].format(*args)
+    elif ' ' in message:
+        # already translated
+        return message
+    else:
+        return QCoreApplication.translate(
+            "CodeStyleFixer", " no message defined for code '{0}'")\
+            .format(message)
+
+#
+# eflag: noqa = M201

eric ide

mercurial