--- a/src/eric7/i18n/eric7_empty.ts Sun Feb 09 15:47:57 2025 +0100 +++ b/src/eric7/i18n/eric7_empty.ts Sat Mar 01 15:52:40 2025 +0100 @@ -3883,77 +3883,82 @@ <context> <name>CheckerCategories</name> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="85" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="86" /> <source>Annotations</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="86" /> - <source>Async Functions</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" /> - <source>Code Complexity</source> + <source>Async Functions</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88" /> - <source>Documentation</source> + <source>Code Complexity</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="89" /> - <source>Errors</source> + <source>Documentation</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="90" /> - <source>Imports</source> + <source>Errors</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91" /> - <source>Logging</source> + <source>Imports</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="92" /> - <source>Miscellaneous</source> + <source>Logging</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="93" /> - <source>Naming</source> + <source>Miscellaneous</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="94" /> - <source>Name Order</source> + <source>Naming</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="95" /> - <source>'pathlib' Usage</source> + <source>Name Order</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="96" /> - <source>Security</source> + <source>'pathlib' Usage</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="97" /> + <source>'pydantic' and 'dataclass' Usage</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="100" /> + <source>Security</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="101" /> <source>Unused</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="98" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="102" /> <source>Warnings</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="99" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="103" /> <source>Simplify Code</source> <translation type="unfinished" /> </message> @@ -5048,7 +5053,7 @@ <context> <name>CodeStyleChecker</name> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="516" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="528" /> <source>No message defined for code '{0}'.</source> <translation type="unfinished" /> </message> @@ -6073,59 +6078,59 @@ <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="131" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="135" /> <source>PEP-257</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="132" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="136" /> <source>Eric</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="133" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="137" /> <source>Eric (Blacked)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="239" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="243" /> <source>Errors</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="264" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="268" /> <source>Error: {0}</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1252" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1256" /> <source>{0} (ignored)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1327" /> - <source>No issues found.</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1331" /> + <source>No issues found.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1335" /> <source>No files found (check your ignore list).</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1652" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1611" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1656" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1615" /> <source>{0} - {1}</source> <comment>issue code, message</comment> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2997" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="3010" /> <source>Commented Code Whitelist Pattern</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2998" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="3011" /> <source>Enter a Commented Code Whitelist Pattern</source> <translation type="unfinished" /> </message> @@ -6195,226 +6200,226 @@ <context> <name>CodeStyleFixer</name> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="254" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="265" /> <source>Triple single quotes converted to triple double quotes.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="257" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="268" /> <source>Introductory quotes corrected to be {0}"""</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="260" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="271" /> <source>Single line docstring put on one line.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="263" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="274" /> <source>Period added to summary line.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="290" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="266" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="301" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="277" /> <source>Blank line before function/method docstring removed.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="269" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="280" /> <source>Blank line inserted before class docstring.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="272" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="283" /> <source>Blank line inserted after class docstring.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="275" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="286" /> <source>Blank line inserted after docstring summary.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="278" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="289" /> <source>Blank line inserted after last paragraph of docstring.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="281" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="292" /> <source>Leading quotes put on separate line.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="284" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="295" /> <source>Trailing quotes put on separate line.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="287" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="298" /> <source>Blank line before class docstring removed.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="293" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="304" /> <source>Blank line after class docstring removed.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="296" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="307" /> <source>Blank line after function/method docstring removed.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="299" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="310" /> <source>Blank line after last paragraph removed.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="302" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="313" /> <source>Tab converted to 4 spaces.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="305" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="316" /> <source>Indentation adjusted to be a multiple of four.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="308" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="319" /> <source>Indentation of continuation line corrected.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="311" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="322" /> <source>Indentation of closing bracket corrected.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="314" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="325" /> <source>Missing indentation of continuation line corrected.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="317" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="328" /> <source>Closing bracket aligned to opening bracket.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="320" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="331" /> <source>Indentation level changed.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="323" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="334" /> <source>Indentation level of hanging indentation changed.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="326" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="337" /> <source>Visual indentation corrected.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="341" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="335" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="329" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="352" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="346" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="340" /> <source>Extraneous whitespace removed.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="338" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="332" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="349" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="343" /> <source>Missing whitespace added.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="344" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="355" /> <source>Whitespace around comment sign corrected.</source> <translation type="unfinished" /> </message> <message numerus="yes"> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="347" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="358" /> <source>%n blank line(s) inserted.</source> <translation type="unfinished"> <numerusform /> </translation> </message> <message numerus="yes"> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="350" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="361" /> <source>%n superfluous lines removed</source> <translation type="unfinished"> <numerusform /> </translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="353" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="364" /> <source>Superfluous blank lines removed.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="356" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="367" /> <source>Superfluous blank lines after function decorator removed.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="359" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="370" /> <source>Imports were put on separate lines.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="362" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="373" /> <source>Long lines have been shortened.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="365" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="376" /> <source>Redundant backslash in brackets removed.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="371" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="368" /> - <source>Compound statement corrected.</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="374" /> - <source>Comparison to None/True/False corrected.</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="377" /> - <source>'{0}' argument added.</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="378" /> - <source>'{0}' argument removed.</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="379" /> - <source>Whitespace stripped from end of line.</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="382" /> - <source>newline added to end of file.</source> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="379" /> + <source>Compound statement corrected.</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="385" /> - <source>Superfluous trailing blank lines removed from end of file.</source> + <source>Comparison to None/True/False corrected.</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="388" /> - <source>'<>' replaced by '!='.</source> + <source>'{0}' argument added.</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="389" /> + <source>'{0}' argument removed.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="390" /> + <source>Whitespace stripped from end of line.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="393" /> + <source>newline added to end of file.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396" /> + <source>Superfluous trailing blank lines removed from end of file.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="399" /> + <source>'<>' replaced by '!='.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="400" /> <source>Could not save the file! Skipping it. Reason: {0}</source> <translation type="unfinished" /> </message> @@ -12465,7 +12470,7 @@ <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="10163" /> + <location filename="../QScintilla/Editor.py" line="10164" /> <location filename="../QScintilla/Editor.py" line="1015" /> <source>Generate Docstring</source> <translation type="unfinished" /> @@ -12748,7 +12753,7 @@ <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="9251" /> + <location filename="../QScintilla/Editor.py" line="9252" /> <location filename="../QScintilla/Editor.py" line="1420" /> <source>Check spelling...</source> <translation type="unfinished" /> @@ -12809,7 +12814,7 @@ <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="6593" /> + <location filename="../QScintilla/Editor.py" line="6594" /> <location filename="../QScintilla/Editor.py" line="1505" /> <source>Enable breakpoint</source> <translation type="unfinished" /> @@ -13053,382 +13058,382 @@ <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="5742" /> + <location filename="../QScintilla/Editor.py" line="5743" /> <source>Autocompletion</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="5743" /> + <location filename="../QScintilla/Editor.py" line="5744" /> <source>Autocompletion is not available because there is no autocompletion source set.</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="5877" /> - <source>Auto-Completion Provider</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="5878" /> + <source>Auto-Completion Provider</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="5879" /> <source>The completion list provider '{0}' was already registered. Ignoring duplicate request.</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="6174" /> - <source>Call-Tips Provider</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="6175" /> + <source>Call-Tips Provider</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="6176" /> <source>The call-tips provider '{0}' was already registered. Ignoring duplicate request.</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="6597" /> + <location filename="../QScintilla/Editor.py" line="6598" /> <source>Disable breakpoint</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7021" /> - <source>Code Coverage</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7022" /> + <source>Code Coverage</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7023" /> <source>Please select a coverage file</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7084" /> - <source>Load Coverage Data</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7085" /> + <source>Load Coverage Data</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7086" /> <source><p>The coverage data could not be loaded from file <b>{0}</b>.</p><p>Reason: {1}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7114" /> - <location filename="../QScintilla/Editor.py" line="7106" /> - <source>Show Code Coverage Annotations</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../QScintilla/Editor.py" line="7107" /> - <source>All lines have been covered.</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7115" /> + <location filename="../QScintilla/Editor.py" line="7107" /> + <source>Show Code Coverage Annotations</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7108" /> + <source>All lines have been covered.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7116" /> <source>There is no coverage file available.</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7223" /> - <source>Profile Data</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7224" /> + <source>Profile Data</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7225" /> <source>Please select a profile file</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7386" /> - <location filename="../QScintilla/Editor.py" line="7380" /> - <source>Syntax Error</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7387" /> + <location filename="../QScintilla/Editor.py" line="7381" /> + <source>Syntax Error</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7388" /> <source>No syntax error message available.</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7634" /> - <location filename="../QScintilla/Editor.py" line="7628" /> + <location filename="../QScintilla/Editor.py" line="7635" /> + <location filename="../QScintilla/Editor.py" line="7629" /> <source>Warning</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7634" /> + <location filename="../QScintilla/Editor.py" line="7635" /> <source>No warning messages available.</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7713" /> + <location filename="../QScintilla/Editor.py" line="7714" /> <source>Info: {0}</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7729" /> - <location filename="../QScintilla/Editor.py" line="7715" /> + <location filename="../QScintilla/Editor.py" line="7730" /> + <location filename="../QScintilla/Editor.py" line="7716" /> <source>Error: {0}</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7717" /> + <location filename="../QScintilla/Editor.py" line="7718" /> <source>Style: {0}</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7722" /> + <location filename="../QScintilla/Editor.py" line="7723" /> <source>Warning: {0}</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7852" /> + <location filename="../QScintilla/Editor.py" line="7853" /> <source>Macro Name</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7852" /> + <location filename="../QScintilla/Editor.py" line="7853" /> <source>Select a macro name:</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7878" /> + <location filename="../QScintilla/Editor.py" line="7879" /> <source>Load macro file</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7924" /> - <location filename="../QScintilla/Editor.py" line="7880" /> + <location filename="../QScintilla/Editor.py" line="7925" /> + <location filename="../QScintilla/Editor.py" line="7881" /> <source>Macro files (*.macro)</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7902" /> - <location filename="../QScintilla/Editor.py" line="7892" /> - <source>Error loading macro</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../QScintilla/Editor.py" line="7893" /> - <source><p>The macro file <b>{0}</b> could not be read.</p></source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7903" /> + <location filename="../QScintilla/Editor.py" line="7893" /> + <source>Error loading macro</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7894" /> + <source><p>The macro file <b>{0}</b> could not be read.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7904" /> <source><p>The macro file <b>{0}</b> is corrupt.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7922" /> + <location filename="../QScintilla/Editor.py" line="7923" /> <source>Save macro file</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7940" /> - <source>Save macro</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7941" /> + <source>Save macro</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7942" /> <source><p>The macro file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7956" /> - <source>Error saving macro</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7957" /> + <source>Error saving macro</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7958" /> <source><p>The macro file <b>{0}</b> could not be written.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7970" /> - <source>Start Macro Recording</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7971" /> + <source>Start Macro Recording</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7972" /> <source>Macro recording is already active. Start new?</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7997" /> - <source>Macro Recording</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7998" /> + <source>Macro Recording</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7999" /> <source>Enter name of the macro:</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="8215" /> + <location filename="../QScintilla/Editor.py" line="8216" /> <source>{0} (ro)</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="8412" /> + <location filename="../QScintilla/Editor.py" line="8413" /> <source><p>The file <b>{0}</b> has been changed while it was opened in eric. Reread it?</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="8418" /> + <location filename="../QScintilla/Editor.py" line="8419" /> <source><br><b>Warning:</b> You will lose your changes upon reopening it.</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="8425" /> + <location filename="../QScintilla/Editor.py" line="8426" /> <source>File changed</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="8569" /> - <source>Reload File</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8570" /> + <source>Reload File</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8571" /> <source><p>The editor contains unsaved modifications.</p><p><b>Warning:</b> You will lose your changes upon reloading it.</p><p>Shall the editor really be reloaded?</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="8670" /> - <source>Drop Error</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8671" /> + <source>Drop Error</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8672" /> <source><p><b>{0}</b> is not a file.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="8692" /> + <location filename="../QScintilla/Editor.py" line="8693" /> <source>Resources</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="8694" /> - <source>Add file...</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8695" /> - <source>Add files...</source> + <source>Add file...</source> <translation type="unfinished" /> </message> <message> <location filename="../QScintilla/Editor.py" line="8696" /> + <source>Add files...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8697" /> <source>Add aliased file...</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="8698" /> + <location filename="../QScintilla/Editor.py" line="8699" /> <source>Add localized resource...</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="8701" /> + <location filename="../QScintilla/Editor.py" line="8702" /> <source>Add resource frame</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="8721" /> + <location filename="../QScintilla/Editor.py" line="8722" /> <source>Add file resource</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="8735" /> + <location filename="../QScintilla/Editor.py" line="8736" /> <source>Add file resources</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="8759" /> - <location filename="../QScintilla/Editor.py" line="8753" /> - <source>Add aliased file resource</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8760" /> + <location filename="../QScintilla/Editor.py" line="8754" /> + <source>Add aliased file resource</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8761" /> <source>Alias for file <b>{0}</b>:</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="8842" /> - <source>Package Diagram</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8843" /> + <source>Package Diagram</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8844" /> <source>Include class attributes?</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="8863" /> - <source>Imports Diagram</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8864" /> + <source>Imports Diagram</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8865" /> <source>Include imports from external modules?</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="8883" /> - <source>Application Diagram</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8884" /> + <source>Application Diagram</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8885" /> <source>Include module names?</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="9255" /> + <location filename="../QScintilla/Editor.py" line="9256" /> <source>Add to dictionary</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="9257" /> + <location filename="../QScintilla/Editor.py" line="9258" /> <source>Ignore All</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="9704" /> - <source>Sort Lines</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="9705" /> + <source>Sort Lines</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="9706" /> <source>The selection contains illegal data for a numerical sort.</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="9798" /> - <source>Register Mouse Click Handler</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="9799" /> + <source>Register Mouse Click Handler</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="9800" /> <source>A mouse click handler for "{0}" was already registered by "{1}". Aborting request by "{2}"...</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="9892" /> + <location filename="../QScintilla/Editor.py" line="9893" /> <source>{0:4d} {1}</source> <comment>line number, source code</comment> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="9898" /> + <location filename="../QScintilla/Editor.py" line="9899" /> <source>{0:4d} {1} => {2}</source> <comment>line number, source code, file name</comment> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="9976" /> - <source>EditorConfig Properties</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="9977" /> + <source>EditorConfig Properties</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="9978" /> <source><p>The EditorConfig properties for file <b>{0}</b> could not be loaded.</p></source> <translation type="unfinished" /> </message> @@ -52563,18 +52568,18 @@ <context> <name>MicroPythonDevice</name> <message> - <location filename="../MicroPython/Devices/__init__.py" line="375" /> + <location filename="../MicroPython/Devices/__init__.py" line="399" /> <source>Generic MicroPython Board</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/Devices/__init__.py" line="422" /> + <location filename="../MicroPython/Devices/__init__.py" line="446" /> <source>RP2040/RP2350 based</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/Devices/__init__.py" line="582" /> - <location filename="../MicroPython/Devices/__init__.py" line="571" /> + <location filename="../MicroPython/Devices/__init__.py" line="606" /> + <location filename="../MicroPython/Devices/__init__.py" line="595" /> <source>Unknown Device</source> <translation type="unfinished" /> </message> @@ -55816,17 +55821,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 +55886,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 +55906,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 +55946,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,156 +55960,171 @@ <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> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="640" /> + <source>matching a default value should raise a `ValueError` exception</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="644" /> + <source>matching a default value should not contain a `return` statement before raising a `ValueError` exception</source> + <translation type="unfinished" /> + </message> </context> <context> <name>MouseClickDialog</name> @@ -58179,21 +58199,21 @@ </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="111" /> - <source>os.path.splitext('foo.bar') should be replaced by foo_path.suffix</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="115" /> + <source>os.path.splitext('foo.bar') should be replaced by foo_path.stem and foo_path.suffix</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="116" /> <source>os.path.relpath('/bar/foo', start='bar') should be replaced by foo_path.relative_to('/bar')</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="120" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="121" /> <source>open('foo') should be replaced by Path('foo').open()</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="123" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="124" /> <source>py.path.local is in maintenance mode, use pathlib instead</source> <translation type="unfinished" /> </message> @@ -59352,164 +59372,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><project></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><p>The selected 'pyproject.toml' file could not be read.</p><p>Reason: {0}</p></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><p>The selected 'pyproject.toml' file could not be read. </p><p>Reason: {0}</p></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="1195" /> + <location filename="../PipInterface/Pip.py" line="1198" /> <source>Cache Info</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="1221" /> - <location filename="../PipInterface/Pip.py" line="1212" /> + <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="1213" /> + <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="1245" /> - <location filename="../PipInterface/Pip.py" line="1238" /> + <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="1239" /> + <location filename="../PipInterface/Pip.py" line="1242" /> <source>Enter a file pattern:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="1270" /> - <location filename="../PipInterface/Pip.py" line="1262" /> + <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="1263" /> + <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> @@ -60270,6 +60290,16 @@ </message> <message> <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Enter search term for packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> + <source>Package Search</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/PipPackagesWidget.ui" line="0" /> <source>View Type</source> <translation type="unfinished" /> </message> @@ -60419,18 +60449,18 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="735" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="729" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="737" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="731" /> <source>Cleanup Environment</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="730" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="732" /> <source>The environment cleanup was successful.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="736" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="738" /> <source>Some leftover package directories could not been removed. Delete them manually.</source> <translation type="unfinished" /> </message> @@ -60611,13 +60641,13 @@ <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1580" /> - <location filename="../PipInterface/PipPackagesWidget.py" line="1555" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1585" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1560" /> <source>unknown</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1577" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1582" /> <source>any</source> <translation type="unfinished" /> </message> @@ -60717,6 +60747,21 @@ <source>Don't show 'Conda' environments</source> <translation type="unfinished" /> </message> + <message> + <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" /> + <source>Dependencies List</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" /> + <source>Search Marker Background:</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" /> + <source>Select the color for the search highlight of the dependencies list.</source> + <translation type="unfinished" /> + </message> </context> <context> <name>PipVulnerabilityChecker</name> @@ -62057,18 +62102,18 @@ <context> <name>Preferences</name> <message> - <location filename="../Preferences/__init__.py" line="1909" /> + <location filename="../Preferences/__init__.py" line="1910" /> <source>Export Preferences</source> <translation type="unfinished" /> </message> <message> - <location filename="../Preferences/__init__.py" line="1938" /> - <location filename="../Preferences/__init__.py" line="1911" /> + <location filename="../Preferences/__init__.py" line="1939" /> + <location filename="../Preferences/__init__.py" line="1912" /> <source>Properties File (*.ini);;All Files (*)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Preferences/__init__.py" line="1936" /> + <location filename="../Preferences/__init__.py" line="1937" /> <source>Import Preferences</source> <translation type="unfinished" /> </message> @@ -68897,6 +68942,44 @@ </message> </context> <context> + <name>PydanticChecker</name> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Pydantic/translations.py" line="15" /> + <source>positional argument for Field default argument</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Pydantic/translations.py" line="19" /> + <source>non-annotated attribute inside Pydantic model</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Pydantic/translations.py" line="23" /> + <source>unecessary Field call to specify a default value</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Pydantic/translations.py" line="27" /> + <source>default argument specified in annotated</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Pydantic/translations.py" line="31" /> + <source>field name overrides annotation</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Pydantic/translations.py" line="35" /> + <source>duplicate field name</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Pydantic/translations.py" line="39" /> + <source>usage of __pydantic_config__; consider using the `with_config` decorator</source> + <translation type="unfinished" /> + </message> + </context> + <context> <name>PytestExecutor</name> <message> <location filename="../Testing/Interfaces/PytestExecutor.py" line="42" /> @@ -73810,343 +73893,328 @@ <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="50" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="52" /> <source>Call to {0} without timeout.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="51" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="53" /> <source>Call to {0} with timeout set to None.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="56" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="58" /> <source>A Flask app appears to be run with debug=True, which exposes the Werkzeug debugger and allows the execution of arbitrary code.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="62" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="64" /> <source>Usage of 'tarfile.extractall(members=function(tarfile))'. Make sure your function properly discards dangerous members ({0}).</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="67" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="69" /> <source>Found 'tarfile.extractall(members=?)' but couldn't identify the type of members. Check if the members were properly validated ({0}).</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="72" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="74" /> <source>'tarfile.extractall()' used without any validation. Please check and discard dangerous members.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="78" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="80" /> <source>Pickle and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="83" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="85" /> <source>Deserialization with the marshal module is possibly dangerous.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="86" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="88" /> <source>Use of insecure MD2, MD4, MD5, or SHA1 hash function.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="89" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="91" /> <source>Use of insecure cipher '{0}'. Replace with a known secure cipher such as AES.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="94" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="96" /> <source>Use of insecure cipher mode '{0}'.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="97" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="99" /> <source>Use of insecure and deprecated function (mktemp).</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="100" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="102" /> <source>Use of possibly insecure function - consider using safer ast.literal_eval.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="104" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="106" /> <source>Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="109" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="111" /> <source>Audit url open for permitted schemes. Allowing use of file:/ or custom schemes is often unexpected.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="114" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="116" /> <source>Standard pseudo-random generators are not suitable for security/cryptographic purposes.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="119" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="121" /> <source>Telnet-related functions are being called. 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="160" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="154" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="148" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="142" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="136" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="130" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="124" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="162" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="156" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="150" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="144" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="138" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="132" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="126" /> <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with its defusedxml equivalent function or make sure defusedxml.defuse_stdlib() is called.</source> <translation type="unfinished" /> </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" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="168" /> <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="173" /> <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="193" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="182" /> <source>Use of insecure {0} hash function.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="196" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="185" /> <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" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="190" /> <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="206" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="195" /> <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" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="204" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="200" /> <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" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="232" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="226" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="220" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="214" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="208" /> <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="238" /> <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="244" /> <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="248" /> <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="254" /> + <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="260" /> + <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="266" /> + <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="271" /> - <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" /> - <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" /> - <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" /> <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="276" /> <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="281" /> <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="286" /> <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="309" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="292" /> <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" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="296" /> <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" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="302" /> <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" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="307" /> <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="328" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="311" /> <source>You should not use SNMPv3 without encryption. noAuthNoPriv & authNoPriv is insecure.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="334" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="317" /> <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" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="322" /> <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" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="327" /> <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" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="330" /> <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="333" /> <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="338" /> + <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="343" /> + <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="348" /> + <source>Starting a process without a shell.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="351" /> + <source>Starting a process with a partial executable path.</source> + <translation type="unfinished" /> + </message> + <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="355" /> - <source>Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell</source> + <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="360" /> - <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="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="364" /> + <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="367" /> + <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="371" /> + <source>Use of insecure logging.config.listen() detected.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="376" /> + <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="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" /> - <source>Use of insecure logging.config.listen() detected.</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="393" /> - <source>The Python source file contains bidirectional control characters ({0}).</source> + <source>Use of unsafe PyTorch load or save.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="385" /> + <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="391" /> + <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="398" /> - <source>Use of unsafe PyTorch load or save.</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="402" /> - <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="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" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="406" /> <source>Potential XSS on 'mark_safe()' function.</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="427" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="410" /> <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="413" /> <source>Possible hardcoded AWS secret access key: {0}</source> <translation type="unfinished" /> </message> @@ -76570,10 +76638,10 @@ <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="175" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="178" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="169" /> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="166" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="163" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="157" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="160" /> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="92" /> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="52" /> <source>Use "{0}" instead of "{1}"</source> @@ -76730,22 +76798,27 @@ <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="160" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="158" /> + <source>Do not nest f-strings</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="163" /> <source>Initialize dictionary "{0}" directly</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="169" /> - <source>Use "Optional[{0}]" instead of "{1}"</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="172" /> + <source>Use "Optional[{0}]" instead of "{1}"</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="175" /> <source>Remove reflexive assignment "{0}"</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="178" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Simplify/translations.py" line="181" /> <source>Use "{0}.items()" instead of "zip({0}.keys(), {0}.values())"</source> <translation type="unfinished" /> </message> @@ -87042,7 +87115,7 @@ </message> <message> <location filename="../Templates/TemplatePropertiesDialog.py" line="122" /> - <source><p>To use variables in a template, you just have to enclose the variable name with $-characters. When you use the template, you will then be asked for a value for this variable.</p><p>Example template: This is a $VAR$</p><p>When you use this template you will be prompted for a value for the variable $VAR$. Any occurrences of $VAR$ will then be replaced with whatever you've entered.</p><p>If you need a single $-character in a template, which is not used to enclose a variable, type $$(two dollar characters) instead. They will automatically be replaced with a single $-character when you use the template.</p><p>If you want a variables contents to be treated specially, the variable name must be followed by a ':' and one formatting specifier (e.g. $VAR:ml$). The supported specifiers are:<table><tr><td>ml</td><td>Specifies a multiline formatting. The first line of the variable contents is prefixed with the string occurring before the variable on the same line of the template. All other lines are prefixed by the same amount of whitespace as the line containing the variable.</td></tr><tr><td>rl</td><td>Specifies a repeated line formatting. Each line of the variable contents is prefixed with the string occurring before the variable on the same line of the template.</td></tr></table></p><p>The following predefined variables may be used in a template:<table><tr><td>date</td><td>today's date in ISO format (YYYY-MM-DD)</td></tr><tr><td>year</td><td>the current year</td></tr><tr><td>time</td><td>current time in ISO format (hh:mm:ss)</td></tr><tr><td>project_name</td><td>the name of the project (if any)</td></tr><tr><td>project_path</td><td>the path of the project (if any)</td></tr><tr><td>path_name</td><td>full path of the current file</td></tr><tr><td>path_name_rel</td><td>project relative path of the current file</td></tr><tr><td>dir_name</td><td>full path of the current file's directory</td></tr><tr><td>dir_name_rel</td><td>project relative path of the current file's directory</td></tr><tr><td>file_name</td><td>the current file's name (without directory)</td></tr><tr><td>base_name</td><td>like <i>file_name</i>, but without extension</td></tr><tr><td>ext</td><td>the extension of the current file</td></tr><tr><td>cur_select</td><td>the currently selected text</td></tr><tr><td>insertion</td><td>Sets insertion point for cursor after template is inserted.</td></tr><tr><td>select_start</td><td>Sets span of selected text in template after template is inserted (used together with 'select_end').</td></tr><tr><td>select_end</td><td>Sets span of selected text in template after template is inserted (used together with 'select_start').</td></tr><tr><td>clipboard</td><td>the text of the clipboard</td></tr></table></p><p>If you want to change the default delimiter to anything different, please use the configuration dialog to do so.</p></source> + <source><p>To use variables in a template, you just have to enclose the variable name with $-characters. When you use the template, you will then be asked for a value for this variable.</p><p>Example template: This is a $VAR$</p><p>When you use this template you will be prompted for a value for the variable $VAR$. Any occurrences of $VAR$ will then be replaced with whatever you've entered.</p><p>If you need a single $-character in a template, which is not used to enclose a variable, type $$ (two dollar characters) instead. They will automatically be replaced with a single $-character when you use the template.</p><p>If you want a variables contents to be treated specially, the variable name must be followed by a ':' and one formatting specifier (e.g. $VAR:ml$). The supported specifiers are:<table><tr><td>ml</td><td>Specifies a multiline formatting. The first line of the variable contents is prefixed with the string occurring before the variable on the same line of the template. All other lines are prefixed by the same amount of whitespace as the line containing the variable.</td></tr><tr><td>rl</td><td>Specifies a repeated line formatting. Each line of the variable contents is prefixed with the string occurring before the variable on the same line of the template.</td></tr></table></p><p>The following predefined variables may be used in a template:<table><tr><td>date</td><td>today's date in ISO format (YYYY-MM-DD)</td></tr><tr><td>year</td><td>the current year</td></tr><tr><td>time</td><td>current time in ISO format (hh:mm:ss)</td></tr><tr><td>project_name</td><td>the name of the project (if any)</td></tr><tr><td>project_path</td><td>the path of the project (if any)</td></tr><tr><td>path_name</td><td>full path of the current file</td></tr><tr><td>path_name_rel</td><td>project relative path of the current file</td></tr><tr><td>dir_name</td><td>full path of the current file's directory</td></tr><tr><td>dir_name_rel</td><td>project relative path of the current file's directory</td></tr><tr><td>file_name</td><td>the current file's name (without directory)</td></tr><tr><td>base_name</td><td>like <i>file_name</i>, but without extension</td></tr><tr><td>ext</td><td>the extension of the current file</td></tr><tr><td>cur_select</td><td>the currently selected text</td></tr><tr><td>insertion</td><td>Sets insertion point for cursor after template is inserted.</td></tr><tr><td>select_start</td><td>Sets span of selected text in template after template is inserted (used together with 'select_end').</td></tr><tr><td>select_end</td><td>Sets span of selected text in template after template is inserted (used together with 'select_start').</td></tr><tr><td>clipboard</td><td>the text of the clipboard</td></tr></table></p><p>If you want to change the default delimiter to anything different, please use the configuration dialog to do so.</p></source> <translation type="unfinished" /> </message> </context> @@ -89494,133 +89567,133 @@ <context> <name>UF2FlashDialog</name> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="735" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="754" /> <source><h3>CircuitPython Board</h3><p>In order to prepare the board for flashing follow these steps:</p><ol><li>Switch your device to 'bootloader' mode by double-pressing the reset button.</li><li>Wait until the device has entered 'bootloader' mode.</li><li>(If this does not happen, then try shorter or longer pauses between presses.)</li><li>Ensure the boot volume is available (this may require mounting it).</li><li>Select the firmware file to be flashed and click the flash button.</li></ol></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="761" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="780" /> <source><h3>Pi Pico (RP2040/RP2350) Board</h3><p>In order to prepare the board for flashing follow these steps:</p><ol><li>Enter 'bootloader' mode (board <b>without</b> RESET button):<ul><li>Plug in your board while holding the BOOTSEL button.</li></ul>Enter 'bootloader' mode (board <b>with</b> RESET button):<ul><li>hold down RESET</li><li>hold down BOOTSEL</li><li>release RESET</li><li>release BOOTSEL</li></ul></li><li>Wait until the device has entered 'bootloader' mode.</li><li>Ensure the boot volume is available (this may require mounting it).</li><li>Select the firmware file to be flashed and click the flash button.</li></ol></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="883" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="902" /> <source>MicroPython/CircuitPython Files (*.uf2);;All Files (*)</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="950" /> - <location filename="../MicroPython/UF2FlashDialog.py" line="942" /> - <location filename="../MicroPython/UF2FlashDialog.py" line="926" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="969" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="961" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="945" /> <source>Manual Select</source> <translation type="unfinished" /> </message> <message> + <location filename="../MicroPython/UF2FlashDialog.py" line="1073" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1041" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1018" /> + <source>Reset Instructions:</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/UF2FlashDialog.py" line="1020" /> + <source><h4>No known devices detected.</h4><p>Follow the appropriate instructions below to set <b>one</b> board into 'bootloader' mode. Press <b>Refresh</b> when ready.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/UF2FlashDialog.py" line="1044" /> + <source><h4>Flash {0} Firmware</h4><p>Follow the instructions below to set <b>one</b> board into 'bootloader' mode. Press <b>Refresh</b> when ready.</p><hr/>{1}</source> + <translation type="unfinished" /> + </message> + <message> <location filename="../MicroPython/UF2FlashDialog.py" line="1054" /> - <location filename="../MicroPython/UF2FlashDialog.py" line="1022" /> - <location filename="../MicroPython/UF2FlashDialog.py" line="999" /> - <source>Reset Instructions:</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1001" /> - <source><h4>No known devices detected.</h4><p>Follow the appropriate instructions below to set <b>one</b> board into 'bootloader' mode. Press <b>Refresh</b> when ready.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1025" /> - <source><h4>Flash {0} Firmware</h4><p>Follow the instructions below to set <b>one</b> board into 'bootloader' mode. Press <b>Refresh</b> when ready.</p><hr/>{1}</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1035" /> <source><h4>Potentially UF2 capable devices found</h4><p>Found these potentially UF2 capable devices:</p><ul><li>{0}</li></ul><p>Follow the instructions below to set <b>one</b> board into 'bootloader' mode. Press <b>Refresh</b> when ready.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1056" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1075" /> <source><h4>No known devices detected.</h4><p>Follow the instructions below to set <b>one</b> board into 'bootloader' mode. Press <b>Refresh</b> when ready.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1068" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1087" /> <source>Flash Instructions:</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1070" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1089" /> <source><h4>Flash method 'manual' selected.</h4><p>Follow the instructions below to flash a device by entering the data manually.</p><ol><li>Change the device to 'bootloader' mode.</li><li>Wait until the device has entered 'bootloader' mode.</li><li>Ensure the boot volume is available (this may require mounting it) and select its path.</li><li>Select the firmware file to be flashed and click the flash button.</li></ol></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1095" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1114" /> <source>Boot Volume not found:</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1097" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1116" /> <source><h4>No Boot Volume detected.</h4><p>Please ensure that the boot volume of the device to be flashed is available. </source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1103" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1122" /> <source>This volume should be named <b>{0}</b>. Press <b>Refresh</b> when ready.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1108" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1127" /> <source>This volume should have one of these names.</p><ul><li>{0}</li></ul><p>Press <b>Refresh</b> when ready.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1115" /> - <source><h4>Reset Instructions</h4><p>Follow the instructions below to set the board into 'bootloader' mode. Press <b>Refresh</b> when ready.</p></source> - <translation type="unfinished" /> - </message> - <message> <location filename="../MicroPython/UF2FlashDialog.py" line="1134" /> + <source><h4>Reset Instructions</h4><p>Follow the instructions below to set the board into 'bootloader' mode. Press <b>Refresh</b> when ready.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/UF2FlashDialog.py" line="1153" /> <source>Multiple Boot Volumes found:</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1136" /> - <source><h4>Multiple Boot Volumes were found</h4><p>These volume paths were found.</p><ul><li>{0}</li></ul><p>Please ensure that only one device of a type is ready for flashing. Press <b>Refresh</b> when ready.</p></source> - <translation type="unfinished" /> - </message> - <message> <location filename="../MicroPython/UF2FlashDialog.py" line="1155" /> + <source><h4>Multiple Boot Volumes were found</h4><p>These volume paths were found.</p><ul><li>{0}</li></ul><p>Please ensure that only one device of a type is ready for flashing. Press <b>Refresh</b> when ready.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/UF2FlashDialog.py" line="1174" /> <source>Flashing Firmware</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1157" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1176" /> <source><p>Flashing the selected firmware to the device. Please wait until the device resets automatically.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1164" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1183" /> <source>Flashing {0}</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1166" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1185" /> <source><p>Flashing the {0} firmware to the device. Please wait until the device resets automatically.</p></source> <translation type="unfinished" /> </message> <message> <location filename="../MicroPython/UF2FlashDialog.ui" line="0" /> - <location filename="../MicroPython/UF2FlashDialog.py" line="1278" /> - <location filename="../MicroPython/UF2FlashDialog.py" line="1270" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1297" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1289" /> <source>Flash UF2 Device</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1271" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1290" /> <source>No UF2 device 'boot' volumes found.</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1279" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1298" /> <source>Select the Boot Volume of the device:</source> <translation type="unfinished" /> </message> @@ -105782,406 +105855,406 @@ <context> <name>pycodestyle</name> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="40" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="41" /> <source>indentation contains mixed spaces and tabs</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="43" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="44" /> <source>indentation is not a multiple of four</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="46" /> - <source>expected an indented block</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="47" /> - <source>unexpected indentation</source> + <source>expected an indented block</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="48" /> + <source>unexpected indentation</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="49" /> <source>indentation is not a multiple of four (comment)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="51" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="52" /> <source>expected an indented block (comment)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="54" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="55" /> <source>unexpected indentation (comment)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="57" /> - <source>over-indented</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="58" /> + <source>over-indented</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="59" /> <source>continuation line indentation is not a multiple of four</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="61" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="62" /> <source>continuation line missing indentation or outdented</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="64" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="65" /> <source>closing bracket does not match indentation of opening bracket's line</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="68" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="69" /> <source>closing bracket does not match visual indentation</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="71" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="72" /> <source>continuation line with same indent as next logical line</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="74" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="75" /> <source>continuation line over-indented for hanging indent</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="77" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="78" /> <source>continuation line over-indented for visual indent</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="80" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="81" /> <source>continuation line under-indented for visual indent</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="83" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="84" /> <source>visually indented line with same indent as next logical line</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="86" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="87" /> <source>continuation line unaligned for hanging indent</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="89" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="90" /> <source>closing bracket is missing indentation</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="92" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="93" /> <source>whitespace after '{0}'</source> <translation type="unfinished" /> </message> <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="99" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="95" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="94" /> + <source>whitespace before '{0}'</source> + <translation type="unfinished" /> + </message> + <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="96" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="94" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="93" /> - <source>whitespace before '{0}'</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="95" /> <source>whitespace after decorator '@'</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="97" /> - <source>multiple spaces before operator</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="100" /> - <source>multiple spaces after operator</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="101" /> - <source>tab before operator</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="102" /> - <source>tab after operator</source> + <source>multiple spaces before operator</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="103" /> - <source>missing whitespace around operator</source> + <source>multiple spaces after operator</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="106" /> + <source>tab before operator</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="107" /> + <source>tab after operator</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="108" /> + <source>missing whitespace around operator</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="111" /> <source>missing whitespace around arithmetic operator</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="109" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="114" /> <source>missing whitespace around bitwise or shift operator</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="112" /> - <source>missing whitespace around modulo operator</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="115" /> - <source>missing whitespace after '{0}'</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="116" /> - <source>multiple spaces after '{0}'</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="117" /> - <source>tab after '{0}'</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="118" /> - <source>unexpected spaces around keyword / parameter equals</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="121" /> - <source>missing whitespace around parameter equals</source> + <source>missing whitespace around modulo operator</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="120" /> + <source>missing whitespace after '{0}'</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="123" /> + <source>multiple spaces after '{0}'</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="124" /> + <source>tab after '{0}'</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="125" /> + <source>unexpected spaces around keyword / parameter equals</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="128" /> + <source>missing whitespace around parameter equals</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="131" /> <source>at least two spaces before inline comment</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="127" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="134" /> <source>inline comment should start with '# '</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="130" /> - <source>block comment should start with '# '</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="133" /> - <source>too many leading '#' for block comment</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="136" /> - <source>multiple spaces after keyword</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="137" /> - <source>multiple spaces before keyword</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="138" /> - <source>tab after keyword</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="139" /> - <source>tab before keyword</source> + <source>block comment should start with '# '</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="140" /> - <source>missing whitespace after keyword</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="146" /> + <source>too many leading '#' for block comment</source> + <translation type="unfinished" /> + </message> + <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="143" /> - <source>expected {0} blank lines, found {1}</source> + <source>multiple spaces after keyword</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="144" /> + <source>multiple spaces before keyword</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="147" /> + <source>tab after keyword</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="148" /> + <source>tab before keyword</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="149" /> - <source>too many blank lines ({0}), expected {1}</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="152" /> - <source>blank lines found after function decorator</source> + <source>missing whitespace after keyword</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="155" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="152" /> + <source>expected {0} blank lines, found {1}</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="158" /> + <source>too many blank lines ({0}), expected {1}</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="161" /> + <source>blank lines found after function decorator</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="164" /> <source>expected {0} blank lines after class or function definition, found {1}</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="159" /> - <source>expected {0} blank lines before a nested definition, found {1}</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="162" /> - <source>too many blank lines ({0}) before a nested definition, expected {1}</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="166" /> - <source>too many blank lines ({0})</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="167" /> - <source>multiple imports on one line</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="168" /> - <source>module level import not at top of file</source> + <source>expected {0} blank lines before a nested definition, found {1}</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="171" /> - <source>line too long ({0} > {1} characters)</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="174" /> - <source>the backslash is redundant between brackets</source> + <source>too many blank lines ({0}) before a nested definition, expected {1}</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="175" /> + <source>too many blank lines ({0})</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="176" /> + <source>multiple imports on one line</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="177" /> - <source>multiple statements on one line (colon)</source> + <source>module level import not at top of file</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="180" /> - <source>multiple statements on one line (semicolon)</source> + <source>line too long ({0} > {1} characters)</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="183" /> - <source>statement ends with a semicolon</source> + <source>the backslash is redundant between brackets</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="186" /> - <source>multiple statements on one line (def)</source> + <source>multiple statements on one line (colon)</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="189" /> + <source>multiple statements on one line (semicolon)</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="192" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="189" /> - <source>comparison to {0} should be {1}</source> + <source>statement ends with a semicolon</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="195" /> - <source>test for membership should be 'not in'</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="198" /> - <source>test for object identity should be 'is not'</source> + <source>multiple statements on one line (def)</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="201" /> - <source>do not compare types, for exact checks use 'is' / 'is not', for instance checks use 'isinstance()'</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="206" /> - <source>do not use bare except</source> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="198" /> + <source>comparison to {0} should be {1}</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="204" /> + <source>test for membership should be 'not in'</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="207" /> - <source>do not assign a lambda expression, use a def</source> + <source>test for object identity should be 'is not'</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="210" /> + <source>do not compare types, for exact checks use 'is' / 'is not', for instance checks use 'isinstance()'</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="215" /> + <source>do not use bare except</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="216" /> + <source>do not assign a lambda expression, use a def</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="219" /> <source>ambiguous variable name '{0}'</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="211" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="220" /> <source>ambiguous class definition '{0}'</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="214" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="223" /> <source>ambiguous function definition '{0}'</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="217" /> - <source>{0}: {1}</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="218" /> - <source>{0}</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="226" /> - <source>indentation contains tabs</source> + <source>{0}: {1}</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="227" /> + <source>{0}</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="235" /> + <source>indentation contains tabs</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="236" /> <source>trailing whitespace</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="228" /> - <source>no newline at end of file</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="229" /> - <source>blank line contains whitespace</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="230" /> - <source>blank line at end of file</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="231" /> - <source>line break before binary operator</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="234" /> - <source>line break after binary operator</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="237" /> + <source>no newline at end of file</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="238" /> + <source>blank line contains whitespace</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="241" /> + <source>blank line at end of file</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="242" /> + <source>line break before binary operator</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="245" /> + <source>line break after binary operator</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="248" /> <source>doc line too long ({0} > {1} characters)</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="240" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="251" /> <source>invalid escape sequence '\{0}'</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="243" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="254" /> <source>'async' and 'await' are reserved keywords starting with Python 3.7</source> <translation type="unfinished" /> </message>