--- a/src/eric7/i18n/eric7_pt.ts Sun Feb 09 15:47:57 2025 +0100 +++ b/src/eric7/i18n/eric7_pt.ts Sat Mar 01 15:52:40 2025 +0100 @@ -3946,77 +3946,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">Anotações</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="86" /> - <source>Async Functions</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="87" /> - <source>Code Complexity</source> + <source>Async Functions</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88" /> - <source>Documentation</source> - <translation type="unfinished">Documentação</translation> + <source>Code Complexity</source> + <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="89" /> - <source>Errors</source> - <translation type="unfinished">Erros</translation> + <source>Documentation</source> + <translation type="unfinished">Documentação</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="90" /> - <source>Imports</source> - <translation type="unfinished">Importações</translation> + <source>Errors</source> + <translation type="unfinished">Erros</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91" /> - <source>Logging</source> - <translation type="unfinished" /> + <source>Imports</source> + <translation type="unfinished">Importações</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">Segurança</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">Segurança</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">Avisos</translation> </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> @@ -5114,7 +5119,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> @@ -6142,59 +6147,59 @@ <translation type="unfinished">Filtro</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 /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="132" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="136" /> <source>Eric</source> <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>Erros</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>Erro: {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} (ignorado)</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1327" /> - <source>No issues found.</source> - <translation>Não se encontraram problemas.</translation> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1331" /> + <source>No issues found.</source> + <translation>Não se encontraram problemas.</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1335" /> <source>No files found (check your ignore list).</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1652" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1611" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1656" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1615" /> <source>{0} - {1}</source> <comment>issue code, message</comment> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2997" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="3010" /> <source>Commented Code Whitelist Pattern</source> <translation type="unfinished" /> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2998" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="3011" /> <source>Enter a Commented Code Whitelist Pattern</source> <translation type="unfinished" /> </message> @@ -6264,146 +6269,146 @@ <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>Três aspas simples convertidas a três aspas duplas.</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>Corrigidas as aspas introdutórias para ser {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>Docstring de linha única posta numa linha.</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>Ponto adicionado à linha sumário.</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>Retirada a linha vazia antes da docstring de função/método.</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>Linha branca inserida antes da docstring de classe.</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>Inserida linha vazia depois da docstring de classe.</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>Inserida linha vazia depois da docstring de sumário.</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>Inserida linha vazia depois do último parágrafo da docstring.</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>Aspas iniciais postas numa linha separada.</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>Aspas finais postas numa linha separada.</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>Retirada linha vazia antes da docstring de classe.</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>Retirada linha vazia depois da docstring de classe.</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>Retirada a linha vazia depois da docstring de função/método.</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>Retirada linha vazia depois do último parágrafo.</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>Tabulação convertida a 4 espaços.</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>Ajustada a indentação a múltiplos de quatro.</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>Corrigida a indentação da linha de continuação.</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>Corrigida a indentação de parêntesis de fecho.</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>Corrigida falta de indentação na linha de continuação.</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>Parêntesis de fecho alinhado com parêntesis de abertura.</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>Alterado o nível da indentação.</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>Alterado o nível da indentação pendente.</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>Indentação visual corrigida.</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>Espaço estranho retirado.</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>Adicionado espaço branco em falta.</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>Corrigido espaço em volta do símbolo de comentário.</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>inserida uma linha vazia.</numerusform> @@ -6411,7 +6416,7 @@ </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>retirada uma linha desnecessária</numerusform> @@ -6419,73 +6424,73 @@ </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>Retiradas linhas vazias desnecessárias.</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>Retiradas linhas vazias desnecessárias após o decorador de função.</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>Imports foram postos em linhas separadas.</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>Foram encolhidas as linhas compridas.</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>Retirada barra invertida redundante entre parêntesis.</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>Instrução composta corrigida.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="374" /> - <source>Comparison to None/True/False corrected.</source> - <translation>Corrigida a comparação a None/True/False.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="377" /> - <source>'{0}' argument added.</source> - <translation>Adicionado o argumento '{0}'.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="378" /> - <source>'{0}' argument removed.</source> - <translation>Removido o argumento '{0}'.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="379" /> - <source>Whitespace stripped from end of line.</source> - <translation>Eliminado o espaço no fim de linha.</translation> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="382" /> - <source>newline added to end of file.</source> - <translation>adicionada uma linha nova ao fim do ficheiro.</translation> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="379" /> + <source>Compound statement corrected.</source> + <translation>Instrução composta corrigida.</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="385" /> - <source>Superfluous trailing blank lines removed from end of file.</source> - <translation>Retiradas linhas vazias desnecessárias do fim do ficheiro.</translation> + <source>Comparison to None/True/False corrected.</source> + <translation>Corrigida a comparação a None/True/False.</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="388" /> - <source>'<>' replaced by '!='.</source> - <translation>'<>' substituido por '!='.</translation> + <source>'{0}' argument added.</source> + <translation>Adicionado o argumento '{0}'.</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="389" /> + <source>'{0}' argument removed.</source> + <translation>Removido o argumento '{0}'.</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="390" /> + <source>Whitespace stripped from end of line.</source> + <translation>Eliminado o espaço no fim de linha.</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="393" /> + <source>newline added to end of file.</source> + <translation>adicionada uma linha nova ao fim do ficheiro.</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396" /> + <source>Superfluous trailing blank lines removed from end of file.</source> + <translation>Retiradas linhas vazias desnecessárias do fim do ficheiro.</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="399" /> + <source>'<>' replaced by '!='.</source> + <translation>'<>' substituido por '!='.</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="400" /> <source>Could not save the file! Skipping it. Reason: {0}</source> <translation>Não se pode gravar ficheiro! Saltando-o. Motivo: {0}</translation> </message> @@ -12580,7 +12585,7 @@ <translation>Descomentar</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 type="unfinished" /> @@ -12863,7 +12868,7 @@ <translation type="unfinished">Verificação ortográfica</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>Verificação ortográfica...</translation> @@ -12924,7 +12929,7 @@ <translation>Editar ponto de interrupção...</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>Habilitar pontos de interrupção</translation> @@ -13168,382 +13173,382 @@ <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="5742" /> + <location filename="../QScintilla/Editor.py" line="5743" /> <source>Autocompletion</source> <translation>Autocompletar</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>Autocompletar não está disponivel porque a fonte de autocompletar não está definida.</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>Inabilitar ponto de interrupção</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7021" /> - <source>Code Coverage</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7022" /> + <source>Code Coverage</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7023" /> <source>Please select a coverage file</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7084" /> - <source>Load Coverage Data</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7085" /> + <source>Load Coverage Data</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7086" /> <source><p>The coverage data could not be loaded from file <b>{0}</b>.</p><p>Reason: {1}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7114" /> - <location filename="../QScintilla/Editor.py" line="7106" /> - <source>Show Code Coverage Annotations</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../QScintilla/Editor.py" line="7107" /> - <source>All lines have been covered.</source> - <translation>Foram cobertas as linhas todas.</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7115" /> + <location filename="../QScintilla/Editor.py" line="7107" /> + <source>Show Code Coverage Annotations</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7108" /> + <source>All lines have been covered.</source> + <translation>Foram cobertas as linhas todas.</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7116" /> <source>There is no coverage file available.</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="7223" /> - <source>Profile Data</source> - <translation>Dados de Perfil</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7224" /> + <source>Profile Data</source> + <translation>Dados de Perfil</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7225" /> <source>Please select a profile file</source> <translation>Escolha um ficheiro de perfil por favor</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7386" /> - <location filename="../QScintilla/Editor.py" line="7380" /> - <source>Syntax Error</source> - <translation>Erro de Sintaxe</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7387" /> + <location filename="../QScintilla/Editor.py" line="7381" /> + <source>Syntax Error</source> + <translation>Erro de Sintaxe</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7388" /> <source>No syntax error message available.</source> <translation>Não está disponível a mensagem de erro de sintaxe.</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>Aviso</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7634" /> + <location filename="../QScintilla/Editor.py" line="7635" /> <source>No warning messages available.</source> <translation>Não estão disponíveis mensagens de aviso.</translation> </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>Erro: {0}</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7717" /> + <location filename="../QScintilla/Editor.py" line="7718" /> <source>Style: {0}</source> <translation>Estilo: {0}</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7722" /> + <location filename="../QScintilla/Editor.py" line="7723" /> <source>Warning: {0}</source> <translation>Aviso: {0}</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7852" /> + <location filename="../QScintilla/Editor.py" line="7853" /> <source>Macro Name</source> <translation>Nome de Macro</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7852" /> + <location filename="../QScintilla/Editor.py" line="7853" /> <source>Select a macro name:</source> <translation>Selecionar um nome de macro:</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7878" /> + <location filename="../QScintilla/Editor.py" line="7879" /> <source>Load macro file</source> <translation>Carregar ficheiro macro</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>Ficheiros Macro (*.macro)</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7902" /> - <location filename="../QScintilla/Editor.py" line="7892" /> - <source>Error loading macro</source> - <translation>Erro ao carregar macro</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><p>O ficheiro macro <b>{0}</b> não se pode ler.</p></translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7903" /> + <location filename="../QScintilla/Editor.py" line="7893" /> + <source>Error loading macro</source> + <translation>Erro ao carregar macro</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><p>O ficheiro macro <b>{0}</b> não se pode ler.</p></translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7904" /> <source><p>The macro file <b>{0}</b> is corrupt.</p></source> <translation><p>O ficheiro macro <b>{0}</b> está corrompido.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7922" /> + <location filename="../QScintilla/Editor.py" line="7923" /> <source>Save macro file</source> <translation>Gravar ficheiro macro</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7940" /> - <source>Save macro</source> - <translation>Gravar macro</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7941" /> + <source>Save macro</source> + <translation>Gravar macro</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>O ficheiro macro <b>{0}</b> já existe. Sobreescrever-lo?</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7956" /> - <source>Error saving macro</source> - <translation>Erro ao gravar macro</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7957" /> + <source>Error saving macro</source> + <translation>Erro ao gravar macro</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><p>O ficheiro macro <b>{0}</b> não pode ser escrito.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7970" /> - <source>Start Macro Recording</source> - <translation>Iniciar Registo de Macro</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7971" /> + <source>Start Macro Recording</source> + <translation>Iniciar Registo de Macro</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7972" /> <source>Macro recording is already active. Start new?</source> <translation>A gravação de macro já está ativada. Começar nova?</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7997" /> - <source>Macro Recording</source> - <translation>Gravação de Macro</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7998" /> + <source>Macro Recording</source> + <translation>Gravação de Macro</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7999" /> <source>Enter name of the macro:</source> <translation>Introduza o nome de macro:</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8215" /> + <location filename="../QScintilla/Editor.py" line="8216" /> <source>{0} (ro)</source> <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>Aviso:</b> Perderá todas as alterações uma vez que o volte a abrir.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8425" /> + <location filename="../QScintilla/Editor.py" line="8426" /> <source>File changed</source> <translation>Ficheiro alterado</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 type="unfinished" /> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8671" /> + <source>Drop Error</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8672" /> <source><p><b>{0}</b> is not a file.</p></source> <translation><p><b>{0}</b> não é um ficheiro.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8692" /> + <location filename="../QScintilla/Editor.py" line="8693" /> <source>Resources</source> <translation>Recursos</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8694" /> - <source>Add file...</source> - <translation>Adicionar Ficheiro...</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8695" /> - <source>Add files...</source> - <translation>Adicionar Ficheiros...</translation> + <source>Add file...</source> + <translation>Adicionar Ficheiro...</translation> </message> <message> <location filename="../QScintilla/Editor.py" line="8696" /> + <source>Add files...</source> + <translation>Adicionar Ficheiros...</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8697" /> <source>Add aliased file...</source> <translation>Adicionar ficheiro com pseudónimo...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8698" /> + <location filename="../QScintilla/Editor.py" line="8699" /> <source>Add localized resource...</source> <translation>Adicionar recursos localizado...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8701" /> + <location filename="../QScintilla/Editor.py" line="8702" /> <source>Add resource frame</source> <translation type="unfinished" /> </message> <message> - <location filename="../QScintilla/Editor.py" line="8721" /> + <location filename="../QScintilla/Editor.py" line="8722" /> <source>Add file resource</source> <translation>Adicionar recurso de ficheiro</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8735" /> + <location filename="../QScintilla/Editor.py" line="8736" /> <source>Add file resources</source> <translation>Adicionar recursos de ficheiro</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8759" /> - <location filename="../QScintilla/Editor.py" line="8753" /> - <source>Add aliased file resource</source> - <translation>Adicionar recurso de ficheiro com pseudónimo</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8760" /> + <location filename="../QScintilla/Editor.py" line="8754" /> + <source>Add aliased file resource</source> + <translation>Adicionar recurso de ficheiro com pseudónimo</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8761" /> <source>Alias for file <b>{0}</b>:</source> <translation>Pseudónimo para o ficheiro <b>{0}</b>:</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8842" /> - <source>Package Diagram</source> - <translation>Diagrama do Pacote</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8843" /> + <source>Package Diagram</source> + <translation>Diagrama do Pacote</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8844" /> <source>Include class attributes?</source> <translation>Incluir atributos de classes?</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8863" /> - <source>Imports Diagram</source> - <translation>Diagrama de Imports</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8864" /> + <source>Imports Diagram</source> + <translation>Diagrama de Imports</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8865" /> <source>Include imports from external modules?</source> <translation>Incluir imports de módulos externos?</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8883" /> - <source>Application Diagram</source> - <translation>Diagrama da Aplicação</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="8884" /> + <source>Application Diagram</source> + <translation>Diagrama da Aplicação</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="8885" /> <source>Include module names?</source> <translation>Incluir nome dos módulos?</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="9255" /> + <location filename="../QScintilla/Editor.py" line="9256" /> <source>Add to dictionary</source> <translation>Adicionar dicionário</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="9257" /> + <location filename="../QScintilla/Editor.py" line="9258" /> <source>Ignore All</source> <translation>Ignorar Tudo</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="9704" /> - <source>Sort Lines</source> - <translation>Ordenar Linhas</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="9705" /> + <source>Sort Lines</source> + <translation>Ordenar Linhas</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="9706" /> <source>The selection contains illegal data for a numerical sort.</source> <translation>A seleção contém dados ilegais para uma ordenação numérica.</translation> </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> @@ -52848,18 +52853,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> @@ -56102,17 +56107,17 @@ </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="346" /> - <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source> + <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except{0} blocks. Control statements can be moved outside the finally block.</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="352" /> - <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source> + <source>A length-one tuple literal is redundant. Write 'except{1} {0}:' instead of 'except{1} ({0},):'.</source> <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="357" /> - <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source> + <source>Redundant exception types in 'except{3} ({0}){1}:'. Write 'except{3} {2}{1}:', which catches exactly the same exceptions.</source> <translation type="unfinished" /> </message> <message> @@ -56167,7 +56172,7 @@ </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="417" /> - <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source> + <source>Exception '{0}' has been caught multiple times. Only the first except{1} will be considered and all other except{1} catches can be safely removed.</source> <translation type="unfinished" /> </message> <message> @@ -56187,7 +56192,7 @@ </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="442" /> - <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source> + <source>Using 'except{0} ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source> <translation type="unfinished" /> </message> <message> @@ -56227,7 +56232,7 @@ </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="480" /> - <source>Class '__init__' methods must not return or yield and any values.</source> + <source>Class '__init__' methods must not return or yield any values.</source> <translation type="unfinished" /> </message> <message> @@ -56241,156 +56246,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> @@ -58513,21 +58533,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> @@ -59686,164 +59706,164 @@ <context> <name>Pip</name> <message> - <location filename="../PipInterface/Pip.py" line="156" /> + <location filename="../PipInterface/Pip.py" line="157" /> <source>python exited with an error ({0}).</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="165" /> + <location filename="../PipInterface/Pip.py" line="166" /> <source>python did not finish within 30 seconds.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="167" /> + <location filename="../PipInterface/Pip.py" line="168" /> <source>python could not be started.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="228" /> + <location filename="../PipInterface/Pip.py" line="229" /> <source><project></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="253" /> - <source>Interpreter for Virtual Environment</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/Pip.py" line="254" /> + <source>Interpreter for Virtual Environment</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/Pip.py" line="255" /> <source>No interpreter configured for the selected virtual environment.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="307" /> + <location filename="../PipInterface/Pip.py" line="308" /> <source>Install PIP</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="354" /> + <location filename="../PipInterface/Pip.py" line="355" /> <source>Repair PIP</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="486" /> - <location filename="../PipInterface/Pip.py" line="468" /> + <location filename="../PipInterface/Pip.py" line="487" /> + <location filename="../PipInterface/Pip.py" line="469" /> <source>Upgrade Packages</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="469" /> + <location filename="../PipInterface/Pip.py" line="470" /> <source>There are no packages except 'eric-ide' or 'PyQt6' left for upgrade.</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="532" /> + <location filename="../PipInterface/Pip.py" line="533" /> <source>Install Packages</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="563" /> + <location filename="../PipInterface/Pip.py" line="564" /> <source>Install Packages from Requirements</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="585" /> + <location filename="../PipInterface/Pip.py" line="586" /> <source>Install Project</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="620" /> - <location filename="../PipInterface/Pip.py" line="610" /> - <source>Install 'pyproject' Dependencies</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../PipInterface/Pip.py" line="748" /> - <location filename="../PipInterface/Pip.py" line="611" /> - <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/Pip.py" line="621" /> + <location filename="../PipInterface/Pip.py" line="611" /> + <source>Install 'pyproject' Dependencies</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/Pip.py" line="749" /> + <location filename="../PipInterface/Pip.py" line="612" /> + <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/Pip.py" line="622" /> <source><p>The selected 'pyproject.toml' file could not be read.</p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="641" /> + <location filename="../PipInterface/Pip.py" line="642" /> <source>Install Packages from 'pyproject.toml'</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="775" /> - <location filename="../PipInterface/Pip.py" line="701" /> - <location filename="../PipInterface/Pip.py" line="671" /> - <location filename="../PipInterface/Pip.py" line="662" /> - <source>Uninstall Packages</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/Pip.py" line="776" /> <location filename="../PipInterface/Pip.py" line="702" /> + <location filename="../PipInterface/Pip.py" line="672" /> <location filename="../PipInterface/Pip.py" line="663" /> + <source>Uninstall Packages</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/Pip.py" line="777" /> + <location filename="../PipInterface/Pip.py" line="703" /> + <location filename="../PipInterface/Pip.py" line="664" /> <source>Do you really want to uninstall these packages?</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="719" /> + <location filename="../PipInterface/Pip.py" line="720" /> <source>Uninstall Packages from Requirements</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="758" /> - <location filename="../PipInterface/Pip.py" line="747" /> - <source>Uninstall 'pyproject' Dependencies</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../PipInterface/Pip.py" line="759" /> + <location filename="../PipInterface/Pip.py" line="748" /> + <source>Uninstall 'pyproject' Dependencies</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../PipInterface/Pip.py" line="760" /> <source><p>The selected 'pyproject.toml' file could not be read. </p><p>Reason: {0}</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="786" /> + <location filename="../PipInterface/Pip.py" line="787" /> <source>Uninstall Packages from 'pyproject.toml'</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="1195" /> + <location filename="../PipInterface/Pip.py" line="1198" /> <source>Cache Info</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="1221" /> - <location filename="../PipInterface/Pip.py" line="1212" /> + <location filename="../PipInterface/Pip.py" line="1224" /> + <location filename="../PipInterface/Pip.py" line="1215" /> <source>List Cached Files</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="1213" /> + <location filename="../PipInterface/Pip.py" line="1216" /> <source>Enter a file pattern (empty for all):</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="1245" /> - <location filename="../PipInterface/Pip.py" line="1238" /> + <location filename="../PipInterface/Pip.py" line="1248" /> + <location filename="../PipInterface/Pip.py" line="1241" /> <source>Remove Cached Files</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="1239" /> + <location filename="../PipInterface/Pip.py" line="1242" /> <source>Enter a file pattern:</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="1270" /> - <location filename="../PipInterface/Pip.py" line="1262" /> + <location filename="../PipInterface/Pip.py" line="1273" /> + <location filename="../PipInterface/Pip.py" line="1265" /> <source>Purge Cache</source> <translation type="unfinished" /> </message> <message> - <location filename="../PipInterface/Pip.py" line="1263" /> + <location filename="../PipInterface/Pip.py" line="1266" /> <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source> <translation type="unfinished" /> </message> @@ -60604,6 +60624,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> @@ -60753,18 +60783,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> @@ -60945,13 +60975,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">desconhecido</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1577" /> + <location filename="../PipInterface/PipPackagesWidget.py" line="1582" /> <source>any</source> <translation type="unfinished" /> </message> @@ -61070,6 +61100,21 @@ <source>Don't show 'Conda' environments</source> <translation type="unfinished" /> </message> + <message> + <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" /> + <source>Dependencies List</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" /> + <source>Search Marker Background:</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Preferences/ConfigurationPages/PipPage.ui" line="0" /> + <source>Select the color for the search highlight of the dependencies list.</source> + <translation type="unfinished" /> + </message> </context> <context> <name>PipVulnerabilityChecker</name> @@ -62414,18 +62459,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>Exportar Preferências</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>Ficheiro de Propriedades (*.ini);;Ficheiros Todos (*)</translation> </message> <message> - <location filename="../Preferences/__init__.py" line="1936" /> + <location filename="../Preferences/__init__.py" line="1937" /> <source>Import Preferences</source> <translation>Importar Preferências</translation> </message> @@ -69276,6 +69321,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" /> @@ -74216,343 +74299,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> @@ -76976,10 +77044,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> @@ -77136,22 +77204,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> @@ -87458,7 +87531,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> @@ -89916,133 +89989,133 @@ <context> <name>UF2FlashDialog</name> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="735" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="754" /> <source><h3>CircuitPython Board</h3><p>In order to prepare the board for flashing follow these steps:</p><ol><li>Switch your device to 'bootloader' mode by double-pressing the reset button.</li><li>Wait until the device has entered 'bootloader' mode.</li><li>(If this does not happen, then try shorter or longer pauses between presses.)</li><li>Ensure the boot volume is available (this may require mounting it).</li><li>Select the firmware file to be flashed and click the flash button.</li></ol></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="761" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="780" /> <source><h3>Pi Pico (RP2040/RP2350) Board</h3><p>In order to prepare the board for flashing follow these steps:</p><ol><li>Enter 'bootloader' mode (board <b>without</b> RESET button):<ul><li>Plug in your board while holding the BOOTSEL button.</li></ul>Enter 'bootloader' mode (board <b>with</b> RESET button):<ul><li>hold down RESET</li><li>hold down BOOTSEL</li><li>release RESET</li><li>release BOOTSEL</li></ul></li><li>Wait until the device has entered 'bootloader' mode.</li><li>Ensure the boot volume is available (this may require mounting it).</li><li>Select the firmware file to be flashed and click the flash button.</li></ol></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="883" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="902" /> <source>MicroPython/CircuitPython Files (*.uf2);;All Files (*)</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="950" /> - <location filename="../MicroPython/UF2FlashDialog.py" line="942" /> - <location filename="../MicroPython/UF2FlashDialog.py" line="926" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="969" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="961" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="945" /> <source>Manual Select</source> <translation type="unfinished" /> </message> <message> + <location filename="../MicroPython/UF2FlashDialog.py" line="1073" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1041" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1018" /> + <source>Reset Instructions:</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/UF2FlashDialog.py" line="1020" /> + <source><h4>No known devices detected.</h4><p>Follow the appropriate instructions below to set <b>one</b> board into 'bootloader' mode. Press <b>Refresh</b> when ready.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/UF2FlashDialog.py" line="1044" /> + <source><h4>Flash {0} Firmware</h4><p>Follow the instructions below to set <b>one</b> board into 'bootloader' mode. Press <b>Refresh</b> when ready.</p><hr/>{1}</source> + <translation type="unfinished" /> + </message> + <message> <location filename="../MicroPython/UF2FlashDialog.py" line="1054" /> - <location filename="../MicroPython/UF2FlashDialog.py" line="1022" /> - <location filename="../MicroPython/UF2FlashDialog.py" line="999" /> - <source>Reset Instructions:</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1001" /> - <source><h4>No known devices detected.</h4><p>Follow the appropriate instructions below to set <b>one</b> board into 'bootloader' mode. Press <b>Refresh</b> when ready.</p></source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1025" /> - <source><h4>Flash {0} Firmware</h4><p>Follow the instructions below to set <b>one</b> board into 'bootloader' mode. Press <b>Refresh</b> when ready.</p><hr/>{1}</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1035" /> <source><h4>Potentially UF2 capable devices found</h4><p>Found these potentially UF2 capable devices:</p><ul><li>{0}</li></ul><p>Follow the instructions below to set <b>one</b> board into 'bootloader' mode. Press <b>Refresh</b> when ready.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1056" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1075" /> <source><h4>No known devices detected.</h4><p>Follow the instructions below to set <b>one</b> board into 'bootloader' mode. Press <b>Refresh</b> when ready.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1068" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1087" /> <source>Flash Instructions:</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1070" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1089" /> <source><h4>Flash method 'manual' selected.</h4><p>Follow the instructions below to flash a device by entering the data manually.</p><ol><li>Change the device to 'bootloader' mode.</li><li>Wait until the device has entered 'bootloader' mode.</li><li>Ensure the boot volume is available (this may require mounting it) and select its path.</li><li>Select the firmware file to be flashed and click the flash button.</li></ol></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1095" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1114" /> <source>Boot Volume not found:</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1097" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1116" /> <source><h4>No Boot Volume detected.</h4><p>Please ensure that the boot volume of the device to be flashed is available. </source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1103" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1122" /> <source>This volume should be named <b>{0}</b>. Press <b>Refresh</b> when ready.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1108" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1127" /> <source>This volume should have one of these names.</p><ul><li>{0}</li></ul><p>Press <b>Refresh</b> when ready.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1115" /> - <source><h4>Reset Instructions</h4><p>Follow the instructions below to set the board into 'bootloader' mode. Press <b>Refresh</b> when ready.</p></source> - <translation type="unfinished" /> - </message> - <message> <location filename="../MicroPython/UF2FlashDialog.py" line="1134" /> + <source><h4>Reset Instructions</h4><p>Follow the instructions below to set the board into 'bootloader' mode. Press <b>Refresh</b> when ready.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/UF2FlashDialog.py" line="1153" /> <source>Multiple Boot Volumes found:</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1136" /> - <source><h4>Multiple Boot Volumes were found</h4><p>These volume paths were found.</p><ul><li>{0}</li></ul><p>Please ensure that only one device of a type is ready for flashing. Press <b>Refresh</b> when ready.</p></source> - <translation type="unfinished" /> - </message> - <message> <location filename="../MicroPython/UF2FlashDialog.py" line="1155" /> + <source><h4>Multiple Boot Volumes were found</h4><p>These volume paths were found.</p><ul><li>{0}</li></ul><p>Please ensure that only one device of a type is ready for flashing. Press <b>Refresh</b> when ready.</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MicroPython/UF2FlashDialog.py" line="1174" /> <source>Flashing Firmware</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1157" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1176" /> <source><p>Flashing the selected firmware to the device. Please wait until the device resets automatically.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1164" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1183" /> <source>Flashing {0}</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1166" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1185" /> <source><p>Flashing the {0} firmware to the device. Please wait until the device resets automatically.</p></source> <translation type="unfinished" /> </message> <message> <location filename="../MicroPython/UF2FlashDialog.ui" line="0" /> - <location filename="../MicroPython/UF2FlashDialog.py" line="1278" /> - <location filename="../MicroPython/UF2FlashDialog.py" line="1270" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1297" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1289" /> <source>Flash UF2 Device</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1271" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1290" /> <source>No UF2 device 'boot' volumes found.</source> <translation type="unfinished" /> </message> <message> - <location filename="../MicroPython/UF2FlashDialog.py" line="1279" /> + <location filename="../MicroPython/UF2FlashDialog.py" line="1298" /> <source>Select the Boot Volume of the device:</source> <translation type="unfinished" /> </message> @@ -106247,406 +106320,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">indentação com espaços misturados com tabulações</translation> </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">indentação não é multipla de quatro</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="46" /> - <source>expected an indented block</source> - <translation type="unfinished">esperado um bloque de indentação</translation> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="47" /> - <source>unexpected indentation</source> - <translation type="unfinished">indentação inesperada</translation> + <source>expected an indented block</source> + <translation type="unfinished">esperado um bloque de indentação</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="48" /> + <source>unexpected indentation</source> + <translation type="unfinished">indentação inesperada</translation> + </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">espaço depois de '{0}'</translation> </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">espaço antes de '{0}</translation> + </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">espaço antes de '{0}</translation> - </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">espaços múltiplos antes do operador</translation> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="100" /> - <source>multiple spaces after operator</source> - <translation type="unfinished">espaços múltiplos depois do operador</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="101" /> - <source>tab before operator</source> - <translation type="unfinished">tabulação antes do operador</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="102" /> - <source>tab after operator</source> - <translation type="unfinished">tabulação depois do operador</translation> + <source>multiple spaces before operator</source> + <translation type="unfinished">espaços múltiplos antes do operador</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="103" /> - <source>missing whitespace around operator</source> - <translation type="unfinished">falta espaço à volta do operador</translation> + <source>multiple spaces after operator</source> + <translation type="unfinished">espaços múltiplos depois do operador</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="106" /> + <source>tab before operator</source> + <translation type="unfinished">tabulação antes do operador</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="107" /> + <source>tab after operator</source> + <translation type="unfinished">tabulação depois do operador</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="108" /> + <source>missing whitespace around operator</source> + <translation type="unfinished">falta espaço à volta do operador</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="111" /> <source>missing whitespace around arithmetic operator</source> <translation type="unfinished">falta espaço à volta do operador aritmético</translation> </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">falta espaço depois de '{0}'</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="116" /> - <source>multiple spaces after '{0}'</source> - <translation type="unfinished">múltiplos espaços depois de '{0}'</translation> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="117" /> - <source>tab after '{0}'</source> - <translation type="unfinished">tabulação depois de '{0}'</translation> - </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> - <translation type="unfinished" /> + <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">falta espaço depois de '{0}'</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="123" /> + <source>multiple spaces after '{0}'</source> + <translation type="unfinished">múltiplos espaços depois de '{0}'</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="124" /> + <source>tab after '{0}'</source> + <translation type="unfinished">tabulação depois de '{0}'</translation> + </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">múltiplos espaços depois da palavra-chave</translation> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="137" /> - <source>multiple spaces before keyword</source> - <translation type="unfinished">múltiplos espaços antes da palavra-chave</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="138" /> - <source>tab after keyword</source> - <translation type="unfinished">tabulação depois da palavra-chave</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="139" /> - <source>tab before keyword</source> - <translation type="unfinished">tabulação antes da palavra-chave</translation> + <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> - <translation type="unfinished" /> + <source>multiple spaces after keyword</source> + <translation type="unfinished">múltiplos espaços depois da palavra-chave</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="144" /> + <source>multiple spaces before keyword</source> + <translation type="unfinished">múltiplos espaços antes da palavra-chave</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="147" /> + <source>tab after keyword</source> + <translation type="unfinished">tabulação depois da palavra-chave</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="148" /> + <source>tab before keyword</source> + <translation type="unfinished">tabulação antes da palavra-chave</translation> </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> - <translation type="unfinished">encontradas linhas vazias depois do decorador de função</translation> + <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">encontradas linhas vazias depois do decorador de função</translation> + </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">demasiadas linhas vazias ({0})</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="167" /> - <source>multiple imports on one line</source> - <translation type="unfinished">múltiplos imports numa linha</translation> - </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">linha demasiado comprida ({0} > {1} caráteres)</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="174" /> - <source>the backslash is redundant between brackets</source> - <translation type="unfinished">barra invertida é redundante entre parêntesis</translation> + <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">demasiadas linhas vazias ({0})</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="176" /> + <source>multiple imports on one line</source> + <translation type="unfinished">múltiplos imports numa linha</translation> </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> - <translation type="unfinished" /> + <source>line too long ({0} > {1} characters)</source> + <translation type="unfinished">linha demasiado comprida ({0} > {1} caráteres)</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="183" /> - <source>statement ends with a semicolon</source> - <translation type="unfinished" /> + <source>the backslash is redundant between brackets</source> + <translation type="unfinished">barra invertida é redundante entre parêntesis</translation> </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">{0}: {1}</translation> - </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> - <translation type="unfinished">indentação com tabluações</translation> + <source>{0}: {1}</source> + <translation type="unfinished">{0}: {1}</translation> </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">indentação com tabluações</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="236" /> <source>trailing whitespace</source> <translation type="unfinished">espaço ao final</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="228" /> - <source>no newline at end of file</source> - <translation type="unfinished">não há linha nova no final do ficheiro</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="229" /> - <source>blank line contains whitespace</source> - <translation type="unfinished">esperada 1 linha vazia, encontradas 0</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="230" /> - <source>blank line at end of file</source> - <translation type="unfinished">linha vazia no fim do ficheiro</translation> - </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">não há linha nova no final do ficheiro</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="238" /> + <source>blank line contains whitespace</source> + <translation type="unfinished">esperada 1 linha vazia, encontradas 0</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="241" /> + <source>blank line at end of file</source> + <translation type="unfinished">linha vazia no fim do ficheiro</translation> + </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>