--- a/src/eric7/i18n/eric7_zh_CN.ts Sun Feb 09 15:47:57 2025 +0100 +++ b/src/eric7/i18n/eric7_zh_CN.ts Sat Mar 01 15:52:40 2025 +0100 @@ -3949,77 +3949,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> - <translation type="unfinished">代码复杂度</translation> + <source>Async Functions</source> + <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88" /> - <source>Documentation</source> - <translation type="unfinished">文档</translation> + <source>Code Complexity</source> + <translation type="unfinished">代码复杂度</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="89" /> - <source>Errors</source> - <translation type="unfinished">错误</translation> + <source>Documentation</source> + <translation type="unfinished">文档</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="90" /> - <source>Imports</source> - <translation type="unfinished">导入</translation> + <source>Errors</source> + <translation type="unfinished">错误</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91" /> - <source>Logging</source> - <translation type="unfinished" /> + <source>Imports</source> + <translation type="unfinished">导入</translation> </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> - <translation type="unfinished">安全</translation> + <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">安全</translation> + </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> @@ -5118,7 +5123,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> @@ -6146,59 +6151,59 @@ <translation type="unfinished">过滤器</translation> </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>PEP-257</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="132" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="136" /> <source>Eric</source> <translation>Eric</translation> </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>错误</translation> </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>错误:{0}</translation> </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>{0}(已忽略)</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1327" /> - <source>No issues found.</source> - <translation>未发现问题。</translation> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1331" /> + <source>No issues found.</source> + <translation>未发现问题。</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1335" /> <source>No files found (check your ignore list).</source> <translation>找不到文件(检查您忽略的列表)。</translation> </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> @@ -6268,226 +6273,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>三单引号转换成双引号。</translation> </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>前导引号更正为 {0}"""</translation> </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>单行的文档字串放在一行。</translation> </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>附于总结线的句号。</translation> </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>函数/方法文档字串前的空行已移除。</translation> </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>类文档字串前插入的空行。</translation> </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>类文档字串后的插入的空行。</translation> </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>文档字串摘要后插入的空行。</translation> </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>文档字串最后段落插入的空行。</translation> </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>前导引号放在单独一行。</translation> </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>尾随引号放在单独一行。</translation> </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>类文档字串前的空行已移除。</translation> </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>类文档字串后的空行已移除。</translation> </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>函数/方法文档字串后的空行已移除。</translation> </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>最后段落后的空行已移除。</translation> </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>制表符转换为4个空格。</translation> </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>缩进调整为4的倍数。</translation> </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>连续行缩进已更正。</translation> </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>右括号缩进已更正。</translation> </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>连续行缩进丢失已更正。</translation> </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>右括号与左括号一致。</translation> </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>缩进值已改变。</translation> </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>悬挂缩进的缩进值已改变。</translation> </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>可视缩进已更正。</translation> </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>多余空格已删除。</translation> </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>丢失的空格已添加。</translation> </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>注释符两边的空格已更正。</translation> </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> <numerusform>已插入 %n 空行。</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> <numerusform>已移除 %n 多余行</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>多余空行已移除。</translation> </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>函数修饰符后的多余空行已移除。</translation> </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>已将导入放在单独行。</translation> </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>长行已被截短。</translation> </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>括号中的多余反斜杠已移除。</translation> </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>复合语句已更正。</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="374" /> - <source>Comparison to None/True/False corrected.</source> - <translation>无/真/假的对比已更正。</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="377" /> - <source>'{0}' argument added.</source> - <translation>已添加 '{0}' 参数。</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="378" /> - <source>'{0}' argument removed.</source> - <translation>已移除 '{0}' 参数。</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="379" /> - <source>Whitespace stripped from end of line.</source> - <translation>删除行尾空格。</translation> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="382" /> - <source>newline added to end of file.</source> - <translation>文件尾添加新行。</translation> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="379" /> + <source>Compound statement corrected.</source> + <translation>复合语句已更正。</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="385" /> - <source>Superfluous trailing blank lines removed from end of file.</source> - <translation>文件尾多余的空行已移除。</translation> + <source>Comparison to None/True/False corrected.</source> + <translation>无/真/假的对比已更正。</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="388" /> - <source>'<>' replaced by '!='.</source> - <translation>用“!=”代替“<>”。</translation> + <source>'{0}' argument added.</source> + <translation>已添加 '{0}' 参数。</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="389" /> + <source>'{0}' argument removed.</source> + <translation>已移除 '{0}' 参数。</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="390" /> + <source>Whitespace stripped from end of line.</source> + <translation>删除行尾空格。</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="393" /> + <source>newline added to end of file.</source> + <translation>文件尾添加新行。</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396" /> + <source>Superfluous trailing blank lines removed from end of file.</source> + <translation>文件尾多余的空行已移除。</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="399" /> + <source>'<>' replaced by '!='.</source> + <translation>用“!=”代替“<>”。</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="400" /> <source>Could not save the file! Skipping it. Reason: {0}</source> <translation>不能保存该文件!已略过。原因: {0}</translation> </message> @@ -12570,7 +12575,7 @@ <translation>取消注释</translation> </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>生成文档字符串</translation> @@ -12853,7 +12858,7 @@ <translation type="unfinished">拼写法</translation> </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>正在进行拼写检查…</translation> @@ -12914,7 +12919,7 @@ <translation>编辑断点…</translation> </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>允许断点</translation> @@ -13158,382 +13163,382 @@ <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="5742" /> + <location filename="../QScintilla/Editor.py" line="5743" /> <source>Autocompletion</source> <translation>自动完成</translation> </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>自动完成无效,没有设定自动完成源。</translation> </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>去除断点</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7021" /> - <source>Code Coverage</source> - <translation>代码覆盖率</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7022" /> + <source>Code Coverage</source> + <translation>代码覆盖率</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7023" /> <source>Please select a coverage file</source> <translation>请选择一个覆盖率文件</translation> </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>显示代码覆盖率注解</translation> - </message> - <message> - <location filename="../QScintilla/Editor.py" line="7107" /> - <source>All lines have been covered.</source> - <translation>所有行均被已覆盖。</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7115" /> + <location filename="../QScintilla/Editor.py" line="7107" /> + <source>Show Code Coverage Annotations</source> + <translation>显示代码覆盖率注解</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7108" /> + <source>All lines have been covered.</source> + <translation>所有行均被已覆盖。</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7116" /> <source>There is no coverage file available.</source> <translation>没有有效的覆盖率文件。</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7223" /> - <source>Profile Data</source> - <translation>剖析数据</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7224" /> + <source>Profile Data</source> + <translation>剖析数据</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7225" /> <source>Please select a profile file</source> <translation>请选择一个剖析文件</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7386" /> - <location filename="../QScintilla/Editor.py" line="7380" /> - <source>Syntax Error</source> - <translation>语法错误</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7387" /> + <location filename="../QScintilla/Editor.py" line="7381" /> + <source>Syntax Error</source> + <translation>语法错误</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7388" /> <source>No syntax error message available.</source> <translation>语法错误消息无效。</translation> </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>警告</translation> </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>错误:{0}</translation> </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>警告:{0}</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7852" /> + <location filename="../QScintilla/Editor.py" line="7853" /> <source>Macro Name</source> <translation>宏名称</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7852" /> + <location filename="../QScintilla/Editor.py" line="7853" /> <source>Select a macro name:</source> <translation>选择一个宏名称:</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7878" /> + <location filename="../QScintilla/Editor.py" line="7879" /> <source>Load macro file</source> <translation>输入宏文件</translation> </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>宏文件 (*.macro)</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7902" /> - <location filename="../QScintilla/Editor.py" line="7892" /> - <source>Error loading macro</source> - <translation>载入宏文件出错</translation> - </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>载入宏文件出错</translation> + </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>保存宏文件</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7940" /> - <source>Save macro</source> - <translation>保存宏</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7941" /> + <source>Save macro</source> + <translation>保存宏</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7942" /> <source><p>The macro file <b>{0}</b> already exists. Overwrite it?</p></source> <translation><p>宏文件 <b>{0}</b> 已经存在。是否覆盖?</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7956" /> - <source>Error saving macro</source> - <translation>保存宏出错</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7957" /> + <source>Error saving macro</source> + <translation>保存宏出错</translation> + </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>开始宏录制</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7971" /> + <source>Start Macro Recording</source> + <translation>开始宏录制</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7972" /> <source>Macro recording is already active. Start new?</source> <translation>宏录制已激活。开始录制新宏?</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7997" /> - <source>Macro Recording</source> - <translation>宏录制</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7998" /> + <source>Macro Recording</source> + <translation>宏录制</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7999" /> <source>Enter name of the macro:</source> <translation>输入宏名称:</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8215" /> + <location filename="../QScintilla/Editor.py" line="8216" /> <source>{0} (ro)</source> <translation>{0}(只读)</translation> </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><br><b>警告:</b>您在重新打开时将丢失所有更改。</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8425" /> + <location filename="../QScintilla/Editor.py" line="8426" /> <source>File changed</source> <translation>文件已改变</translation> </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>降落误差</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8671" /> + <source>Drop Error</source> + <translation>降落误差</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8672" /> <source><p><b>{0}</b> is not a file.</p></source> <translation><p><b>{0}</b> 不是一个文件。</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8692" /> + <location filename="../QScintilla/Editor.py" line="8693" /> <source>Resources</source> <translation>资源</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8694" /> - <source>Add file...</source> - <translation>添加文件…</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8695" /> - <source>Add files...</source> + <source>Add file...</source> <translation>添加文件…</translation> </message> <message> <location filename="../QScintilla/Editor.py" line="8696" /> + <source>Add files...</source> + <translation>添加文件…</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8697" /> <source>Add aliased file...</source> <translation>添加别名文件…</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8698" /> + <location filename="../QScintilla/Editor.py" line="8699" /> <source>Add localized resource...</source> <translation>添加本地资源…</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8701" /> + <location filename="../QScintilla/Editor.py" line="8702" /> <source>Add resource frame</source> <translation>添加资源结构</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8721" /> + <location filename="../QScintilla/Editor.py" line="8722" /> <source>Add file resource</source> <translation>添加文件资源</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8735" /> + <location filename="../QScintilla/Editor.py" line="8736" /> <source>Add file resources</source> <translation>添加多个文件资源</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8759" /> - <location filename="../QScintilla/Editor.py" line="8753" /> - <source>Add aliased file resource</source> - <translation>添加别名文件资源</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8760" /> + <location filename="../QScintilla/Editor.py" line="8754" /> + <source>Add aliased file resource</source> + <translation>添加别名文件资源</translation> + </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>程序包图</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8843" /> + <source>Package Diagram</source> + <translation>程序包图</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8844" /> <source>Include class attributes?</source> <translation>包含类属性?</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8863" /> - <source>Imports Diagram</source> - <translation>引用图</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8864" /> + <source>Imports Diagram</source> + <translation>引用图</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8865" /> <source>Include imports from external modules?</source> <translation>从外部模块包含引用?</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8883" /> - <source>Application Diagram</source> - <translation>应用程序图</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8884" /> + <source>Application Diagram</source> + <translation>应用程序图</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8885" /> <source>Include module names?</source> <translation>包含模块名?</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="9255" /> + <location filename="../QScintilla/Editor.py" line="9256" /> <source>Add to dictionary</source> <translation>添加到文件夹</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="9257" /> + <location filename="../QScintilla/Editor.py" line="9258" /> <source>Ignore All</source> <translation>全部忽略</translation> </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> @@ -52735,18 +52740,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> @@ -55988,17 +55993,17 @@ </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="346" /> - <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source> + <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except{0} blocks. Control statements can be moved outside the finally block.</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="352" /> - <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source> + <source>A length-one tuple literal is redundant. Write 'except{1} {0}:' instead of 'except{1} ({0},):'.</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="357" /> - <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source> + <source>Redundant exception types in 'except{3} ({0}){1}:'. Write 'except{3} {2}{1}:', which catches exactly the same exceptions.</source> <translation type="unfinished" /> </message> <message> @@ -56053,7 +56058,7 @@ </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="417" /> - <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source> + <source>Exception '{0}' has been caught multiple times. Only the first except{1} will be considered and all other except{1} catches can be safely removed.</source> <translation type="unfinished" /> </message> <message> @@ -56073,7 +56078,7 @@ </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="442" /> - <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source> + <source>Using 'except{0} ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source> <translation type="unfinished" /> </message> <message> @@ -56113,7 +56118,7 @@ </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="480" /> - <source>Class '__init__' methods must not return or yield and any values.</source> + <source>Class '__init__' methods must not return or yield any values.</source> <translation type="unfinished" /> </message> <message> @@ -56127,156 +56132,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> @@ -58492,21 +58512,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> @@ -59665,164 +59685,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">卸载包</translation> - </message> - <message> <location filename="../PipInterface/Pip.py" line="776" /> <location filename="../PipInterface/Pip.py" line="702" /> + <location filename="../PipInterface/Pip.py" line="672" /> <location filename="../PipInterface/Pip.py" line="663" /> + <source>Uninstall Packages</source> + <translation type="unfinished">卸载包</translation> + </message> + <message> + <location filename="../PipInterface/Pip.py" line="777" /> + <location filename="../PipInterface/Pip.py" line="703" /> + <location filename="../PipInterface/Pip.py" line="664" /> <source>Do you really want to uninstall these packages?</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="719" /> + <location filename="../PipInterface/Pip.py" line="720" /> <source>Uninstall Packages from Requirements</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="758" /> - <location filename="../PipInterface/Pip.py" line="747" /> - <source>Uninstall 'pyproject' Dependencies</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/Pip.py" line="759" /> + <location filename="../PipInterface/Pip.py" line="748" /> + <source>Uninstall 'pyproject' Dependencies</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/Pip.py" line="760" /> <source><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> @@ -60583,6 +60603,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> @@ -60732,18 +60762,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> @@ -60924,13 +60954,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">未知</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1577" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1582" /> <source>any</source> <translation type="unfinished" /> </message> @@ -61048,6 +61078,21 @@ <source>Don't show 'Conda' environments</source> <translation type="unfinished">不显示“Conda”环境</translation> </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> @@ -62389,18 +62434,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>导出首选项</translation> </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>属性文件 (*.ini);;所有文件 (*)</translation> </message> <message> - <location filename="../Preferences/__init__.py" line="1936" /> + <location filename="../Preferences/__init__.py" line="1937" /> <source>Import Preferences</source> <translation>导入首选项</translation> </message> @@ -69304,6 +69349,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" /> @@ -74290,343 +74373,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> @@ -77051,10 +77119,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> @@ -77211,22 +77279,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> @@ -87570,7 +87643,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> @@ -90038,133 +90111,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">手动选择</translation> </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> @@ -106383,406 +106456,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>