Code Style Checker eric7

Sun, 16 Feb 2025 15:05:39 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 16 Feb 2025 15:05:39 +0100
branch
eric7
changeset 11138
1f743bad6fd3
parent 11137
a90284948331
child 11139
cd22e8e705f4

Code Style Checker
- Updated the Miscellaneous checker to `flake8-bugbear` v24.12.12.

docs/ThirdParty.md file | annotate | diff | comparison | revisions
docs/changelog.md file | annotate | diff | comparison | revisions
src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/MiscellaneousChecker.py file | annotate | diff | comparison | revisions
src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_cs.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_de.qm file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_de.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_empty.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_en.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_es.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_fr.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_it.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_pt.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_ru.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_tr.ts file | annotate | diff | comparison | revisions
src/eric7/i18n/eric7_zh_CN.ts file | annotate | diff | comparison | revisions
--- a/docs/ThirdParty.md	Sun Feb 16 14:56:07 2025 +0100
+++ b/docs/ThirdParty.md	Sun Feb 16 15:05:39 2025 +0100
@@ -24,7 +24,7 @@
 | flake8-annotations-complexity |   0.0.8   | MIT License (MIT)                  |
 | flake8-annotations-coverage   |   0.0.6   | MIT License (MIT)                  |
 | flake8-async                  |  22.11.14 | MIT License (MIT)                  |
-| flake8-bugbear                |  24.8.19  | MIT License (MIT)                  |
+| flake8-bugbear                |  24.12.12 | MIT License (MIT)                  |
 | flake8-comprehensions         |   3.16.0  | MIT License (MIT)                  |
 | flake8-future-annotations     |   1.1.0   | MIT License (MIT)                  |
 | flake8-implicit-str-concat    |   0.5.0   | MIT License (MIT)                  |
--- a/docs/changelog.md	Sun Feb 16 14:56:07 2025 +0100
+++ b/docs/changelog.md	Sun Feb 16 15:05:39 2025 +0100
@@ -6,6 +6,7 @@
     - Updated these checkers.
         - Imports to `flake8-tidy-imports` v4.11.0
         - Logging to `flake8-logging` v1.7.0
+        - Miscellaneous to `flake8-bugbear` v24.12.12
         - Miscellaneous to `flake8-comprehensions` v3.16.0
         - Security to `bandit` v1.8.2
 - pip Interface
--- a/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/MiscellaneousChecker.py	Sun Feb 16 14:56:07 2025 +0100
+++ b/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/MiscellaneousChecker.py	Sun Feb 16 15:05:39 2025 +0100
@@ -17,7 +17,7 @@
 import sys
 import tokenize
 
-from collections import defaultdict, namedtuple
+from collections import Counter, defaultdict, namedtuple
 from dataclasses import dataclass
 from keyword import iskeyword
 from string import Formatter
@@ -207,6 +207,7 @@
         "M537",
         "M539",
         "M540",
+        "M541",
         ## Bugbear, opininonated
         "M569",
         ## Bugbear++
@@ -420,6 +421,7 @@
                     "M537",
                     "M539",
                     "M540",
+                    "M541",
                     "M569",
                     "M581",
                     "M582",
@@ -1639,7 +1641,7 @@
 #######################################################################
 ## BugBearVisitor
 ##
-## adapted from: flake8-bugbear v24.8.19
+## adapted from: flake8-bugbear v24.12.12
 ##
 ## Original: Copyright (c) 2016 Łukasz Langa
 #######################################################################
@@ -1657,6 +1659,27 @@
     hasNote: bool
 
 
+class M541UnhandledKeyType:
+    """
+    Class to hold a dictionary key of a type that we do not check for duplicates.
+    """
+
+
+class M541VariableKeyType:
+    """
+    Class to hold the name of a variable key type.
+    """
+
+    def __init__(self, name):
+        """
+        Constructor
+
+        @param name name of the variable key type
+        @type str
+        """
+        self.name = name
+
+
 class BugBearVisitor(ast.NodeVisitor):
     """
     Class implementing a node visitor to check for various topics.
@@ -1696,6 +1719,8 @@
         self.__M505Imports = set()
         self.__M540CaughtException = None
 
+        self.__inTryStar = ""
+
     @property
     def nodeStack(self):
         """
@@ -1842,7 +1867,7 @@
                 continue
             yield expr
 
-    def __checkRedundantExcepthandlers(self, names, node):
+    def __checkRedundantExcepthandlers(self, names, node, inTryStar):
         """
         Private method to check for redundant exception types in an exception handler.
 
@@ -1850,6 +1875,8 @@
         @type list of ast.Name
         @param node reference to the exception handler node
         @type ast.ExceptionHandler
+        @param inTryStar character indicating an 'except*' handler
+        @type str
         @return tuple containing the error data
         @rtype tuple of (ast.Node, str, str, str, str)
         """
@@ -1898,7 +1925,7 @@
         if good != names:
             desc = good[0] if len(good) == 1 else "({0})".format(", ".join(good))
             as_ = " as " + node.name if node.name is not None else ""
-            return (node, "M514", ", ".join(names), as_, desc)
+            return (node, "M514", ", ".join(names), as_, desc, inTryStar)
 
         return None
 
@@ -2043,7 +2070,7 @@
         else:
             self.__M540CaughtException = M540CaughtException(node.name, False)
 
-        names = self.__checkForM513_M529_M530(node)
+        names = self.__checkForM513_M514_M529_M530(node)
 
         if "BaseException" in names and not ExceptBaseExceptionVisitor(node).reRaised():
             self.violations.append((node, "M536"))
@@ -2303,7 +2330,7 @@
 
     def visit_Try(self, node):
         """
-        Public method to handle 'try' statements'.
+        Public method to handle 'try' statements.
 
         @param node reference to the node to be processed
         @type ast.Try
@@ -2313,6 +2340,18 @@
 
         self.generic_visit(node)
 
+    def visit_TryStar(self, node):
+        """
+        Public method to handle 'except*' statements.
+
+        @param node reference to the node to be processed
+        @type ast.TryStar
+        """
+        outerTryStar = self.__inTryStar
+        self.__inTryStar = "*"
+        self.visit_Try(node)
+        self.__inTryStar = outerTryStar
+
     def visit_Compare(self, node):
         """
         Public method to handle comparison statements.
@@ -2408,6 +2447,17 @@
 
         self.generic_visit(node)
 
+    def visit_Dict(self, node):
+        """
+        Public method to check a dictionary.
+
+        @param node reference to the node to be processed
+        @type ast.Dict
+        """
+        self.__checkForM541(node)
+
+        self.generic_visit(node)
+
     def __checkForM505(self, node):
         """
         Private method to check the use of *strip().
@@ -2488,7 +2538,7 @@
                 badNodeTypes = (ast.Return,)
 
             elif isinstance(node, badNodeTypes):
-                self.violations.append((node, "M512"))
+                self.violations.append((node, "M512", self.__inTryStar))
 
             for child in ast.iter_child_nodes(node):
                 _loop(child, badNodeTypes)
@@ -2496,7 +2546,7 @@
         for child in node.finalbody:
             _loop(child, (ast.Return, ast.Continue, ast.Break))
 
-    def __checkForM513_M529_M530(self, node):
+    def __checkForM513_M514_M529_M530(self, node):
         """
         Private method to check various exception handler situations.
 
@@ -2524,16 +2574,18 @@
         if badHandlers:
             self.violations.append((node, "M530"))
         if len(names) == 0 and not badHandlers and not ignoredHandlers:
-            self.violations.append((node, "M529"))
+            self.violations.append((node, "M529", self.__inTryStar))
         elif (
             len(names) == 1
             and not badHandlers
             and not ignoredHandlers
             and isinstance(node.type, ast.Tuple)
         ):
-            self.violations.append((node, "M513", *names))
+            self.violations.append((node, "M513", *names, self.__inTryStar))
         else:
-            maybeError = self.__checkRedundantExcepthandlers(names, node)
+            maybeError = self.__checkRedundantExcepthandlers(
+                names, node, self.__inTryStar
+            )
             if maybeError is not None:
                 self.violations.append(maybeError)
         return names
@@ -2850,7 +2902,7 @@
 
         for stmt in node.body:
             # Ignore abc's that declares a class attribute that must be set
-            if isinstance(stmt, (ast.AnnAssign, ast.Assign)):
+            if isinstance(stmt, ast.AnnAssign) and stmt.value is None:
                 hasAbstractMethod = True
                 continue
 
@@ -2897,7 +2949,7 @@
         # sort to have a deterministic output
         duplicates = sorted({x for x in seen if seen.count(x) > 1})
         for duplicate in duplicates:
-            self.violations.append((node, "M525", duplicate))
+            self.violations.append((node, "M525", duplicate, self.__inTryStar))
 
     def __checkForM526(self, node):
         """
@@ -2935,6 +2987,8 @@
             and node.func.value.id == "warnings"
             and not any(kw.arg == "stacklevel" for kw in node.keywords)
             and len(node.args) < 3
+            and not any(isinstance(a, ast.Starred) for a in node.args)
+            and not any(kw.arg is None for kw in node.keywords)
         ):
             self.violations.append((node, "M528"))
 
@@ -3142,6 +3196,45 @@
                 self.__M540CaughtException = None
                 break
 
+    def __checkForM541(self, node):
+        """
+        Private method to check for duplicate key value pairs in a dictionary literal.
+
+        @param node reference to the node to be processed
+        @type ast.Dict
+        """  # noqa: D234r
+
+        def convertToValue(item):
+            """
+            Function to extract the value of a given item.
+
+            @param item node to extract value from
+            @type ast.Ast
+            @return value of the node
+            @rtype Any
+            """
+            if isinstance(item, ast.Constant):
+                return item.value
+            elif isinstance(item, ast.Tuple):
+                return tuple(convertToValue(i) for i in item.elts)
+            elif isinstance(item, ast.Name):
+                return M541VariableKeyType(item.id)
+            else:
+                return M541UnhandledKeyType()
+
+        keys = [convertToValue(key) for key in node.keys]
+        keyCounts = Counter(keys)
+        duplicateKeys = [key for key, count in keyCounts.items() if count > 1]
+        for key in duplicateKeys:
+            keyIndices = [i for i, iKey in enumerate(keys) if iKey == key]
+            seen = set()
+            for index in keyIndices:
+                value = convertToValue(node.values[index])
+                if value in seen:
+                    keyNode = node.keys[index]
+                    self.violations.append((keyNode, "M541"))
+                seen.add(value)
+
     def __checkForM569(self, node):
         """
         Private method to check for changes to a loop's mutable iterable.
--- a/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py	Sun Feb 16 14:56:07 2025 +0100
+++ b/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py	Sun Feb 16 15:05:39 2025 +0100
@@ -346,17 +346,17 @@
     "M512": QCoreApplication.translate(
         "MiscellaneousChecker",
         "return/continue/break inside finally blocks cause exceptions to be silenced."
-        " Exceptions should be silenced in except blocks. Control statements can be"
+        " Exceptions should be silenced in except{0} blocks. Control statements can be"
         " moved outside the finally block.",
     ),
     "M513": QCoreApplication.translate(
         "MiscellaneousChecker",
-        "A length-one tuple literal is redundant. Write 'except {0}:' instead of"
-        " 'except ({0},):'.",
+        "A length-one tuple literal is redundant. Write 'except{1} {0}:' instead of"
+        " 'except{1} ({0},):'.",
     ),
     "M514": QCoreApplication.translate(
         "MiscellaneousChecker",
-        "Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:',"
+        "Redundant exception types in 'except{3} ({0}){1}:'. Write 'except{3} {2}{1}:',"
         " which catches exactly the same exceptions.",
     ),
     "M515": QCoreApplication.translate(
@@ -416,8 +416,8 @@
     ),
     "M525": QCoreApplication.translate(
         "MiscellaneousChecker",
-        "Exception '{0}' has been caught multiple times. Only the first except will be"
-        " considered and all other except catches can be safely removed.",
+        "Exception '{0}' has been caught multiple times. Only the first except{1} will"
+        " be considered and all other except{1} catches can be safely removed.",
     ),
     "M526": QCoreApplication.translate(
         "MiscellaneousChecker",
@@ -441,7 +441,7 @@
     ),
     "M529": QCoreApplication.translate(
         "MiscellaneousChecker",
-        "Using 'except ():' with an empty tuple does not handle/catch "
+        "Using 'except{0} ():' with an empty tuple does not handle/catch "
         "anything. Add exceptions to handle.",
     ),
     "M530": QCoreApplication.translate(
@@ -479,7 +479,7 @@
     ),
     "M537": QCoreApplication.translate(
         "MiscellaneousChecker",
-        "Class '__init__' methods must not return or yield and any values.",
+        "Class '__init__' methods must not return or yield any values.",
     ),
     "M539": QCoreApplication.translate(
         "MiscellaneousChecker",
@@ -491,6 +491,10 @@
         "MiscellaneousChecker",
         "Exception with added note not used. Did you forget to raise it?",
     ),
+    "M541": QCoreApplication.translate(
+        "MiscellaneousChecker",
+        "Repeated key-value pair in dictionary literal.",
+    ),
     ## Bugbear, opininonated
     "M569": QCoreApplication.translate(
         "MiscellaneousChecker",
@@ -671,13 +675,15 @@
     "M267": ["foo"],
     ## Bugbear
     "M507": ["x"],
-    "M513": ["Exception"],
-    "M514": ["OSError, IOError", " as err", "OSError"],
+    "M512": [""],
+    "M513": ["Exception", ""],
+    "M514": ["OSError, IOError", " as err", "OSError", ""],
     "M518": ["List"],
     "M523": ["x"],
     "M524": ["foobar"],
-    "M525": ["OSError"],
+    "M525": ["OSError", ""],
     "M527": ["foo"],
+    "M529": [""],
     "M533": ["foo"],
     "M534": ["split", "maxsplit"],
     "M535": ["foo"],
--- a/src/eric7/i18n/eric7_cs.ts	Sun Feb 16 14:56:07 2025 +0100
+++ b/src/eric7/i18n/eric7_cs.ts	Sun Feb 16 15:05:39 2025 +0100
@@ -56054,17 +56054,17 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="346" />
-      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source>
+      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except{0} blocks. Control statements can be moved outside the finally block.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="352" />
-      <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source>
+      <source>A length-one tuple literal is redundant. Write 'except{1} {0}:' instead of 'except{1} ({0},):'.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="357" />
-      <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source>
+      <source>Redundant exception types in 'except{3} ({0}){1}:'. Write 'except{3} {2}{1}:', which catches exactly the same exceptions.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56119,7 +56119,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="417" />
-      <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source>
+      <source>Exception '{0}' has been caught multiple times. Only the first except{1} will be considered and all other except{1} catches can be safely removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56139,7 +56139,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="442" />
-      <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
+      <source>Using 'except{0} ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56179,7 +56179,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="480" />
-      <source>Class '__init__' methods must not return or yield and any values.</source>
+      <source>Class '__init__' methods must not return or yield any values.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56193,153 +56193,158 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="495" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="494" />
+      <source>Repeated key-value pair in dictionary literal.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="499" />
       <source>Editing a loop's mutable iterable often leads to unexpected results/bugs.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="500" />
-      <source>unncessary f-string</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="504" />
+      <source>unncessary f-string</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="508" />
       <source>cannot use 'self.__class__' as first argument of 'super()' call</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="509" />
-      <source>found {0} formatter</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="513" />
-      <source>format string does contain unindexed parameters</source>
+      <source>found {0} formatter</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="517" />
-      <source>docstring does contain unindexed parameters</source>
+      <source>format string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="521" />
-      <source>other string does contain unindexed parameters</source>
+      <source>docstring does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="525" />
-      <source>format call uses too large index ({0})</source>
+      <source>other string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="529" />
-      <source>format call uses missing keyword ({0})</source>
+      <source>format call uses too large index ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="533" />
-      <source>format call uses keyword arguments but no named entries</source>
+      <source>format call uses missing keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="537" />
-      <source>format call uses variable arguments but no numbered entries</source>
+      <source>format call uses keyword arguments but no named entries</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="541" />
-      <source>format call uses implicit and explicit indexes together</source>
+      <source>format call uses variable arguments but no numbered entries</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="545" />
-      <source>format call provides unused index ({0})</source>
+      <source>format call uses implicit and explicit indexes together</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="549" />
+      <source>format call provides unused index ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="553" />
       <source>format call provides unused keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="554" />
-      <source>expected these __future__ imports: {0}; but only got: {1}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="558" />
+      <source>expected these __future__ imports: {0}; but only got: {1}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="562" />
       <source>expected these __future__ imports: {0}; but got none</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="563" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="567" />
       <source>gettext import with alias _ found: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="568" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="572" />
       <source>print statement found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="573" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="577" />
       <source>one element tuple found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="578" />
-      <source>mutable default argument of type {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="586" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
+      <source>mutable default argument of type {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="590" />
       <source>mutable default argument of function call '{0}'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="591" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="595" />
       <source>None should not be added at any return if function has no return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="596" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="600" />
       <source>an explicit value at every return should be added if function has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="601" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="605" />
       <source>an explicit return at the end of the function should be added if it has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="606" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="610" />
       <source>a value should not be assigned to a variable if it will be used as a return value only</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="612" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="616" />
       <source>prefer implied line continuation inside parentheses, brackets and braces as opposed to a backslash</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="618" />
-      <source>implicitly concatenated string or bytes literals on one line</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="622" />
-      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <source>implicitly concatenated string or bytes literals on one line</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="626" />
+      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="630" />
       <source>explicitly concatenated string or bytes should be implicitly concatenated</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="631" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="635" />
       <source>commented code lines should be removed</source>
       <translation type="unfinished" />
     </message>
@@ -59626,164 +59631,164 @@
   <context>
     <name>Pip</name>
     <message>
-      <location filename="../PipInterface/Pip.py" line="156" />
+      <location filename="../PipInterface/Pip.py" line="157" />
       <source>python exited with an error ({0}).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="165" />
+      <location filename="../PipInterface/Pip.py" line="166" />
       <source>python did not finish within 30 seconds.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="167" />
+      <location filename="../PipInterface/Pip.py" line="168" />
       <source>python could not be started.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="228" />
+      <location filename="../PipInterface/Pip.py" line="229" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="253" />
-      <source>Interpreter for Virtual Environment</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="254" />
+      <source>Interpreter for Virtual Environment</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="255" />
       <source>No interpreter configured for the selected virtual environment.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="307" />
+      <location filename="../PipInterface/Pip.py" line="308" />
       <source>Install PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="354" />
+      <location filename="../PipInterface/Pip.py" line="355" />
       <source>Repair PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="486" />
-      <location filename="../PipInterface/Pip.py" line="468" />
+      <location filename="../PipInterface/Pip.py" line="487" />
+      <location filename="../PipInterface/Pip.py" line="469" />
       <source>Upgrade Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="469" />
+      <location filename="../PipInterface/Pip.py" line="470" />
       <source>There are no packages except 'eric-ide' or 'PyQt6' left for upgrade.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="532" />
+      <location filename="../PipInterface/Pip.py" line="533" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="563" />
+      <location filename="../PipInterface/Pip.py" line="564" />
       <source>Install Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="585" />
+      <location filename="../PipInterface/Pip.py" line="586" />
       <source>Install Project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="620" />
-      <location filename="../PipInterface/Pip.py" line="610" />
-      <source>Install 'pyproject' Dependencies</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PipInterface/Pip.py" line="748" />
-      <location filename="../PipInterface/Pip.py" line="611" />
-      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="621" />
+      <location filename="../PipInterface/Pip.py" line="611" />
+      <source>Install 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="749" />
+      <location filename="../PipInterface/Pip.py" line="612" />
+      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="622" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="641" />
+      <location filename="../PipInterface/Pip.py" line="642" />
       <source>Install Packages from 'pyproject.toml'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="775" />
-      <location filename="../PipInterface/Pip.py" line="701" />
-      <location filename="../PipInterface/Pip.py" line="671" />
-      <location filename="../PipInterface/Pip.py" line="662" />
-      <source>Uninstall Packages</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="776" />
       <location filename="../PipInterface/Pip.py" line="702" />
+      <location filename="../PipInterface/Pip.py" line="672" />
       <location filename="../PipInterface/Pip.py" line="663" />
+      <source>Uninstall Packages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="777" />
+      <location filename="../PipInterface/Pip.py" line="703" />
+      <location filename="../PipInterface/Pip.py" line="664" />
       <source>Do you really want to uninstall these packages?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="719" />
+      <location filename="../PipInterface/Pip.py" line="720" />
       <source>Uninstall Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="758" />
-      <location filename="../PipInterface/Pip.py" line="747" />
-      <source>Uninstall 'pyproject' Dependencies</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="759" />
+      <location filename="../PipInterface/Pip.py" line="748" />
+      <source>Uninstall 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="760" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read. &lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="786" />
+      <location filename="../PipInterface/Pip.py" line="787" />
       <source>Uninstall Packages from 'pyproject.toml'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1197" />
+      <location filename="../PipInterface/Pip.py" line="1198" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1223" />
-      <location filename="../PipInterface/Pip.py" line="1214" />
+      <location filename="../PipInterface/Pip.py" line="1224" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1215" />
+      <location filename="../PipInterface/Pip.py" line="1216" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1247" />
-      <location filename="../PipInterface/Pip.py" line="1240" />
+      <location filename="../PipInterface/Pip.py" line="1248" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1241" />
+      <location filename="../PipInterface/Pip.py" line="1242" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1272" />
-      <location filename="../PipInterface/Pip.py" line="1264" />
+      <location filename="../PipInterface/Pip.py" line="1273" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1265" />
+      <location filename="../PipInterface/Pip.py" line="1266" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -74354,246 +74359,231 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="166" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with its defusedxml equivalent function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="172" />
       <source>FTP-related functions are being called. FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="177" />
-      <source>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="184" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="171" />
       <source>By default, Python will create a secure, verified SSL context for use in such classes as HTTPSConnection. However, it still allows using an insecure context via the _create_unverified_context that reverts to the previous behavior that does not validate certificates or perform hostname checks.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="180" />
+      <source>Use of insecure {0} hash function.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="183" />
+      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="188" />
+      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="193" />
-      <source>Use of insecure {0} hash function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="196" />
-      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="201" />
-      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
+      <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="202" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="198" />
+      <source>Consider possible security implications associated with the '{0}' module.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="230" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="224" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="218" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="212" />
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="206" />
-      <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="215" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="211" />
-      <source>Consider possible security implications associated with the '{0}' module.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="243" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="237" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="231" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="225" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="219" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="249" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="255" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="236" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Use defusedxml.xmlrpc.monkey_patch() function to monkey-patch xmlrpclib and mitigate XML vulnerabilities.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="261" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="242" />
       <source>Consider possible security implications associated with '{0}' module.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="265" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="246" />
       <source>The pyCrypto library and its module '{0}' are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="271" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="252" />
       <source>An IPMI-related module is being imported. IPMI is considered insecure. Use an encrypted protocol.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="277" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="258" />
       <source>'requests' call with verify=False disabling SSL certificate checks, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="283" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="264" />
       <source>'ssl.wrap_socket' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="288" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="269" />
       <source>'SSL.Context' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="293" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="274" />
       <source>Function call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="298" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="279" />
       <source>Function definition identified with insecure SSL/TLS protocol version by default, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="303" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="284" />
       <source>'ssl.wrap_socket' call with no SSL/TLS protocol version specified, the default 'SSLv23' could be insecure, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="290" />
+      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="294" />
+      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="300" />
+      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="305" />
+      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="309" />
-      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="313" />
-      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="319" />
-      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="324" />
-      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="315" />
+      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="320" />
+      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="325" />
+      <source>'subprocess' call with shell=True identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="328" />
-      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="334" />
-      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="339" />
-      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="344" />
-      <source>'subprocess' call with shell=True identified, security issue.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="347" />
       <source>'subprocess' call - check for execution of untrusted input.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="350" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="331" />
       <source>Function call with shell=True parameter identified, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="355" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="336" />
       <source>Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="360" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="341" />
       <source>Starting a process with a shell, possible injection detected, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="346" />
+      <source>Starting a process without a shell.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="349" />
+      <source>Starting a process with a partial executable path.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="353" />
+      <source>Possible SQL injection vector through string-based query construction.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="358" />
+      <source>Possible wildcard injection in call: {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="362" />
+      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="365" />
-      <source>Starting a process without a shell.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="368" />
-      <source>Starting a process with a partial executable path.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="372" />
-      <source>Possible SQL injection vector through string-based query construction.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="377" />
-      <source>Possible wildcard injection in call: {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="381" />
-      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="384" />
       <source>Use of 'RawSQL()' opens a potential SQL attack vector.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="388" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="369" />
       <source>Use of insecure logging.config.listen() detected.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="393" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="374" />
       <source>The Python source file contains bidirectional control characters ({0}).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="398" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="379" />
       <source>Use of unsafe PyTorch load or save.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="402" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="383" />
       <source>Using jinja2 templates with 'autoescape=False' is dangerous and can lead to XSS. Use 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="389" />
+      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="396" />
+      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="404" />
+      <source>Potential XSS on 'mark_safe()' function.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="408" />
-      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="415" />
-      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="423" />
-      <source>Potential XSS on 'mark_safe()' function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="427" />
       <source>Possible hardcoded AWS access key ID: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="430" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="411" />
       <source>Possible hardcoded AWS secret access key: {0}</source>
       <translation type="unfinished" />
     </message>
Binary file src/eric7/i18n/eric7_de.qm has changed
--- a/src/eric7/i18n/eric7_de.ts	Sun Feb 16 14:56:07 2025 +0100
+++ b/src/eric7/i18n/eric7_de.ts	Sun Feb 16 15:05:39 2025 +0100
@@ -56085,18 +56085,18 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="346" />
-      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source>
-      <translation>return/continue/break innerhalb eines finally Blocks unterdrückt Ausnahmen. Ausnahmen sollten in except Blöcken behandelt werden. Kontrollanweisungen können aus dem finally Block verschoben werden.</translation>
+      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except{0} blocks. Control statements can be moved outside the finally block.</source>
+      <translation>return/continue/break innerhalb eines finally Blocks unterdrückt Ausnahmen. Ausnahmen sollten in except{0} Blöcken behandelt werden. Kontrollanweisungen können aus dem finally Block verschoben werden.</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="352" />
-      <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source>
-      <translation>Ein Tuple der Länge eins ist redundant. Schreibe 'except {0}:' anstelle 'except ({0},):'.</translation>
+      <source>A length-one tuple literal is redundant. Write 'except{1} {0}:' instead of 'except{1} ({0},):'.</source>
+      <translation>Ein Tuple der Länge eins ist redundant. Schreibe 'except{1} {0}:' anstelle 'except{1} ({0},):'.</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="357" />
-      <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source>
-      <translation>Redundante Ausnahmetypen in 'except ({0}){1}:'. Schreibe 'except {2}{1}:', was die exakt gleichen Ausnahmen behandelt.</translation>
+      <source>Redundant exception types in 'except{3} ({0}){1}:'. Write 'except{3} {2}{1}:', which catches exactly the same exceptions.</source>
+      <translation>Redundante Ausnahmetypen in 'except{3} ({0}){1}:'. Schreibe 'except{3} {2}{1}:', was die exakt gleichen Ausnahmen behandelt.</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="362" />
@@ -56150,8 +56150,8 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="417" />
-      <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source>
-      <translation>Die Ausnahme '{0}' wurde mehrfach abgefangen. Nur das erste 'except' wird berücksichtigt und alle anderen 'except' Blöcke können entfernt werden.</translation>
+      <source>Exception '{0}' has been caught multiple times. Only the first except{1} will be considered and all other except{1} catches can be safely removed.</source>
+      <translation>Die Ausnahme '{0}' wurde mehrfach abgefangen. Nur das erste 'except{1}' wird berücksichtigt und alle anderen 'except{1}' Blöcke können entfernt werden.</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="422" />
@@ -56170,8 +56170,8 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="442" />
-      <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
-      <translation>Die Verwendung von 'except ():' mit eine leeren Tuple fangt nichts ab. Füge zu behandelnde Exceptions hinzu.</translation>
+      <source>Using 'except{0} ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
+      <translation>Die Verwendung von 'except{0} ():' mit eine leeren Tuple fangt nichts ab. Füge zu behandelnde Exceptions hinzu.</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="447" />
@@ -56210,7 +56210,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="480" />
-      <source>Class '__init__' methods must not return or yield and any values.</source>
+      <source>Class '__init__' methods must not return or yield any values.</source>
       <translation>'__init__' Methoden einer Klasse dürfen keinen Wert zurückgeben oder yielden.</translation>
     </message>
     <message>
@@ -56224,153 +56224,158 @@
       <translation>Ausnahme mit hinzugefügtem Hinweis nicht verwendet. Wurde vergessen, sie auszulösen?</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="495" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="494" />
+      <source>Repeated key-value pair in dictionary literal.</source>
+      <translation>Wiederholtes Schlüssel-Wert-Paar in Dictionary Literal.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="499" />
       <source>Editing a loop's mutable iterable often leads to unexpected results/bugs.</source>
       <translation>Die Bearbeitung der veränderbaren Iterablen einer Schleife führt oft zu unerwarteten Ergebnissen/Fehlern.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="500" />
-      <source>unncessary f-string</source>
-      <translation>unnötige f-Zeichenkette</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="504" />
+      <source>unncessary f-string</source>
+      <translation>unnötige f-Zeichenkette</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="508" />
       <source>cannot use 'self.__class__' as first argument of 'super()' call</source>
       <translation>als erstes Argument von 'super()' kann nicht 'self.__class__' verwendet werden</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="509" />
-      <source>found {0} formatter</source>
-      <translation>{0} Format gefunden</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="513" />
-      <source>format string does contain unindexed parameters</source>
-      <translation>Formatstring enthält nicht indizierte Parameter</translation>
+      <source>found {0} formatter</source>
+      <translation>{0} Format gefunden</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="517" />
-      <source>docstring does contain unindexed parameters</source>
-      <translation>Dokumentationsstring enthält nicht indizierte Parameter</translation>
+      <source>format string does contain unindexed parameters</source>
+      <translation>Formatstring enthält nicht indizierte Parameter</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="521" />
-      <source>other string does contain unindexed parameters</source>
-      <translation>Anderer String enthält nicht indizierte Parameter</translation>
+      <source>docstring does contain unindexed parameters</source>
+      <translation>Dokumentationsstring enthält nicht indizierte Parameter</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="525" />
-      <source>format call uses too large index ({0})</source>
-      <translation>Format Aufruf enthält zu großen Index ({0})</translation>
+      <source>other string does contain unindexed parameters</source>
+      <translation>Anderer String enthält nicht indizierte Parameter</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="529" />
-      <source>format call uses missing keyword ({0})</source>
-      <translation>Format Aufruf verwendet fehlendes Schlüsselwort ({0})</translation>
+      <source>format call uses too large index ({0})</source>
+      <translation>Format Aufruf enthält zu großen Index ({0})</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="533" />
-      <source>format call uses keyword arguments but no named entries</source>
-      <translation>Format Aufruf verwendet Schlüsselwort Argumente, enthält aber keine benannten Einträge</translation>
+      <source>format call uses missing keyword ({0})</source>
+      <translation>Format Aufruf verwendet fehlendes Schlüsselwort ({0})</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="537" />
-      <source>format call uses variable arguments but no numbered entries</source>
-      <translation>Format Aufruf verwendet variable argumente, enthält aber keine nummerierten Einträge</translation>
+      <source>format call uses keyword arguments but no named entries</source>
+      <translation>Format Aufruf verwendet Schlüsselwort Argumente, enthält aber keine benannten Einträge</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="541" />
-      <source>format call uses implicit and explicit indexes together</source>
-      <translation>Format Aufruf verwendet sowohl implizite als auch explizite Indizes</translation>
+      <source>format call uses variable arguments but no numbered entries</source>
+      <translation>Format Aufruf verwendet variable argumente, enthält aber keine nummerierten Einträge</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="545" />
-      <source>format call provides unused index ({0})</source>
-      <translation>Format Aufruf verwendet ungenutzten Index ({0})</translation>
+      <source>format call uses implicit and explicit indexes together</source>
+      <translation>Format Aufruf verwendet sowohl implizite als auch explizite Indizes</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="549" />
+      <source>format call provides unused index ({0})</source>
+      <translation>Format Aufruf verwendet ungenutzten Index ({0})</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="553" />
       <source>format call provides unused keyword ({0})</source>
       <translation>Format Aufruf verwendet ungenutztes Schlüsselwort ({0})</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="554" />
-      <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/Miscellaneous/translations.py" line="558" />
+      <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/Miscellaneous/translations.py" line="562" />
       <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/Miscellaneous/translations.py" line="563" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="567" />
       <source>gettext import with alias _ found: {0}</source>
       <translation>gettext Import mit Alias _ entdeckt: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="568" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="572" />
       <source>print statement found</source>
       <translation>print Statement gefunden</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="573" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="577" />
       <source>one element tuple found</source>
       <translation>Tuple mit einem Element gefunden</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="578" />
-      <source>mutable default argument of type {0}</source>
-      <translation>veränderbares Standardargument des Typs {0}</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="586" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
+      <source>mutable default argument of type {0}</source>
+      <translation>veränderbares Standardargument des Typs {0}</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="590" />
       <source>mutable default argument of function call '{0}'</source>
       <translation>Funktionsaufruf '{0}' als veränderbares Standardargument</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="591" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="595" />
       <source>None should not be added at any return if function has no return value except None</source>
       <translation>None sollte nicht zu einem return hinzugefügt werden, wenn die Funktion keinen Rückgabewert außer None besitzt</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="596" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="600" />
       <source>an explicit value at every return should be added if function has a return value except None</source>
       <translation>ein expliziter Wert sollte jedem return hinzugefügt werden, wenn eine Funktion einen Rückgabewert außer None besitzt</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="601" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="605" />
       <source>an explicit return at the end of the function should be added if it has a return value except None</source>
       <translation>ein expliziter Rückgabewert sollte am Ende einer Funktion hinzugefügt werden, wenn sie einen Rückgabewert außer None besitzt</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="606" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="610" />
       <source>a value should not be assigned to a variable if it will be used as a return value only</source>
       <translation>einer Variable sollte kein Wert zugewiesen werden, wenn sie nur als Rückgabewert verwendet wird</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="612" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="616" />
       <source>prefer implied line continuation inside parentheses, brackets and braces as opposed to a backslash</source>
       <translation>ziehe eine implizite Zeilenfortsetzung innerhalb von Klammern gegenüber einem Backslash (\) vor</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="618" />
-      <source>implicitly concatenated string or bytes literals on one line</source>
-      <translation>implizit verkettete String- oder Bytes-Literale in einer Zeile</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="622" />
-      <source>implicitly concatenated string or bytes literals over continuation line</source>
-      <translation>implizit verkettete String- oder Byte-Literale über die Fortsetzungszeile</translation>
+      <source>implicitly concatenated string or bytes literals on one line</source>
+      <translation>implizit verkettete String- oder Bytes-Literale in einer Zeile</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="626" />
+      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <translation>implizit verkettete String- oder Byte-Literale über die Fortsetzungszeile</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="630" />
       <source>explicitly concatenated string or bytes should be implicitly concatenated</source>
       <translation>explizit verkettete Zeichenfolgen oder Bytes sollten implizit verkettet werden</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="631" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="635" />
       <source>commented code lines should be removed</source>
       <translation>auskommentierte Codezeilen sollten entfernt werden</translation>
     </message>
@@ -59626,164 +59631,164 @@
   <context>
     <name>Pip</name>
     <message>
-      <location filename="../PipInterface/Pip.py" line="156" />
+      <location filename="../PipInterface/Pip.py" line="157" />
       <source>python exited with an error ({0}).</source>
       <translation>python endete mit einem Fehler ({0}).</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="165" />
+      <location filename="../PipInterface/Pip.py" line="166" />
       <source>python did not finish within 30 seconds.</source>
       <translation>python endete nicht innerhalb 30 Sekunden.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="167" />
+      <location filename="../PipInterface/Pip.py" line="168" />
       <source>python could not be started.</source>
       <translation>python konnte nicht gestarted werden.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="228" />
+      <location filename="../PipInterface/Pip.py" line="229" />
       <source>&lt;project&gt;</source>
       <translation>&lt;Projekt&gt;</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="253" />
-      <source>Interpreter for Virtual Environment</source>
-      <translation>Interpreter für virtuelle Umgebung</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="254" />
+      <source>Interpreter for Virtual Environment</source>
+      <translation>Interpreter für virtuelle Umgebung</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="255" />
       <source>No interpreter configured for the selected virtual environment.</source>
       <translation>Für die gewählte virtuelle Umgebung ist kein Interpreter konfiguriert.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="307" />
+      <location filename="../PipInterface/Pip.py" line="308" />
       <source>Install PIP</source>
       <translation>PIP installieren</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="354" />
+      <location filename="../PipInterface/Pip.py" line="355" />
       <source>Repair PIP</source>
       <translation>PIP reparieren</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="486" />
-      <location filename="../PipInterface/Pip.py" line="468" />
+      <location filename="../PipInterface/Pip.py" line="487" />
+      <location filename="../PipInterface/Pip.py" line="469" />
       <source>Upgrade Packages</source>
       <translation>Pakete aktualisieren</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="469" />
+      <location filename="../PipInterface/Pip.py" line="470" />
       <source>There are no packages except 'eric-ide' or 'PyQt6' left for upgrade.</source>
       <translation>Es sind keine Pakete außer 'eric-ide' und 'PyQt6' für eine Aktualisierung übrig.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="532" />
+      <location filename="../PipInterface/Pip.py" line="533" />
       <source>Install Packages</source>
       <translation>Pakete installieren</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="563" />
+      <location filename="../PipInterface/Pip.py" line="564" />
       <source>Install Packages from Requirements</source>
       <translation>Pakete gem. Anforderungen installieren</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="585" />
+      <location filename="../PipInterface/Pip.py" line="586" />
       <source>Install Project</source>
       <translation>Projekt installieren</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="620" />
-      <location filename="../PipInterface/Pip.py" line="610" />
-      <source>Install 'pyproject' Dependencies</source>
-      <translation>Abhängigkeiten gem. 'pyproject' installieren</translation>
-    </message>
-    <message>
-      <location filename="../PipInterface/Pip.py" line="748" />
-      <location filename="../PipInterface/Pip.py" line="611" />
-      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
-      <translation>Die ausgewählte 'pyproject.toml' Datei enthält keinen 'project.dependencies' Abschnitt. Abbruch...</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="621" />
+      <location filename="../PipInterface/Pip.py" line="611" />
+      <source>Install 'pyproject' Dependencies</source>
+      <translation>Abhängigkeiten gem. 'pyproject' installieren</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="749" />
+      <location filename="../PipInterface/Pip.py" line="612" />
+      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
+      <translation>Die ausgewählte 'pyproject.toml' Datei enthält keinen 'project.dependencies' Abschnitt. Abbruch...</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="622" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die ausgewählte 'pyproject.toml' Datei konnte nicht gelesen werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="641" />
+      <location filename="../PipInterface/Pip.py" line="642" />
       <source>Install Packages from 'pyproject.toml'</source>
       <translation>Pakete gem. 'pyproject.toml' installieren</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="775" />
-      <location filename="../PipInterface/Pip.py" line="701" />
-      <location filename="../PipInterface/Pip.py" line="671" />
-      <location filename="../PipInterface/Pip.py" line="662" />
-      <source>Uninstall Packages</source>
-      <translation>Pakete deinstallieren</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="776" />
       <location filename="../PipInterface/Pip.py" line="702" />
+      <location filename="../PipInterface/Pip.py" line="672" />
       <location filename="../PipInterface/Pip.py" line="663" />
+      <source>Uninstall Packages</source>
+      <translation>Pakete deinstallieren</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="777" />
+      <location filename="../PipInterface/Pip.py" line="703" />
+      <location filename="../PipInterface/Pip.py" line="664" />
       <source>Do you really want to uninstall these packages?</source>
       <translation>Sollen diese Pakete wirklich deinstalliert werden?</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="719" />
+      <location filename="../PipInterface/Pip.py" line="720" />
       <source>Uninstall Packages from Requirements</source>
       <translation>Pakete gem. Anforderungen deinstallieren</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="758" />
-      <location filename="../PipInterface/Pip.py" line="747" />
-      <source>Uninstall 'pyproject' Dependencies</source>
-      <translation>Abhängigkeiten gem. 'pyproject' deinstallieren</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="759" />
+      <location filename="../PipInterface/Pip.py" line="748" />
+      <source>Uninstall 'pyproject' Dependencies</source>
+      <translation>Abhängigkeiten gem. 'pyproject' deinstallieren</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="760" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read. &lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die ausgewählte 'pyproject.toml' Datei konnte nicht gelesen werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="786" />
+      <location filename="../PipInterface/Pip.py" line="787" />
       <source>Uninstall Packages from 'pyproject.toml'</source>
       <translation>Pakete gem. 'pyproject.toml' deinstallieren</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1197" />
+      <location filename="../PipInterface/Pip.py" line="1198" />
       <source>Cache Info</source>
       <translation>Zwischenspeicherinformationen</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1223" />
-      <location filename="../PipInterface/Pip.py" line="1214" />
+      <location filename="../PipInterface/Pip.py" line="1224" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>List Cached Files</source>
       <translation>Liste zwischengespeicherte Dateien</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1215" />
+      <location filename="../PipInterface/Pip.py" line="1216" />
       <source>Enter a file pattern (empty for all):</source>
       <translation>Gib ein Dateinamenmuster ein (leer für alle):</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1247" />
-      <location filename="../PipInterface/Pip.py" line="1240" />
+      <location filename="../PipInterface/Pip.py" line="1248" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Remove Cached Files</source>
       <translation>Zwischengespeicherte Dateien Löschen</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1241" />
+      <location filename="../PipInterface/Pip.py" line="1242" />
       <source>Enter a file pattern:</source>
       <translation>Gib ein Dateinamenmuster ein:</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1272" />
-      <location filename="../PipInterface/Pip.py" line="1264" />
+      <location filename="../PipInterface/Pip.py" line="1273" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Purge Cache</source>
       <translation>Zwischenspeicher Leeren</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1265" />
+      <location filename="../PipInterface/Pip.py" line="1266" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation>Soll der pip Zwischenspeicher wirklich geleert werden? Alle Dateien müssen neu heruntergeladen werden.</translation>
     </message>
@@ -74391,246 +74396,231 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="166" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with its defusedxml equivalent function.</source>
-      <translation>Verwendung von '{0}', um nicht vertrauenswürdige XML Daten zu parsen, ist bekannt für XML Attacken. Ersetze '{0}' mit ihrer äquivalenten defusedxml Funktion.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="172" />
       <source>FTP-related functions are being called. FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
       <translation>FTP-Funktionen werden verwendet. FTP wird als unsicher angesehen. Verwende SSH/SFTP/SCP oder ein anderes verschlüsseltes Protokoll.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="177" />
-      <source>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</source>
-      <translation>Die input Method von Python 2 liest Eingaben von der Standardeingabe, verarbeitet sie und führt die resultierende Zeichenkette als Python Quelltext aus. Dies ist vergleichbat und in manchen Fällen schlimmer als die Verwendung von eval(). Verwende mit Python 2 raw_input(). input() ist in Python3 sicher.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="184" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="171" />
       <source>By default, Python will create a secure, verified SSL context for use in such classes as HTTPSConnection. However, it still allows using an insecure context via the _create_unverified_context that reverts to the previous behavior that does not validate certificates or perform hostname checks.</source>
       <translation>Standardmäßig erzeugt Python einen sicheren, verifizierten SSL Kontext zur Verwendung in Klassen wie HTTPSConnection. Allerdings ist immer noch die Verwendung eines unsicheren Kontextes via _create_unverified_context() möglich. Dies kehrt zum alten Verhalten ohne Validierung von Zertifikaten und Prüfung des Hostnamens zurück.</translation>
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="180" />
+      <source>Use of insecure {0} hash function.</source>
+      <translation>Verwendung der unsicheren Hashfunktion {0}.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="183" />
+      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
+      <translation>Verwendung eines unsicheren {0}-Hashes für die Sicherheit. Verwende 'usedforsecurity=False'.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="188" />
+      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
+      <translation>Ein telnet verwandtes Modul wird eingebunden. Telnet wird als unsicher angesehen. Verwende SSH oder ein anderes verschlüsseltes Protokoll.</translation>
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="193" />
-      <source>Use of insecure {0} hash function.</source>
-      <translation>Verwendung der unsicheren Hashfunktion {0}.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="196" />
-      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
-      <translation>Verwendung eines unsicheren {0}-Hashes für die Sicherheit. Verwende 'usedforsecurity=False'.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="201" />
-      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
-      <translation>Ein telnet verwandtes Modul wird eingebunden. Telnet wird als unsicher angesehen. Verwende SSH oder ein anderes verschlüsseltes Protokoll.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="206" />
       <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
       <translation>Ein FTP verwandtes Modul wird eingebunden. FTP wird als unsicher angesehen. Verwende SSH/SFTP/SCP oder ein anderes verschlüsseltes Protokoll.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="215" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="211" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="202" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="198" />
       <source>Consider possible security implications associated with the '{0}' module.</source>
       <translation>Überprüfe mögliche Sicherheitsauswirkungen, die mit dem '{0}' Modul verbunden sind.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="243" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="237" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="231" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="225" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="219" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="230" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="224" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="218" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="212" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="206" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.</source>
       <translation>Verwendung von '{0}', um nicht vertrauenswürdige XML Daten zu parsen, ist bekannt für XML Attacken. Ersetze '{0}' mit ihrer äquivalenten defusedxml Paket oder stelle den Aufruf von defusedxml.defuse_stdlib() sicher.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="249" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package.</source>
-      <translation>Verwendung von '{0}', um nicht vertrauenswürdige XML Daten zu parsen, ist bekannt für XML Attacken. Ersetze '{0}' mit ihrer äquivalenten defusedxml Paket.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="255" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="236" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Use defusedxml.xmlrpc.monkey_patch() function to monkey-patch xmlrpclib and mitigate XML vulnerabilities.</source>
       <translation>Verwendung von '{0}', um nicht vertrauenswürdige XML Daten zu parsen, ist bekannt für XML Attacken. Verwende die defusedxml.xmlrpc.monkey_patch().Funktion, um die xmlrpclib zu patchen und XML Verwundbarkeiten abzuschwächen.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="261" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="242" />
       <source>Consider possible security implications associated with '{0}' module.</source>
       <translation>Überprüfe mögliche Sicherheitsauswirkungen, die mit dem '{0}' Modul verbunden sind.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="265" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="246" />
       <source>The pyCrypto library and its module '{0}' are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.</source>
       <translation>Die pyCrypto Bibliothek und ihr Modul '{0}' werden nicht mehr länger gepflegt und sind veraltet. Setze die pyca/cryptography Bibliothek ein.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="271" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="252" />
       <source>An IPMI-related module is being imported. IPMI is considered insecure. Use an encrypted protocol.</source>
       <translation>Es wird ein IPMI-bezogenes Modul importiert. IPMI gilt als unsicher. Verwende ein verschlüsseltes Protokoll.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="277" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="258" />
       <source>'requests' call with verify=False disabling SSL certificate checks, security issue.</source>
       <translation>'requests' Aufruf mit verify=False schaltet SSL Zertifikatsprüfungen aus; Sicherheitsproblem.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="283" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="264" />
       <source>'ssl.wrap_socket' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation>'ssl.wrap_socket' Aufruf mit unsicherer SSL/TLS Protokollversion erkannt; Sicherheitsproblem.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="288" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="269" />
       <source>'SSL.Context' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation>'SSL.Context' Aufruf mit unsicherer SSL/TLS Protokollversion erkannt; Sicherheitsproblem.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="293" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="274" />
       <source>Function call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation>Funktionsaufruf mit unsicherer SSL/TLS Protokollversion erkannt; Sicherheitsproblem.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="298" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="279" />
       <source>Function definition identified with insecure SSL/TLS protocol version by default, possible security issue.</source>
       <translation>Funktionsdefinition mit unsicherer SSL/TLS Protokollversion als Standardwert; Sicherheitsproblem.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="303" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="284" />
       <source>'ssl.wrap_socket' call with no SSL/TLS protocol version specified, the default 'SSLv23' could be insecure, possible security issue.</source>
       <translation>'ssl.wrap_socket' Aufruf mit keiner Angabe der SSL/TLS Protokollversion. Der Standardwert 'SSLv23' könnte unsicher sein. Mögliches Sicherheitsproblem.</translation>
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="290" />
+      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
+      <translation>{0} Schlüssellängen kleiner {1:d} Bit werden als knackbar angesehen.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="294" />
+      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
+      <translation>Verwendung der unsicheren 'yaml.load()' Funktion. Sie erlaubt die Erzeugung beliebiger Objekte. Verwende 'yaml.safe_load()'.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="300" />
+      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
+      <translation>Paramiko Aufruf mit einer gesetzte Policy, die automatisch einem unbekannten Host vertraut.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="305" />
+      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <translation>Die Verwendung von SNMPv1 und SNMPv2 ist unsicher. Wenn möglich sollte SNMPv3 verwendet werden.</translation>
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="309" />
-      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
-      <translation>{0} Schlüssellängen kleiner {1:d} Bit werden als knackbar angesehen.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="313" />
-      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
-      <translation>Verwendung der unsicheren 'yaml.load()' Funktion. Sie erlaubt die Erzeugung beliebiger Objekte. Verwende 'yaml.safe_load()'.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="319" />
-      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
-      <translation>Paramiko Aufruf mit einer gesetzte Policy, die automatisch einem unbekannten Host vertraut.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="324" />
-      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
-      <translation>Die Verwendung von SNMPv1 und SNMPv2 ist unsicher. Wenn möglich sollte SNMPv3 verwendet werden.</translation>
+      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
+      <translation>SNMPv3 sollte nicht ohne Verschlüsselung verwendet werden. noAuthNoPriv &amp; authNoPriv ist unsicher.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="315" />
+      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
+      <translation>Mögliche Shell Injection über einen 'Paramiko' Aufruf. Prüfe, dass Eingaben korrekt abgesichert werden.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="320" />
+      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
+      <translation>'subprocess' Aufruf mit shell=True erscheint sicher, mag sich aber zukünftig ändern. Schreibe ihn ohne shell um</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="325" />
+      <source>'subprocess' call with shell=True identified, security issue.</source>
+      <translation>'subprocess' Aufruf mit shell=True erkannt; Sicherheitsproblem.</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="328" />
-      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
-      <translation>SNMPv3 sollte nicht ohne Verschlüsselung verwendet werden. noAuthNoPriv &amp; authNoPriv ist unsicher.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="334" />
-      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
-      <translation>Mögliche Shell Injection über einen 'Paramiko' Aufruf. Prüfe, dass Eingaben korrekt abgesichert werden.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="339" />
-      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
-      <translation>'subprocess' Aufruf mit shell=True erscheint sicher, mag sich aber zukünftig ändern. Schreibe ihn ohne shell um</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="344" />
-      <source>'subprocess' call with shell=True identified, security issue.</source>
-      <translation>'subprocess' Aufruf mit shell=True erkannt; Sicherheitsproblem.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="347" />
       <source>'subprocess' call - check for execution of untrusted input.</source>
       <translation>'subprocess' Aufruf - überprüfe auf Ausführung nicht vertrauenswürdiger Eingaben.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="350" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="331" />
       <source>Function call with shell=True parameter identified, possible security issue.</source>
       <translation>Funktionsaufruf mit shell=True erkannt; mögliches Sicherheitsproblem.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="355" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="336" />
       <source>Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell</source>
       <translation>Erzeugung eines Prozesses mit einer Shell: erscheint sicher, mag sich aber in Zukunft ändern. Schreibe ihn ohne Shell Verwendung um</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="360" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="341" />
       <source>Starting a process with a shell, possible injection detected, security issue.</source>
       <translation>Erzeugung eines Prozesses mit einer Shell, mögliche Injektion erkannt; Sicherheitsproblem.</translation>
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="346" />
+      <source>Starting a process without a shell.</source>
+      <translation>Starten eines Prozesses ohne Shell.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="349" />
+      <source>Starting a process with a partial executable path.</source>
+      <translation>Starten eines Prozesses mit einem teilweisen Programmpfad.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="353" />
+      <source>Possible SQL injection vector through string-based query construction.</source>
+      <translation>Mögliche SQL Injektion durch Zeichenketten basierten Aufbau einer Abfrage.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="358" />
+      <source>Possible wildcard injection in call: {0}</source>
+      <translation>Mögliche Wildcard Injektion im Aufruf: {0}</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="362" />
+      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
+      <translation>Verwendung von 'extra()' eröffnet einen möglichen SQL Angriffsvektor.</translation>
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="365" />
-      <source>Starting a process without a shell.</source>
-      <translation>Starten eines Prozesses ohne Shell.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="368" />
-      <source>Starting a process with a partial executable path.</source>
-      <translation>Starten eines Prozesses mit einem teilweisen Programmpfad.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="372" />
-      <source>Possible SQL injection vector through string-based query construction.</source>
-      <translation>Mögliche SQL Injektion durch Zeichenketten basierten Aufbau einer Abfrage.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="377" />
-      <source>Possible wildcard injection in call: {0}</source>
-      <translation>Mögliche Wildcard Injektion im Aufruf: {0}</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="381" />
-      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
-      <translation>Verwendung von 'extra()' eröffnet einen möglichen SQL Angriffsvektor.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="384" />
       <source>Use of 'RawSQL()' opens a potential SQL attack vector.</source>
       <translation>Verwendung von 'RawSQL()' eröffnet einen möglichen SQL Angriffsvektor.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="388" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="369" />
       <source>Use of insecure logging.config.listen() detected.</source>
       <translation>Verwendung eines unsicheren 'logging.config.listen()' Aufrufes entdeckt.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="393" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="374" />
       <source>The Python source file contains bidirectional control characters ({0}).</source>
       <translation>Die Python Quelledatei enthält bidirektionale Kontrollzeichen ({0}).</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="398" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="379" />
       <source>Use of unsafe PyTorch load or save.</source>
       <translation>Verwendung von unsicherem PyTorch 'load' oder 'save'.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="402" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="383" />
       <source>Using jinja2 templates with 'autoescape=False' is dangerous and can lead to XSS. Use 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
       <translation>Verwendung von Jinja Templates mit 'autoescape=False' ist gefährlich und führt zu XSS. Verwende 'autoescaoe=True' oder wähle die 'select_autoescape' Funktion zur Abschwächung von XSS Verwundbarkeiten.</translation>
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="389" />
+      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
+      <translation>Als Standard setzt Jinja2 'autoescape' auf False. Verwende 'autoescaoe=True' oder wähle die 'select_autoescape' Funktion zur Abschwächung von XSS Verwundbarkeiten.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="396" />
+      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
+      <translation>Mako Templates als Standard das Rendering von HTML/JS und sind damit offen für XSS Angriffe. Stelle sicher, dass alle in Templates verwendeten Variablen über die 'n', 'h' oder 'x' Flags abgesichert sind (abhängig vom Kontext). Verwende z.B. zur Absicherung der HTML Variablen 'data' den Ausdruck '${{ data |h }}.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="404" />
+      <source>Potential XSS on 'mark_safe()' function.</source>
+      <translation>Potentielle XSS auf die 'mark_safe()' Funktion.</translation>
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="408" />
-      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
-      <translation>Als Standard setzt Jinja2 'autoescape' auf False. Verwende 'autoescaoe=True' oder wähle die 'select_autoescape' Funktion zur Abschwächung von XSS Verwundbarkeiten.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="415" />
-      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
-      <translation>Mako Templates als Standard das Rendering von HTML/JS und sind damit offen für XSS Angriffe. Stelle sicher, dass alle in Templates verwendeten Variablen über die 'n', 'h' oder 'x' Flags abgesichert sind (abhängig vom Kontext). Verwende z.B. zur Absicherung der HTML Variablen 'data' den Ausdruck '${{ data |h }}.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="423" />
-      <source>Potential XSS on 'mark_safe()' function.</source>
-      <translation>Potentielle XSS auf die 'mark_safe()' Funktion.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="427" />
       <source>Possible hardcoded AWS access key ID: {0}</source>
       <translation>Mögliche einprogrammierte AWS Zugriffsschlüssel-ID: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="430" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="411" />
       <source>Possible hardcoded AWS secret access key: {0}</source>
       <translation>Möglicher einprogrammierter geheimer AWS Zugriffsschlüssel: {0}</translation>
     </message>
--- a/src/eric7/i18n/eric7_empty.ts	Sun Feb 16 14:56:07 2025 +0100
+++ b/src/eric7/i18n/eric7_empty.ts	Sun Feb 16 15:05:39 2025 +0100
@@ -55816,17 +55816,17 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="346" />
-      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source>
+      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except{0} blocks. Control statements can be moved outside the finally block.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="352" />
-      <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source>
+      <source>A length-one tuple literal is redundant. Write 'except{1} {0}:' instead of 'except{1} ({0},):'.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="357" />
-      <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source>
+      <source>Redundant exception types in 'except{3} ({0}){1}:'. Write 'except{3} {2}{1}:', which catches exactly the same exceptions.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -55881,7 +55881,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="417" />
-      <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source>
+      <source>Exception '{0}' has been caught multiple times. Only the first except{1} will be considered and all other except{1} catches can be safely removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -55901,7 +55901,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="442" />
-      <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
+      <source>Using 'except{0} ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -55941,7 +55941,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="480" />
-      <source>Class '__init__' methods must not return or yield and any values.</source>
+      <source>Class '__init__' methods must not return or yield any values.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -55955,153 +55955,158 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="495" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="494" />
+      <source>Repeated key-value pair in dictionary literal.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="499" />
       <source>Editing a loop's mutable iterable often leads to unexpected results/bugs.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="500" />
-      <source>unncessary f-string</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="504" />
+      <source>unncessary f-string</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="508" />
       <source>cannot use 'self.__class__' as first argument of 'super()' call</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="509" />
-      <source>found {0} formatter</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="513" />
-      <source>format string does contain unindexed parameters</source>
+      <source>found {0} formatter</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="517" />
-      <source>docstring does contain unindexed parameters</source>
+      <source>format string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="521" />
-      <source>other string does contain unindexed parameters</source>
+      <source>docstring does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="525" />
-      <source>format call uses too large index ({0})</source>
+      <source>other string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="529" />
-      <source>format call uses missing keyword ({0})</source>
+      <source>format call uses too large index ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="533" />
-      <source>format call uses keyword arguments but no named entries</source>
+      <source>format call uses missing keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="537" />
-      <source>format call uses variable arguments but no numbered entries</source>
+      <source>format call uses keyword arguments but no named entries</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="541" />
-      <source>format call uses implicit and explicit indexes together</source>
+      <source>format call uses variable arguments but no numbered entries</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="545" />
-      <source>format call provides unused index ({0})</source>
+      <source>format call uses implicit and explicit indexes together</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="549" />
+      <source>format call provides unused index ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="553" />
       <source>format call provides unused keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="554" />
-      <source>expected these __future__ imports: {0}; but only got: {1}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="558" />
+      <source>expected these __future__ imports: {0}; but only got: {1}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="562" />
       <source>expected these __future__ imports: {0}; but got none</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="563" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="567" />
       <source>gettext import with alias _ found: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="568" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="572" />
       <source>print statement found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="573" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="577" />
       <source>one element tuple found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="578" />
-      <source>mutable default argument of type {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="586" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
+      <source>mutable default argument of type {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="590" />
       <source>mutable default argument of function call '{0}'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="591" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="595" />
       <source>None should not be added at any return if function has no return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="596" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="600" />
       <source>an explicit value at every return should be added if function has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="601" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="605" />
       <source>an explicit return at the end of the function should be added if it has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="606" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="610" />
       <source>a value should not be assigned to a variable if it will be used as a return value only</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="612" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="616" />
       <source>prefer implied line continuation inside parentheses, brackets and braces as opposed to a backslash</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="618" />
-      <source>implicitly concatenated string or bytes literals on one line</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="622" />
-      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <source>implicitly concatenated string or bytes literals on one line</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="626" />
+      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="630" />
       <source>explicitly concatenated string or bytes should be implicitly concatenated</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="631" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="635" />
       <source>commented code lines should be removed</source>
       <translation type="unfinished" />
     </message>
@@ -59352,164 +59357,164 @@
   <context>
     <name>Pip</name>
     <message>
-      <location filename="../PipInterface/Pip.py" line="156" />
+      <location filename="../PipInterface/Pip.py" line="157" />
       <source>python exited with an error ({0}).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="165" />
+      <location filename="../PipInterface/Pip.py" line="166" />
       <source>python did not finish within 30 seconds.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="167" />
+      <location filename="../PipInterface/Pip.py" line="168" />
       <source>python could not be started.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="228" />
+      <location filename="../PipInterface/Pip.py" line="229" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="253" />
-      <source>Interpreter for Virtual Environment</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="254" />
+      <source>Interpreter for Virtual Environment</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="255" />
       <source>No interpreter configured for the selected virtual environment.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="307" />
+      <location filename="../PipInterface/Pip.py" line="308" />
       <source>Install PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="354" />
+      <location filename="../PipInterface/Pip.py" line="355" />
       <source>Repair PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="486" />
-      <location filename="../PipInterface/Pip.py" line="468" />
+      <location filename="../PipInterface/Pip.py" line="487" />
+      <location filename="../PipInterface/Pip.py" line="469" />
       <source>Upgrade Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="469" />
+      <location filename="../PipInterface/Pip.py" line="470" />
       <source>There are no packages except 'eric-ide' or 'PyQt6' left for upgrade.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="532" />
+      <location filename="../PipInterface/Pip.py" line="533" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="563" />
+      <location filename="../PipInterface/Pip.py" line="564" />
       <source>Install Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="585" />
+      <location filename="../PipInterface/Pip.py" line="586" />
       <source>Install Project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="620" />
-      <location filename="../PipInterface/Pip.py" line="610" />
-      <source>Install 'pyproject' Dependencies</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PipInterface/Pip.py" line="748" />
-      <location filename="../PipInterface/Pip.py" line="611" />
-      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="621" />
+      <location filename="../PipInterface/Pip.py" line="611" />
+      <source>Install 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="749" />
+      <location filename="../PipInterface/Pip.py" line="612" />
+      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="622" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="641" />
+      <location filename="../PipInterface/Pip.py" line="642" />
       <source>Install Packages from 'pyproject.toml'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="775" />
-      <location filename="../PipInterface/Pip.py" line="701" />
-      <location filename="../PipInterface/Pip.py" line="671" />
-      <location filename="../PipInterface/Pip.py" line="662" />
-      <source>Uninstall Packages</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="776" />
       <location filename="../PipInterface/Pip.py" line="702" />
+      <location filename="../PipInterface/Pip.py" line="672" />
       <location filename="../PipInterface/Pip.py" line="663" />
+      <source>Uninstall Packages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="777" />
+      <location filename="../PipInterface/Pip.py" line="703" />
+      <location filename="../PipInterface/Pip.py" line="664" />
       <source>Do you really want to uninstall these packages?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="719" />
+      <location filename="../PipInterface/Pip.py" line="720" />
       <source>Uninstall Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="758" />
-      <location filename="../PipInterface/Pip.py" line="747" />
-      <source>Uninstall 'pyproject' Dependencies</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="759" />
+      <location filename="../PipInterface/Pip.py" line="748" />
+      <source>Uninstall 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="760" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read. &lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="786" />
+      <location filename="../PipInterface/Pip.py" line="787" />
       <source>Uninstall Packages from 'pyproject.toml'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1197" />
+      <location filename="../PipInterface/Pip.py" line="1198" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1223" />
-      <location filename="../PipInterface/Pip.py" line="1214" />
+      <location filename="../PipInterface/Pip.py" line="1224" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1215" />
+      <location filename="../PipInterface/Pip.py" line="1216" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1247" />
-      <location filename="../PipInterface/Pip.py" line="1240" />
+      <location filename="../PipInterface/Pip.py" line="1248" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1241" />
+      <location filename="../PipInterface/Pip.py" line="1242" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1272" />
-      <location filename="../PipInterface/Pip.py" line="1264" />
+      <location filename="../PipInterface/Pip.py" line="1273" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1265" />
+      <location filename="../PipInterface/Pip.py" line="1266" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -73932,246 +73937,231 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="166" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with its defusedxml equivalent function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="172" />
       <source>FTP-related functions are being called. FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="177" />
-      <source>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="184" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="171" />
       <source>By default, Python will create a secure, verified SSL context for use in such classes as HTTPSConnection. However, it still allows using an insecure context via the _create_unverified_context that reverts to the previous behavior that does not validate certificates or perform hostname checks.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="180" />
+      <source>Use of insecure {0} hash function.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="183" />
+      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="188" />
+      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="193" />
-      <source>Use of insecure {0} hash function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="196" />
-      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="201" />
-      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
+      <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="202" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="198" />
+      <source>Consider possible security implications associated with the '{0}' module.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="230" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="224" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="218" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="212" />
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="206" />
-      <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="215" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="211" />
-      <source>Consider possible security implications associated with the '{0}' module.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="243" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="237" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="231" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="225" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="219" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="249" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="255" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="236" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Use defusedxml.xmlrpc.monkey_patch() function to monkey-patch xmlrpclib and mitigate XML vulnerabilities.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="261" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="242" />
       <source>Consider possible security implications associated with '{0}' module.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="265" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="246" />
       <source>The pyCrypto library and its module '{0}' are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="271" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="252" />
       <source>An IPMI-related module is being imported. IPMI is considered insecure. Use an encrypted protocol.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="277" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="258" />
       <source>'requests' call with verify=False disabling SSL certificate checks, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="283" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="264" />
       <source>'ssl.wrap_socket' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="288" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="269" />
       <source>'SSL.Context' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="293" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="274" />
       <source>Function call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="298" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="279" />
       <source>Function definition identified with insecure SSL/TLS protocol version by default, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="303" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="284" />
       <source>'ssl.wrap_socket' call with no SSL/TLS protocol version specified, the default 'SSLv23' could be insecure, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="290" />
+      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="294" />
+      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="300" />
+      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="305" />
+      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="309" />
-      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="313" />
-      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="319" />
-      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="324" />
-      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="315" />
+      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="320" />
+      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="325" />
+      <source>'subprocess' call with shell=True identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="328" />
-      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="334" />
-      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="339" />
-      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="344" />
-      <source>'subprocess' call with shell=True identified, security issue.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="347" />
       <source>'subprocess' call - check for execution of untrusted input.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="350" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="331" />
       <source>Function call with shell=True parameter identified, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="355" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="336" />
       <source>Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="360" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="341" />
       <source>Starting a process with a shell, possible injection detected, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="346" />
+      <source>Starting a process without a shell.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="349" />
+      <source>Starting a process with a partial executable path.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="353" />
+      <source>Possible SQL injection vector through string-based query construction.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="358" />
+      <source>Possible wildcard injection in call: {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="362" />
+      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="365" />
-      <source>Starting a process without a shell.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="368" />
-      <source>Starting a process with a partial executable path.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="372" />
-      <source>Possible SQL injection vector through string-based query construction.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="377" />
-      <source>Possible wildcard injection in call: {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="381" />
-      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="384" />
       <source>Use of 'RawSQL()' opens a potential SQL attack vector.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="388" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="369" />
       <source>Use of insecure logging.config.listen() detected.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="393" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="374" />
       <source>The Python source file contains bidirectional control characters ({0}).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="398" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="379" />
       <source>Use of unsafe PyTorch load or save.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="402" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="383" />
       <source>Using jinja2 templates with 'autoescape=False' is dangerous and can lead to XSS. Use 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="389" />
+      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="396" />
+      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="404" />
+      <source>Potential XSS on 'mark_safe()' function.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="408" />
-      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="415" />
-      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="423" />
-      <source>Potential XSS on 'mark_safe()' function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="427" />
       <source>Possible hardcoded AWS access key ID: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="430" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="411" />
       <source>Possible hardcoded AWS secret access key: {0}</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_en.ts	Sun Feb 16 14:56:07 2025 +0100
+++ b/src/eric7/i18n/eric7_en.ts	Sun Feb 16 15:05:39 2025 +0100
@@ -55866,17 +55866,17 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="346" />
-      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source>
+      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except{0} blocks. Control statements can be moved outside the finally block.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="352" />
-      <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source>
+      <source>A length-one tuple literal is redundant. Write 'except{1} {0}:' instead of 'except{1} ({0},):'.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="357" />
-      <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source>
+      <source>Redundant exception types in 'except{3} ({0}){1}:'. Write 'except{3} {2}{1}:', which catches exactly the same exceptions.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -55931,7 +55931,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="417" />
-      <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source>
+      <source>Exception '{0}' has been caught multiple times. Only the first except{1} will be considered and all other except{1} catches can be safely removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -55951,7 +55951,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="442" />
-      <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
+      <source>Using 'except{0} ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -55991,7 +55991,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="480" />
-      <source>Class '__init__' methods must not return or yield and any values.</source>
+      <source>Class '__init__' methods must not return or yield any values.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56005,153 +56005,158 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="495" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="494" />
+      <source>Repeated key-value pair in dictionary literal.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="499" />
       <source>Editing a loop's mutable iterable often leads to unexpected results/bugs.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="500" />
-      <source>unncessary f-string</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="504" />
+      <source>unncessary f-string</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="508" />
       <source>cannot use 'self.__class__' as first argument of 'super()' call</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="509" />
-      <source>found {0} formatter</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="513" />
-      <source>format string does contain unindexed parameters</source>
+      <source>found {0} formatter</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="517" />
-      <source>docstring does contain unindexed parameters</source>
+      <source>format string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="521" />
-      <source>other string does contain unindexed parameters</source>
+      <source>docstring does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="525" />
-      <source>format call uses too large index ({0})</source>
+      <source>other string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="529" />
-      <source>format call uses missing keyword ({0})</source>
+      <source>format call uses too large index ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="533" />
-      <source>format call uses keyword arguments but no named entries</source>
+      <source>format call uses missing keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="537" />
-      <source>format call uses variable arguments but no numbered entries</source>
+      <source>format call uses keyword arguments but no named entries</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="541" />
-      <source>format call uses implicit and explicit indexes together</source>
+      <source>format call uses variable arguments but no numbered entries</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="545" />
-      <source>format call provides unused index ({0})</source>
+      <source>format call uses implicit and explicit indexes together</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="549" />
+      <source>format call provides unused index ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="553" />
       <source>format call provides unused keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="554" />
-      <source>expected these __future__ imports: {0}; but only got: {1}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="558" />
+      <source>expected these __future__ imports: {0}; but only got: {1}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="562" />
       <source>expected these __future__ imports: {0}; but got none</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="563" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="567" />
       <source>gettext import with alias _ found: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="568" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="572" />
       <source>print statement found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="573" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="577" />
       <source>one element tuple found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="578" />
-      <source>mutable default argument of type {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="586" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
+      <source>mutable default argument of type {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="590" />
       <source>mutable default argument of function call '{0}'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="591" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="595" />
       <source>None should not be added at any return if function has no return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="596" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="600" />
       <source>an explicit value at every return should be added if function has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="601" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="605" />
       <source>an explicit return at the end of the function should be added if it has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="606" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="610" />
       <source>a value should not be assigned to a variable if it will be used as a return value only</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="612" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="616" />
       <source>prefer implied line continuation inside parentheses, brackets and braces as opposed to a backslash</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="618" />
-      <source>implicitly concatenated string or bytes literals on one line</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="622" />
-      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <source>implicitly concatenated string or bytes literals on one line</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="626" />
+      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="630" />
       <source>explicitly concatenated string or bytes should be implicitly concatenated</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="631" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="635" />
       <source>commented code lines should be removed</source>
       <translation type="unfinished" />
     </message>
@@ -59404,164 +59409,164 @@
   <context>
     <name>Pip</name>
     <message>
-      <location filename="../PipInterface/Pip.py" line="156" />
+      <location filename="../PipInterface/Pip.py" line="157" />
       <source>python exited with an error ({0}).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="165" />
+      <location filename="../PipInterface/Pip.py" line="166" />
       <source>python did not finish within 30 seconds.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="167" />
+      <location filename="../PipInterface/Pip.py" line="168" />
       <source>python could not be started.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="228" />
+      <location filename="../PipInterface/Pip.py" line="229" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="253" />
-      <source>Interpreter for Virtual Environment</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="254" />
+      <source>Interpreter for Virtual Environment</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="255" />
       <source>No interpreter configured for the selected virtual environment.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="307" />
+      <location filename="../PipInterface/Pip.py" line="308" />
       <source>Install PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="354" />
+      <location filename="../PipInterface/Pip.py" line="355" />
       <source>Repair PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="486" />
-      <location filename="../PipInterface/Pip.py" line="468" />
+      <location filename="../PipInterface/Pip.py" line="487" />
+      <location filename="../PipInterface/Pip.py" line="469" />
       <source>Upgrade Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="469" />
+      <location filename="../PipInterface/Pip.py" line="470" />
       <source>There are no packages except 'eric-ide' or 'PyQt6' left for upgrade.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="532" />
+      <location filename="../PipInterface/Pip.py" line="533" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="563" />
+      <location filename="../PipInterface/Pip.py" line="564" />
       <source>Install Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="585" />
+      <location filename="../PipInterface/Pip.py" line="586" />
       <source>Install Project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="620" />
-      <location filename="../PipInterface/Pip.py" line="610" />
-      <source>Install 'pyproject' Dependencies</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PipInterface/Pip.py" line="748" />
-      <location filename="../PipInterface/Pip.py" line="611" />
-      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="621" />
+      <location filename="../PipInterface/Pip.py" line="611" />
+      <source>Install 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="749" />
+      <location filename="../PipInterface/Pip.py" line="612" />
+      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="622" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="641" />
+      <location filename="../PipInterface/Pip.py" line="642" />
       <source>Install Packages from 'pyproject.toml'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="775" />
-      <location filename="../PipInterface/Pip.py" line="701" />
-      <location filename="../PipInterface/Pip.py" line="671" />
-      <location filename="../PipInterface/Pip.py" line="662" />
-      <source>Uninstall Packages</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="776" />
       <location filename="../PipInterface/Pip.py" line="702" />
+      <location filename="../PipInterface/Pip.py" line="672" />
       <location filename="../PipInterface/Pip.py" line="663" />
+      <source>Uninstall Packages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="777" />
+      <location filename="../PipInterface/Pip.py" line="703" />
+      <location filename="../PipInterface/Pip.py" line="664" />
       <source>Do you really want to uninstall these packages?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="719" />
+      <location filename="../PipInterface/Pip.py" line="720" />
       <source>Uninstall Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="758" />
-      <location filename="../PipInterface/Pip.py" line="747" />
-      <source>Uninstall 'pyproject' Dependencies</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="759" />
+      <location filename="../PipInterface/Pip.py" line="748" />
+      <source>Uninstall 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="760" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read. &lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="786" />
+      <location filename="../PipInterface/Pip.py" line="787" />
       <source>Uninstall Packages from 'pyproject.toml'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1197" />
+      <location filename="../PipInterface/Pip.py" line="1198" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1223" />
-      <location filename="../PipInterface/Pip.py" line="1214" />
+      <location filename="../PipInterface/Pip.py" line="1224" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1215" />
+      <location filename="../PipInterface/Pip.py" line="1216" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1247" />
-      <location filename="../PipInterface/Pip.py" line="1240" />
+      <location filename="../PipInterface/Pip.py" line="1248" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1241" />
+      <location filename="../PipInterface/Pip.py" line="1242" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1272" />
-      <location filename="../PipInterface/Pip.py" line="1264" />
+      <location filename="../PipInterface/Pip.py" line="1273" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1265" />
+      <location filename="../PipInterface/Pip.py" line="1266" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -73986,246 +73991,231 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="166" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with its defusedxml equivalent function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="172" />
       <source>FTP-related functions are being called. FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="177" />
-      <source>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="184" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="171" />
       <source>By default, Python will create a secure, verified SSL context for use in such classes as HTTPSConnection. However, it still allows using an insecure context via the _create_unverified_context that reverts to the previous behavior that does not validate certificates or perform hostname checks.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="180" />
+      <source>Use of insecure {0} hash function.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="183" />
+      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="188" />
+      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="193" />
-      <source>Use of insecure {0} hash function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="196" />
-      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="201" />
-      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
+      <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="202" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="198" />
+      <source>Consider possible security implications associated with the '{0}' module.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="230" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="224" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="218" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="212" />
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="206" />
-      <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="215" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="211" />
-      <source>Consider possible security implications associated with the '{0}' module.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="243" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="237" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="231" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="225" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="219" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="249" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="255" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="236" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Use defusedxml.xmlrpc.monkey_patch() function to monkey-patch xmlrpclib and mitigate XML vulnerabilities.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="261" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="242" />
       <source>Consider possible security implications associated with '{0}' module.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="265" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="246" />
       <source>The pyCrypto library and its module '{0}' are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="271" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="252" />
       <source>An IPMI-related module is being imported. IPMI is considered insecure. Use an encrypted protocol.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="277" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="258" />
       <source>'requests' call with verify=False disabling SSL certificate checks, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="283" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="264" />
       <source>'ssl.wrap_socket' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="288" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="269" />
       <source>'SSL.Context' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="293" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="274" />
       <source>Function call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="298" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="279" />
       <source>Function definition identified with insecure SSL/TLS protocol version by default, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="303" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="284" />
       <source>'ssl.wrap_socket' call with no SSL/TLS protocol version specified, the default 'SSLv23' could be insecure, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="290" />
+      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="294" />
+      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="300" />
+      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="305" />
+      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="309" />
-      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="313" />
-      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="319" />
-      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="324" />
-      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="315" />
+      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="320" />
+      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="325" />
+      <source>'subprocess' call with shell=True identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="328" />
-      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="334" />
-      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="339" />
-      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="344" />
-      <source>'subprocess' call with shell=True identified, security issue.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="347" />
       <source>'subprocess' call - check for execution of untrusted input.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="350" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="331" />
       <source>Function call with shell=True parameter identified, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="355" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="336" />
       <source>Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="360" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="341" />
       <source>Starting a process with a shell, possible injection detected, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="346" />
+      <source>Starting a process without a shell.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="349" />
+      <source>Starting a process with a partial executable path.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="353" />
+      <source>Possible SQL injection vector through string-based query construction.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="358" />
+      <source>Possible wildcard injection in call: {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="362" />
+      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="365" />
-      <source>Starting a process without a shell.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="368" />
-      <source>Starting a process with a partial executable path.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="372" />
-      <source>Possible SQL injection vector through string-based query construction.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="377" />
-      <source>Possible wildcard injection in call: {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="381" />
-      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="384" />
       <source>Use of 'RawSQL()' opens a potential SQL attack vector.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="388" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="369" />
       <source>Use of insecure logging.config.listen() detected.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="393" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="374" />
       <source>The Python source file contains bidirectional control characters ({0}).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="398" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="379" />
       <source>Use of unsafe PyTorch load or save.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="402" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="383" />
       <source>Using jinja2 templates with 'autoescape=False' is dangerous and can lead to XSS. Use 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="389" />
+      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="396" />
+      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="404" />
+      <source>Potential XSS on 'mark_safe()' function.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="408" />
-      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="415" />
-      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="423" />
-      <source>Potential XSS on 'mark_safe()' function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="427" />
       <source>Possible hardcoded AWS access key ID: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="430" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="411" />
       <source>Possible hardcoded AWS secret access key: {0}</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_es.ts	Sun Feb 16 14:56:07 2025 +0100
+++ b/src/eric7/i18n/eric7_es.ts	Sun Feb 16 15:05:39 2025 +0100
@@ -56089,18 +56089,18 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="346" />
-      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source>
-      <translation>return/continue/break dentro de bloques finally hace que las excepciones se silencien. Las excepciones se deben silenciar en bloques except. Las sentencias de control se pueden extraer a un bloque finally.</translation>
+      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except{0} blocks. Control statements can be moved outside the finally block.</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="352" />
-      <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source>
-      <translation>Un literal de tupla de longitud uno es redundante. Escribir 'except {0}:' en lugar de 'except ({0},):'.</translation>
+      <source>A length-one tuple literal is redundant. Write 'except{1} {0}:' instead of 'except{1} ({0},):'.</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="357" />
-      <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source>
-      <translation>Tipos de excepcion redundantes en 'except ({0}){1}:'. Escribir 'except {2}{1}:', que captura exactamente las mismas excepciones.</translation>
+      <source>Redundant exception types in 'except{3} ({0}){1}:'. Write 'except{3} {2}{1}:', which catches exactly the same exceptions.</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="362" />
@@ -56154,8 +56154,8 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="417" />
-      <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source>
-      <translation>La excepción '{0}' se ha capturado múltiples veces. Solamente la primera sera tomada en consideracion y todas las demas capturas de excepcion se pueden eliminar de modo seguro.</translation>
+      <source>Exception '{0}' has been caught multiple times. Only the first except{1} will be considered and all other except{1} catches can be safely removed.</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="422" />
@@ -56174,8 +56174,8 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="442" />
-      <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
-      <translation>El uso de 'except ():' con una tupla vacía no gestiona/captura nada. Añadir excepciones a gestionar.</translation>
+      <source>Using 'except{0} ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="447" />
@@ -56214,8 +56214,8 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="480" />
-      <source>Class '__init__' methods must not return or yield and any values.</source>
-      <translation>Los métodos '__init__' de clase no deben retornar (o hacer yield) de ningún valor.</translation>
+      <source>Class '__init__' methods must not return or yield any values.</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="484" />
@@ -56228,156 +56228,185 @@
       <translation>Excepción con nota añadida no usada. ¿Ha olvidado lanzarla?</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="495" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="494" />
+      <source>Repeated key-value pair in dictionary literal.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="499" />
       <source>Editing a loop's mutable iterable often leads to unexpected results/bugs.</source>
       <translation>Editar un mutable iterable de un bucle a menudo conduce a resultados inesperados/errores.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="500" />
-      <source>unncessary f-string</source>
-      <translation>f-string innecesaria</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="504" />
+      <source>unncessary f-string</source>
+      <translation>f-string innecesaria</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="508" />
       <source>cannot use 'self.__class__' as first argument of 'super()' call</source>
       <translation>no se puede usar 'self.__class__' como primer argumento de la llamada 'super()'</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="509" />
-      <source>found {0} formatter</source>
-      <translation>encontrado formateador {0}</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="513" />
-      <source>format string does contain unindexed parameters</source>
-      <translation>cadena de formato que contiene parámetros sin indexar</translation>
+      <source>found {0} formatter</source>
+      <translation>encontrado formateador {0}</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="517" />
-      <source>docstring does contain unindexed parameters</source>
-      <translation>docstring cque contiene parámetros sin indexar</translation>
+      <source>format string does contain unindexed parameters</source>
+      <translation>cadena de formato que contiene parámetros sin indexar</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="521" />
-      <source>other string does contain unindexed parameters</source>
-      <translation>otra cadena contiene parámetros sin indexar</translation>
+      <source>docstring does contain unindexed parameters</source>
+      <translation>docstring cque contiene parámetros sin indexar</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="525" />
-      <source>format call uses too large index ({0})</source>
-      <translation>llamada de formato usa un índice demasiado largo ({0})</translation>
+      <source>other string does contain unindexed parameters</source>
+      <translation>otra cadena contiene parámetros sin indexar</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="529" />
-      <source>format call uses missing keyword ({0})</source>
-      <translation>llamada de formato usa una palabra clave desaparecida ({0})</translation>
+      <source>format call uses too large index ({0})</source>
+      <translation>llamada de formato usa un índice demasiado largo ({0})</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="533" />
-      <source>format call uses keyword arguments but no named entries</source>
-      <translation>llamada de formato usa argumentos de palabra clave pero sin entradas con nombre</translation>
+      <source>format call uses missing keyword ({0})</source>
+      <translation>llamada de formato usa una palabra clave desaparecida ({0})</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="537" />
-      <source>format call uses variable arguments but no numbered entries</source>
-      <translation>llamada de formato usa argumentos de variable pero sin entradas numeradas</translation>
+      <source>format call uses keyword arguments but no named entries</source>
+      <translation>llamada de formato usa argumentos de palabra clave pero sin entradas con nombre</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="541" />
-      <source>format call uses implicit and explicit indexes together</source>
-      <translation>llamada de formato usa juntos índices implícitos y explícitos</translation>
+      <source>format call uses variable arguments but no numbered entries</source>
+      <translation>llamada de formato usa argumentos de variable pero sin entradas numeradas</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="545" />
-      <source>format call provides unused index ({0})</source>
-      <translation>llamada de formato proporciona índice que no se usa ({0})</translation>
+      <source>format call uses implicit and explicit indexes together</source>
+      <translation>llamada de formato usa juntos índices implícitos y explícitos</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="549" />
+      <source>format call provides unused index ({0})</source>
+      <translation>llamada de formato proporciona índice que no se usa ({0})</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="553" />
       <source>format call provides unused keyword ({0})</source>
       <translation>llamada de formato proporciona palabra clave que no se usa ({0})</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="554" />
-      <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/Miscellaneous/translations.py" line="558" />
+      <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/Miscellaneous/translations.py" line="562" />
       <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/Miscellaneous/translations.py" line="563" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="567" />
       <source>gettext import with alias _ found: {0}</source>
       <translation>encontrado gettext import con alias _ : {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="568" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="572" />
       <source>print statement found</source>
       <translation>encontrada sentencia print</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="573" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="577" />
       <source>one element tuple found</source>
       <translation>tupla de un elemento encontrada</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="578" />
-      <source>mutable default argument of type {0}</source>
-      <translation>argumento por defecto mutable de tipo {0}</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="586" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
+      <source>mutable default argument of type {0}</source>
+      <translation>argumento por defecto mutable de tipo {0}</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="590" />
       <source>mutable default argument of function call '{0}'</source>
       <translation>argumento por defecto mutable de llamada a función {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="591" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="595" />
       <source>None should not be added at any return if function has no return value except None</source>
       <translation>None no se debería añadir a ningún return si la función no tiene valor de retorno excepto None</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="596" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="600" />
       <source>an explicit value at every return should be added if function has a return value except None</source>
       <translation>un valor explícito se debería añadir a cada return si la función tiene un valor de retorno excepto None</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="601" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="605" />
       <source>an explicit return at the end of the function should be added if it has a return value except None</source>
       <translation>un return explícito se debería añadir al final de cada función si tiene un valor de retorno excepto None</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="606" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="610" />
       <source>a value should not be assigned to a variable if it will be used as a return value only</source>
       <translation>no se debería añadir un valor a una variable si se va a usar como valor de retorno solamente</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="612" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="616" />
       <source>prefer implied line continuation inside parentheses, brackets and braces as opposed to a backslash</source>
       <translation>es preferible la continuación implícita de la línea entre paréntesis, corchetes y llaves al uso de la barra invertida</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="618" />
-      <source>implicitly concatenated string or bytes literals on one line</source>
-      <translation>cadena o literales de bytes implícitamente concatenados en una línea</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="622" />
-      <source>implicitly concatenated string or bytes literals over continuation line</source>
-      <translation>cadena o literales de bytes implícitamente concatenados sobre línea de continuación</translation>
+      <source>implicitly concatenated string or bytes literals on one line</source>
+      <translation>cadena o literales de bytes implícitamente concatenados en una línea</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="626" />
+      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <translation>cadena o literales de bytes implícitamente concatenados sobre línea de continuación</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="630" />
       <source>explicitly concatenated string or bytes should be implicitly concatenated</source>
       <translation>cadena o literales de bytes explícitamente concatenados deben estar conectados implícitamente</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="631" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="635" />
       <source>commented code lines should be removed</source>
       <translation>las líneas de código comentadas se deberían eliminar</translation>
     </message>
+    <message>
+      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source>
+      <translation type="vanished">return/continue/break dentro de bloques finally hace que las excepciones se silencien. Las excepciones se deben silenciar en bloques except. Las sentencias de control se pueden extraer a un bloque finally.</translation>
+    </message>
+    <message>
+      <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source>
+      <translation type="vanished">Un literal de tupla de longitud uno es redundante. Escribir 'except {0}:' en lugar de 'except ({0},):'.</translation>
+    </message>
+    <message>
+      <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source>
+      <translation type="vanished">Tipos de excepcion redundantes en 'except ({0}){1}:'. Escribir 'except {2}{1}:', que captura exactamente las mismas excepciones.</translation>
+    </message>
+    <message>
+      <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source>
+      <translation type="vanished">La excepción '{0}' se ha capturado múltiples veces. Solamente la primera sera tomada en consideracion y todas las demas capturas de excepcion se pueden eliminar de modo seguro.</translation>
+    </message>
+    <message>
+      <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
+      <translation type="vanished">El uso de 'except ():' con una tupla vacía no gestiona/captura nada. Añadir excepciones a gestionar.</translation>
+    </message>
+    <message>
+      <source>Class '__init__' methods must not return or yield and any values.</source>
+      <translation type="vanished">Los métodos '__init__' de clase no deben retornar (o hacer yield) de ningún valor.</translation>
+    </message>
   </context>
   <context>
     <name>MouseClickDialog</name>
@@ -59629,164 +59658,164 @@
   <context>
     <name>Pip</name>
     <message>
-      <location filename="../PipInterface/Pip.py" line="156" />
+      <location filename="../PipInterface/Pip.py" line="157" />
       <source>python exited with an error ({0}).</source>
       <translation>python ha salido con un error ({0}).</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="165" />
+      <location filename="../PipInterface/Pip.py" line="166" />
       <source>python did not finish within 30 seconds.</source>
       <translation>python no ha terminado en 30 segundos.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="167" />
+      <location filename="../PipInterface/Pip.py" line="168" />
       <source>python could not be started.</source>
       <translation>No se ha podido iniciar python.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="228" />
+      <location filename="../PipInterface/Pip.py" line="229" />
       <source>&lt;project&gt;</source>
       <translation>&lt;project&gt;</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="253" />
-      <source>Interpreter for Virtual Environment</source>
-      <translation>Intérprete para el Entorno Virtual</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="254" />
+      <source>Interpreter for Virtual Environment</source>
+      <translation>Intérprete para el Entorno Virtual</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="255" />
       <source>No interpreter configured for the selected virtual environment.</source>
       <translation>No se ha configurado ningún intérprete para el entorno virtual seleccionado.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="307" />
+      <location filename="../PipInterface/Pip.py" line="308" />
       <source>Install PIP</source>
       <translation>Instalar PIP</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="354" />
+      <location filename="../PipInterface/Pip.py" line="355" />
       <source>Repair PIP</source>
       <translation>Reparar PIP</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="486" />
-      <location filename="../PipInterface/Pip.py" line="468" />
+      <location filename="../PipInterface/Pip.py" line="487" />
+      <location filename="../PipInterface/Pip.py" line="469" />
       <source>Upgrade Packages</source>
       <translation>Actualizar Packages</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="469" />
+      <location filename="../PipInterface/Pip.py" line="470" />
       <source>There are no packages except 'eric-ide' or 'PyQt6' left for upgrade.</source>
       <translation>No hay packages excepto 'eric-ide' o 'PyQt6' dejados por actualizar.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="532" />
+      <location filename="../PipInterface/Pip.py" line="533" />
       <source>Install Packages</source>
       <translation>Instalar Packages</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="563" />
+      <location filename="../PipInterface/Pip.py" line="564" />
       <source>Install Packages from Requirements</source>
       <translation>Instalar Packages a partir de Requisitos</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="585" />
+      <location filename="../PipInterface/Pip.py" line="586" />
       <source>Install Project</source>
       <translation>Instalar Proyecto</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="620" />
-      <location filename="../PipInterface/Pip.py" line="610" />
-      <source>Install 'pyproject' Dependencies</source>
-      <translation>Instalar Dependencias de 'pyproject'</translation>
-    </message>
-    <message>
-      <location filename="../PipInterface/Pip.py" line="748" />
-      <location filename="../PipInterface/Pip.py" line="611" />
-      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
-      <translation>El archivo seleccionado 'pyproject.toml' no contiene una sección 'project.dependencies'. Abortando...</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="621" />
+      <location filename="../PipInterface/Pip.py" line="611" />
+      <source>Install 'pyproject' Dependencies</source>
+      <translation>Instalar Dependencias de 'pyproject'</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="749" />
+      <location filename="../PipInterface/Pip.py" line="612" />
+      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
+      <translation>El archivo seleccionado 'pyproject.toml' no contiene una sección 'project.dependencies'. Abortando...</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="622" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;El archivo 'pyproject.toml' seleccionado no se ha podido leer. .&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="641" />
+      <location filename="../PipInterface/Pip.py" line="642" />
       <source>Install Packages from 'pyproject.toml'</source>
       <translation>Instalar Packages desde 'pyproject.toml'</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="775" />
-      <location filename="../PipInterface/Pip.py" line="701" />
-      <location filename="../PipInterface/Pip.py" line="671" />
-      <location filename="../PipInterface/Pip.py" line="662" />
-      <source>Uninstall Packages</source>
-      <translation>Desinstalar Packages</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="776" />
       <location filename="../PipInterface/Pip.py" line="702" />
+      <location filename="../PipInterface/Pip.py" line="672" />
       <location filename="../PipInterface/Pip.py" line="663" />
+      <source>Uninstall Packages</source>
+      <translation>Desinstalar Packages</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="777" />
+      <location filename="../PipInterface/Pip.py" line="703" />
+      <location filename="../PipInterface/Pip.py" line="664" />
       <source>Do you really want to uninstall these packages?</source>
       <translation>¿Realmente desea desinstalar estos packages?</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="719" />
+      <location filename="../PipInterface/Pip.py" line="720" />
       <source>Uninstall Packages from Requirements</source>
       <translation>Desinstalar Packages a partir de Requisitos</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="758" />
-      <location filename="../PipInterface/Pip.py" line="747" />
-      <source>Uninstall 'pyproject' Dependencies</source>
-      <translation>Desinstalar Dependencias de 'pyproject'</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="759" />
+      <location filename="../PipInterface/Pip.py" line="748" />
+      <source>Uninstall 'pyproject' Dependencies</source>
+      <translation>Desinstalar Dependencias de 'pyproject'</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="760" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read. &lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;El archivo 'pyproject.toml' seleccionado no se ha podido leer. .&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="786" />
+      <location filename="../PipInterface/Pip.py" line="787" />
       <source>Uninstall Packages from 'pyproject.toml'</source>
       <translation>Desinstalar Packages desde 'pyproject.toml'</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1197" />
+      <location filename="../PipInterface/Pip.py" line="1198" />
       <source>Cache Info</source>
       <translation>Info de Cache</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1223" />
-      <location filename="../PipInterface/Pip.py" line="1214" />
+      <location filename="../PipInterface/Pip.py" line="1224" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>List Cached Files</source>
       <translation>Listar Archivos en Cache</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1215" />
+      <location filename="../PipInterface/Pip.py" line="1216" />
       <source>Enter a file pattern (empty for all):</source>
       <translation>Introducir un patrón de archivo (dejar en blanco para todos):</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1247" />
-      <location filename="../PipInterface/Pip.py" line="1240" />
+      <location filename="../PipInterface/Pip.py" line="1248" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Remove Cached Files</source>
       <translation>Eliminar Archivos en Cache</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1241" />
+      <location filename="../PipInterface/Pip.py" line="1242" />
       <source>Enter a file pattern:</source>
       <translation>Introducir un patrón de archivo:</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1272" />
-      <location filename="../PipInterface/Pip.py" line="1264" />
+      <location filename="../PipInterface/Pip.py" line="1273" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Purge Cache</source>
       <translation>Purgar Cache</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1265" />
+      <location filename="../PipInterface/Pip.py" line="1266" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation>Desear realmente purgar la cache de pip? Todos los archivos necesitarán descargarse de nuevo.</translation>
     </message>
@@ -74375,249 +74404,246 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="166" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with its defusedxml equivalent function.</source>
-      <translation>El uso de '{0}' para interpretar datos XML no fiables es conocido como vector de ataques XML. Reemplazar '{0}' con su función equivalente defusedxml.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="172" />
       <source>FTP-related functions are being called. FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
       <translation>Invocación de funciones relacionadas con FTP. FTP se considera inseguro. Utilizar SSH/SFTP/SCP u otro protocolo encriptado.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="177" />
-      <source>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</source>
-      <translation>El método input en Python 2 lee desde el input estándar, evaluando y ejecutando la cadena resultante como código fuente Python. Esto es similar, aunque peor, al uso de eval. Con Python 2, utilizar raw_input en su logar, input es seguro con Python 3.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="184" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="171" />
       <source>By default, Python will create a secure, verified SSL context for use in such classes as HTTPSConnection. However, it still allows using an insecure context via the _create_unverified_context that reverts to the previous behavior that does not validate certificates or perform hostname checks.</source>
       <translation>Por defecto Python creará un contexto SSL seguro y verificado para utilizar en clases como HTTPSConnection. Sin embargo, aún así permite el uso de contextos inseguros a través de _create_unverified_context que revierte al comportamient anterior sin validación de certificados o comprobación de hostname.</translation>
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="180" />
+      <source>Use of insecure {0} hash function.</source>
+      <translation>Uso de función de hash {0} insegura.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="183" />
+      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
+      <translation>Uso de hash inseguro {0} para seguridad for security. Considerar 'usedforsecurity=False'.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="188" />
+      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
+      <translation>Se está importando un módulo relacionado con telnet.  Telnet se considera inseguro. Utilizar SSH u otro protocolo encriptado.</translation>
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="193" />
-      <source>Use of insecure {0} hash function.</source>
-      <translation>Uso de función de hash {0} insegura.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="196" />
-      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
-      <translation>Uso de hash inseguro {0} para seguridad for security. Considerar 'usedforsecurity=False'.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="201" />
-      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
-      <translation>Se está importando un módulo relacionado con telnet.  Telnet se considera inseguro. Utilizar SSH u otro protocolo encriptado.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="206" />
       <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
       <translation>Se está importando un módulo relacionado con FTP.  FTP se considera inseguro. Usar SSH/SFTP/SCP u otro protocolo encriptado.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="215" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="211" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="202" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="198" />
       <source>Consider possible security implications associated with the '{0}' module.</source>
       <translation>Considerar las posibles implicaciones de seguridad asociadas con el módulo '{0}'.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="243" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="237" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="231" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="225" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="219" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="230" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="224" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="218" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="212" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="206" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.</source>
       <translation>El uso de '{0}' para interpretar datos XML no fiables es conocido como vector de ataques XML. Reemplazar '{0}' con su package equivalente defusedxml o asegurar que se está invocando defusedxml.defuse_stdlib().</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="249" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package.</source>
-      <translation>El uso de '{0}' para interpretar datos XML no fiables es conocido como vector de ataques XML. Reemplazar '{0}' con package equivalente defusedxml.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="255" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="236" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Use defusedxml.xmlrpc.monkey_patch() function to monkey-patch xmlrpclib and mitigate XML vulnerabilities.</source>
       <translation>El uso de '{0}' para interpretar datos XML que no son de confianza se sabe es una vulnerabilidad a ataques XML. Usar la función defusedxml.xmlrpc.monkey_patch() function para parchear xmlrpclib y mitigar vulnerabilidades XML.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="261" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="242" />
       <source>Consider possible security implications associated with '{0}' module.</source>
       <translation>Considerar las posibles implicaciones de seguridad asociadas con el módulo '{0}'.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="265" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="246" />
       <source>The pyCrypto library and its module '{0}' are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.</source>
       <translation>La biblioteca pyCrypto y su módulo '{0}' ya no tienen mantenimiento y se han deprecado. Considerar el uso de la biblioteca pyca/cryptography.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="271" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="252" />
       <source>An IPMI-related module is being imported. IPMI is considered insecure. Use an encrypted protocol.</source>
       <translation>Se va a importar un módulo relacionado con IPMI. Se considera IPMI inseguro. Usar un protocolo encriptado.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="277" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="258" />
       <source>'requests' call with verify=False disabling SSL certificate checks, security issue.</source>
       <translation>Llamada 'requests' con verify=False deshabilitando comprobaciones de certificado SSL, problema de seguridad.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="283" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="264" />
       <source>'ssl.wrap_socket' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation>Llamada 'ssl.wrap_socket' con versión de protocolo SSL/TLS insegura identificada, problema de seguridad.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="288" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="269" />
       <source>'SSL.Context' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation>Llamada 'SSL.Context' con versión de protocolo SSL/TLS insegura identificada, problema de seguridad.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="293" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="274" />
       <source>Function call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation>Llamada a Function con versión de protocolo SSL/TLS insegura identificada, problema de seguridad.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="298" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="279" />
       <source>Function definition identified with insecure SSL/TLS protocol version by default, possible security issue.</source>
       <translation>Definición de función con versión de protocolo SSL/TLS insegura identificada, posible problema de seguridad.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="303" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="284" />
       <source>'ssl.wrap_socket' call with no SSL/TLS protocol version specified, the default 'SSLv23' could be insecure, possible security issue.</source>
       <translation>Llamada 'ssl.wrap_socket' sin versión de protocolo SSL/TLS especificada, el valor por defecto 'SSLv23' puede ser inseguro, posible problema de seguridad.</translation>
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="290" />
+      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
+      <translation>Tamaños {0} de clave por debajo de {1:d} bits se consideran frágiles.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="294" />
+      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
+      <translation>Uso de 'yaml.load()' no seguro. Permite la instanciación de objetos arbitrarios. Considerar 'yaml.safe_load()'.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="300" />
+      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
+      <translation>Llamada Paramiko con política de asignar automáticamente relación de confianza a una clave de host desconocido.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="305" />
+      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <translation>El uso de SNMPv1 y SNMPv2 es inseguro. Deberia utilizarse SNMPv3 si es posible.</translation>
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="309" />
-      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
-      <translation>Tamaños {0} de clave por debajo de {1:d} bits se consideran frágiles.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="313" />
-      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
-      <translation>Uso de 'yaml.load()' no seguro. Permite la instanciación de objetos arbitrarios. Considerar 'yaml.safe_load()'.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="319" />
-      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
-      <translation>Llamada Paramiko con política de asignar automáticamente relación de confianza a una clave de host desconocido.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="324" />
-      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
-      <translation>El uso de SNMPv1 y SNMPv2 es inseguro. Deberia utilizarse SNMPv3 si es posible.</translation>
+      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
+      <translation>No se deberia usar SNMPv3 sin encripción. noAuthNoPriv &amp; authNoPriv es inseguro.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="315" />
+      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
+      <translation>Posible inyección de shell vía llamada 'Paramiko', comprobar que las entradas se han sanitizado adecuadamente.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="320" />
+      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
+      <translation>La llamada 'subprocess' con shell=True parece segura, pero puede cambiar en el futuro, considerar reimplementación sin shell</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="325" />
+      <source>'subprocess' call with shell=True identified, security issue.</source>
+      <translation>Llamada 'subprocess' sin shell=True identificada, problema de seguridad.</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="328" />
-      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
-      <translation>No se deberia usar SNMPv3 sin encripción. noAuthNoPriv &amp; authNoPriv es inseguro.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="334" />
-      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
-      <translation>Posible inyección de shell vía llamada 'Paramiko', comprobar que las entradas se han sanitizado adecuadamente.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="339" />
-      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
-      <translation>La llamada 'subprocess' con shell=True parece segura, pero puede cambiar en el futuro, considerar reimplementación sin shell</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="344" />
-      <source>'subprocess' call with shell=True identified, security issue.</source>
-      <translation>Llamada 'subprocess' sin shell=True identificada, problema de seguridad.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="347" />
       <source>'subprocess' call - check for execution of untrusted input.</source>
       <translation>Llamada 'subprocess' - comprobar la ejecución de inputs de no confianza.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="350" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="331" />
       <source>Function call with shell=True parameter identified, possible security issue.</source>
       <translation>Llamada a función con parámetro shell=True identificada, posible problema de seguridad.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="355" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="336" />
       <source>Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell</source>
       <translation>Inicio de un proceso con una shell: Aparentemente seguro, pero esto puede cambiar en el futuro, considerar reimplementación sin shell</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="360" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="341" />
       <source>Starting a process with a shell, possible injection detected, security issue.</source>
       <translation>Iniciar un proceso con una shell, posible inyeción detectada, problema de seguridad.</translation>
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="346" />
+      <source>Starting a process without a shell.</source>
+      <translation>Iniciar un proceso sin una shell.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="349" />
+      <source>Starting a process with a partial executable path.</source>
+      <translation>Iniciar un proceso con una ruta parcialmente ejecutable.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="353" />
+      <source>Possible SQL injection vector through string-based query construction.</source>
+      <translation>Posible vector de inyección de SQL a través de construcción de query basada en cadenas.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="358" />
+      <source>Possible wildcard injection in call: {0}</source>
+      <translation>Posible inyección de wildcard en llamada: {0}</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="362" />
+      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
+      <translation>Uso de'extra()' abre un vector potencial de ataque SQL.</translation>
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="365" />
-      <source>Starting a process without a shell.</source>
-      <translation>Iniciar un proceso sin una shell.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="368" />
-      <source>Starting a process with a partial executable path.</source>
-      <translation>Iniciar un proceso con una ruta parcialmente ejecutable.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="372" />
-      <source>Possible SQL injection vector through string-based query construction.</source>
-      <translation>Posible vector de inyección de SQL a través de construcción de query basada en cadenas.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="377" />
-      <source>Possible wildcard injection in call: {0}</source>
-      <translation>Posible inyección de wildcard en llamada: {0}</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="381" />
-      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
-      <translation>Uso de'extra()' abre un vector potencial de ataque SQL.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="384" />
       <source>Use of 'RawSQL()' opens a potential SQL attack vector.</source>
       <translation>El uso de 'RawSQL()' abre un vector potencial de ataque SQL.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="388" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="369" />
       <source>Use of insecure logging.config.listen() detected.</source>
       <translation>Uso inseguro de logging.config.listen() detectado.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="393" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="374" />
       <source>The Python source file contains bidirectional control characters ({0}).</source>
       <translation>El archivo de código fuente Python contiene caracteres de control bidireccionales ({0}).</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="398" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="379" />
       <source>Use of unsafe PyTorch load or save.</source>
       <translation>Uso inseguro de cargar o guardar de PyTorch.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="402" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="383" />
       <source>Using jinja2 templates with 'autoescape=False' is dangerous and can lead to XSS. Use 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
       <translation>El uso de plantillas jinja2 con 'autoescape=False' es peligroso y puede conducir a XSS. Usar 'autoescape=True' o usar la función 'select_autoescape' para mitigar vulnerabilidades XSS.</translation>
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="389" />
+      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
+      <translation>Por defecto, jinja2 establece 'autoescape' a False. Considerar el uso de 'autoescape=True' o de la función 'select_autoescape' para mitigar vulnerabilidades XSS.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="396" />
+      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
+      <translation>Las plantillas Mako permiten dibujado de HTML/JS por defecto y son inherentemente abiertas a ataques XSS. Asegurar que las variables en todas las plantillas se sanitizan apropiadamente con la flags 'n', 'h' o 'x' (dependiendo del contexto). Por ejemplo, para hacer un HTML escape de la avariable 'data', hacer ${{ data |h }}.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="404" />
+      <source>Potential XSS on 'mark_safe()' function.</source>
+      <translation>Potencial XSS en la función 'mark_safe()'.</translation>
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="408" />
-      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
-      <translation>Por defecto, jinja2 establece 'autoescape' a False. Considerar el uso de 'autoescape=True' o de la función 'select_autoescape' para mitigar vulnerabilidades XSS.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="415" />
-      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
-      <translation>Las plantillas Mako permiten dibujado de HTML/JS por defecto y son inherentemente abiertas a ataques XSS. Asegurar que las variables en todas las plantillas se sanitizan apropiadamente con la flags 'n', 'h' o 'x' (dependiendo del contexto). Por ejemplo, para hacer un HTML escape de la avariable 'data', hacer ${{ data |h }}.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="423" />
-      <source>Potential XSS on 'mark_safe()' function.</source>
-      <translation>Potencial XSS en la función 'mark_safe()'.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="427" />
       <source>Possible hardcoded AWS access key ID: {0}</source>
       <translation>Posible clave de acceso a AWS con código duro: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="430" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="411" />
       <source>Possible hardcoded AWS secret access key: {0}</source>
       <translation>Posible clave secreta de acceso a AWS con código duro: {0}</translation>
     </message>
+    <message>
+      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with its defusedxml equivalent function.</source>
+      <translation type="vanished">El uso de '{0}' para interpretar datos XML no fiables es conocido como vector de ataques XML. Reemplazar '{0}' con su función equivalente defusedxml.</translation>
+    </message>
+    <message>
+      <source>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</source>
+      <translation type="vanished">El método input en Python 2 lee desde el input estándar, evaluando y ejecutando la cadena resultante como código fuente Python. Esto es similar, aunque peor, al uso de eval. Con Python 2, utilizar raw_input en su logar, input es seguro con Python 3.</translation>
+    </message>
+    <message>
+      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package.</source>
+      <translation type="vanished">El uso de '{0}' para interpretar datos XML no fiables es conocido como vector de ataques XML. Reemplazar '{0}' con package equivalente defusedxml.</translation>
+    </message>
   </context>
   <context>
     <name>SecurityPage</name>
--- a/src/eric7/i18n/eric7_fr.ts	Sun Feb 16 14:56:07 2025 +0100
+++ b/src/eric7/i18n/eric7_fr.ts	Sun Feb 16 15:05:39 2025 +0100
@@ -56101,17 +56101,17 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="346" />
-      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source>
+      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except{0} blocks. Control statements can be moved outside the finally block.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="352" />
-      <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source>
+      <source>A length-one tuple literal is redundant. Write 'except{1} {0}:' instead of 'except{1} ({0},):'.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="357" />
-      <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source>
+      <source>Redundant exception types in 'except{3} ({0}){1}:'. Write 'except{3} {2}{1}:', which catches exactly the same exceptions.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56166,7 +56166,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="417" />
-      <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source>
+      <source>Exception '{0}' has been caught multiple times. Only the first except{1} will be considered and all other except{1} catches can be safely removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56186,7 +56186,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="442" />
-      <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
+      <source>Using 'except{0} ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56226,7 +56226,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="480" />
-      <source>Class '__init__' methods must not return or yield and any values.</source>
+      <source>Class '__init__' methods must not return or yield any values.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56240,153 +56240,158 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="495" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="494" />
+      <source>Repeated key-value pair in dictionary literal.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="499" />
       <source>Editing a loop's mutable iterable often leads to unexpected results/bugs.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="500" />
-      <source>unncessary f-string</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="504" />
+      <source>unncessary f-string</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="508" />
       <source>cannot use 'self.__class__' as first argument of 'super()' call</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="509" />
-      <source>found {0} formatter</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="513" />
-      <source>format string does contain unindexed parameters</source>
+      <source>found {0} formatter</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="517" />
-      <source>docstring does contain unindexed parameters</source>
+      <source>format string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="521" />
-      <source>other string does contain unindexed parameters</source>
+      <source>docstring does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="525" />
-      <source>format call uses too large index ({0})</source>
+      <source>other string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="529" />
-      <source>format call uses missing keyword ({0})</source>
+      <source>format call uses too large index ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="533" />
-      <source>format call uses keyword arguments but no named entries</source>
+      <source>format call uses missing keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="537" />
-      <source>format call uses variable arguments but no numbered entries</source>
+      <source>format call uses keyword arguments but no named entries</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="541" />
-      <source>format call uses implicit and explicit indexes together</source>
+      <source>format call uses variable arguments but no numbered entries</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="545" />
-      <source>format call provides unused index ({0})</source>
+      <source>format call uses implicit and explicit indexes together</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="549" />
+      <source>format call provides unused index ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="553" />
       <source>format call provides unused keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="554" />
-      <source>expected these __future__ imports: {0}; but only got: {1}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="558" />
+      <source>expected these __future__ imports: {0}; but only got: {1}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="562" />
       <source>expected these __future__ imports: {0}; but got none</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="563" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="567" />
       <source>gettext import with alias _ found: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="568" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="572" />
       <source>print statement found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="573" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="577" />
       <source>one element tuple found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="578" />
-      <source>mutable default argument of type {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="586" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
+      <source>mutable default argument of type {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="590" />
       <source>mutable default argument of function call '{0}'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="591" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="595" />
       <source>None should not be added at any return if function has no return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="596" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="600" />
       <source>an explicit value at every return should be added if function has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="601" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="605" />
       <source>an explicit return at the end of the function should be added if it has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="606" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="610" />
       <source>a value should not be assigned to a variable if it will be used as a return value only</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="612" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="616" />
       <source>prefer implied line continuation inside parentheses, brackets and braces as opposed to a backslash</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="618" />
-      <source>implicitly concatenated string or bytes literals on one line</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="622" />
-      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <source>implicitly concatenated string or bytes literals on one line</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="626" />
+      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="630" />
       <source>explicitly concatenated string or bytes should be implicitly concatenated</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="631" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="635" />
       <source>commented code lines should be removed</source>
       <translation>les lignes de code commentées devraient être supprimées</translation>
     </message>
@@ -59783,164 +59788,164 @@
   <context>
     <name>Pip</name>
     <message>
-      <location filename="../PipInterface/Pip.py" line="156" />
+      <location filename="../PipInterface/Pip.py" line="157" />
       <source>python exited with an error ({0}).</source>
       <translation>python a quitté avec l'erreur ({0}).</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="165" />
+      <location filename="../PipInterface/Pip.py" line="166" />
       <source>python did not finish within 30 seconds.</source>
       <translation>python n'a pas terminé dans les 30 secondes.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="167" />
+      <location filename="../PipInterface/Pip.py" line="168" />
       <source>python could not be started.</source>
       <translation>python n'a pas pu être démarré.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="228" />
+      <location filename="../PipInterface/Pip.py" line="229" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="253" />
-      <source>Interpreter for Virtual Environment</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="254" />
+      <source>Interpreter for Virtual Environment</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="255" />
       <source>No interpreter configured for the selected virtual environment.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="307" />
+      <location filename="../PipInterface/Pip.py" line="308" />
       <source>Install PIP</source>
       <translation>Installer PIP</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="354" />
+      <location filename="../PipInterface/Pip.py" line="355" />
       <source>Repair PIP</source>
       <translation>Réparer PIP</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="486" />
-      <location filename="../PipInterface/Pip.py" line="468" />
+      <location filename="../PipInterface/Pip.py" line="487" />
+      <location filename="../PipInterface/Pip.py" line="469" />
       <source>Upgrade Packages</source>
       <translation>Mise à jour des packages</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="469" />
+      <location filename="../PipInterface/Pip.py" line="470" />
       <source>There are no packages except 'eric-ide' or 'PyQt6' left for upgrade.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="532" />
+      <location filename="../PipInterface/Pip.py" line="533" />
       <source>Install Packages</source>
       <translation>Installer des packages</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="563" />
+      <location filename="../PipInterface/Pip.py" line="564" />
       <source>Install Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="585" />
+      <location filename="../PipInterface/Pip.py" line="586" />
       <source>Install Project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="620" />
-      <location filename="../PipInterface/Pip.py" line="610" />
-      <source>Install 'pyproject' Dependencies</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PipInterface/Pip.py" line="748" />
-      <location filename="../PipInterface/Pip.py" line="611" />
-      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="621" />
+      <location filename="../PipInterface/Pip.py" line="611" />
+      <source>Install 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="749" />
+      <location filename="../PipInterface/Pip.py" line="612" />
+      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="622" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="641" />
+      <location filename="../PipInterface/Pip.py" line="642" />
       <source>Install Packages from 'pyproject.toml'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="775" />
-      <location filename="../PipInterface/Pip.py" line="701" />
-      <location filename="../PipInterface/Pip.py" line="671" />
-      <location filename="../PipInterface/Pip.py" line="662" />
-      <source>Uninstall Packages</source>
-      <translation>Désinstaller les packages</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="776" />
       <location filename="../PipInterface/Pip.py" line="702" />
+      <location filename="../PipInterface/Pip.py" line="672" />
       <location filename="../PipInterface/Pip.py" line="663" />
+      <source>Uninstall Packages</source>
+      <translation>Désinstaller les packages</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="777" />
+      <location filename="../PipInterface/Pip.py" line="703" />
+      <location filename="../PipInterface/Pip.py" line="664" />
       <source>Do you really want to uninstall these packages?</source>
       <translation>Voulez-vous vraiment désinstaller ces packages ?</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="719" />
+      <location filename="../PipInterface/Pip.py" line="720" />
       <source>Uninstall Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="758" />
-      <location filename="../PipInterface/Pip.py" line="747" />
-      <source>Uninstall 'pyproject' Dependencies</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="759" />
+      <location filename="../PipInterface/Pip.py" line="748" />
+      <source>Uninstall 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="760" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read. &lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="786" />
+      <location filename="../PipInterface/Pip.py" line="787" />
       <source>Uninstall Packages from 'pyproject.toml'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1197" />
+      <location filename="../PipInterface/Pip.py" line="1198" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1223" />
-      <location filename="../PipInterface/Pip.py" line="1214" />
+      <location filename="../PipInterface/Pip.py" line="1224" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1215" />
+      <location filename="../PipInterface/Pip.py" line="1216" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1247" />
-      <location filename="../PipInterface/Pip.py" line="1240" />
+      <location filename="../PipInterface/Pip.py" line="1248" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1241" />
+      <location filename="../PipInterface/Pip.py" line="1242" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1272" />
-      <location filename="../PipInterface/Pip.py" line="1264" />
+      <location filename="../PipInterface/Pip.py" line="1273" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1265" />
+      <location filename="../PipInterface/Pip.py" line="1266" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -74550,246 +74555,231 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="166" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with its defusedxml equivalent function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="172" />
       <source>FTP-related functions are being called. FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="177" />
-      <source>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="184" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="171" />
       <source>By default, Python will create a secure, verified SSL context for use in such classes as HTTPSConnection. However, it still allows using an insecure context via the _create_unverified_context that reverts to the previous behavior that does not validate certificates or perform hostname checks.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="180" />
+      <source>Use of insecure {0} hash function.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="183" />
+      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="188" />
+      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="193" />
-      <source>Use of insecure {0} hash function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="196" />
-      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="201" />
-      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
+      <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="202" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="198" />
+      <source>Consider possible security implications associated with the '{0}' module.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="230" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="224" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="218" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="212" />
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="206" />
-      <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="215" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="211" />
-      <source>Consider possible security implications associated with the '{0}' module.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="243" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="237" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="231" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="225" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="219" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="249" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="255" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="236" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Use defusedxml.xmlrpc.monkey_patch() function to monkey-patch xmlrpclib and mitigate XML vulnerabilities.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="261" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="242" />
       <source>Consider possible security implications associated with '{0}' module.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="265" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="246" />
       <source>The pyCrypto library and its module '{0}' are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="271" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="252" />
       <source>An IPMI-related module is being imported. IPMI is considered insecure. Use an encrypted protocol.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="277" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="258" />
       <source>'requests' call with verify=False disabling SSL certificate checks, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="283" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="264" />
       <source>'ssl.wrap_socket' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="288" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="269" />
       <source>'SSL.Context' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="293" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="274" />
       <source>Function call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="298" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="279" />
       <source>Function definition identified with insecure SSL/TLS protocol version by default, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="303" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="284" />
       <source>'ssl.wrap_socket' call with no SSL/TLS protocol version specified, the default 'SSLv23' could be insecure, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="290" />
+      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="294" />
+      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="300" />
+      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="305" />
+      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="309" />
-      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="313" />
-      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="319" />
-      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="324" />
-      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="315" />
+      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="320" />
+      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="325" />
+      <source>'subprocess' call with shell=True identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="328" />
-      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="334" />
-      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="339" />
-      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="344" />
-      <source>'subprocess' call with shell=True identified, security issue.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="347" />
       <source>'subprocess' call - check for execution of untrusted input.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="350" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="331" />
       <source>Function call with shell=True parameter identified, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="355" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="336" />
       <source>Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="360" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="341" />
       <source>Starting a process with a shell, possible injection detected, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="346" />
+      <source>Starting a process without a shell.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="349" />
+      <source>Starting a process with a partial executable path.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="353" />
+      <source>Possible SQL injection vector through string-based query construction.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="358" />
+      <source>Possible wildcard injection in call: {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="362" />
+      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="365" />
-      <source>Starting a process without a shell.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="368" />
-      <source>Starting a process with a partial executable path.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="372" />
-      <source>Possible SQL injection vector through string-based query construction.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="377" />
-      <source>Possible wildcard injection in call: {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="381" />
-      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="384" />
       <source>Use of 'RawSQL()' opens a potential SQL attack vector.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="388" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="369" />
       <source>Use of insecure logging.config.listen() detected.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="393" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="374" />
       <source>The Python source file contains bidirectional control characters ({0}).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="398" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="379" />
       <source>Use of unsafe PyTorch load or save.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="402" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="383" />
       <source>Using jinja2 templates with 'autoescape=False' is dangerous and can lead to XSS. Use 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="389" />
+      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="396" />
+      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="404" />
+      <source>Potential XSS on 'mark_safe()' function.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="408" />
-      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="415" />
-      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="423" />
-      <source>Potential XSS on 'mark_safe()' function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="427" />
       <source>Possible hardcoded AWS access key ID: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="430" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="411" />
       <source>Possible hardcoded AWS secret access key: {0}</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_it.ts	Sun Feb 16 14:56:07 2025 +0100
+++ b/src/eric7/i18n/eric7_it.ts	Sun Feb 16 15:05:39 2025 +0100
@@ -56090,17 +56090,17 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="346" />
-      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source>
+      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except{0} blocks. Control statements can be moved outside the finally block.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="352" />
-      <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source>
+      <source>A length-one tuple literal is redundant. Write 'except{1} {0}:' instead of 'except{1} ({0},):'.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="357" />
-      <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source>
+      <source>Redundant exception types in 'except{3} ({0}){1}:'. Write 'except{3} {2}{1}:', which catches exactly the same exceptions.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56155,7 +56155,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="417" />
-      <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source>
+      <source>Exception '{0}' has been caught multiple times. Only the first except{1} will be considered and all other except{1} catches can be safely removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56175,7 +56175,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="442" />
-      <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
+      <source>Using 'except{0} ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56215,7 +56215,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="480" />
-      <source>Class '__init__' methods must not return or yield and any values.</source>
+      <source>Class '__init__' methods must not return or yield any values.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56229,153 +56229,158 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="495" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="494" />
+      <source>Repeated key-value pair in dictionary literal.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="499" />
       <source>Editing a loop's mutable iterable often leads to unexpected results/bugs.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="500" />
-      <source>unncessary f-string</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="504" />
+      <source>unncessary f-string</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="508" />
       <source>cannot use 'self.__class__' as first argument of 'super()' call</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="509" />
-      <source>found {0} formatter</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="513" />
-      <source>format string does contain unindexed parameters</source>
+      <source>found {0} formatter</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="517" />
-      <source>docstring does contain unindexed parameters</source>
+      <source>format string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="521" />
-      <source>other string does contain unindexed parameters</source>
+      <source>docstring does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="525" />
-      <source>format call uses too large index ({0})</source>
+      <source>other string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="529" />
-      <source>format call uses missing keyword ({0})</source>
+      <source>format call uses too large index ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="533" />
-      <source>format call uses keyword arguments but no named entries</source>
+      <source>format call uses missing keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="537" />
-      <source>format call uses variable arguments but no numbered entries</source>
+      <source>format call uses keyword arguments but no named entries</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="541" />
-      <source>format call uses implicit and explicit indexes together</source>
+      <source>format call uses variable arguments but no numbered entries</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="545" />
-      <source>format call provides unused index ({0})</source>
+      <source>format call uses implicit and explicit indexes together</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="549" />
+      <source>format call provides unused index ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="553" />
       <source>format call provides unused keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="554" />
-      <source>expected these __future__ imports: {0}; but only got: {1}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="558" />
+      <source>expected these __future__ imports: {0}; but only got: {1}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="562" />
       <source>expected these __future__ imports: {0}; but got none</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="563" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="567" />
       <source>gettext import with alias _ found: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="568" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="572" />
       <source>print statement found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="573" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="577" />
       <source>one element tuple found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="578" />
-      <source>mutable default argument of type {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="586" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
+      <source>mutable default argument of type {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="590" />
       <source>mutable default argument of function call '{0}'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="591" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="595" />
       <source>None should not be added at any return if function has no return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="596" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="600" />
       <source>an explicit value at every return should be added if function has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="601" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="605" />
       <source>an explicit return at the end of the function should be added if it has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="606" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="610" />
       <source>a value should not be assigned to a variable if it will be used as a return value only</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="612" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="616" />
       <source>prefer implied line continuation inside parentheses, brackets and braces as opposed to a backslash</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="618" />
-      <source>implicitly concatenated string or bytes literals on one line</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="622" />
-      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <source>implicitly concatenated string or bytes literals on one line</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="626" />
+      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="630" />
       <source>explicitly concatenated string or bytes should be implicitly concatenated</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="631" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="635" />
       <source>commented code lines should be removed</source>
       <translation type="unfinished" />
     </message>
@@ -59691,164 +59696,164 @@
   <context>
     <name>Pip</name>
     <message>
-      <location filename="../PipInterface/Pip.py" line="156" />
+      <location filename="../PipInterface/Pip.py" line="157" />
       <source>python exited with an error ({0}).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="165" />
+      <location filename="../PipInterface/Pip.py" line="166" />
       <source>python did not finish within 30 seconds.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="167" />
+      <location filename="../PipInterface/Pip.py" line="168" />
       <source>python could not be started.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="228" />
+      <location filename="../PipInterface/Pip.py" line="229" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="253" />
-      <source>Interpreter for Virtual Environment</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="254" />
+      <source>Interpreter for Virtual Environment</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="255" />
       <source>No interpreter configured for the selected virtual environment.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="307" />
+      <location filename="../PipInterface/Pip.py" line="308" />
       <source>Install PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="354" />
+      <location filename="../PipInterface/Pip.py" line="355" />
       <source>Repair PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="486" />
-      <location filename="../PipInterface/Pip.py" line="468" />
+      <location filename="../PipInterface/Pip.py" line="487" />
+      <location filename="../PipInterface/Pip.py" line="469" />
       <source>Upgrade Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="469" />
+      <location filename="../PipInterface/Pip.py" line="470" />
       <source>There are no packages except 'eric-ide' or 'PyQt6' left for upgrade.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="532" />
+      <location filename="../PipInterface/Pip.py" line="533" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="563" />
+      <location filename="../PipInterface/Pip.py" line="564" />
       <source>Install Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="585" />
+      <location filename="../PipInterface/Pip.py" line="586" />
       <source>Install Project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="620" />
-      <location filename="../PipInterface/Pip.py" line="610" />
-      <source>Install 'pyproject' Dependencies</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PipInterface/Pip.py" line="748" />
-      <location filename="../PipInterface/Pip.py" line="611" />
-      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="621" />
+      <location filename="../PipInterface/Pip.py" line="611" />
+      <source>Install 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="749" />
+      <location filename="../PipInterface/Pip.py" line="612" />
+      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="622" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="641" />
+      <location filename="../PipInterface/Pip.py" line="642" />
       <source>Install Packages from 'pyproject.toml'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="775" />
-      <location filename="../PipInterface/Pip.py" line="701" />
-      <location filename="../PipInterface/Pip.py" line="671" />
-      <location filename="../PipInterface/Pip.py" line="662" />
-      <source>Uninstall Packages</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="776" />
       <location filename="../PipInterface/Pip.py" line="702" />
+      <location filename="../PipInterface/Pip.py" line="672" />
       <location filename="../PipInterface/Pip.py" line="663" />
+      <source>Uninstall Packages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="777" />
+      <location filename="../PipInterface/Pip.py" line="703" />
+      <location filename="../PipInterface/Pip.py" line="664" />
       <source>Do you really want to uninstall these packages?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="719" />
+      <location filename="../PipInterface/Pip.py" line="720" />
       <source>Uninstall Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="758" />
-      <location filename="../PipInterface/Pip.py" line="747" />
-      <source>Uninstall 'pyproject' Dependencies</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="759" />
+      <location filename="../PipInterface/Pip.py" line="748" />
+      <source>Uninstall 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="760" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read. &lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="786" />
+      <location filename="../PipInterface/Pip.py" line="787" />
       <source>Uninstall Packages from 'pyproject.toml'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1197" />
+      <location filename="../PipInterface/Pip.py" line="1198" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1223" />
-      <location filename="../PipInterface/Pip.py" line="1214" />
+      <location filename="../PipInterface/Pip.py" line="1224" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1215" />
+      <location filename="../PipInterface/Pip.py" line="1216" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1247" />
-      <location filename="../PipInterface/Pip.py" line="1240" />
+      <location filename="../PipInterface/Pip.py" line="1248" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1241" />
+      <location filename="../PipInterface/Pip.py" line="1242" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1272" />
-      <location filename="../PipInterface/Pip.py" line="1264" />
+      <location filename="../PipInterface/Pip.py" line="1273" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1265" />
+      <location filename="../PipInterface/Pip.py" line="1266" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -74424,246 +74429,231 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="166" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with its defusedxml equivalent function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="172" />
       <source>FTP-related functions are being called. FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="177" />
-      <source>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="184" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="171" />
       <source>By default, Python will create a secure, verified SSL context for use in such classes as HTTPSConnection. However, it still allows using an insecure context via the _create_unverified_context that reverts to the previous behavior that does not validate certificates or perform hostname checks.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="180" />
+      <source>Use of insecure {0} hash function.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="183" />
+      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="188" />
+      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="193" />
-      <source>Use of insecure {0} hash function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="196" />
-      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="201" />
-      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
+      <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="202" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="198" />
+      <source>Consider possible security implications associated with the '{0}' module.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="230" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="224" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="218" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="212" />
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="206" />
-      <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="215" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="211" />
-      <source>Consider possible security implications associated with the '{0}' module.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="243" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="237" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="231" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="225" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="219" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="249" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="255" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="236" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Use defusedxml.xmlrpc.monkey_patch() function to monkey-patch xmlrpclib and mitigate XML vulnerabilities.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="261" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="242" />
       <source>Consider possible security implications associated with '{0}' module.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="265" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="246" />
       <source>The pyCrypto library and its module '{0}' are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="271" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="252" />
       <source>An IPMI-related module is being imported. IPMI is considered insecure. Use an encrypted protocol.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="277" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="258" />
       <source>'requests' call with verify=False disabling SSL certificate checks, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="283" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="264" />
       <source>'ssl.wrap_socket' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="288" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="269" />
       <source>'SSL.Context' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="293" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="274" />
       <source>Function call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="298" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="279" />
       <source>Function definition identified with insecure SSL/TLS protocol version by default, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="303" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="284" />
       <source>'ssl.wrap_socket' call with no SSL/TLS protocol version specified, the default 'SSLv23' could be insecure, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="290" />
+      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="294" />
+      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="300" />
+      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="305" />
+      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="309" />
-      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="313" />
-      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="319" />
-      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="324" />
-      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="315" />
+      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="320" />
+      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="325" />
+      <source>'subprocess' call with shell=True identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="328" />
-      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="334" />
-      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="339" />
-      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="344" />
-      <source>'subprocess' call with shell=True identified, security issue.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="347" />
       <source>'subprocess' call - check for execution of untrusted input.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="350" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="331" />
       <source>Function call with shell=True parameter identified, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="355" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="336" />
       <source>Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="360" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="341" />
       <source>Starting a process with a shell, possible injection detected, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="346" />
+      <source>Starting a process without a shell.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="349" />
+      <source>Starting a process with a partial executable path.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="353" />
+      <source>Possible SQL injection vector through string-based query construction.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="358" />
+      <source>Possible wildcard injection in call: {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="362" />
+      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="365" />
-      <source>Starting a process without a shell.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="368" />
-      <source>Starting a process with a partial executable path.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="372" />
-      <source>Possible SQL injection vector through string-based query construction.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="377" />
-      <source>Possible wildcard injection in call: {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="381" />
-      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="384" />
       <source>Use of 'RawSQL()' opens a potential SQL attack vector.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="388" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="369" />
       <source>Use of insecure logging.config.listen() detected.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="393" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="374" />
       <source>The Python source file contains bidirectional control characters ({0}).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="398" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="379" />
       <source>Use of unsafe PyTorch load or save.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="402" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="383" />
       <source>Using jinja2 templates with 'autoescape=False' is dangerous and can lead to XSS. Use 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="389" />
+      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="396" />
+      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="404" />
+      <source>Potential XSS on 'mark_safe()' function.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="408" />
-      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="415" />
-      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="423" />
-      <source>Potential XSS on 'mark_safe()' function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="427" />
       <source>Possible hardcoded AWS access key ID: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="430" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="411" />
       <source>Possible hardcoded AWS secret access key: {0}</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_pt.ts	Sun Feb 16 14:56:07 2025 +0100
+++ b/src/eric7/i18n/eric7_pt.ts	Sun Feb 16 15:05:39 2025 +0100
@@ -56102,17 +56102,17 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="346" />
-      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source>
+      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except{0} blocks. Control statements can be moved outside the finally block.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="352" />
-      <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source>
+      <source>A length-one tuple literal is redundant. Write 'except{1} {0}:' instead of 'except{1} ({0},):'.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="357" />
-      <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source>
+      <source>Redundant exception types in 'except{3} ({0}){1}:'. Write 'except{3} {2}{1}:', which catches exactly the same exceptions.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56167,7 +56167,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="417" />
-      <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source>
+      <source>Exception '{0}' has been caught multiple times. Only the first except{1} will be considered and all other except{1} catches can be safely removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56187,7 +56187,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="442" />
-      <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
+      <source>Using 'except{0} ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56227,7 +56227,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="480" />
-      <source>Class '__init__' methods must not return or yield and any values.</source>
+      <source>Class '__init__' methods must not return or yield any values.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56241,153 +56241,158 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="495" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="494" />
+      <source>Repeated key-value pair in dictionary literal.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="499" />
       <source>Editing a loop's mutable iterable often leads to unexpected results/bugs.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="500" />
-      <source>unncessary f-string</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="504" />
+      <source>unncessary f-string</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="508" />
       <source>cannot use 'self.__class__' as first argument of 'super()' call</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="509" />
-      <source>found {0} formatter</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="513" />
-      <source>format string does contain unindexed parameters</source>
+      <source>found {0} formatter</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="517" />
-      <source>docstring does contain unindexed parameters</source>
+      <source>format string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="521" />
-      <source>other string does contain unindexed parameters</source>
+      <source>docstring does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="525" />
-      <source>format call uses too large index ({0})</source>
+      <source>other string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="529" />
-      <source>format call uses missing keyword ({0})</source>
+      <source>format call uses too large index ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="533" />
-      <source>format call uses keyword arguments but no named entries</source>
+      <source>format call uses missing keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="537" />
-      <source>format call uses variable arguments but no numbered entries</source>
+      <source>format call uses keyword arguments but no named entries</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="541" />
-      <source>format call uses implicit and explicit indexes together</source>
+      <source>format call uses variable arguments but no numbered entries</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="545" />
-      <source>format call provides unused index ({0})</source>
+      <source>format call uses implicit and explicit indexes together</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="549" />
+      <source>format call provides unused index ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="553" />
       <source>format call provides unused keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="554" />
-      <source>expected these __future__ imports: {0}; but only got: {1}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="558" />
+      <source>expected these __future__ imports: {0}; but only got: {1}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="562" />
       <source>expected these __future__ imports: {0}; but got none</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="563" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="567" />
       <source>gettext import with alias _ found: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="568" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="572" />
       <source>print statement found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="573" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="577" />
       <source>one element tuple found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="578" />
-      <source>mutable default argument of type {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="586" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
+      <source>mutable default argument of type {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="590" />
       <source>mutable default argument of function call '{0}'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="591" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="595" />
       <source>None should not be added at any return if function has no return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="596" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="600" />
       <source>an explicit value at every return should be added if function has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="601" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="605" />
       <source>an explicit return at the end of the function should be added if it has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="606" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="610" />
       <source>a value should not be assigned to a variable if it will be used as a return value only</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="612" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="616" />
       <source>prefer implied line continuation inside parentheses, brackets and braces as opposed to a backslash</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="618" />
-      <source>implicitly concatenated string or bytes literals on one line</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="622" />
-      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <source>implicitly concatenated string or bytes literals on one line</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="626" />
+      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="630" />
       <source>explicitly concatenated string or bytes should be implicitly concatenated</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="631" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="635" />
       <source>commented code lines should be removed</source>
       <translation type="unfinished" />
     </message>
@@ -59686,164 +59691,164 @@
   <context>
     <name>Pip</name>
     <message>
-      <location filename="../PipInterface/Pip.py" line="156" />
+      <location filename="../PipInterface/Pip.py" line="157" />
       <source>python exited with an error ({0}).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="165" />
+      <location filename="../PipInterface/Pip.py" line="166" />
       <source>python did not finish within 30 seconds.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="167" />
+      <location filename="../PipInterface/Pip.py" line="168" />
       <source>python could not be started.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="228" />
+      <location filename="../PipInterface/Pip.py" line="229" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="253" />
-      <source>Interpreter for Virtual Environment</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="254" />
+      <source>Interpreter for Virtual Environment</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="255" />
       <source>No interpreter configured for the selected virtual environment.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="307" />
+      <location filename="../PipInterface/Pip.py" line="308" />
       <source>Install PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="354" />
+      <location filename="../PipInterface/Pip.py" line="355" />
       <source>Repair PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="486" />
-      <location filename="../PipInterface/Pip.py" line="468" />
+      <location filename="../PipInterface/Pip.py" line="487" />
+      <location filename="../PipInterface/Pip.py" line="469" />
       <source>Upgrade Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="469" />
+      <location filename="../PipInterface/Pip.py" line="470" />
       <source>There are no packages except 'eric-ide' or 'PyQt6' left for upgrade.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="532" />
+      <location filename="../PipInterface/Pip.py" line="533" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="563" />
+      <location filename="../PipInterface/Pip.py" line="564" />
       <source>Install Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="585" />
+      <location filename="../PipInterface/Pip.py" line="586" />
       <source>Install Project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="620" />
-      <location filename="../PipInterface/Pip.py" line="610" />
-      <source>Install 'pyproject' Dependencies</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PipInterface/Pip.py" line="748" />
-      <location filename="../PipInterface/Pip.py" line="611" />
-      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="621" />
+      <location filename="../PipInterface/Pip.py" line="611" />
+      <source>Install 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="749" />
+      <location filename="../PipInterface/Pip.py" line="612" />
+      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="622" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="641" />
+      <location filename="../PipInterface/Pip.py" line="642" />
       <source>Install Packages from 'pyproject.toml'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="775" />
-      <location filename="../PipInterface/Pip.py" line="701" />
-      <location filename="../PipInterface/Pip.py" line="671" />
-      <location filename="../PipInterface/Pip.py" line="662" />
-      <source>Uninstall Packages</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="776" />
       <location filename="../PipInterface/Pip.py" line="702" />
+      <location filename="../PipInterface/Pip.py" line="672" />
       <location filename="../PipInterface/Pip.py" line="663" />
+      <source>Uninstall Packages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="777" />
+      <location filename="../PipInterface/Pip.py" line="703" />
+      <location filename="../PipInterface/Pip.py" line="664" />
       <source>Do you really want to uninstall these packages?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="719" />
+      <location filename="../PipInterface/Pip.py" line="720" />
       <source>Uninstall Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="758" />
-      <location filename="../PipInterface/Pip.py" line="747" />
-      <source>Uninstall 'pyproject' Dependencies</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="759" />
+      <location filename="../PipInterface/Pip.py" line="748" />
+      <source>Uninstall 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="760" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read. &lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="786" />
+      <location filename="../PipInterface/Pip.py" line="787" />
       <source>Uninstall Packages from 'pyproject.toml'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1197" />
+      <location filename="../PipInterface/Pip.py" line="1198" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1223" />
-      <location filename="../PipInterface/Pip.py" line="1214" />
+      <location filename="../PipInterface/Pip.py" line="1224" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1215" />
+      <location filename="../PipInterface/Pip.py" line="1216" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1247" />
-      <location filename="../PipInterface/Pip.py" line="1240" />
+      <location filename="../PipInterface/Pip.py" line="1248" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1241" />
+      <location filename="../PipInterface/Pip.py" line="1242" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1272" />
-      <location filename="../PipInterface/Pip.py" line="1264" />
+      <location filename="../PipInterface/Pip.py" line="1273" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1265" />
+      <location filename="../PipInterface/Pip.py" line="1266" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -74338,246 +74343,231 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="166" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with its defusedxml equivalent function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="172" />
       <source>FTP-related functions are being called. FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="177" />
-      <source>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="184" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="171" />
       <source>By default, Python will create a secure, verified SSL context for use in such classes as HTTPSConnection. However, it still allows using an insecure context via the _create_unverified_context that reverts to the previous behavior that does not validate certificates or perform hostname checks.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="180" />
+      <source>Use of insecure {0} hash function.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="183" />
+      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="188" />
+      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="193" />
-      <source>Use of insecure {0} hash function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="196" />
-      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="201" />
-      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
+      <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="202" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="198" />
+      <source>Consider possible security implications associated with the '{0}' module.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="230" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="224" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="218" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="212" />
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="206" />
-      <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="215" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="211" />
-      <source>Consider possible security implications associated with the '{0}' module.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="243" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="237" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="231" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="225" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="219" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="249" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="255" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="236" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Use defusedxml.xmlrpc.monkey_patch() function to monkey-patch xmlrpclib and mitigate XML vulnerabilities.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="261" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="242" />
       <source>Consider possible security implications associated with '{0}' module.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="265" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="246" />
       <source>The pyCrypto library and its module '{0}' are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="271" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="252" />
       <source>An IPMI-related module is being imported. IPMI is considered insecure. Use an encrypted protocol.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="277" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="258" />
       <source>'requests' call with verify=False disabling SSL certificate checks, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="283" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="264" />
       <source>'ssl.wrap_socket' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="288" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="269" />
       <source>'SSL.Context' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="293" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="274" />
       <source>Function call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="298" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="279" />
       <source>Function definition identified with insecure SSL/TLS protocol version by default, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="303" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="284" />
       <source>'ssl.wrap_socket' call with no SSL/TLS protocol version specified, the default 'SSLv23' could be insecure, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="290" />
+      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="294" />
+      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="300" />
+      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="305" />
+      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="309" />
-      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="313" />
-      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="319" />
-      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="324" />
-      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="315" />
+      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="320" />
+      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="325" />
+      <source>'subprocess' call with shell=True identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="328" />
-      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="334" />
-      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="339" />
-      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="344" />
-      <source>'subprocess' call with shell=True identified, security issue.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="347" />
       <source>'subprocess' call - check for execution of untrusted input.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="350" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="331" />
       <source>Function call with shell=True parameter identified, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="355" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="336" />
       <source>Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="360" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="341" />
       <source>Starting a process with a shell, possible injection detected, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="346" />
+      <source>Starting a process without a shell.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="349" />
+      <source>Starting a process with a partial executable path.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="353" />
+      <source>Possible SQL injection vector through string-based query construction.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="358" />
+      <source>Possible wildcard injection in call: {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="362" />
+      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="365" />
-      <source>Starting a process without a shell.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="368" />
-      <source>Starting a process with a partial executable path.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="372" />
-      <source>Possible SQL injection vector through string-based query construction.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="377" />
-      <source>Possible wildcard injection in call: {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="381" />
-      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="384" />
       <source>Use of 'RawSQL()' opens a potential SQL attack vector.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="388" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="369" />
       <source>Use of insecure logging.config.listen() detected.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="393" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="374" />
       <source>The Python source file contains bidirectional control characters ({0}).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="398" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="379" />
       <source>Use of unsafe PyTorch load or save.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="402" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="383" />
       <source>Using jinja2 templates with 'autoescape=False' is dangerous and can lead to XSS. Use 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="389" />
+      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="396" />
+      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="404" />
+      <source>Potential XSS on 'mark_safe()' function.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="408" />
-      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="415" />
-      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="423" />
-      <source>Potential XSS on 'mark_safe()' function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="427" />
       <source>Possible hardcoded AWS access key ID: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="430" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="411" />
       <source>Possible hardcoded AWS secret access key: {0}</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_ru.ts	Sun Feb 16 14:56:07 2025 +0100
+++ b/src/eric7/i18n/eric7_ru.ts	Sun Feb 16 15:05:39 2025 +0100
@@ -56175,18 +56175,18 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="346" />
-      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source>
-      <translation>return/continue/break внутри блоков finally заставляют исключения отключаться. Исключения должны быть отключены в блоках except. Управляющие операторы могут быть перемещены за пределы блока finally.</translation>
+      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except{0} blocks. Control statements can be moved outside the finally block.</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="352" />
-      <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source>
-      <translation>Литерал односимвольного кортежа является избыточным. Используйте 'except {0}:' вместо 'except ({0},):'.</translation>
+      <source>A length-one tuple literal is redundant. Write 'except{1} {0}:' instead of 'except{1} ({0},):'.</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="357" />
-      <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source>
-      <translation>Избыточные типы исключений в 'except ({0}){1}:'. Используйте 'except {2}{1}:', чтобы перехватывать точно такие же исключения.</translation>
+      <source>Redundant exception types in 'except{3} ({0}){1}:'. Write 'except{3} {2}{1}:', which catches exactly the same exceptions.</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="362" />
@@ -56240,8 +56240,8 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="417" />
-      <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source>
-      <translation>Исключение '{0}' было перехвачено несколько раз. Будет рассмотрено только первое исключение, а все остальные исключения могут быть безопасно удалены.</translation>
+      <source>Exception '{0}' has been caught multiple times. Only the first except{1} will be considered and all other except{1} catches can be safely removed.</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="422" />
@@ -56260,8 +56260,8 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="442" />
-      <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
-      <translation>Использование 'except ():' с пустым кортежем ничего не обрабатывает/не перехватывает. Добавьте исключения для обработки.</translation>
+      <source>Using 'except{0} ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="447" />
@@ -56300,8 +56300,8 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="480" />
-      <source>Class '__init__' methods must not return or yield and any values.</source>
-      <translation>Методы класса '__init__' не должны возвращать или выдавать какие-либо значения.</translation>
+      <source>Class '__init__' methods must not return or yield any values.</source>
+      <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="484" />
@@ -56314,156 +56314,185 @@
       <translation>Исключение с добавленным примечанием не используется. Вы забыли его активировать?</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="495" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="494" />
+      <source>Repeated key-value pair in dictionary literal.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="499" />
       <source>Editing a loop's mutable iterable often leads to unexpected results/bugs.</source>
       <translation>Редактирование изменяемого итерационного параметра цикла часто приводит к неожиданным результатам/ошибкам.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="500" />
-      <source>unncessary f-string</source>
-      <translation>ненужная f-string</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="504" />
+      <source>unncessary f-string</source>
+      <translation>ненужная f-string</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="508" />
       <source>cannot use 'self.__class__' as first argument of 'super()' call</source>
       <translation>не используйте 'self .__ class__' в качестве первого аргумента вызова 'super ()'</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="509" />
-      <source>found {0} formatter</source>
-      <translation>найден {0} форматтер</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="513" />
-      <source>format string does contain unindexed parameters</source>
-      <translation>строка формата действительно содержит неиндексированные параметры</translation>
+      <source>found {0} formatter</source>
+      <translation>найден {0} форматтер</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="517" />
-      <source>docstring does contain unindexed parameters</source>
-      <translation>строка документации действительно содержит неиндексированные параметры</translation>
+      <source>format string does contain unindexed parameters</source>
+      <translation>строка формата действительно содержит неиндексированные параметры</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="521" />
-      <source>other string does contain unindexed parameters</source>
-      <translation>другая строка действительно содержит неиндексированные параметры</translation>
+      <source>docstring does contain unindexed parameters</source>
+      <translation>строка документации действительно содержит неиндексированные параметры</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="525" />
-      <source>format call uses too large index ({0})</source>
-      <translation>формат вызова использует слишком большой индекс ({0})</translation>
+      <source>other string does contain unindexed parameters</source>
+      <translation>другая строка действительно содержит неиндексированные параметры</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="529" />
-      <source>format call uses missing keyword ({0})</source>
-      <translation>формат вызова использует отсутствующее ключевое слово ({0})</translation>
+      <source>format call uses too large index ({0})</source>
+      <translation>формат вызова использует слишком большой индекс ({0})</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="533" />
-      <source>format call uses keyword arguments but no named entries</source>
-      <translation>формат вызова использует ключевые аргументы, но нет именованных записей</translation>
+      <source>format call uses missing keyword ({0})</source>
+      <translation>формат вызова использует отсутствующее ключевое слово ({0})</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="537" />
-      <source>format call uses variable arguments but no numbered entries</source>
-      <translation>формат ячейки использует переменные аргументы, но нет пронумерованных записей</translation>
+      <source>format call uses keyword arguments but no named entries</source>
+      <translation>формат вызова использует ключевые аргументы, но нет именованных записей</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="541" />
-      <source>format call uses implicit and explicit indexes together</source>
-      <translation>формат вызова использует скрытые и явные индексы вместе</translation>
+      <source>format call uses variable arguments but no numbered entries</source>
+      <translation>формат ячейки использует переменные аргументы, но нет пронумерованных записей</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="545" />
-      <source>format call provides unused index ({0})</source>
-      <translation>формат вызова предоставляет неиспользованный индекс ({0})</translation>
+      <source>format call uses implicit and explicit indexes together</source>
+      <translation>формат вызова использует скрытые и явные индексы вместе</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="549" />
+      <source>format call provides unused index ({0})</source>
+      <translation>формат вызова предоставляет неиспользованный индекс ({0})</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="553" />
       <source>format call provides unused keyword ({0})</source>
       <translation>формат вызова предоставляет неиспользуемое ключевое слово ({0})</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="554" />
-      <source>expected these __future__ imports: {0}; but only got: {1}</source>
-      <translation>ожидался __future__ imports: {0}; получены только: {1}</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="558" />
+      <source>expected these __future__ imports: {0}; but only got: {1}</source>
+      <translation>ожидался __future__ imports: {0}; получены только: {1}</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="562" />
       <source>expected these __future__ imports: {0}; but got none</source>
       <translation>ожидался __future__ imports: {0}; не получено ничего</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="563" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="567" />
       <source>gettext import with alias _ found: {0}</source>
       <translation>gettext import with alias _ found: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="568" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="572" />
       <source>print statement found</source>
       <translation>обнаружена инструкция печати</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="573" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="577" />
       <source>one element tuple found</source>
       <translation>найден одноэлементный кортеж</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="578" />
-      <source>mutable default argument of type {0}</source>
-      <translation>изменяемый аргумент по умолчанию типа {0}</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="586" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
+      <source>mutable default argument of type {0}</source>
+      <translation>изменяемый аргумент по умолчанию типа {0}</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="590" />
       <source>mutable default argument of function call '{0}'</source>
       <translation>измененный аргумент по умолчанию для вызова функции '{0}'</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="591" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="595" />
       <source>None should not be added at any return if function has no return value except None</source>
       <translation>если функция не имеет возвращаемого значения, (кроме None), None не следует добавлять в каждый return</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="596" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="600" />
       <source>an explicit value at every return should be added if function has a return value except None</source>
       <translation>если функция имеет возвращаемое значение, (кроме None), то явное значение должно быть добавлено каждому return</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="601" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="605" />
       <source>an explicit return at the end of the function should be added if it has a return value except None</source>
       <translation>в конец функции, если она имеет возвращаемое значение, (кроме None), должен быть добавлен явный return</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="606" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="610" />
       <source>a value should not be assigned to a variable if it will be used as a return value only</source>
       <translation>значение не должно присваиваться переменной, если оно будет использоваться только как возвращаемое значение</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="612" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="616" />
       <source>prefer implied line continuation inside parentheses, brackets and braces as opposed to a backslash</source>
       <translation>для предполагаемого продолжения строки предпочтительнее использование круглых, квадратных или фигурных скобок, а не обратного слеша</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="618" />
-      <source>implicitly concatenated string or bytes literals on one line</source>
-      <translation>неявно объединенные строковые или байтовые литералы в одной строке</translation>
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="622" />
-      <source>implicitly concatenated string or bytes literals over continuation line</source>
-      <translation>неявно объединенные строковые или байтовые литералы в строке продолжения</translation>
+      <source>implicitly concatenated string or bytes literals on one line</source>
+      <translation>неявно объединенные строковые или байтовые литералы в одной строке</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="626" />
+      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <translation>неявно объединенные строковые или байтовые литералы в строке продолжения</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="630" />
       <source>explicitly concatenated string or bytes should be implicitly concatenated</source>
       <translation>явно объединенные строковые или байтовые литералы должны быть неявно объединены</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="631" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="635" />
       <source>commented code lines should be removed</source>
       <translation>закомментированные строки кода должны быть удалены</translation>
     </message>
+    <message>
+      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source>
+      <translation type="vanished">return/continue/break внутри блоков finally заставляют исключения отключаться. Исключения должны быть отключены в блоках except. Управляющие операторы могут быть перемещены за пределы блока finally.</translation>
+    </message>
+    <message>
+      <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source>
+      <translation type="vanished">Литерал односимвольного кортежа является избыточным. Используйте 'except {0}:' вместо 'except ({0},):'.</translation>
+    </message>
+    <message>
+      <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source>
+      <translation type="vanished">Избыточные типы исключений в 'except ({0}){1}:'. Используйте 'except {2}{1}:', чтобы перехватывать точно такие же исключения.</translation>
+    </message>
+    <message>
+      <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source>
+      <translation type="vanished">Исключение '{0}' было перехвачено несколько раз. Будет рассмотрено только первое исключение, а все остальные исключения могут быть безопасно удалены.</translation>
+    </message>
+    <message>
+      <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
+      <translation type="vanished">Использование 'except ():' с пустым кортежем ничего не обрабатывает/не перехватывает. Добавьте исключения для обработки.</translation>
+    </message>
+    <message>
+      <source>Class '__init__' methods must not return or yield and any values.</source>
+      <translation type="vanished">Методы класса '__init__' не должны возвращать или выдавать какие-либо значения.</translation>
+    </message>
   </context>
   <context>
     <name>MouseClickDialog</name>
@@ -59718,164 +59747,164 @@
   <context>
     <name>Pip</name>
     <message>
-      <location filename="../PipInterface/Pip.py" line="156" />
+      <location filename="../PipInterface/Pip.py" line="157" />
       <source>python exited with an error ({0}).</source>
       <translation>python завершен с ошибкой ({0}).</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="165" />
+      <location filename="../PipInterface/Pip.py" line="166" />
       <source>python did not finish within 30 seconds.</source>
       <translation>python не завершился в течение 30 секунд.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="167" />
+      <location filename="../PipInterface/Pip.py" line="168" />
       <source>python could not be started.</source>
       <translation>невозможно запустить python.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="228" />
+      <location filename="../PipInterface/Pip.py" line="229" />
       <source>&lt;project&gt;</source>
       <translation>&lt;project&gt;</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="253" />
-      <source>Interpreter for Virtual Environment</source>
-      <translation>Интерпретатор для виртуального окружения</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="254" />
+      <source>Interpreter for Virtual Environment</source>
+      <translation>Интерпретатор для виртуального окружения</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="255" />
       <source>No interpreter configured for the selected virtual environment.</source>
       <translation>Для выбранного виртуального окружения не настроен интерпретатор.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="307" />
+      <location filename="../PipInterface/Pip.py" line="308" />
       <source>Install PIP</source>
       <translation>Установка PIP</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="354" />
+      <location filename="../PipInterface/Pip.py" line="355" />
       <source>Repair PIP</source>
       <translation>Восстановление PIP</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="486" />
-      <location filename="../PipInterface/Pip.py" line="468" />
+      <location filename="../PipInterface/Pip.py" line="487" />
+      <location filename="../PipInterface/Pip.py" line="469" />
       <source>Upgrade Packages</source>
       <translation>Обновление пакетов</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="469" />
+      <location filename="../PipInterface/Pip.py" line="470" />
       <source>There are no packages except 'eric-ide' or 'PyQt6' left for upgrade.</source>
       <translation>Никаких пакетов для обновления не осталось, кроме 'eric-ide' или 'PyQt6'.</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="532" />
+      <location filename="../PipInterface/Pip.py" line="533" />
       <source>Install Packages</source>
       <translation>Установка пакетов</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="563" />
+      <location filename="../PipInterface/Pip.py" line="564" />
       <source>Install Packages from Requirements</source>
       <translation>Установка пакетов, перечисленных в зависимостях</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="585" />
+      <location filename="../PipInterface/Pip.py" line="586" />
       <source>Install Project</source>
       <translation>Установка проекта</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="620" />
-      <location filename="../PipInterface/Pip.py" line="610" />
-      <source>Install 'pyproject' Dependencies</source>
-      <translation>Установка зависимостей 'pyproject'</translation>
-    </message>
-    <message>
-      <location filename="../PipInterface/Pip.py" line="748" />
-      <location filename="../PipInterface/Pip.py" line="611" />
-      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
-      <translation>Выбранный файл 'project.toml' не содержит раздела 'project.dependencies'. Прервать...</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="621" />
+      <location filename="../PipInterface/Pip.py" line="611" />
+      <source>Install 'pyproject' Dependencies</source>
+      <translation>Установка зависимостей 'pyproject'</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="749" />
+      <location filename="../PipInterface/Pip.py" line="612" />
+      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
+      <translation>Выбранный файл 'project.toml' не содержит раздела 'project.dependencies'. Прервать...</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="622" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удалось прочитать выбранный файл 'project.toml'.&lt;/p&gt;&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="641" />
+      <location filename="../PipInterface/Pip.py" line="642" />
       <source>Install Packages from 'pyproject.toml'</source>
       <translation>Установить пакеты из 'pyproject.toml'</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="775" />
-      <location filename="../PipInterface/Pip.py" line="701" />
-      <location filename="../PipInterface/Pip.py" line="671" />
-      <location filename="../PipInterface/Pip.py" line="662" />
-      <source>Uninstall Packages</source>
-      <translation>Деинсталяция пакетов</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="776" />
       <location filename="../PipInterface/Pip.py" line="702" />
+      <location filename="../PipInterface/Pip.py" line="672" />
       <location filename="../PipInterface/Pip.py" line="663" />
+      <source>Uninstall Packages</source>
+      <translation>Деинсталяция пакетов</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="777" />
+      <location filename="../PipInterface/Pip.py" line="703" />
+      <location filename="../PipInterface/Pip.py" line="664" />
       <source>Do you really want to uninstall these packages?</source>
       <translation>Вы действительно хотите деинсталировать эти пакеты?</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="719" />
+      <location filename="../PipInterface/Pip.py" line="720" />
       <source>Uninstall Packages from Requirements</source>
       <translation>Деинсталяция пакетов, перечисленных в требованиях</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="758" />
-      <location filename="../PipInterface/Pip.py" line="747" />
-      <source>Uninstall 'pyproject' Dependencies</source>
-      <translation>Деинсталировать зависимости 'pyproject'</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="759" />
+      <location filename="../PipInterface/Pip.py" line="748" />
+      <source>Uninstall 'pyproject' Dependencies</source>
+      <translation>Деинсталировать зависимости 'pyproject'</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="760" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read. &lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удалось прочитать выбранный файл 'project.toml'. &lt;/p&gt;&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="786" />
+      <location filename="../PipInterface/Pip.py" line="787" />
       <source>Uninstall Packages from 'pyproject.toml'</source>
       <translation>Деинсталировать пакеты из 'pyproject.toml'</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1197" />
+      <location filename="../PipInterface/Pip.py" line="1198" />
       <source>Cache Info</source>
       <translation>Информация о кэше</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1223" />
-      <location filename="../PipInterface/Pip.py" line="1214" />
+      <location filename="../PipInterface/Pip.py" line="1224" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>List Cached Files</source>
       <translation>Список кэшированных файлов</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1215" />
+      <location filename="../PipInterface/Pip.py" line="1216" />
       <source>Enter a file pattern (empty for all):</source>
       <translation>Задайте шаблон файлов (пустая строка - все файлы):</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1247" />
-      <location filename="../PipInterface/Pip.py" line="1240" />
+      <location filename="../PipInterface/Pip.py" line="1248" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Remove Cached Files</source>
       <translation>Удалить кэшированные файлы</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1241" />
+      <location filename="../PipInterface/Pip.py" line="1242" />
       <source>Enter a file pattern:</source>
       <translation>Задайте шаблон файла:</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1272" />
-      <location filename="../PipInterface/Pip.py" line="1264" />
+      <location filename="../PipInterface/Pip.py" line="1273" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Purge Cache</source>
       <translation>Очистить кэш</translation>
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1265" />
+      <location filename="../PipInterface/Pip.py" line="1266" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation>Вы действительно хотите очистить pip-кэш? Все файлы должны быть загружены снова.</translation>
     </message>
@@ -74540,249 +74569,246 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="166" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with its defusedxml equivalent function.</source>
-      <translation>Известно, что использование '{0}' для анализа ненадежных данных XML уязвимо для атак XML. Замените '{0}' его эквивалентной функцией defusedxml.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="172" />
       <source>FTP-related functions are being called. FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
       <translation>Вызваны связанные с FTP функции. FTP считается небезопасным. Используйте SSH/SFTP/SCP или другой протокол шифрования.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="177" />
-      <source>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</source>
-      <translation>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="184" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="171" />
       <source>By default, Python will create a secure, verified SSL context for use in such classes as HTTPSConnection. However, it still allows using an insecure context via the _create_unverified_context that reverts to the previous behavior that does not validate certificates or perform hostname checks.</source>
       <translation>По умолчанию Python создаст безопасный проверенный контекст SSL для использования в таких классах, как HTTPSConnection. Но, тем не менее, он все еще позволяет использовать незащищенный контекст через _create_unverified_context, который возвращается к предыдущему поведению, которое не проверяет сертификаты или не выполняет проверки имени хоста.</translation>
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="180" />
+      <source>Use of insecure {0} hash function.</source>
+      <translation>Использование небезопасной хэш-функции {0}.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="183" />
+      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
+      <translation>Использование небезопасного хэша {0} в целях безопасности. Рассмотрим «usedforsecurity=False».</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="188" />
+      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
+      <translation>Импортируется модуль, связанный с telnet. Telnet считается небезопасным. Используйте SSH или другой протокол шифрования.</translation>
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="193" />
-      <source>Use of insecure {0} hash function.</source>
-      <translation>Использование небезопасной хэш-функции {0}.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="196" />
-      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
-      <translation>Использование небезопасного хэша {0} в целях безопасности. Рассмотрим «usedforsecurity=False».</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="201" />
-      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
-      <translation>Импортируется модуль, связанный с telnet. Telnet считается небезопасным. Используйте SSH или другой протокол шифрования.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="206" />
       <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
       <translation>Импортируется модуль, связанный с FTP. FTP считается небезопасным. Используйте SSH/SFTP/SCP или другой протокол шифрования.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="215" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="211" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="202" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="198" />
       <source>Consider possible security implications associated with the '{0}' module.</source>
       <translation>Учитывайте возможные последствия для безопасности, связанные с модулем {0}.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="243" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="237" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="231" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="225" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="219" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="230" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="224" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="218" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="212" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="206" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.</source>
       <translation>Известно, что использование '{0}' для анализа ненадежных данных XML уязвимо для атак XML. Замените '{0}' эквивалентным пакетом defusedxml или убедитесь, что вызывается defusedxml.defuse_stdlib ().</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="249" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package.</source>
-      <translation>Известно, что использование '{0}' для анализа ненадежных данных XML уязвимо для XML-атак. Замените '{0}' эквивалентным пакетом defusedxml.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="255" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="236" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Use defusedxml.xmlrpc.monkey_patch() function to monkey-patch xmlrpclib and mitigate XML vulnerabilities.</source>
       <translation>Известно, что использование '{0}' для анализа ненадежных данных XML уязвимо для XML-атак. Используйте функцию defusedxml.xmlrpc.monkey_patch(), чтобы обезопасить xmlrpclib и устранить уязвимости XML.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="261" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="242" />
       <source>Consider possible security implications associated with '{0}' module.</source>
       <translation>Учтитывайте возможные последствия для безопасности, связанные с модулем '{0}'.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="265" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="246" />
       <source>The pyCrypto library and its module '{0}' are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.</source>
       <translation>Библиотека pyCrypto и ее модуль '{0}' больше не поддерживаются и не рекомендуются к использованию. Подумайте об использовании библиотеки pyca/cryptography.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="271" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="252" />
       <source>An IPMI-related module is being imported. IPMI is considered insecure. Use an encrypted protocol.</source>
       <translation>Импортируется модуль, связанный с IPMI. IPMI считается небезопасным. Используйте зашифрованный протокол.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="277" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="258" />
       <source>'requests' call with verify=False disabling SSL certificate checks, security issue.</source>
       <translation>Вызов 'request' с параметром verify = False отключает проверку SSL-сертификатов, проблема безопасности.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="283" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="264" />
       <source>'ssl.wrap_socket' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation>Вызов 'ssl.wrap_socket' с идентификацией небезопасной версии протокола SSL/TLS, проблема безопасности.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="288" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="269" />
       <source>'SSL.Context' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation>Вызов 'SSL.Context' с идентификацией небезопасной версии протокола SSL/TLS, проблема безопасности.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="293" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="274" />
       <source>Function call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation>Вызов функции с идентификацией небезопасной версии протокола SSL/TLS, проблема безопасности.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="298" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="279" />
       <source>Function definition identified with insecure SSL/TLS protocol version by default, possible security issue.</source>
       <translation>Определение функции с идентификацией небезопасной версии протокола SSL/TLS по умолчанию, возможная проблема безопасности.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="303" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="284" />
       <source>'ssl.wrap_socket' call with no SSL/TLS protocol version specified, the default 'SSLv23' could be insecure, possible security issue.</source>
       <translation>Вызов 'ssl.wrap_socket' без указания версии протокола SSL/TLS, по умолчанию 'SSLv23', может быть небезопасным, возможна проблема безопасности.</translation>
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="290" />
+      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
+      <translation>Размеры ключей {0} меньше {1:d} битов считаются разрушаемыми.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="294" />
+      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
+      <translation>Использование небезопасного 'yaml.load()'. Позволяет создавать экземпляры произвольных объектов. Рассмотрите yaml.safe_load().</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="300" />
+      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
+      <translation>Вызов Paramiko с установленной политикой автоматического доверия неизвестному ключу хоста.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="305" />
+      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <translation>Использование SNMPv1 и SNMPv2 небезопасно. По возможности следует использовать SNMPv3.</translation>
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="309" />
-      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
-      <translation>Размеры ключей {0} меньше {1:d} битов считаются разрушаемыми.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="313" />
-      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
-      <translation>Использование небезопасного 'yaml.load()'. Позволяет создавать экземпляры произвольных объектов. Рассмотрите yaml.safe_load().</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="319" />
-      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
-      <translation>Вызов Paramiko с установленной политикой автоматического доверия неизвестному ключу хоста.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="324" />
-      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
-      <translation>Использование SNMPv1 и SNMPv2 небезопасно. По возможности следует использовать SNMPv3.</translation>
+      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
+      <translation>Вы не должны использовать SNMPv3 без шифрования. noAuthNoPriv и authNoPriv небезопасны.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="315" />
+      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
+      <translation>Возможно введение оболочки через вызов 'Paramiko', проверьте правильность санации входов.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="320" />
+      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
+      <translation>Вызов 'subprocess' с параметром shell=True кажется безопасным, но может быть изменен в будущем, подумайте о перезаписи без shell</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="325" />
+      <source>'subprocess' call with shell=True identified, security issue.</source>
+      <translation>Идентифицирован вызов 'subprocess' с параметром shell = True, проблема безопасности.</translation>
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="328" />
-      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
-      <translation>Вы не должны использовать SNMPv3 без шифрования. noAuthNoPriv и authNoPriv небезопасны.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="334" />
-      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
-      <translation>Возможно введение оболочки через вызов 'Paramiko', проверьте правильность санации входов.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="339" />
-      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
-      <translation>Вызов 'subprocess' с параметром shell=True кажется безопасным, но может быть изменен в будущем, подумайте о перезаписи без shell</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="344" />
-      <source>'subprocess' call with shell=True identified, security issue.</source>
-      <translation>Идентифицирован вызов 'subprocess' с параметром shell = True, проблема безопасности.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="347" />
       <source>'subprocess' call - check for execution of untrusted input.</source>
       <translation>вызов 'subprocess' - проверка выполнения ненадежного ввода.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="350" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="331" />
       <source>Function call with shell=True parameter identified, possible security issue.</source>
       <translation>Идентифицирован вызов функции с параметром shell = True, возможна проблема безопасности.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="355" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="336" />
       <source>Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell</source>
       <translation>Запуск процесса с shell: кажется безопасным, но в будущем может быть изменен, подумайте о переписывании без shell</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="360" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="341" />
       <source>Starting a process with a shell, possible injection detected, security issue.</source>
       <translation>Запуск процесса с shell, обнаружение возможного внедрения, проблема безопасности.</translation>
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="346" />
+      <source>Starting a process without a shell.</source>
+      <translation>Запуск процесса без shell.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="349" />
+      <source>Starting a process with a partial executable path.</source>
+      <translation>Запуск процесса с частичным исполняемым путем.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="353" />
+      <source>Possible SQL injection vector through string-based query construction.</source>
+      <translation>Возможный вектор внедрения SQL через построение строки на основе запроса.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="358" />
+      <source>Possible wildcard injection in call: {0}</source>
+      <translation>Возможно введение символа подстановки при вызове: {0}</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="362" />
+      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
+      <translation>Использование 'extra()' открывает потенциальный вектор атаки SQL.</translation>
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="365" />
-      <source>Starting a process without a shell.</source>
-      <translation>Запуск процесса без shell.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="368" />
-      <source>Starting a process with a partial executable path.</source>
-      <translation>Запуск процесса с частичным исполняемым путем.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="372" />
-      <source>Possible SQL injection vector through string-based query construction.</source>
-      <translation>Возможный вектор внедрения SQL через построение строки на основе запроса.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="377" />
-      <source>Possible wildcard injection in call: {0}</source>
-      <translation>Возможно введение символа подстановки при вызове: {0}</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="381" />
-      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
-      <translation>Использование 'extra()' открывает потенциальный вектор атаки SQL.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="384" />
       <source>Use of 'RawSQL()' opens a potential SQL attack vector.</source>
       <translation>Использование 'RawSQL()' открывает потенциальный вектор атаки SQL.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="388" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="369" />
       <source>Use of insecure logging.config.listen() detected.</source>
       <translation>Обнаружено использование небезопасной функции logging.config.listen().</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="393" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="374" />
       <source>The Python source file contains bidirectional control characters ({0}).</source>
       <translation>Исходный файл Python содержит двунаправленные управляющие символы ({0}).</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="398" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="379" />
       <source>Use of unsafe PyTorch load or save.</source>
       <translation>Использование небезопасной загрузки или сохранения PyTorch.</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="402" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="383" />
       <source>Using jinja2 templates with 'autoescape=False' is dangerous and can lead to XSS. Use 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
       <translation>Использование шаблонов jinja2 с 'autoescape=False' опасно и может привести к XSS. Используйте 'autoescape=True' или используйте функцию 'select_autoescape' для устранения уязвимостей XSS.</translation>
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="389" />
+      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
+      <translation>По умолчанию jinja2 устанавливает для 'autoescape' значение False. Рекомендуется использовать 'autoescape=True' или использовать функцию 'select_autoescape' для устранения уязвимостей XSS.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="396" />
+      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
+      <translation>Шаблоны Mako разрешают рендеринг HTML/JS по умолчанию и по своей природе открыты для атак XSS. Убедитесь, что переменные во всех шаблонах должным образом очищены с помощью флагов 'n', 'h' или 'x' (в зависимости от контекста). Например, для экранирования HTML используйте переменную 'data', выполните ${{ data |h }}.</translation>
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="404" />
+      <source>Potential XSS on 'mark_safe()' function.</source>
+      <translation>Потенциальный XSS на функцию 'mark_safe()'.</translation>
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="408" />
-      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
-      <translation>По умолчанию jinja2 устанавливает для 'autoescape' значение False. Рекомендуется использовать 'autoescape=True' или использовать функцию 'select_autoescape' для устранения уязвимостей XSS.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="415" />
-      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
-      <translation>Шаблоны Mako разрешают рендеринг HTML/JS по умолчанию и по своей природе открыты для атак XSS. Убедитесь, что переменные во всех шаблонах должным образом очищены с помощью флагов 'n', 'h' или 'x' (в зависимости от контекста). Например, для экранирования HTML используйте переменную 'data', выполните ${{ data |h }}.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="423" />
-      <source>Potential XSS on 'mark_safe()' function.</source>
-      <translation>Потенциальный XSS на функцию 'mark_safe()'.</translation>
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="427" />
       <source>Possible hardcoded AWS access key ID: {0}</source>
       <translation>Возможный жестко закодированный идентификатор ключа доступа AWS: {0}</translation>
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="430" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="411" />
       <source>Possible hardcoded AWS secret access key: {0}</source>
       <translation>Возможный жестко закодированный секретный ключ доступа AWS: {0}</translation>
     </message>
+    <message>
+      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with its defusedxml equivalent function.</source>
+      <translation type="vanished">Известно, что использование '{0}' для анализа ненадежных данных XML уязвимо для атак XML. Замените '{0}' его эквивалентной функцией defusedxml.</translation>
+    </message>
+    <message>
+      <source>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</source>
+      <translation type="vanished">The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</translation>
+    </message>
+    <message>
+      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package.</source>
+      <translation type="vanished">Известно, что использование '{0}' для анализа ненадежных данных XML уязвимо для XML-атак. Замените '{0}' эквивалентным пакетом defusedxml.</translation>
+    </message>
   </context>
   <context>
     <name>SecurityPage</name>
--- a/src/eric7/i18n/eric7_tr.ts	Sun Feb 16 14:56:07 2025 +0100
+++ b/src/eric7/i18n/eric7_tr.ts	Sun Feb 16 15:05:39 2025 +0100
@@ -56023,17 +56023,17 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="346" />
-      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source>
+      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except{0} blocks. Control statements can be moved outside the finally block.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="352" />
-      <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source>
+      <source>A length-one tuple literal is redundant. Write 'except{1} {0}:' instead of 'except{1} ({0},):'.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="357" />
-      <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source>
+      <source>Redundant exception types in 'except{3} ({0}){1}:'. Write 'except{3} {2}{1}:', which catches exactly the same exceptions.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56088,7 +56088,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="417" />
-      <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source>
+      <source>Exception '{0}' has been caught multiple times. Only the first except{1} will be considered and all other except{1} catches can be safely removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56108,7 +56108,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="442" />
-      <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
+      <source>Using 'except{0} ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56148,7 +56148,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="480" />
-      <source>Class '__init__' methods must not return or yield and any values.</source>
+      <source>Class '__init__' methods must not return or yield any values.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56162,153 +56162,158 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="495" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="494" />
+      <source>Repeated key-value pair in dictionary literal.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="499" />
       <source>Editing a loop's mutable iterable often leads to unexpected results/bugs.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="500" />
-      <source>unncessary f-string</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="504" />
+      <source>unncessary f-string</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="508" />
       <source>cannot use 'self.__class__' as first argument of 'super()' call</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="509" />
-      <source>found {0} formatter</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="513" />
-      <source>format string does contain unindexed parameters</source>
+      <source>found {0} formatter</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="517" />
-      <source>docstring does contain unindexed parameters</source>
+      <source>format string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="521" />
-      <source>other string does contain unindexed parameters</source>
+      <source>docstring does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="525" />
-      <source>format call uses too large index ({0})</source>
+      <source>other string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="529" />
-      <source>format call uses missing keyword ({0})</source>
+      <source>format call uses too large index ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="533" />
-      <source>format call uses keyword arguments but no named entries</source>
+      <source>format call uses missing keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="537" />
-      <source>format call uses variable arguments but no numbered entries</source>
+      <source>format call uses keyword arguments but no named entries</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="541" />
-      <source>format call uses implicit and explicit indexes together</source>
+      <source>format call uses variable arguments but no numbered entries</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="545" />
-      <source>format call provides unused index ({0})</source>
+      <source>format call uses implicit and explicit indexes together</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="549" />
+      <source>format call provides unused index ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="553" />
       <source>format call provides unused keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="554" />
-      <source>expected these __future__ imports: {0}; but only got: {1}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="558" />
+      <source>expected these __future__ imports: {0}; but only got: {1}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="562" />
       <source>expected these __future__ imports: {0}; but got none</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="563" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="567" />
       <source>gettext import with alias _ found: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="568" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="572" />
       <source>print statement found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="573" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="577" />
       <source>one element tuple found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="578" />
-      <source>mutable default argument of type {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="586" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
+      <source>mutable default argument of type {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="590" />
       <source>mutable default argument of function call '{0}'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="591" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="595" />
       <source>None should not be added at any return if function has no return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="596" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="600" />
       <source>an explicit value at every return should be added if function has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="601" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="605" />
       <source>an explicit return at the end of the function should be added if it has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="606" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="610" />
       <source>a value should not be assigned to a variable if it will be used as a return value only</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="612" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="616" />
       <source>prefer implied line continuation inside parentheses, brackets and braces as opposed to a backslash</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="618" />
-      <source>implicitly concatenated string or bytes literals on one line</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="622" />
-      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <source>implicitly concatenated string or bytes literals on one line</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="626" />
+      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="630" />
       <source>explicitly concatenated string or bytes should be implicitly concatenated</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="631" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="635" />
       <source>commented code lines should be removed</source>
       <translation type="unfinished" />
     </message>
@@ -59595,164 +59600,164 @@
   <context>
     <name>Pip</name>
     <message>
-      <location filename="../PipInterface/Pip.py" line="156" />
+      <location filename="../PipInterface/Pip.py" line="157" />
       <source>python exited with an error ({0}).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="165" />
+      <location filename="../PipInterface/Pip.py" line="166" />
       <source>python did not finish within 30 seconds.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="167" />
+      <location filename="../PipInterface/Pip.py" line="168" />
       <source>python could not be started.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="228" />
+      <location filename="../PipInterface/Pip.py" line="229" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="253" />
-      <source>Interpreter for Virtual Environment</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="254" />
+      <source>Interpreter for Virtual Environment</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="255" />
       <source>No interpreter configured for the selected virtual environment.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="307" />
+      <location filename="../PipInterface/Pip.py" line="308" />
       <source>Install PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="354" />
+      <location filename="../PipInterface/Pip.py" line="355" />
       <source>Repair PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="486" />
-      <location filename="../PipInterface/Pip.py" line="468" />
+      <location filename="../PipInterface/Pip.py" line="487" />
+      <location filename="../PipInterface/Pip.py" line="469" />
       <source>Upgrade Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="469" />
+      <location filename="../PipInterface/Pip.py" line="470" />
       <source>There are no packages except 'eric-ide' or 'PyQt6' left for upgrade.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="532" />
+      <location filename="../PipInterface/Pip.py" line="533" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="563" />
+      <location filename="../PipInterface/Pip.py" line="564" />
       <source>Install Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="585" />
+      <location filename="../PipInterface/Pip.py" line="586" />
       <source>Install Project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="620" />
-      <location filename="../PipInterface/Pip.py" line="610" />
-      <source>Install 'pyproject' Dependencies</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PipInterface/Pip.py" line="748" />
-      <location filename="../PipInterface/Pip.py" line="611" />
-      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="621" />
+      <location filename="../PipInterface/Pip.py" line="611" />
+      <source>Install 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="749" />
+      <location filename="../PipInterface/Pip.py" line="612" />
+      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="622" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="641" />
+      <location filename="../PipInterface/Pip.py" line="642" />
       <source>Install Packages from 'pyproject.toml'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="775" />
-      <location filename="../PipInterface/Pip.py" line="701" />
-      <location filename="../PipInterface/Pip.py" line="671" />
-      <location filename="../PipInterface/Pip.py" line="662" />
-      <source>Uninstall Packages</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="776" />
       <location filename="../PipInterface/Pip.py" line="702" />
+      <location filename="../PipInterface/Pip.py" line="672" />
       <location filename="../PipInterface/Pip.py" line="663" />
+      <source>Uninstall Packages</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="777" />
+      <location filename="../PipInterface/Pip.py" line="703" />
+      <location filename="../PipInterface/Pip.py" line="664" />
       <source>Do you really want to uninstall these packages?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="719" />
+      <location filename="../PipInterface/Pip.py" line="720" />
       <source>Uninstall Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="758" />
-      <location filename="../PipInterface/Pip.py" line="747" />
-      <source>Uninstall 'pyproject' Dependencies</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="759" />
+      <location filename="../PipInterface/Pip.py" line="748" />
+      <source>Uninstall 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="760" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read. &lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="786" />
+      <location filename="../PipInterface/Pip.py" line="787" />
       <source>Uninstall Packages from 'pyproject.toml'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1197" />
+      <location filename="../PipInterface/Pip.py" line="1198" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1223" />
-      <location filename="../PipInterface/Pip.py" line="1214" />
+      <location filename="../PipInterface/Pip.py" line="1224" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1215" />
+      <location filename="../PipInterface/Pip.py" line="1216" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1247" />
-      <location filename="../PipInterface/Pip.py" line="1240" />
+      <location filename="../PipInterface/Pip.py" line="1248" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1241" />
+      <location filename="../PipInterface/Pip.py" line="1242" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1272" />
-      <location filename="../PipInterface/Pip.py" line="1264" />
+      <location filename="../PipInterface/Pip.py" line="1273" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1265" />
+      <location filename="../PipInterface/Pip.py" line="1266" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -74233,246 +74238,231 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="166" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with its defusedxml equivalent function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="172" />
       <source>FTP-related functions are being called. FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="177" />
-      <source>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="184" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="171" />
       <source>By default, Python will create a secure, verified SSL context for use in such classes as HTTPSConnection. However, it still allows using an insecure context via the _create_unverified_context that reverts to the previous behavior that does not validate certificates or perform hostname checks.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="180" />
+      <source>Use of insecure {0} hash function.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="183" />
+      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="188" />
+      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="193" />
-      <source>Use of insecure {0} hash function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="196" />
-      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="201" />
-      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
+      <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="202" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="198" />
+      <source>Consider possible security implications associated with the '{0}' module.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="230" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="224" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="218" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="212" />
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="206" />
-      <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="215" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="211" />
-      <source>Consider possible security implications associated with the '{0}' module.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="243" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="237" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="231" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="225" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="219" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="249" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="255" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="236" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Use defusedxml.xmlrpc.monkey_patch() function to monkey-patch xmlrpclib and mitigate XML vulnerabilities.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="261" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="242" />
       <source>Consider possible security implications associated with '{0}' module.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="265" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="246" />
       <source>The pyCrypto library and its module '{0}' are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="271" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="252" />
       <source>An IPMI-related module is being imported. IPMI is considered insecure. Use an encrypted protocol.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="277" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="258" />
       <source>'requests' call with verify=False disabling SSL certificate checks, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="283" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="264" />
       <source>'ssl.wrap_socket' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="288" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="269" />
       <source>'SSL.Context' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="293" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="274" />
       <source>Function call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="298" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="279" />
       <source>Function definition identified with insecure SSL/TLS protocol version by default, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="303" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="284" />
       <source>'ssl.wrap_socket' call with no SSL/TLS protocol version specified, the default 'SSLv23' could be insecure, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="290" />
+      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="294" />
+      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="300" />
+      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="305" />
+      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="309" />
-      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="313" />
-      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="319" />
-      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="324" />
-      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="315" />
+      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="320" />
+      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="325" />
+      <source>'subprocess' call with shell=True identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="328" />
-      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="334" />
-      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="339" />
-      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="344" />
-      <source>'subprocess' call with shell=True identified, security issue.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="347" />
       <source>'subprocess' call - check for execution of untrusted input.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="350" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="331" />
       <source>Function call with shell=True parameter identified, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="355" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="336" />
       <source>Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="360" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="341" />
       <source>Starting a process with a shell, possible injection detected, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="346" />
+      <source>Starting a process without a shell.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="349" />
+      <source>Starting a process with a partial executable path.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="353" />
+      <source>Possible SQL injection vector through string-based query construction.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="358" />
+      <source>Possible wildcard injection in call: {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="362" />
+      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="365" />
-      <source>Starting a process without a shell.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="368" />
-      <source>Starting a process with a partial executable path.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="372" />
-      <source>Possible SQL injection vector through string-based query construction.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="377" />
-      <source>Possible wildcard injection in call: {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="381" />
-      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="384" />
       <source>Use of 'RawSQL()' opens a potential SQL attack vector.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="388" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="369" />
       <source>Use of insecure logging.config.listen() detected.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="393" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="374" />
       <source>The Python source file contains bidirectional control characters ({0}).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="398" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="379" />
       <source>Use of unsafe PyTorch load or save.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="402" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="383" />
       <source>Using jinja2 templates with 'autoescape=False' is dangerous and can lead to XSS. Use 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="389" />
+      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="396" />
+      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="404" />
+      <source>Potential XSS on 'mark_safe()' function.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="408" />
-      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="415" />
-      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="423" />
-      <source>Potential XSS on 'mark_safe()' function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="427" />
       <source>Possible hardcoded AWS access key ID: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="430" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="411" />
       <source>Possible hardcoded AWS secret access key: {0}</source>
       <translation type="unfinished" />
     </message>
--- a/src/eric7/i18n/eric7_zh_CN.ts	Sun Feb 16 14:56:07 2025 +0100
+++ b/src/eric7/i18n/eric7_zh_CN.ts	Sun Feb 16 15:05:39 2025 +0100
@@ -55988,17 +55988,17 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="346" />
-      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source>
+      <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except{0} blocks. Control statements can be moved outside the finally block.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="352" />
-      <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source>
+      <source>A length-one tuple literal is redundant. Write 'except{1} {0}:' instead of 'except{1} ({0},):'.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="357" />
-      <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source>
+      <source>Redundant exception types in 'except{3} ({0}){1}:'. Write 'except{3} {2}{1}:', which catches exactly the same exceptions.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56053,7 +56053,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="417" />
-      <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source>
+      <source>Exception '{0}' has been caught multiple times. Only the first except{1} will be considered and all other except{1} catches can be safely removed.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56073,7 +56073,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="442" />
-      <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
+      <source>Using 'except{0} ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56113,7 +56113,7 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="480" />
-      <source>Class '__init__' methods must not return or yield and any values.</source>
+      <source>Class '__init__' methods must not return or yield any values.</source>
       <translation type="unfinished" />
     </message>
     <message>
@@ -56127,153 +56127,158 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="495" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="494" />
+      <source>Repeated key-value pair in dictionary literal.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="499" />
       <source>Editing a loop's mutable iterable often leads to unexpected results/bugs.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="500" />
-      <source>unncessary f-string</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="504" />
+      <source>unncessary f-string</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="508" />
       <source>cannot use 'self.__class__' as first argument of 'super()' call</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="509" />
-      <source>found {0} formatter</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="513" />
-      <source>format string does contain unindexed parameters</source>
+      <source>found {0} formatter</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="517" />
-      <source>docstring does contain unindexed parameters</source>
+      <source>format string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="521" />
-      <source>other string does contain unindexed parameters</source>
+      <source>docstring does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="525" />
-      <source>format call uses too large index ({0})</source>
+      <source>other string does contain unindexed parameters</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="529" />
-      <source>format call uses missing keyword ({0})</source>
+      <source>format call uses too large index ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="533" />
-      <source>format call uses keyword arguments but no named entries</source>
+      <source>format call uses missing keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="537" />
-      <source>format call uses variable arguments but no numbered entries</source>
+      <source>format call uses keyword arguments but no named entries</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="541" />
-      <source>format call uses implicit and explicit indexes together</source>
+      <source>format call uses variable arguments but no numbered entries</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="545" />
-      <source>format call provides unused index ({0})</source>
+      <source>format call uses implicit and explicit indexes together</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="549" />
+      <source>format call provides unused index ({0})</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="553" />
       <source>format call provides unused keyword ({0})</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="554" />
-      <source>expected these __future__ imports: {0}; but only got: {1}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="558" />
+      <source>expected these __future__ imports: {0}; but only got: {1}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="562" />
       <source>expected these __future__ imports: {0}; but got none</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="563" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="567" />
       <source>gettext import with alias _ found: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="568" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="572" />
       <source>print statement found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="573" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="577" />
       <source>one element tuple found</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="578" />
-      <source>mutable default argument of type {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="586" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" />
+      <source>mutable default argument of type {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="590" />
       <source>mutable default argument of function call '{0}'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="591" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="595" />
       <source>None should not be added at any return if function has no return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="596" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="600" />
       <source>an explicit value at every return should be added if function has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="601" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="605" />
       <source>an explicit return at the end of the function should be added if it has a return value except None</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="606" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="610" />
       <source>a value should not be assigned to a variable if it will be used as a return value only</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="612" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="616" />
       <source>prefer implied line continuation inside parentheses, brackets and braces as opposed to a backslash</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="618" />
-      <source>implicitly concatenated string or bytes literals on one line</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="622" />
-      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <source>implicitly concatenated string or bytes literals on one line</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="626" />
+      <source>implicitly concatenated string or bytes literals over continuation line</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="630" />
       <source>explicitly concatenated string or bytes should be implicitly concatenated</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="631" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="635" />
       <source>commented code lines should be removed</source>
       <translation type="unfinished" />
     </message>
@@ -59665,164 +59670,164 @@
   <context>
     <name>Pip</name>
     <message>
-      <location filename="../PipInterface/Pip.py" line="156" />
+      <location filename="../PipInterface/Pip.py" line="157" />
       <source>python exited with an error ({0}).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="165" />
+      <location filename="../PipInterface/Pip.py" line="166" />
       <source>python did not finish within 30 seconds.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="167" />
+      <location filename="../PipInterface/Pip.py" line="168" />
       <source>python could not be started.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="228" />
+      <location filename="../PipInterface/Pip.py" line="229" />
       <source>&lt;project&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="253" />
-      <source>Interpreter for Virtual Environment</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="254" />
+      <source>Interpreter for Virtual Environment</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="255" />
       <source>No interpreter configured for the selected virtual environment.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="307" />
+      <location filename="../PipInterface/Pip.py" line="308" />
       <source>Install PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="354" />
+      <location filename="../PipInterface/Pip.py" line="355" />
       <source>Repair PIP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="486" />
-      <location filename="../PipInterface/Pip.py" line="468" />
+      <location filename="../PipInterface/Pip.py" line="487" />
+      <location filename="../PipInterface/Pip.py" line="469" />
       <source>Upgrade Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="469" />
+      <location filename="../PipInterface/Pip.py" line="470" />
       <source>There are no packages except 'eric-ide' or 'PyQt6' left for upgrade.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="532" />
+      <location filename="../PipInterface/Pip.py" line="533" />
       <source>Install Packages</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="563" />
+      <location filename="../PipInterface/Pip.py" line="564" />
       <source>Install Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="585" />
+      <location filename="../PipInterface/Pip.py" line="586" />
       <source>Install Project</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="620" />
-      <location filename="../PipInterface/Pip.py" line="610" />
-      <source>Install 'pyproject' Dependencies</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../PipInterface/Pip.py" line="748" />
-      <location filename="../PipInterface/Pip.py" line="611" />
-      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="621" />
+      <location filename="../PipInterface/Pip.py" line="611" />
+      <source>Install 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="749" />
+      <location filename="../PipInterface/Pip.py" line="612" />
+      <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="622" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="641" />
+      <location filename="../PipInterface/Pip.py" line="642" />
       <source>Install Packages from 'pyproject.toml'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="775" />
-      <location filename="../PipInterface/Pip.py" line="701" />
-      <location filename="../PipInterface/Pip.py" line="671" />
-      <location filename="../PipInterface/Pip.py" line="662" />
-      <source>Uninstall Packages</source>
-      <translation type="unfinished">卸载包</translation>
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="776" />
       <location filename="../PipInterface/Pip.py" line="702" />
+      <location filename="../PipInterface/Pip.py" line="672" />
       <location filename="../PipInterface/Pip.py" line="663" />
+      <source>Uninstall Packages</source>
+      <translation type="unfinished">卸载包</translation>
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="777" />
+      <location filename="../PipInterface/Pip.py" line="703" />
+      <location filename="../PipInterface/Pip.py" line="664" />
       <source>Do you really want to uninstall these packages?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="719" />
+      <location filename="../PipInterface/Pip.py" line="720" />
       <source>Uninstall Packages from Requirements</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="758" />
-      <location filename="../PipInterface/Pip.py" line="747" />
-      <source>Uninstall 'pyproject' Dependencies</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../PipInterface/Pip.py" line="759" />
+      <location filename="../PipInterface/Pip.py" line="748" />
+      <source>Uninstall 'pyproject' Dependencies</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../PipInterface/Pip.py" line="760" />
       <source>&lt;p&gt;The selected 'pyproject.toml' file could not be read. &lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="786" />
+      <location filename="../PipInterface/Pip.py" line="787" />
       <source>Uninstall Packages from 'pyproject.toml'</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1197" />
+      <location filename="../PipInterface/Pip.py" line="1198" />
       <source>Cache Info</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1223" />
-      <location filename="../PipInterface/Pip.py" line="1214" />
+      <location filename="../PipInterface/Pip.py" line="1224" />
+      <location filename="../PipInterface/Pip.py" line="1215" />
       <source>List Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1215" />
+      <location filename="../PipInterface/Pip.py" line="1216" />
       <source>Enter a file pattern (empty for all):</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1247" />
-      <location filename="../PipInterface/Pip.py" line="1240" />
+      <location filename="../PipInterface/Pip.py" line="1248" />
+      <location filename="../PipInterface/Pip.py" line="1241" />
       <source>Remove Cached Files</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1241" />
+      <location filename="../PipInterface/Pip.py" line="1242" />
       <source>Enter a file pattern:</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1272" />
-      <location filename="../PipInterface/Pip.py" line="1264" />
+      <location filename="../PipInterface/Pip.py" line="1273" />
+      <location filename="../PipInterface/Pip.py" line="1265" />
       <source>Purge Cache</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../PipInterface/Pip.py" line="1265" />
+      <location filename="../PipInterface/Pip.py" line="1266" />
       <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source>
       <translation type="unfinished" />
     </message>
@@ -74412,246 +74417,231 @@
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="166" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with its defusedxml equivalent function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="172" />
       <source>FTP-related functions are being called. FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="177" />
-      <source>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="184" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="171" />
       <source>By default, Python will create a secure, verified SSL context for use in such classes as HTTPSConnection. However, it still allows using an insecure context via the _create_unverified_context that reverts to the previous behavior that does not validate certificates or perform hostname checks.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="180" />
+      <source>Use of insecure {0} hash function.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="183" />
+      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="188" />
+      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="193" />
-      <source>Use of insecure {0} hash function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="196" />
-      <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="201" />
-      <source>A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
+      <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="202" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="198" />
+      <source>Consider possible security implications associated with the '{0}' module.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="230" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="224" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="218" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="212" />
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="206" />
-      <source>A FTP-related module is being imported.  FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="215" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="211" />
-      <source>Consider possible security implications associated with the '{0}' module.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="243" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="237" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="231" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="225" />
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="219" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="249" />
-      <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="255" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="236" />
       <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Use defusedxml.xmlrpc.monkey_patch() function to monkey-patch xmlrpclib and mitigate XML vulnerabilities.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="261" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="242" />
       <source>Consider possible security implications associated with '{0}' module.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="265" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="246" />
       <source>The pyCrypto library and its module '{0}' are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="271" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="252" />
       <source>An IPMI-related module is being imported. IPMI is considered insecure. Use an encrypted protocol.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="277" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="258" />
       <source>'requests' call with verify=False disabling SSL certificate checks, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="283" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="264" />
       <source>'ssl.wrap_socket' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="288" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="269" />
       <source>'SSL.Context' call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="293" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="274" />
       <source>Function call with insecure SSL/TLS protocol version identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="298" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="279" />
       <source>Function definition identified with insecure SSL/TLS protocol version by default, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="303" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="284" />
       <source>'ssl.wrap_socket' call with no SSL/TLS protocol version specified, the default 'SSLv23' could be insecure, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="290" />
+      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="294" />
+      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="300" />
+      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="305" />
+      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="309" />
-      <source>{0} key sizes below {1:d} bits are considered breakable.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="313" />
-      <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="319" />
-      <source>Paramiko call with policy set to automatically trust the unknown host key.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="324" />
-      <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source>
+      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="315" />
+      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="320" />
+      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="325" />
+      <source>'subprocess' call with shell=True identified, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="328" />
-      <source>You should not use SNMPv3 without encryption. noAuthNoPriv &amp; authNoPriv is insecure.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="334" />
-      <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="339" />
-      <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="344" />
-      <source>'subprocess' call with shell=True identified, security issue.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="347" />
       <source>'subprocess' call - check for execution of untrusted input.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="350" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="331" />
       <source>Function call with shell=True parameter identified, possible security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="355" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="336" />
       <source>Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="360" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="341" />
       <source>Starting a process with a shell, possible injection detected, security issue.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="346" />
+      <source>Starting a process without a shell.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="349" />
+      <source>Starting a process with a partial executable path.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="353" />
+      <source>Possible SQL injection vector through string-based query construction.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="358" />
+      <source>Possible wildcard injection in call: {0}</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="362" />
+      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="365" />
-      <source>Starting a process without a shell.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="368" />
-      <source>Starting a process with a partial executable path.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="372" />
-      <source>Possible SQL injection vector through string-based query construction.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="377" />
-      <source>Possible wildcard injection in call: {0}</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="381" />
-      <source>Use of 'extra()' opens a potential SQL attack vector.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="384" />
       <source>Use of 'RawSQL()' opens a potential SQL attack vector.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="388" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="369" />
       <source>Use of insecure logging.config.listen() detected.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="393" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="374" />
       <source>The Python source file contains bidirectional control characters ({0}).</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="398" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="379" />
       <source>Use of unsafe PyTorch load or save.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="402" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="383" />
       <source>Using jinja2 templates with 'autoescape=False' is dangerous and can lead to XSS. Use 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="389" />
+      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="396" />
+      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="404" />
+      <source>Potential XSS on 'mark_safe()' function.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="408" />
-      <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="415" />
-      <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="423" />
-      <source>Potential XSS on 'mark_safe()' function.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="427" />
       <source>Possible hardcoded AWS access key ID: {0}</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="430" />
+      <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="411" />
       <source>Possible hardcoded AWS secret access key: {0}</source>
       <translation type="unfinished" />
     </message>

eric ide

mercurial