Sun, 21 Mar 2021 14:17:16 +0100
Code Style Checker
- added a checker to help porting to the 'pathlib' module
--- a/docs/changelog Wed Mar 17 19:54:32 2021 +0100 +++ b/docs/changelog Sun Mar 21 14:17:16 2021 +0100 @@ -2,6 +2,8 @@ ---------- Version 21.4: - bug fixes +- Code Style Checker + -- added a checker to help porting to the 'pathlib' module - Debugger -- extended the Start... dialogs to allow to override some global configuration settings (redirect stdin/stdout/stderr)
--- a/eric6.epj Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6.epj Sun Mar 21 14:17:16 2021 +0100 @@ -2570,7 +2570,10 @@ "scripts/uninstall.py", "setup.py", "eric6/MicroPython/RP2040Devices.py", - "eric6/MicroPython/ConnectionSelectionDialog.py" + "eric6/MicroPython/ConnectionSelectionDialog.py", + "eric6/Plugins/CheckerPlugins/CodeStyleChecker/PathLib/__init__.py", + "eric6/Plugins/CheckerPlugins/CodeStyleChecker/PathLib/PathlibChecker.py", + "eric6/Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" ], "SPELLEXCLUDES": "Dictionaries/excludes.dic", "SPELLLANGUAGE": "en_US",
--- a/eric6/APIs/Python3/eric6.api Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6/APIs/Python3/eric6.api Sun Mar 21 14:17:16 2021 +0100 @@ -3278,6 +3278,19 @@ eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.NamingStyleChecker.NamingStyleChecker.run?4() eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.NamingStyleChecker.NamingStyleChecker?1(tree, filename, options) eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.translations._namingStyleMessages?8 +eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.NameResolver.name?4() +eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.NameResolver.visit_Attribute?4(node) +eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.NameResolver.visit_Name?4(node) +eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.NameResolver?1(importAlias) +eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibChecker.Codes?7 +eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibChecker.Function2Code?7 +eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibChecker.run?4() +eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibChecker?1(source, filename, selected, ignored, expected, repeat) +eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibVisitor.visit_Call?4(node) +eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibVisitor.visit_Import?4(node) +eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibVisitor.visit_ImportFrom?4(node) +eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.PathlibVisitor?1(checkCallback) +eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations._pathlibMessages?8 eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.assert.checkAssertUsed?4(reportError, context, config) eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.assert.getChecks?4() eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.awsHardcodedPassword.AWS_ACCESS_KEY_ID_MAX_ENTROPY?7 @@ -8338,6 +8351,7 @@ eric6.QScintilla.MiniEditor.MiniEditor.textForFind?4() eric6.QScintilla.MiniEditor.MiniEditor?1(filename="", filetype="", parent=None, name=None) eric6.QScintilla.MiniEditor.MiniScintilla.EncloseChars?7 +eric6.QScintilla.MiniEditor.MiniScintilla.editorCommand?4(cmd) eric6.QScintilla.MiniEditor.MiniScintilla.encloseSelectedText?4() eric6.QScintilla.MiniEditor.MiniScintilla.focusInEvent?4(event) eric6.QScintilla.MiniEditor.MiniScintilla.focusOutEvent?4(event)
--- a/eric6/APIs/Python3/eric6.bas Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6/APIs/Python3/eric6.bas Sun Mar 21 14:17:16 2021 +0100 @@ -623,6 +623,7 @@ MultiValueDictResolver DictResolver MyMemoryEngine TranslationEngine NameFinder ast.NodeVisitor +NameResolver ast.NodeVisitor NavigationBar QWidget NavigationContainer QWidget NdArrayResolver BaseResolver @@ -660,6 +661,7 @@ PasswordWriter QXmlStreamWriter PasswordsDialog QDialog Ui_PasswordsDialog PathGraphingAstVisitor ASTVisitor +PathlibVisitor ast.NodeVisitor PersonalDataDialog QDialog Ui_PersonalDataDialog PersonalInformationManager QObject Pip QObject
--- a/eric6/Documentation/Help/source.qhp Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6/Documentation/Help/source.qhp Sun Mar 21 14:17:16 2021 +0100 @@ -325,6 +325,10 @@ <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.NamingStyleChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.NamingStyleChecker.html" /> <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.translations" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.translations.html" /> </section> + <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib" ref="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.html"> + <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html" /> + <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations.html" /> + </section> <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security" ref="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.html"> <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks" ref="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.html"> <section title="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.__init__" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.__init__.html" /> @@ -10099,6 +10103,7 @@ <keyword name="MiniEditor.textForFind" id="MiniEditor.textForFind" ref="eric6.QScintilla.MiniEditor.html#MiniEditor.textForFind" /> <keyword name="MiniScintilla" id="MiniScintilla" ref="eric6.QScintilla.MiniEditor.html#MiniScintilla" /> <keyword name="MiniScintilla (Constructor)" id="MiniScintilla (Constructor)" ref="eric6.QScintilla.MiniEditor.html#MiniScintilla.__init__" /> + <keyword name="MiniScintilla.editorCommand" id="MiniScintilla.editorCommand" ref="eric6.QScintilla.MiniEditor.html#MiniScintilla.editorCommand" /> <keyword name="MiniScintilla.encloseSelectedText" id="MiniScintilla.encloseSelectedText" ref="eric6.QScintilla.MiniEditor.html#MiniScintilla.encloseSelectedText" /> <keyword name="MiniScintilla.focusInEvent" id="MiniScintilla.focusInEvent" ref="eric6.QScintilla.MiniEditor.html#MiniScintilla.focusInEvent" /> <keyword name="MiniScintilla.focusOutEvent" id="MiniScintilla.focusOutEvent" ref="eric6.QScintilla.MiniEditor.html#MiniScintilla.focusOutEvent" /> @@ -10330,6 +10335,11 @@ <keyword name="NameFinder.getNames" id="NameFinder.getNames" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#NameFinder.getNames" /> <keyword name="NameFinder.visit" id="NameFinder.visit" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#NameFinder.visit" /> <keyword name="NameFinder.visit_Name" id="NameFinder.visit_Name" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#NameFinder.visit_Name" /> + <keyword name="NameResolver" id="NameResolver" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#NameResolver" /> + <keyword name="NameResolver (Constructor)" id="NameResolver (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#NameResolver.__init__" /> + <keyword name="NameResolver.name" id="NameResolver.name" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#NameResolver.name" /> + <keyword name="NameResolver.visit_Attribute" id="NameResolver.visit_Attribute" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#NameResolver.visit_Attribute" /> + <keyword name="NameResolver.visit_Name" id="NameResolver.visit_Name" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#NameResolver.visit_Name" /> <keyword name="Naming (Package)" id="Naming (Package)" ref="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.html" /> <keyword name="NamingStyleChecker" id="NamingStyleChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.NamingStyleChecker.html#NamingStyleChecker" /> <keyword name="NamingStyleChecker (Constructor)" id="NamingStyleChecker (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.NamingStyleChecker.html#NamingStyleChecker.__init__" /> @@ -10773,10 +10783,25 @@ <keyword name="PathGraphingAstVisitor.visitSimpleStatement" id="PathGraphingAstVisitor.visitSimpleStatement" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.mccabe.html#PathGraphingAstVisitor.visitSimpleStatement" /> <keyword name="PathGraphingAstVisitor.visitTryExcept" id="PathGraphingAstVisitor.visitTryExcept" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.mccabe.html#PathGraphingAstVisitor.visitTryExcept" /> <keyword name="PathGraphingAstVisitor.visitWith" id="PathGraphingAstVisitor.visitWith" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.mccabe.html#PathGraphingAstVisitor.visitWith" /> + <keyword name="PathLib (Package)" id="PathLib (Package)" ref="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.html" /> <keyword name="PathNode" id="PathNode" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.mccabe.html#PathNode" /> <keyword name="PathNode (Constructor)" id="PathNode (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.mccabe.html#PathNode.__init__" /> <keyword name="PathNode.dot_id" id="PathNode.dot_id" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.mccabe.html#PathNode.dot_id" /> <keyword name="PathNode.to_dot" id="PathNode.to_dot" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.mccabe.html#PathNode.to_dot" /> + <keyword name="PathlibChecker" id="PathlibChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker" /> + <keyword name="PathlibChecker (Constructor)" id="PathlibChecker (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.__init__" /> + <keyword name="PathlibChecker (Module)" id="PathlibChecker (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html" /> + <keyword name="PathlibChecker.__checkForReplacement" id="PathlibChecker.__checkForReplacement" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.__checkForReplacement" /> + <keyword name="PathlibChecker.__error" id="PathlibChecker.__error" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.__error" /> + <keyword name="PathlibChecker.__generateTree" id="PathlibChecker.__generateTree" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.__generateTree" /> + <keyword name="PathlibChecker.__ignoreCode" id="PathlibChecker.__ignoreCode" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.__ignoreCode" /> + <keyword name="PathlibChecker.__reportInvalidSyntax" id="PathlibChecker.__reportInvalidSyntax" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.__reportInvalidSyntax" /> + <keyword name="PathlibChecker.run" id="PathlibChecker.run" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibChecker.run" /> + <keyword name="PathlibVisitor" id="PathlibVisitor" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibVisitor" /> + <keyword name="PathlibVisitor (Constructor)" id="PathlibVisitor (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibVisitor.__init__" /> + <keyword name="PathlibVisitor.visit_Call" id="PathlibVisitor.visit_Call" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibVisitor.visit_Call" /> + <keyword name="PathlibVisitor.visit_Import" id="PathlibVisitor.visit_Import" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibVisitor.visit_Import" /> + <keyword name="PathlibVisitor.visit_ImportFrom" id="PathlibVisitor.visit_ImportFrom" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html#PathlibVisitor.visit_ImportFrom" /> <keyword name="PersonalDataDialog" id="PersonalDataDialog" ref="eric6.WebBrowser.PersonalInformationManager.PersonalDataDialog.html#PersonalDataDialog" /> <keyword name="PersonalDataDialog (Constructor)" id="PersonalDataDialog (Constructor)" ref="eric6.WebBrowser.PersonalInformationManager.PersonalDataDialog.html#PersonalDataDialog.__init__" /> <keyword name="PersonalDataDialog (Module)" id="PersonalDataDialog (Module)" ref="eric6.WebBrowser.PersonalInformationManager.PersonalDataDialog.html" /> @@ -18251,6 +18276,7 @@ <keyword name="translations (Module)" id="translations (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.translations.html" /> <keyword name="translations (Module)" id="translations (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.translations.html" /> <keyword name="translations (Module)" id="translations (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.translations.html" /> + <keyword name="translations (Module)" id="translations (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations.html" /> <keyword name="translations (Module)" id="translations (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.translations.html" /> <keyword name="translations (Module)" id="translations (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.translations.html" /> <keyword name="tryExcept (Module)" id="tryExcept (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.tryExcept.html" /> @@ -18585,6 +18611,8 @@ <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.translations.html</file> <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.NamingStyleChecker.html</file> <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.translations.html</file> + <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html</file> + <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations.html</file> <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.__init__.html</file> <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.assert.html</file> <file>eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.awsHardcodedPassword.html</file> @@ -19457,6 +19485,7 @@ <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.html</file> <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.html</file> <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Naming.html</file> + <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.html</file> <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.Checks.html</file> <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.html</file> <file>index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.html</file>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html Sun Mar 21 14:17:16 2021 +0100 @@ -0,0 +1,471 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body> +<a NAME="top" ID="top"></a> +<h1>eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker</h1> + +<p> +Module implementing the checker for functions that can be replaced by use of +the pathlib module. +</p> +<h3>Global Attributes</h3> + +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> + +<table> + +<tr> +<td><a href="#NameResolver">NameResolver</a></td> +<td>Class to resolve a Name or Attribute node.</td> +</tr> +<tr> +<td><a href="#PathlibChecker">PathlibChecker</a></td> +<td>Class implementing a checker for functions that can be replaced by use of the pathlib module.</td> +</tr> +<tr> +<td><a href="#PathlibVisitor">PathlibVisitor</a></td> +<td>Class to traverse the AST node tree and check for potential issues.</td> +</tr> +</table> +<h3>Functions</h3> + +<table> +<tr><td>None</td></tr> +</table> +<hr /> +<hr /> +<a NAME="NameResolver" ID="NameResolver"></a> +<h2>NameResolver</h2> + +<p> + Class to resolve a Name or Attribute node. +</p> +<h3>Derived from</h3> +ast.NodeVisitor +<h3>Class Attributes</h3> + +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> + +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> + +<table> + +<tr> +<td><a href="#NameResolver.__init__">NameResolver</a></td> +<td>Constructor</td> +</tr> +<tr> +<td><a href="#NameResolver.name">name</a></td> +<td>Public method to resolve the name.</td> +</tr> +<tr> +<td><a href="#NameResolver.visit_Attribute">visit_Attribute</a></td> +<td>Public method to handle the Attribute AST node.</td> +</tr> +<tr> +<td><a href="#NameResolver.visit_Name">visit_Name</a></td> +<td>Public method to handle the Name AST node.</td> +</tr> +</table> +<h3>Static Methods</h3> + +<table> +<tr><td>None</td></tr> +</table> + +<a NAME="NameResolver.__init__" ID="NameResolver.__init__"></a> +<h4>NameResolver (Constructor)</h4> +<b>NameResolver</b>(<i>importAlias</i>) + +<p> + Constructor +</p> +<dl> + +<dt><i>importAlias</i> (dict)</dt> +<dd> +reference to the import aliases dictionary +</dd> +</dl> +<a NAME="NameResolver.name" ID="NameResolver.name"></a> +<h4>NameResolver.name</h4> +<b>name</b>(<i></i>) + +<p> + Public method to resolve the name. +</p> +<dl> +<dt>Return:</dt> +<dd> +resolved name +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +str +</dd> +</dl> +<a NAME="NameResolver.visit_Attribute" ID="NameResolver.visit_Attribute"></a> +<h4>NameResolver.visit_Attribute</h4> +<b>visit_Attribute</b>(<i>node</i>) + +<p> + Public method to handle the Attribute AST node. +</p> +<dl> + +<dt><i>node</i> (ast.Attribute)</dt> +<dd> +reference to the Attribute AST node +</dd> +</dl> +<a NAME="NameResolver.visit_Name" ID="NameResolver.visit_Name"></a> +<h4>NameResolver.visit_Name</h4> +<b>visit_Name</b>(<i>node</i>) + +<p> + Public method to handle the Name AST node. +</p> +<dl> + +<dt><i>node</i> (ast.Name)</dt> +<dd> +reference to the Name AST node +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +<hr /> +<a NAME="PathlibChecker" ID="PathlibChecker"></a> +<h2>PathlibChecker</h2> + +<p> + Class implementing a checker for functions that can be replaced by use of + the pathlib module. +</p> +<h3>Derived from</h3> +object +<h3>Class Attributes</h3> + +<table> +<tr><td>Codes</td></tr><tr><td>Function2Code</td></tr> +</table> +<h3>Class Methods</h3> + +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> + +<table> + +<tr> +<td><a href="#PathlibChecker.__init__">PathlibChecker</a></td> +<td>Constructor</td> +</tr> +<tr> +<td><a href="#PathlibChecker.__checkForReplacement">__checkForReplacement</a></td> +<td>Private method to check the given node for the need for a replacement.</td> +</tr> +<tr> +<td><a href="#PathlibChecker.__error">__error</a></td> +<td>Private method to record an issue.</td> +</tr> +<tr> +<td><a href="#PathlibChecker.__generateTree">__generateTree</a></td> +<td>Private method to generate an AST for our source.</td> +</tr> +<tr> +<td><a href="#PathlibChecker.__ignoreCode">__ignoreCode</a></td> +<td>Private method to check if the message code should be ignored.</td> +</tr> +<tr> +<td><a href="#PathlibChecker.__reportInvalidSyntax">__reportInvalidSyntax</a></td> +<td>Private method to report a syntax error.</td> +</tr> +<tr> +<td><a href="#PathlibChecker.run">run</a></td> +<td>Public method to check the given source against functions to be replaced by 'pathlib' equivalents.</td> +</tr> +</table> +<h3>Static Methods</h3> + +<table> +<tr><td>None</td></tr> +</table> + +<a NAME="PathlibChecker.__init__" ID="PathlibChecker.__init__"></a> +<h4>PathlibChecker (Constructor)</h4> +<b>PathlibChecker</b>(<i>source, filename, selected, ignored, expected, repeat</i>) + +<p> + Constructor +</p> +<dl> + +<dt><i>source</i> (list of str)</dt> +<dd> +source code to be checked +</dd> +<dt><i>filename</i> (str)</dt> +<dd> +name of the source file +</dd> +<dt><i>selected</i> (list of str)</dt> +<dd> +list of selected codes +</dd> +<dt><i>ignored</i> (list of str)</dt> +<dd> +list of codes to be ignored +</dd> +<dt><i>expected</i> (list of str)</dt> +<dd> +list of expected codes +</dd> +<dt><i>repeat</i> (bool)</dt> +<dd> +flag indicating to report each occurrence of a code +</dd> +</dl> +<a NAME="PathlibChecker.__checkForReplacement" ID="PathlibChecker.__checkForReplacement"></a> +<h4>PathlibChecker.__checkForReplacement</h4> +<b>__checkForReplacement</b>(<i>node, name</i>) + +<p> + Private method to check the given node for the need for a + replacement. +</p> +<dl> + +<dt><i>node</i> (ast.AST)</dt> +<dd> +reference to the AST node to check +</dd> +<dt><i>name</i> (str)</dt> +<dd> +resolved name of the node +</dd> +</dl> +<a NAME="PathlibChecker.__error" ID="PathlibChecker.__error"></a> +<h4>PathlibChecker.__error</h4> +<b>__error</b>(<i>lineNumber, offset, code, *args</i>) + +<p> + Private method to record an issue. +</p> +<dl> + +<dt><i>lineNumber</i> (int)</dt> +<dd> +line number of the issue +</dd> +<dt><i>offset</i> (int)</dt> +<dd> +position within line of the issue +</dd> +<dt><i>code</i> (str)</dt> +<dd> +message code +</dd> +<dt><i>args</i> (list)</dt> +<dd> +arguments for the message +</dd> +</dl> +<a NAME="PathlibChecker.__generateTree" ID="PathlibChecker.__generateTree"></a> +<h4>PathlibChecker.__generateTree</h4> +<b>__generateTree</b>(<i></i>) + +<p> + Private method to generate an AST for our source. +</p> +<dl> +<dt>Return:</dt> +<dd> +generated AST +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +ast.AST +</dd> +</dl> +<a NAME="PathlibChecker.__ignoreCode" ID="PathlibChecker.__ignoreCode"></a> +<h4>PathlibChecker.__ignoreCode</h4> +<b>__ignoreCode</b>(<i>code</i>) + +<p> + Private method to check if the message code should be ignored. +</p> +<dl> + +<dt><i>code</i> (str)</dt> +<dd> +message code to check for +</dd> +</dl> +<dl> +<dt>Return:</dt> +<dd> +flag indicating to ignore the given code +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl> +<a NAME="PathlibChecker.__reportInvalidSyntax" ID="PathlibChecker.__reportInvalidSyntax"></a> +<h4>PathlibChecker.__reportInvalidSyntax</h4> +<b>__reportInvalidSyntax</b>(<i></i>) + +<p> + Private method to report a syntax error. +</p> +<a NAME="PathlibChecker.run" ID="PathlibChecker.run"></a> +<h4>PathlibChecker.run</h4> +<b>run</b>(<i></i>) + +<p> + Public method to check the given source against functions + to be replaced by 'pathlib' equivalents. +</p> +<div align="right"><a href="#top">Up</a></div> +<hr /> +<hr /> +<a NAME="PathlibVisitor" ID="PathlibVisitor"></a> +<h2>PathlibVisitor</h2> + +<p> + Class to traverse the AST node tree and check for potential issues. +</p> +<h3>Derived from</h3> +ast.NodeVisitor +<h3>Class Attributes</h3> + +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> + +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> + +<table> + +<tr> +<td><a href="#PathlibVisitor.__init__">PathlibVisitor</a></td> +<td>Constructor</td> +</tr> +<tr> +<td><a href="#PathlibVisitor.visit_Call">visit_Call</a></td> +<td>Public method to handle the Call AST node.</td> +</tr> +<tr> +<td><a href="#PathlibVisitor.visit_Import">visit_Import</a></td> +<td>Public method to handle the Import AST node.</td> +</tr> +<tr> +<td><a href="#PathlibVisitor.visit_ImportFrom">visit_ImportFrom</a></td> +<td>Public method handle the ImportFrom AST node.</td> +</tr> +</table> +<h3>Static Methods</h3> + +<table> +<tr><td>None</td></tr> +</table> + +<a NAME="PathlibVisitor.__init__" ID="PathlibVisitor.__init__"></a> +<h4>PathlibVisitor (Constructor)</h4> +<b>PathlibVisitor</b>(<i>checkCallback</i>) + +<p> + Constructor +</p> +<dl> + +<dt><i>checkCallback</i> (func)</dt> +<dd> +callback function taking a reference to the + AST node and the resolved name +</dd> +</dl> +<a NAME="PathlibVisitor.visit_Call" ID="PathlibVisitor.visit_Call"></a> +<h4>PathlibVisitor.visit_Call</h4> +<b>visit_Call</b>(<i>node</i>) + +<p> + Public method to handle the Call AST node. +</p> +<dl> + +<dt><i>node</i> (ast.Call)</dt> +<dd> +reference to the Call AST node +</dd> +</dl> +<a NAME="PathlibVisitor.visit_Import" ID="PathlibVisitor.visit_Import"></a> +<h4>PathlibVisitor.visit_Import</h4> +<b>visit_Import</b>(<i>node</i>) + +<p> + Public method to handle the Import AST node. +</p> +<dl> + +<dt><i>node</i> (ast.Import)</dt> +<dd> +reference to the Import AST node +</dd> +</dl> +<a NAME="PathlibVisitor.visit_ImportFrom" ID="PathlibVisitor.visit_ImportFrom"></a> +<h4>PathlibVisitor.visit_ImportFrom</h4> +<b>visit_ImportFrom</b>(<i>node</i>) + +<p> + Public method handle the ImportFrom AST node. +</p> +<dl> + +<dt><i>node</i> (ast.ImportFrom)</dt> +<dd> +reference to the ImportFrom AST node +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric6/Documentation/Source/eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations.html Sun Mar 21 14:17:16 2021 +0100 @@ -0,0 +1,45 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body> +<a NAME="top" ID="top"></a> +<h1>eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations</h1> + +<p> +Module implementing message translations for the code style plugin messages +(miscellaneous part). +</p> +<h3>Global Attributes</h3> + +<table> +<tr><td>_pathlibMessages</td></tr> +</table> +<h3>Classes</h3> + +<table> +<tr><td>None</td></tr> +</table> +<h3>Functions</h3> + +<table> +<tr><td>None</td></tr> +</table> +<hr /> +</body></html> \ No newline at end of file
--- a/eric6/Documentation/Source/eric6.QScintilla.MiniEditor.html Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6/Documentation/Source/eric6.QScintilla.MiniEditor.html Sun Mar 21 14:17:16 2021 +0100 @@ -1605,6 +1605,10 @@ <td>Constructor</td> </tr> <tr> +<td><a href="#MiniScintilla.editorCommand">editorCommand</a></td> +<td>Public method to perform a simple editor command.</td> +</tr> +<tr> <td><a href="#MiniScintilla.encloseSelectedText">encloseSelectedText</a></td> <td>Local function to enclose the current selection with some characters.</td> </tr> @@ -1649,6 +1653,20 @@ parent widget </dd> </dl> +<a NAME="MiniScintilla.editorCommand" ID="MiniScintilla.editorCommand"></a> +<h4>MiniScintilla.editorCommand</h4> +<b>editorCommand</b>(<i>cmd</i>) + +<p> + Public method to perform a simple editor command. +</p> +<dl> + +<dt><i>cmd</i></dt> +<dd> +the scintilla command to be performed (integer) +</dd> +</dl> <a NAME="MiniScintilla.encloseSelectedText" ID="MiniScintilla.encloseSelectedText"></a> <h4>MiniScintilla.encloseSelectedText</h4> <b>encloseSelectedText</b>(<i></i>)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric6/Documentation/Source/index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.html Sun Mar 21 14:17:16 2021 +0100 @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body> +<h1>eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib</h1> + +<p> +Package implementing the checker for functions that can be replaced by use of +the pathlib module. +</p> + + +<h3>Modules</h3> +<table> + +<tr> +<td><a href="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.PathlibChecker.html">PathlibChecker</a></td> +<td>Module implementing the checker for functions that can be replaced by use of the pathlib module.</td> +</tr> +<tr> +<td><a href="eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations.html">translations</a></td> +<td>Module implementing message translations for the code style plugin messages (miscellaneous part).</td> +</tr> +</table> +</body></html> \ No newline at end of file
--- a/eric6/Documentation/Source/index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.html Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6/Documentation/Source/index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.html Sun Mar 21 14:17:16 2021 +0100 @@ -49,6 +49,10 @@ <td>Package implementing the naming style checker.</td> </tr> <tr> +<td><a href="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.html">PathLib</a></td> +<td>Package implementing the checker for functions that can be replaced by use of the pathlib module.</td> +</tr> +<tr> <td><a href="index-eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.html">Security</a></td> <td>Package implementing the security checker.</td> </tr>
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsChecker.py Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsChecker.py Sun Mar 21 14:17:16 2021 +0100 @@ -162,8 +162,7 @@ @return generated AST @rtype ast.Module """ - source = "".join(self.__source) - return compile(source, self.__filename, 'exec', ast.PyCF_ONLY_AST) + return ast.parse("".join(self.__source), self.__filename) def run(self): """
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleChecker.py Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleChecker.py Sun Mar 21 14:17:16 2021 +0100 @@ -22,6 +22,7 @@ from Miscellaneous.MiscellaneousChecker import MiscellaneousChecker from Complexity.ComplexityChecker import ComplexityChecker from Security.SecurityChecker import SecurityChecker +from PathLib.PathlibChecker import PathlibChecker def initService(): @@ -432,6 +433,12 @@ securityChecker.run() stats.update(securityChecker.counters) errors += securityChecker.errors + + pathlibChecker = PathlibChecker( + source, filename, select, ignore, [], repeatMessages) + pathlibChecker.run() + stats.update(pathlibChecker.counters) + errors += pathlibChecker.errors errorsDict = {} for error in errors:
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py Sun Mar 21 14:17:16 2021 +0100 @@ -82,6 +82,9 @@ "N": QCoreApplication.translate( "CheckerCategories", "Naming"), + "P": QCoreApplication.translate( + "CheckerCategories", + "'pathlib' Usage"), "S": QCoreApplication.translate( "CheckerCategories", "Security"), @@ -287,6 +290,8 @@ itm.setIcon(1, UI.PixmapCache.getIcon("namingError")) elif msgCode.startswith("D"): itm.setIcon(1, UI.PixmapCache.getIcon("docstringError")) + elif msgCode.startswith("P"): + itm.setIcon(1, UI.PixmapCache.getIcon("dirClosed")) elif msgCode.startswith("S"): if "severity" in result: if result["severity"] == "H":
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCodeSelectionDialog.py Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCodeSelectionDialog.py Sun Mar 21 14:17:16 2021 +0100 @@ -81,6 +81,8 @@ itm.setIcon(0, UI.PixmapCache.getIcon("docstringError")) elif code.startswith("S"): itm.setIcon(0, UI.PixmapCache.getIcon("securityLow")) + elif code.startswith("P"): + itm.setIcon(0, UI.PixmapCache.getIcon("dirClosed")) else: # unknown category prefix => warning itm.setIcon(0, UI.PixmapCache.getIcon("warning"))
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleStatisticsDialog.py Sun Mar 21 14:17:16 2021 +0100 @@ -96,6 +96,8 @@ itm.setIcon(1, UI.PixmapCache.getIcon("docstringError")) elif code.startswith("S"): itm.setIcon(1, UI.PixmapCache.getIcon("securityLow")) + elif code.startswith("P"): + itm.setIcon(1, UI.PixmapCache.getIcon("dirClosed")) itm.setTextAlignment( 0, Qt.AlignmentFlag.AlignRight | Qt.AlignmentFlag.AlignVCenter)
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Complexity/ComplexityChecker.py Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Complexity/ComplexityChecker.py Sun Mar 21 14:17:16 2021 +0100 @@ -140,8 +140,7 @@ return try: - self.__tree = compile(''.join(self.__source), self.__filename, - 'exec', ast.PyCF_ONLY_AST) + self.__tree = ast.parse("".join(self.__source), self.__filename) except (SyntaxError, TypeError): self.__reportInvalidSyntax() return
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/DocStyle/DocStyleChecker.py Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/DocStyle/DocStyleChecker.py Sun Mar 21 14:17:16 2021 +0100 @@ -351,9 +351,8 @@ # don't do anything, if no codes were selected return - source = "".join(self.__source) try: - compile(source, self.__filename, 'exec', ast.PyCF_ONLY_AST) + ast.parse("".join(self.__source), self.__filename) except (SyntaxError, TypeError): self.__reportInvalidSyntax() return
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/MiscellaneousChecker.py Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/MiscellaneousChecker.py Sun Mar 21 14:17:16 2021 +0100 @@ -160,7 +160,7 @@ if b not in self.BuiltinsWhiteList] self.__eradicator = Eradicator() - + # statistics counters self.counters = {} @@ -288,8 +288,7 @@ @return generated AST @rtype ast.AST """ - source = "".join(self.__source) - return compile(source, self.__filename, 'exec', ast.PyCF_ONLY_AST) + return ast.parse("".join(self.__source), self.__filename) def run(self): """
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/PathLib/PathlibChecker.py Sun Mar 21 14:17:16 2021 +0100 @@ -0,0 +1,317 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the checker for functions that can be replaced by use of +the pathlib module. +""" + +import ast +import sys + + +class PathlibChecker(object): + """ + Class implementing a checker for functions that can be replaced by use of + the pathlib module. + """ + Codes = [ + ## Replacements for the os module functions + "P101", "P102", "P103", "P104", "P105", "P106", "P107", + "P108", "P109", "P110", "P111", + + ## Replacements for the os.path module functions + "P201", "P202", "P203", "P204", "P205", "P206", "P207", + "P208", "P209", "P210", "P211", "P212", + + ## Replacements for some Python standrd library functions + "P301", + + ## Replacements for py.path.local + "P401", + ] + + # map functions to be replaced to error codes + Function2Code = { + "os.chmod": "P101", + "os.mkdir": "P102", + "os.makedirs": "P103", + "os.rename": "P104", + "os.replace": "P105", + "os.rmdir": "P106", + "os.remove": "P107", + "os.unlink": "P108", + "os.getcwd": "P109", + "os.readlink": "P110", + "os.stat": "P111", + + "os.path.abspath": "P201", + "os.path.exists": "P202", + "os.path.expanduser": "P203", + "os.path.isdir": "P204", + "os.path.isfile": "P205", + "os.path.islink": "P206", + "os.path.isabs": "P207", + "os.path.join": "P208", + "os.path.basename": "P209", + "os.path.dirname": "P210", + "os.path.samefile": "P211", + "os.path.splitext": "P212", + + "open": "P301", + + "py.path.local": "P401", + } + + def __init__(self, source, filename, selected, ignored, expected, repeat): + """ + Constructor + + @param source source code to be checked + @type list of str + @param filename name of the source file + @type str + @param selected list of selected codes + @type list of str + @param ignored list of codes to be ignored + @type list of str + @param expected list of expected codes + @type list of str + @param repeat flag indicating to report each occurrence of a code + @type bool + """ + self.__select = tuple(selected) + self.__ignore = ('',) if selected else tuple(ignored) + self.__expected = expected[:] + self.__repeat = repeat + self.__filename = filename + self.__source = source[:] + + # statistics counters + self.counters = {} + + # collection of detected errors + self.errors = [] + + self.__checkCodes = (code for code in self.Codes + if not self.__ignoreCode(code)) + + def __ignoreCode(self, code): + """ + Private method to check if the message code should be ignored. + + @param code message code to check for + @type str + @return flag indicating to ignore the given code + @rtype bool + """ + return (code.startswith(self.__ignore) and + not code.startswith(self.__select)) + + def __error(self, lineNumber, offset, code, *args): + """ + Private method to record an issue. + + @param lineNumber line number of the issue + @type int + @param offset position within line of the issue + @type int + @param code message code + @type str + @param args arguments for the message + @type list + """ + if self.__ignoreCode(code): + return + + if code in self.counters: + self.counters[code] += 1 + else: + self.counters[code] = 1 + + # Don't care about expected codes + if code in self.__expected: + return + + if code and (self.counters[code] == 1 or self.__repeat): + # record the issue with one based line number + self.errors.append( + { + "file": self.__filename, + "line": lineNumber + 1, + "offset": offset, + "code": code, + "args": args, + } + ) + + def __reportInvalidSyntax(self): + """ + Private method to report a syntax error. + """ + exc_type, exc = sys.exc_info()[:2] + if len(exc.args) > 1: + offset = exc.args[1] + if len(offset) > 2: + offset = offset[1:3] + else: + offset = (1, 0) + self.__error(offset[0] - 1, offset[1] or 0, + 'M901', exc_type.__name__, exc.args[0]) + + def __generateTree(self): + """ + Private method to generate an AST for our source. + + @return generated AST + @rtype ast.AST + """ + return ast.parse("".join(self.__source), self.__filename) + + def run(self): + """ + Public method to check the given source against functions + to be replaced by 'pathlib' equivalents. + """ + if not self.__filename: + # don't do anything, if essential data is missing + return + + if not self.__checkCodes: + # don't do anything, if no codes were selected + return + + try: + self.__tree = self.__generateTree() + except (SyntaxError, TypeError): + self.__reportInvalidSyntax() + return + + visitor = PathlibVisitor(self.__checkForReplacement) + visitor.visit(self.__tree) + + def __checkForReplacement(self, node, name): + """ + Private method to check the given node for the need for a + replacement. + + @param node reference to the AST node to check + @type ast.AST + @param name resolved name of the node + @type str + """ + try: + errorCode = self.Function2Code[name] + self.__error(node.lineno - 1, node.col_offset, errorCode) + except KeyError: + # name is not in our list of replacements + pass + + +class PathlibVisitor(ast.NodeVisitor): + """ + Class to traverse the AST node tree and check for potential issues. + """ + def __init__(self, checkCallback): + """ + Constructor + + @param checkCallback callback function taking a reference to the + AST node and the resolved name + @type func + """ + super(PathlibVisitor, self).__init__() + + self.__checkCallback = checkCallback + self.__importAlias = {} + + def visit_ImportFrom(self, node): + """ + Public method handle the ImportFrom AST node. + + @param node reference to the ImportFrom AST node + @type ast.ImportFrom + """ + for imp in node.names: + if imp.asname: + self.__importAlias[imp.asname] = f"{node.module}.{imp.name}" + else: + self.__importAlias[imp.name] = f"{node.module}.{imp.name}" + + def visit_Import(self, node): + """ + Public method to handle the Import AST node. + + @param node reference to the Import AST node + @type ast.Import + """ + for imp in node.names: + if imp.asname: + self.__importAlias[imp.asname] = imp.name + + def visit_Call(self, node): + """ + Public method to handle the Call AST node. + + @param node reference to the Call AST node + @type ast.Call + """ + nameResolver = NameResolver(self.__importAlias) + nameResolver.visit(node.func) + + self.__checkCallback(node, nameResolver.name()) + + +class NameResolver(ast.NodeVisitor): + """ + Class to resolve a Name or Attribute node. + """ + def __init__(self, importAlias): + """ + Constructor + + @param importAlias reference to the import aliases dictionary + @type dict + """ + self.__importAlias = importAlias + self.__names = [] + + def name(self): + """ + Public method to resolve the name. + + @return resolved name + @rtype str + """ + try: + attr = self.__importAlias[self.__names[-1]] + self.__names[-1] = attr + except (KeyError, IndexError): + # do nothing if there is no such name or the names list is empty + pass + + return ".".join(reversed(self.__names)) + + def visit_Name(self, node): + """ + Public method to handle the Name AST node. + + @param node reference to the Name AST node + @type ast.Name + """ + self.__names.append(node.id) + + def visit_Attribute(self, node): + """ + Public method to handle the Attribute AST node. + + @param node reference to the Attribute AST node + @type ast.Attribute + """ + try: + self.__names.append(node.attr) + self.__names.append(node.value.id) + except AttributeError: + self.generic_visit(node)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/PathLib/__init__.py Sun Mar 21 14:17:16 2021 +0100 @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Package implementing the checker for functions that can be replaced by use of +the pathlib module. +"""
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py Sun Mar 21 14:17:16 2021 +0100 @@ -0,0 +1,100 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2020 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> +# + + +""" +Module implementing message translations for the code style plugin messages +(miscellaneous part). +""" + +from PyQt5.QtCore import QCoreApplication + +_pathlibMessages = { + "P101": QCoreApplication.translate( + "PathlibChecker", + "os.chmod('foo', 0o444) should be replaced by foo_path.chmod(0o444)"), + "P102": QCoreApplication.translate( + "PathlibChecker", + "os.mkdir('foo') should be replaced by foo_path.mkdir()"), + "P103": QCoreApplication.translate( + "PathlibChecker", + "os.makedirs('foo/bar') should be replaced by " + "bar_path.mkdir(parents=True)"), + "P104": QCoreApplication.translate( + "PathlibChecker", + "os.rename('foo', 'bar') should be replaced by " + "foo_path.rename(Path('bar'))"), + "P105": QCoreApplication.translate( + "PathlibChecker", + "os.replace('foo', 'bar') should be replaced by " + "foo_path.replace(Path('bar'))"), + "P106": QCoreApplication.translate( + "PathlibChecker", + "os.rmdir('foo') should be replaced by foo_path.rmdir()"), + "P107": QCoreApplication.translate( + "PathlibChecker", + "os.remove('foo') should be replaced by foo_path.unlink()"), + "P108": QCoreApplication.translate( + "PathlibChecker", + "os.unlink('foo'') should be replaced by foo_path.unlink()"), + "P109": QCoreApplication.translate( + "PathlibChecker", + "os.getcwd() should be replaced by Path.cwd()"), + "P110": QCoreApplication.translate( + "PathlibChecker", + "os.readlink('foo') should be replaced by foo_path.readlink()"), + "P111": QCoreApplication.translate( + "PathlibChecker", + "os.stat('foo') should be replaced by foo_path.stat() or " + "foo_path.owner() or foo_path.group()"), + + "P201": QCoreApplication.translate( + "PathlibChecker", + "os.path.abspath('foo') should be replaced by foo_path.resolve()"), + "P202": QCoreApplication.translate( + "PathlibChecker", + "os.path.exists('foo') should be replaced by foo_path.exists()"), + "P203": QCoreApplication.translate( + "PathlibChecker", + "os.path.expanduser('~/foo') should be replaced by " + "foo_path.expanduser()"), + "P204": QCoreApplication.translate( + "PathlibChecker", + "os.path.isdir('foo') should be replaced by foo_path.is_dir()"), + "P205": QCoreApplication.translate( + "PathlibChecker", + "os.path.isfile('foo') should be replaced by foo_path.is_file()"), + "P206": QCoreApplication.translate( + "PathlibChecker", + "os.path.islink('foo') should be replaced by foo_path.is_symlink()"), + "P207": QCoreApplication.translate( + "PathlibChecker", + "os.path.isabs('foo') should be replaced by foo_path.is_absolute()"), + "P208": QCoreApplication.translate( + "PathlibChecker", + "os.path.join('foo', 'bar') should be replaced by " + "foo_path / 'bar'"), + "P209": QCoreApplication.translate( + "PathlibChecker", + "os.path.basename('foo/bar') should be replaced by bar_path.name"), + "P210": QCoreApplication.translate( + "PathlibChecker", + "os.path.dirname('foo/bar') should be replaced by bar_path.parent"), + "P211": QCoreApplication.translate( + "PathlibChecker", + "os.path.samefile('foo', 'bar') should be replaced by " + "foo_path.samefile(bar_path)"), + "P212": QCoreApplication.translate( + "PathlibChecker", + "os.path.splitext('foo.bar') should be replaced by foo_path.suffix"), + + "P301": QCoreApplication.translate( + "PathlibChecker", + "open('foo') should be replaced by Path('foo').open()"), + + "P401": QCoreApplication.translate( + "PathlibChecker", + "py.path.local is in maintenance mode, use pathlib instead"), +}
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityChecker.py Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/SecurityChecker.py Sun Mar 21 14:17:16 2021 +0100 @@ -223,8 +223,7 @@ @return generated AST @rtype ast.AST """ - source = "".join(self.__source) - return compile(source, self.__filename, 'exec', ast.PyCF_ONLY_AST) + return ast.parse("".join(self.__source), self.__filename) def getConfig(self): """
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/translations.py Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/translations.py Sun Mar 21 14:17:16 2021 +0100 @@ -9,9 +9,6 @@ from PyQt5.QtCore import QCoreApplication -from .Security.translations import ( - _securityMessages, _securityMessagesSampleArgs -) from .Annotations.translations import ( _annotationsMessages, _annotationsMessagesSampleArgs ) @@ -25,6 +22,10 @@ _miscellaneousMessages, _miscellaneousMessagesSampleArgs ) from .Naming.translations import _namingStyleMessages +from .PathLib.translations import _pathlibMessages +from .Security.translations import ( + _securityMessages, _securityMessagesSampleArgs +) _messages = { ################################################################## @@ -478,24 +479,27 @@ messageCatalogs = ( _messages, - _securityMessages, _annotationsMessages, _complexityMessages, _docStyleMessages, _miscellaneousMessages, _namingStyleMessages, + _pathlibMessages, + _securityMessages, ) messageSampleArgsCatalog = ( _messages_sample_args, - _securityMessagesSampleArgs, _annotationsMessagesSampleArgs, _complexityMessagesSampleArgs, _docStyleMessagesSampleArgs, _miscellaneousMessagesSampleArgs, + _securityMessagesSampleArgs, ) +# TODO: change this to use the initial character (= class) of the message code +# to select the appropriate catalog (observe FIX as code category) def getTranslatedMessage(messageCode, messageArgs, example=False): """ Module function to get a translated and formatted message for a
--- a/eric6/i18n/eric6_cs.ts Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6/i18n/eric6_cs.ts Sun Mar 21 14:17:16 2021 +0100 @@ -3061,14 +3061,19 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91"/> <source>Warnings</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88"/> + <source>Security</source> + <translation type="unfinished">Bezpečnost</translation> + </message> + <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="85"/> - <source>Security</source> - <translation type="unfinished">Bezpečnost</translation> + <source>'pathlib' Usage</source> + <translation type="unfinished"></translation> </message> </context> <context> @@ -3548,7 +3553,7 @@ <context> <name>CodeStyleChecker</name> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="542"/> <source>No message defined for code '{0}'.</source> <translation type="unfinished"></translation> </message> @@ -3711,12 +3716,12 @@ <translation type="unfinished">Zpráva</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="126"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129"/> <source>PEP-257</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="127"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="130"/> <source>Eric</source> <translation type="unfinished"></translation> </message> @@ -3741,7 +3746,7 @@ <translation type="unfinished">Stisknout pro zobrazení všech souborů, které obsahují problém</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="246"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="249"/> <source>Error: {0}</source> <translation type="unfinished">Chyby: {0}</translation> </message> @@ -3751,7 +3756,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1044"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1049"/> <source>No issues found.</source> <translation type="unfinished">Žádné problémy nenalezeny.</translation> </message> @@ -3776,12 +3781,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="968"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="973"/> <source>{0} (ignored)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="861"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="866"/> <source>Preparing files...</source> <translation type="unfinished"></translation> </message> @@ -3791,12 +3796,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="219"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="222"/> <source>Errors</source> <translation type="unfinished">Chyby</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="900"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="905"/> <source>Transferring data...</source> <translation type="unfinished"></translation> </message> @@ -3901,7 +3906,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1047"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1052"/> <source>No files found (check your ignore list).</source> <translation type="unfinished"></translation> </message> @@ -4211,12 +4216,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2004"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2009"/> <source>Commented Code Whitelist Pattern</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2004"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2009"/> <source>Enter a Commented Code Whitelist Pattern</source> <translation type="unfinished"></translation> </message> @@ -4280,142 +4285,142 @@ <context> <name>CodeStyleFixer</name> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="301"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="302"/> <source>Triple single quotes converted to triple double quotes.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="304"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="305"/> <source>Introductory quotes corrected to be {0}"""</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="307"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="308"/> <source>Single line docstring put on one line.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="310"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="311"/> <source>Period added to summary line.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="337"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="338"/> <source>Blank line before function/method docstring removed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="316"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="317"/> <source>Blank line inserted before class docstring.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="319"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="320"/> <source>Blank line inserted after class docstring.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="322"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="323"/> <source>Blank line inserted after docstring summary.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="325"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="326"/> <source>Blank line inserted after last paragraph of docstring.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="328"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="329"/> <source>Leading quotes put on separate line.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="331"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="332"/> <source>Trailing quotes put on separate line.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="334"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="335"/> <source>Blank line before class docstring removed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="340"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="341"/> <source>Blank line after class docstring removed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="343"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="344"/> <source>Blank line after function/method docstring removed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="346"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="347"/> <source>Blank line after last paragraph removed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="349"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="350"/> <source>Tab converted to 4 spaces.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="352"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="353"/> <source>Indentation adjusted to be a multiple of four.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="355"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="356"/> <source>Indentation of continuation line corrected.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="358"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="359"/> <source>Indentation of closing bracket corrected.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="361"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="362"/> <source>Missing indentation of continuation line corrected.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="364"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="365"/> <source>Closing bracket aligned to opening bracket.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="367"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="368"/> <source>Indentation level changed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="370"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="371"/> <source>Indentation level of hanging indentation changed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="373"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="374"/> <source>Visual indentation corrected.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="388"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="389"/> <source>Extraneous whitespace removed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="385"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="386"/> <source>Missing whitespace added.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="391"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="392"/> <source>Whitespace around comment sign corrected.</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="395"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/> <source>%n blank line(s) inserted.</source> <translation type="unfinished"> <numerusform></numerusform> @@ -4424,7 +4429,7 @@ </translation> </message> <message numerus="yes"> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="398"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="399"/> <source>%n superfluous lines removed</source> <translation type="unfinished"> <numerusform></numerusform> @@ -4433,72 +4438,72 @@ </translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="402"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="403"/> <source>Superfluous blank lines removed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="405"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="406"/> <source>Superfluous blank lines after function decorator removed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="408"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="409"/> <source>Imports were put on separate lines.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="411"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="412"/> <source>Long lines have been shortened.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="414"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="415"/> <source>Redundant backslash in brackets removed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="420"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="421"/> <source>Compound statement corrected.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="423"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="424"/> <source>Comparison to None/True/False corrected.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="426"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="427"/> <source>'{0}' argument added.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="429"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="430"/> <source>'{0}' argument removed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="432"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="433"/> <source>Whitespace stripped from end of line.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="435"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="436"/> <source>newline added to end of file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="438"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="439"/> <source>Superfluous trailing blank lines removed from end of file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="441"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="442"/> <source>'<>' replaced by '!='.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="445"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="446"/> <source>Could not save the file! Skipping it. Reason: {0}</source> <translation type="unfinished"></translation> </message> @@ -11795,7 +11800,7 @@ <translation>Editovat breakpoint...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5699"/> + <location filename="../QScintilla/Editor.py" line="5702"/> <source>Enable breakpoint</source> <translation>Aktivovat breakpoint</translation> </message> @@ -11875,197 +11880,197 @@ <translation>Soubor je modifikován</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4841"/> + <location filename="../QScintilla/Editor.py" line="4844"/> <source>Autocompletion</source> <translation>Autodoplňování</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4841"/> + <location filename="../QScintilla/Editor.py" line="4844"/> <source>Autocompletion is not available because there is no autocompletion source set.</source> <translation>Autodoplňování není dostupné protože zdrojová část autodoplňování nebyla nalezena.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5702"/> + <location filename="../QScintilla/Editor.py" line="5705"/> <source>Disable breakpoint</source> <translation>Deaktivovat breakpoint</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6077"/> + <location filename="../QScintilla/Editor.py" line="6080"/> <source>Code Coverage</source> <translation>Pokrytí kódu</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6077"/> + <location filename="../QScintilla/Editor.py" line="6080"/> <source>Please select a coverage file</source> <translation>Prosím, vyberte soubor s pokrytím kódu</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6140"/> + <location filename="../QScintilla/Editor.py" line="6143"/> <source>Show Code Coverage Annotations</source> <translation>Zobrazit poznámky pokrytí kódu</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6133"/> + <location filename="../QScintilla/Editor.py" line="6136"/> <source>All lines have been covered.</source> <translation>Všechny řádky byly pokryty.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6140"/> + <location filename="../QScintilla/Editor.py" line="6143"/> <source>There is no coverage file available.</source> <translation>Soubor s pokrytím není dostupný.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6257"/> + <location filename="../QScintilla/Editor.py" line="6260"/> <source>Profile Data</source> <translation>Profilovat data</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6257"/> + <location filename="../QScintilla/Editor.py" line="6260"/> <source>Please select a profile file</source> <translation>Prosím, vyberte soubor s profilem</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6419"/> + <location filename="../QScintilla/Editor.py" line="6422"/> <source>Syntax Error</source> <translation>Chyba syntaxe</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6419"/> + <location filename="../QScintilla/Editor.py" line="6422"/> <source>No syntax error message available.</source> <translation>Hlášení syntaktické chyby není dostupné.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6808"/> + <location filename="../QScintilla/Editor.py" line="6811"/> <source>Macro Name</source> <translation>Název makra</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6808"/> + <location filename="../QScintilla/Editor.py" line="6811"/> <source>Select a macro name:</source> <translation>Vyberte název makra:</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6836"/> + <location filename="../QScintilla/Editor.py" line="6839"/> <source>Load macro file</source> <translation>Načíst soubor makra</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6878"/> + <location filename="../QScintilla/Editor.py" line="6881"/> <source>Macro files (*.macro)</source> <translation>Macro soubory (*.macro)</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6858"/> + <location filename="../QScintilla/Editor.py" line="6861"/> <source>Error loading macro</source> <translation>Chyba při načítání makra</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6878"/> + <location filename="../QScintilla/Editor.py" line="6881"/> <source>Save macro file</source> <translation>Uložit soubor s makrem</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6895"/> + <location filename="../QScintilla/Editor.py" line="6898"/> <source>Save macro</source> <translation>Uložit makro</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6910"/> + <location filename="../QScintilla/Editor.py" line="6913"/> <source>Error saving macro</source> <translation>Chyba při ukládání makra</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6923"/> + <location filename="../QScintilla/Editor.py" line="6926"/> <source>Start Macro Recording</source> <translation>Spustit záznam makra</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6923"/> + <location filename="../QScintilla/Editor.py" line="6926"/> <source>Macro recording is already active. Start new?</source> <translation>Nahrávání makra již probíhá. Spustit nové?</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6949"/> + <location filename="../QScintilla/Editor.py" line="6952"/> <source>Macro Recording</source> <translation>Záznam makra</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6949"/> + <location filename="../QScintilla/Editor.py" line="6952"/> <source>Enter name of the macro:</source> <translation>Vložte název makra:</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7119"/> + <location filename="../QScintilla/Editor.py" line="7122"/> <source>File changed</source> <translation>Soubor změněn</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7454"/> + <location filename="../QScintilla/Editor.py" line="7457"/> <source>Drop Error</source> <translation>Zahodit chybu</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7475"/> + <location filename="../QScintilla/Editor.py" line="7478"/> <source>Resources</source> <translation>Zdroje</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7477"/> + <location filename="../QScintilla/Editor.py" line="7480"/> <source>Add file...</source> <translation>Přidat soubor...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7479"/> + <location filename="../QScintilla/Editor.py" line="7482"/> <source>Add files...</source> <translation>Přidat soubory...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7481"/> - <source>Add aliased file...</source> - <translation>Přidat zástupce souboru...</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7484"/> + <source>Add aliased file...</source> + <translation>Přidat zástupce souboru...</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7487"/> <source>Add localized resource...</source> <translation>Přidat lokalizované resource...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7488"/> + <location filename="../QScintilla/Editor.py" line="7491"/> <source>Add resource frame</source> <translation>Přidat resource frame</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7507"/> + <location filename="../QScintilla/Editor.py" line="7510"/> <source>Add file resource</source> <translation>Přidat soubor resource</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7523"/> + <location filename="../QScintilla/Editor.py" line="7526"/> <source>Add file resources</source> <translation>Přidat soubory resource</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7550"/> + <location filename="../QScintilla/Editor.py" line="7553"/> <source>Add aliased file resource</source> <translation>Přidat zástupce souboru resource</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7616"/> + <location filename="../QScintilla/Editor.py" line="7619"/> <source>Package Diagram</source> <translation>Diagram balíčku</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7616"/> + <location filename="../QScintilla/Editor.py" line="7619"/> <source>Include class attributes?</source> <translation>Včetně atributů třídy?</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7652"/> + <location filename="../QScintilla/Editor.py" line="7655"/> <source>Application Diagram</source> <translation>Diagram aplikace</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7652"/> + <location filename="../QScintilla/Editor.py" line="7655"/> <source>Include module names?</source> <translation>Včetně jmen modulů?</translation> </message> @@ -12085,12 +12090,12 @@ <translation>Nebyl zadán forám exportu. Zrušeno....</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7638"/> + <location filename="../QScintilla/Editor.py" line="7641"/> <source>Imports Diagram</source> <translation>Importovat diagram</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7638"/> + <location filename="../QScintilla/Editor.py" line="7641"/> <source>Include imports from external modules?</source> <translation>Zahrnout importy z externích modulů?</translation> </message> @@ -12160,7 +12165,7 @@ <translation>Použít Pygments lexer.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7981"/> + <location filename="../QScintilla/Editor.py" line="7991"/> <source>Check spelling...</source> <translation>Zatrhnout kontrolu...</translation> </message> @@ -12170,12 +12175,12 @@ <translation>Zatrhnout výběr kontroly...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7984"/> + <location filename="../QScintilla/Editor.py" line="7994"/> <source>Add to dictionary</source> <translation>Přidat do slovníku</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7986"/> + <location filename="../QScintilla/Editor.py" line="7996"/> <source>Ignore All</source> <translation>Ignorovat vše</translation> </message> @@ -12215,32 +12220,32 @@ <translation><p>Soubor <b>{0}</b> nemůže být přejmenován.<br />Důvod: {1}</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6849"/> + <location filename="../QScintilla/Editor.py" line="6852"/> <source><p>The macro file <b>{0}</b> could not be read.</p></source> <translation><p>Soubor s makrem <b>{0}</b> nelze načíst.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6858"/> + <location filename="../QScintilla/Editor.py" line="6861"/> <source><p>The macro file <b>{0}</b> is corrupt.</p></source> <translation><p>Soubor s makrem <b>{0}</b> je poškozen.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6910"/> + <location filename="../QScintilla/Editor.py" line="6913"/> <source><p>The macro file <b>{0}</b> could not be written.</p></source> <translation><p>So souboru s makrem <b>{0}</b> nelze zapisovat.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7313"/> + <location filename="../QScintilla/Editor.py" line="7316"/> <source>{0} (ro)</source> <translation>{0} (ro)</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7454"/> + <location filename="../QScintilla/Editor.py" line="7457"/> <source><p><b>{0}</b> is not a file.</p></source> <translation><p><b>{0}</b> není soubor.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7550"/> + <location filename="../QScintilla/Editor.py" line="7553"/> <source>Alias for file <b>{0}</b>:</source> <translation>Zástupce pro soubor <b>{0}</b>:</translation> </message> @@ -12270,22 +12275,22 @@ <translation type="unfinished"><p>Soubor <b>{0}</b> již existuje.</p><p>Má se přepsat?</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6895"/> + <location filename="../QScintilla/Editor.py" line="6898"/> <source><p>The macro file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6696"/> + <location filename="../QScintilla/Editor.py" line="6699"/> <source>Warning: {0}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6703"/> + <location filename="../QScintilla/Editor.py" line="6706"/> <source>Error: {0}</source> <translation type="unfinished">Chyby: {0}</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7115"/> + <location filename="../QScintilla/Editor.py" line="7118"/> <source><br><b>Warning:</b> You will lose your changes upon reopening it.</source> <translation type="unfinished"></translation> </message> @@ -12310,27 +12315,27 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8402"/> + <location filename="../QScintilla/Editor.py" line="8412"/> <source>Sort Lines</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8402"/> + <location filename="../QScintilla/Editor.py" line="8412"/> <source>The selection contains illegal data for a numerical sort.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6631"/> + <location filename="../QScintilla/Editor.py" line="6634"/> <source>Warning</source> <translation type="unfinished">Varování</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6631"/> + <location filename="../QScintilla/Editor.py" line="6634"/> <source>No warning messages available.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6693"/> + <location filename="../QScintilla/Editor.py" line="6696"/> <source>Style: {0}</source> <translation type="unfinished"></translation> </message> @@ -12370,32 +12375,32 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4983"/> + <location filename="../QScintilla/Editor.py" line="4986"/> <source>Auto-Completion Provider</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4983"/> + <location filename="../QScintilla/Editor.py" line="4986"/> <source>The completion list provider '{0}' was already registered. Ignoring duplicate request.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5265"/> + <location filename="../QScintilla/Editor.py" line="5268"/> <source>Call-Tips Provider</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5265"/> + <location filename="../QScintilla/Editor.py" line="5268"/> <source>The call-tips provider '{0}' was already registered. Ignoring duplicate request.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8491"/> + <location filename="../QScintilla/Editor.py" line="8501"/> <source>Register Mouse Click Handler</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8491"/> + <location filename="../QScintilla/Editor.py" line="8501"/> <source>A mouse click handler for "{0}" was already registered by "{1}". Aborting request by "{2}"...</source> <translation type="unfinished"></translation> </message> @@ -12425,12 +12430,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8612"/> + <location filename="../QScintilla/Editor.py" line="8622"/> <source>EditorConfig Properties</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8612"/> + <location filename="../QScintilla/Editor.py" line="8622"/> <source><p>The EditorConfig properties for file <b>{0}</b> could not be loaded.</p></source> <translation type="unfinished"></translation> </message> @@ -12470,12 +12475,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7109"/> + <location filename="../QScintilla/Editor.py" line="7112"/> <source><p>The file <b>{0}</b> has been changed while it was opened in eric. Reread it?</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8806"/> + <location filename="../QScintilla/Editor.py" line="8816"/> <source>Generate Docstring</source> <translation type="unfinished"></translation> </message> @@ -48401,599 +48406,599 @@ <context> <name>MiniEditor</name> <message> - <location filename="../QScintilla/MiniEditor.py" line="546"/> + <location filename="../QScintilla/MiniEditor.py" line="561"/> <source>New</source> <translation>Nový</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="546"/> + <location filename="../QScintilla/MiniEditor.py" line="561"/> <source>&New</source> <translation>&Nový</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="546"/> + <location filename="../QScintilla/MiniEditor.py" line="561"/> <source>Ctrl+N</source> <comment>File|New</comment> <translation></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="552"/> - <source>Open an empty editor window</source> - <translation>Otevřít prázdné editační okno</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="553"/> - <source><b>New</b><p>An empty editor window will be created.</p></source> - <translation><b>Nový</b><p>Bude otevřeno prázdné editační okno.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="560"/> - <source>Open</source> - <translation>Otevřít</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="560"/> - <source>&Open...</source> - <translation>&Otevřít...</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="560"/> - <source>Ctrl+O</source> - <comment>File|Open</comment> - <translation></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="566"/> - <source>Open a file</source> - <translation>Otevřít soubor</translation> - </message> - <message> <location filename="../QScintilla/MiniEditor.py" line="567"/> - <source><b>Open a file</b><p>You will be asked for the name of a file to be opened.</p></source> - <translation><b>Otevřít soubor</b><p>Budete dotázáni na jméno souboru, který se má otevřít do editačního okna.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="574"/> - <source>Save</source> - <translation>Uložit</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="574"/> - <source>&Save</source> - <translation>&Uložit</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="574"/> - <source>Ctrl+S</source> - <comment>File|Save</comment> - <translation></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="580"/> - <source>Save the current file</source> - <translation>Uložit aktuální soubor</translation> + <source>Open an empty editor window</source> + <translation>Otevřít prázdné editační okno</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="568"/> + <source><b>New</b><p>An empty editor window will be created.</p></source> + <translation><b>Nový</b><p>Bude otevřeno prázdné editační okno.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="575"/> + <source>Open</source> + <translation>Otevřít</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="575"/> + <source>&Open...</source> + <translation>&Otevřít...</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="575"/> + <source>Ctrl+O</source> + <comment>File|Open</comment> + <translation></translation> </message> <message> <location filename="../QScintilla/MiniEditor.py" line="581"/> - <source><b>Save File</b><p>Save the contents of current editor window.</p></source> - <translation><b>Uložit soubor</b><p>Uložit obsah aktuálního editačního okna.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="588"/> - <source>Save as</source> - <translation>Uložit jako</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="588"/> - <source>Save &as...</source> - <translation>Uložit j&ako...</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="588"/> - <source>Shift+Ctrl+S</source> - <comment>File|Save As</comment> - <translation></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="594"/> - <source>Save the current file to a new one</source> - <translation>Uložit aktuální soubor do nového</translation> + <source>Open a file</source> + <translation>Otevřít soubor</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="582"/> + <source><b>Open a file</b><p>You will be asked for the name of a file to be opened.</p></source> + <translation><b>Otevřít soubor</b><p>Budete dotázáni na jméno souboru, který se má otevřít do editačního okna.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="589"/> + <source>Save</source> + <translation>Uložit</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="589"/> + <source>&Save</source> + <translation>&Uložit</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="589"/> + <source>Ctrl+S</source> + <comment>File|Save</comment> + <translation></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="595"/> + <source>Save the current file</source> + <translation>Uložit aktuální soubor</translation> </message> <message> <location filename="../QScintilla/MiniEditor.py" line="596"/> + <source><b>Save File</b><p>Save the contents of current editor window.</p></source> + <translation><b>Uložit soubor</b><p>Uložit obsah aktuálního editačního okna.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="603"/> + <source>Save as</source> + <translation>Uložit jako</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="603"/> + <source>Save &as...</source> + <translation>Uložit j&ako...</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="603"/> + <source>Shift+Ctrl+S</source> + <comment>File|Save As</comment> + <translation></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="609"/> + <source>Save the current file to a new one</source> + <translation>Uložit aktuální soubor do nového</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="611"/> <source><b>Save File as</b><p>Save the contents of current editor window to a new file. The file can be entered in a file selection dialog.</p></source> <translation><b>Uložit soubor jako</b><p>Uložit obsah aktuálního editačního okna do nového souboru. Název souboru bude zadán v dialogu výběru souboru.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="619"/> + <location filename="../QScintilla/MiniEditor.py" line="634"/> <source>Close</source> <translation>Zavřít</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="619"/> + <location filename="../QScintilla/MiniEditor.py" line="634"/> <source>&Close</source> <translation>&Zavřít</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="619"/> + <location filename="../QScintilla/MiniEditor.py" line="634"/> <source>Ctrl+W</source> <comment>File|Close</comment> <translation></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="625"/> + <location filename="../QScintilla/MiniEditor.py" line="640"/> <source>Close the editor window</source> <translation>Zavřít editační okno</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="626"/> + <location filename="../QScintilla/MiniEditor.py" line="641"/> <source><b>Close Window</b><p>Close the current window.</p></source> <translation><b>Zavřít okno</b><p>Zavřít aktuální okno.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="665"/> - <source>Undo</source> - <translation>Vrátit</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="665"/> - <source>&Undo</source> - <translation>&Vrátit</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="665"/> - <source>Ctrl+Z</source> - <comment>Edit|Undo</comment> - <translation></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="665"/> - <source>Alt+Backspace</source> - <comment>Edit|Undo</comment> - <translation></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="672"/> - <source>Undo the last change</source> - <translation>Vrátit poslední změnu</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="673"/> - <source><b>Undo</b><p>Undo the last change done in the current editor.</p></source> - <translation><b>Undo</b><p>Vrátit poslední změnu v aktuálním editačním okně.</p></translation> - </message> - <message> <location filename="../QScintilla/MiniEditor.py" line="680"/> - <source>Redo</source> - <translation>Znovu použít</translation> + <source>Undo</source> + <translation>Vrátit</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="680"/> + <source>&Undo</source> + <translation>&Vrátit</translation> </message> <message> <location filename="../QScintilla/MiniEditor.py" line="680"/> - <source>&Redo</source> - <translation>&Znovu použít</translation> + <source>Ctrl+Z</source> + <comment>Edit|Undo</comment> + <translation></translation> </message> <message> <location filename="../QScintilla/MiniEditor.py" line="680"/> - <source>Ctrl+Shift+Z</source> - <comment>Edit|Redo</comment> - <translation></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="686"/> - <source>Redo the last change</source> - <translation>Znovu použít poslední změnu</translation> + <source>Alt+Backspace</source> + <comment>Edit|Undo</comment> + <translation></translation> </message> <message> <location filename="../QScintilla/MiniEditor.py" line="687"/> - <source><b>Redo</b><p>Redo the last change done in the current editor.</p></source> - <translation><b>Redo</b><p>Znovu použít poslení změnu, která byla provedena v aktuálním editačním okně.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="694"/> - <source>Cut</source> - <translation>Vyjmout</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="694"/> - <source>Cu&t</source> - <translation>Vyjmou&t</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="694"/> - <source>Ctrl+X</source> - <comment>Edit|Cut</comment> - <translation></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="694"/> - <source>Shift+Del</source> - <comment>Edit|Cut</comment> + <source>Undo the last change</source> + <translation>Vrátit poslední změnu</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="688"/> + <source><b>Undo</b><p>Undo the last change done in the current editor.</p></source> + <translation><b>Undo</b><p>Vrátit poslední změnu v aktuálním editačním okně.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="695"/> + <source>Redo</source> + <translation>Znovu použít</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="695"/> + <source>&Redo</source> + <translation>&Znovu použít</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="695"/> + <source>Ctrl+Shift+Z</source> + <comment>Edit|Redo</comment> <translation></translation> </message> <message> <location filename="../QScintilla/MiniEditor.py" line="701"/> - <source>Cut the selection</source> - <translation>Vyjmout výběr</translation> + <source>Redo the last change</source> + <translation>Znovu použít poslední změnu</translation> </message> <message> <location filename="../QScintilla/MiniEditor.py" line="702"/> - <source><b>Cut</b><p>Cut the selected text of the current editor to the clipboard.</p></source> - <translation><b>Vyjmout</b><p>Vyjme vybraný text z aktuálního editačního okna a vloží jej do schránky.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="710"/> - <source>Copy</source> - <translation>Kopírovat</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="710"/> - <source>&Copy</source> - <translation>&Kopírovat</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="710"/> - <source>Ctrl+C</source> - <comment>Edit|Copy</comment> - <translation></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="710"/> - <source>Ctrl+Ins</source> - <comment>Edit|Copy</comment> - <translation></translation> + <source><b>Redo</b><p>Redo the last change done in the current editor.</p></source> + <translation><b>Redo</b><p>Znovu použít poslení změnu, která byla provedena v aktuálním editačním okně.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="709"/> + <source>Cut</source> + <translation>Vyjmout</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="709"/> + <source>Cu&t</source> + <translation>Vyjmou&t</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="709"/> + <source>Ctrl+X</source> + <comment>Edit|Cut</comment> + <translation></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="709"/> + <source>Shift+Del</source> + <comment>Edit|Cut</comment> + <translation></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="716"/> + <source>Cut the selection</source> + <translation>Vyjmout výběr</translation> </message> <message> <location filename="../QScintilla/MiniEditor.py" line="717"/> + <source><b>Cut</b><p>Cut the selected text of the current editor to the clipboard.</p></source> + <translation><b>Vyjmout</b><p>Vyjme vybraný text z aktuálního editačního okna a vloží jej do schránky.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="725"/> + <source>Copy</source> + <translation>Kopírovat</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="725"/> + <source>&Copy</source> + <translation>&Kopírovat</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="725"/> + <source>Ctrl+C</source> + <comment>Edit|Copy</comment> + <translation></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="725"/> + <source>Ctrl+Ins</source> + <comment>Edit|Copy</comment> + <translation></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="732"/> <source>Copy the selection</source> <translation>Kopírovat výběr</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="718"/> - <source><b>Copy</b><p>Copy the selected text of the current editor to the clipboard.</p></source> - <translation><b>Kopírovat</b><p>Zkopíruje vybraný text v aktuálním editačním okně a uloží jej do schránky.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="726"/> - <source>Paste</source> - <translation>Vložit</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="726"/> - <source>&Paste</source> - <translation>V&ložit</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="726"/> - <source>Ctrl+V</source> - <comment>Edit|Paste</comment> - <translation></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="726"/> - <source>Shift+Ins</source> - <comment>Edit|Paste</comment> - <translation></translation> - </message> - <message> <location filename="../QScintilla/MiniEditor.py" line="733"/> + <source><b>Copy</b><p>Copy the selected text of the current editor to the clipboard.</p></source> + <translation><b>Kopírovat</b><p>Zkopíruje vybraný text v aktuálním editačním okně a uloží jej do schránky.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="741"/> + <source>Paste</source> + <translation>Vložit</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="741"/> + <source>&Paste</source> + <translation>V&ložit</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="741"/> + <source>Ctrl+V</source> + <comment>Edit|Paste</comment> + <translation></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="741"/> + <source>Shift+Ins</source> + <comment>Edit|Paste</comment> + <translation></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="748"/> <source>Paste the last cut/copied text</source> <translation>Vložit text ze schránky</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="735"/> - <source><b>Paste</b><p>Paste the last cut/copied text from the clipboard to the current editor.</p></source> - <translation><b>Vložit</b><p>Vloží text, který byl uložen do schránky při předchozím kroku Vyjmout nebo Kopírovat.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="743"/> - <source>Clear</source> - <translation>Vyčistit</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="743"/> - <source>Cl&ear</source> - <translation>Vyči&stit</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="743"/> - <source>Alt+Shift+C</source> - <comment>Edit|Clear</comment> - <translation></translation> - </message> - <message> <location filename="../QScintilla/MiniEditor.py" line="750"/> + <source><b>Paste</b><p>Paste the last cut/copied text from the clipboard to the current editor.</p></source> + <translation><b>Vložit</b><p>Vloží text, který byl uložen do schránky při předchozím kroku Vyjmout nebo Kopírovat.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="758"/> + <source>Clear</source> + <translation>Vyčistit</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="758"/> + <source>Cl&ear</source> + <translation>Vyči&stit</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="758"/> + <source>Alt+Shift+C</source> + <comment>Edit|Clear</comment> + <translation></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="765"/> <source>Clear all text</source> <translation>Vyčistit všechen text</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="751"/> + <location filename="../QScintilla/MiniEditor.py" line="766"/> <source><b>Clear</b><p>Delete all text of the current editor.</p></source> <translation><b>Vyčistit</b><p>Smazat všechnen text v aktuálním editoru.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2358"/> + <location filename="../QScintilla/MiniEditor.py" line="2373"/> <source>About</source> <translation>O aplikaci</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2358"/> + <location filename="../QScintilla/MiniEditor.py" line="2373"/> <source>&About</source> <translation>O &aplikaci</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2362"/> + <location filename="../QScintilla/MiniEditor.py" line="2377"/> <source>Display information about this software</source> <translation>Zobrazit informace a tomto software</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2364"/> + <location filename="../QScintilla/MiniEditor.py" line="2379"/> <source><b>About</b><p>Display some information about this software.</p></source> <translation><b>O aplikaci</b><p>Zobrazí se informace o tomto software.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2370"/> + <location filename="../QScintilla/MiniEditor.py" line="2385"/> <source>About Qt</source> <translation>O Qt</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2370"/> + <location filename="../QScintilla/MiniEditor.py" line="2385"/> <source>About &Qt</source> <translation>O &Qt</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2374"/> + <location filename="../QScintilla/MiniEditor.py" line="2389"/> <source>Display information about the Qt toolkit</source> <translation>Zobrazit informace o Qt toolkitu</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2376"/> + <location filename="../QScintilla/MiniEditor.py" line="2391"/> <source><b>About Qt</b><p>Display some information about the Qt toolkit.</p></source> <translation><b>O Qt</b><p>Zobrazit informace o Qt toolkitu.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2406"/> + <location filename="../QScintilla/MiniEditor.py" line="2421"/> <source>&File</source> <translation>S&oubor</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2418"/> + <location filename="../QScintilla/MiniEditor.py" line="2433"/> <source>&Edit</source> <translation>&Edit</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2444"/> + <location filename="../QScintilla/MiniEditor.py" line="2459"/> <source>&Help</source> <translation>&Nápověda</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2521"/> + <location filename="../QScintilla/MiniEditor.py" line="2536"/> <source><p>This part of the status bar displays the line number of the editor.</p></source> <translation><p>Tato část status baru zobrazuje číslo řádku v editoru.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2528"/> + <location filename="../QScintilla/MiniEditor.py" line="2543"/> <source><p>This part of the status bar displays the cursor position of the editor.</p></source> <translation><p>Tato část status baru zobrazuje pozici kurzoru v editoru.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2545"/> + <location filename="../QScintilla/MiniEditor.py" line="2560"/> <source>Ready</source> <translation>Hotovo</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2627"/> + <location filename="../QScintilla/MiniEditor.py" line="2642"/> <source>File loaded</source> <translation>Soubor načten</translation> </message> <message> + <location filename="../QScintilla/MiniEditor.py" line="3089"/> + <source>Untitled</source> + <translation>Beze jména</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2757"/> + <source>Mini Editor</source> + <translation></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="3130"/> + <source>Select all</source> + <translation>Vybrat vše</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="3131"/> + <source>Deselect all</source> + <translation>Zrušit celý výběr</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="3145"/> + <source>Languages</source> + <translation>Jazyky</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="3148"/> + <source>No Language</source> + <translation>Žádný jazyk</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2614"/> + <source>Open File</source> + <translation>Otevřít soubor</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2728"/> + <source>File saved</source> + <translation>Soubor uložen</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2529"/> + <source><p>This part of the status bar displays an indication of the editors files writability.</p></source> + <translation><p>Tato část statusbaru zobrazuje indikátor práva zápisu editoru do souboru.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2398"/> + <source>What's This?</source> + <translation>Co je to?</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2398"/> + <source>&What's This?</source> + <translation>&Co je to?</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2398"/> + <source>Shift+F1</source> + <comment>Help|What's This?'</comment> + <translation></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2404"/> + <source>Context sensitive help</source> + <translation>Kontextově senzitivní nápověda</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2405"/> + <source><b>Display context sensitive help</b><p>In What's This? mode, the mouse cursor shows an arrow with a question mark, and you can click on the interface elements to get a short description of what they do and how to use them. In dialogs, this feature can be accessed using the context help button in the titlebar.</p></source> + <translation><b>Zobrazit kontextově senzitivní nápovědu</b><p>V režimu "Co je to?" se nad různými prvky aplikace u kurzoru zobrazí otazník. Když pak kliknete na tyto prvky, zobrazí se krátký popis co daný prvek znamená a jak jej použít. V dialogových oknech se tato funkce spustí tlačítkem kontextové nápovědy na horní liště.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2471"/> + <source>File</source> + <translation>Soubor</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2484"/> + <source>Edit</source> + <translation>Editovat</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2494"/> + <source>Find</source> + <translation>Hledat</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2508"/> + <source>Help</source> + <translation>Nápověda</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="648"/> + <source>Print</source> + <translation>Tisk</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="648"/> + <source>&Print</source> + <translation>&Tisk</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="648"/> + <source>Ctrl+P</source> + <comment>File|Print</comment> + <translation></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="654"/> + <source>Print the current file</source> + <translation>Tisk aktuálního souboru</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="3049"/> + <source>Printing...</source> + <translation>Tisk...</translation> + </message> + <message> <location filename="../QScintilla/MiniEditor.py" line="3070"/> - <source>Untitled</source> - <translation>Beze jména</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2742"/> - <source>Mini Editor</source> - <translation></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="3111"/> - <source>Select all</source> - <translation>Vybrat vše</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="3112"/> - <source>Deselect all</source> - <translation>Zrušit celý výběr</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="3126"/> - <source>Languages</source> - <translation>Jazyky</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="3129"/> - <source>No Language</source> - <translation>Žádný jazyk</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2599"/> - <source>Open File</source> - <translation>Otevřít soubor</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2713"/> - <source>File saved</source> - <translation>Soubor uložen</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2514"/> - <source><p>This part of the status bar displays an indication of the editors files writability.</p></source> - <translation><p>Tato část statusbaru zobrazuje indikátor práva zápisu editoru do souboru.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2383"/> - <source>What's This?</source> - <translation>Co je to?</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2383"/> - <source>&What's This?</source> - <translation>&Co je to?</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2383"/> - <source>Shift+F1</source> - <comment>Help|What's This?'</comment> - <translation></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2389"/> - <source>Context sensitive help</source> - <translation>Kontextově senzitivní nápověda</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2390"/> - <source><b>Display context sensitive help</b><p>In What's This? mode, the mouse cursor shows an arrow with a question mark, and you can click on the interface elements to get a short description of what they do and how to use them. In dialogs, this feature can be accessed using the context help button in the titlebar.</p></source> - <translation><b>Zobrazit kontextově senzitivní nápovědu</b><p>V režimu "Co je to?" se nad různými prvky aplikace u kurzoru zobrazí otazník. Když pak kliknete na tyto prvky, zobrazí se krátký popis co daný prvek znamená a jak jej použít. V dialogových oknech se tato funkce spustí tlačítkem kontextové nápovědy na horní liště.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2456"/> - <source>File</source> - <translation>Soubor</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2469"/> - <source>Edit</source> - <translation>Editovat</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2479"/> - <source>Find</source> - <translation>Hledat</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2493"/> - <source>Help</source> - <translation>Nápověda</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="633"/> - <source>Print</source> - <translation>Tisk</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="633"/> - <source>&Print</source> - <translation>&Tisk</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="633"/> - <source>Ctrl+P</source> - <comment>File|Print</comment> - <translation></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="639"/> - <source>Print the current file</source> - <translation>Tisk aktuálního souboru</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="3030"/> - <source>Printing...</source> - <translation>Tisk...</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="3051"/> <source>Printing completed</source> <translation>Tisk je hotov</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="3053"/> + <location filename="../QScintilla/MiniEditor.py" line="3072"/> <source>Error while printing</source> <translation>Chyba během tisku</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="3056"/> + <location filename="../QScintilla/MiniEditor.py" line="3075"/> <source>Printing aborted</source> <translation>Tisk byl zrušen</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="640"/> + <location filename="../QScintilla/MiniEditor.py" line="655"/> <source><b>Print File</b><p>Print the contents of the current file.</p></source> <translation><b>Tisk souboru</b><p>Tisk obsahu aktuálního souboru.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="647"/> + <location filename="../QScintilla/MiniEditor.py" line="662"/> <source>Print Preview</source> <translation>Náhled tisku</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="652"/> + <location filename="../QScintilla/MiniEditor.py" line="667"/> <source>Print preview of the current file</source> <translation>Náhled tisku aktuálního souboru</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="654"/> + <location filename="../QScintilla/MiniEditor.py" line="669"/> <source><b>Print Preview</b><p>Print preview of the current file.</p></source> <translation><b>Náhkled tisku</b><p>Náhkled tisku aktuálního souboru.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="3153"/> + <location filename="../QScintilla/MiniEditor.py" line="3172"/> <source>Guessed</source> <translation>Odhadem</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="3175"/> + <location filename="../QScintilla/MiniEditor.py" line="3194"/> <source>Alternatives</source> <translation>Alternativy</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="3199"/> + <location filename="../QScintilla/MiniEditor.py" line="3218"/> <source>Pygments Lexer</source> <translation>Pygments Lexer</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="3199"/> + <location filename="../QScintilla/MiniEditor.py" line="3218"/> <source>Select the Pygments lexer to apply.</source> <translation>Použít Pygments lexer.</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="468"/> + <location filename="../QScintilla/MiniEditor.py" line="483"/> <source>Line: {0:5}</source> <translation>Řádek: {0:5}</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="472"/> + <location filename="../QScintilla/MiniEditor.py" line="487"/> <source>Pos: {0:5}</source> <translation>Poz: {0:5}</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2599"/> + <location filename="../QScintilla/MiniEditor.py" line="2614"/> <source><p>The file <b>{0}</b> could not be opened.</p><p>Reason: {1}</p></source> <translation><p>Soubor <b>{0}</b> nelze otevřít.<br />Důvod: {1}</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2706"/> + <location filename="../QScintilla/MiniEditor.py" line="2721"/> <source>Save File</source> <translation>Uložit soubor</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2706"/> + <location filename="../QScintilla/MiniEditor.py" line="2721"/> <source><p>The file <b>{0}</b> could not be saved.<br/>Reason: {1}</p></source> <translation><p>Soubor <b>{0}</b> nelze uložit.<br />Důvod: {1}</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2742"/> + <location filename="../QScintilla/MiniEditor.py" line="2757"/> <source>{0}[*] - {1}</source> <translation></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="3171"/> + <location filename="../QScintilla/MiniEditor.py" line="3190"/> <source>Alternatives ({0})</source> <translation>Alternativy ({0})</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2572"/> + <location filename="../QScintilla/MiniEditor.py" line="2587"/> <source>The document has unsaved changes.</source> <translation type="unfinished"></translation> </message> @@ -49013,77 +49018,77 @@ <translation type="obsolete">eric5 Mini Editor {6 ?}</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="604"/> + <location filename="../QScintilla/MiniEditor.py" line="619"/> <source>Save Copy</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="604"/> + <location filename="../QScintilla/MiniEditor.py" line="619"/> <source>Save &Copy...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="609"/> + <location filename="../QScintilla/MiniEditor.py" line="624"/> <source>Save a copy of the current file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="611"/> + <location filename="../QScintilla/MiniEditor.py" line="626"/> <source><b>Save Copy</b><p>Save a copy of the contents of current editor window. The file can be entered in a file selection dialog.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="3716"/> + <location filename="../QScintilla/MiniEditor.py" line="3735"/> <source>EditorConfig Properties</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="3716"/> + <location filename="../QScintilla/MiniEditor.py" line="3735"/> <source><p>The EditorConfig properties for file <b>{0}</b> could not be loaded.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2725"/> + <location filename="../QScintilla/MiniEditor.py" line="2740"/> <source>[*] - {0}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="487"/> + <location filename="../QScintilla/MiniEditor.py" line="502"/> <source>Language: {0}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2436"/> + <location filename="../QScintilla/MiniEditor.py" line="2451"/> <source>&View</source> <translation type="unfinished">Poh&led</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2486"/> + <location filename="../QScintilla/MiniEditor.py" line="2501"/> <source>View</source> <translation type="unfinished">Pohled</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2506"/> + <location filename="../QScintilla/MiniEditor.py" line="2521"/> <source><p>This part of the status bar displays the editor language.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2539"/> + <location filename="../QScintilla/MiniEditor.py" line="2554"/> <source><p>This part of the status bar allows zooming the editor.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="398"/> + <location filename="../QScintilla/MiniEditor.py" line="413"/> <source>About eric Mini Editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="398"/> + <location filename="../QScintilla/MiniEditor.py" line="413"/> <source>The eric Mini Editor is an editor component based on QScintilla. It may be used for simple editing tasks, that don't need the power of a full blown editor.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2572"/> + <location filename="../QScintilla/MiniEditor.py" line="2587"/> <source>eric Mini Editor</source> <translation type="unfinished"></translation> </message> @@ -51360,6 +51365,134 @@ </message> </context> <context> + <name>PathlibChecker</name> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="15"/> + <source>os.chmod('foo', 0o444) should be replaced by foo_path.chmod(0o444)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="18"/> + <source>os.mkdir('foo') should be replaced by foo_path.mkdir()</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="21"/> + <source>os.makedirs('foo/bar') should be replaced by bar_path.mkdir(parents=True)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="25"/> + <source>os.rename('foo', 'bar') should be replaced by foo_path.rename(Path('bar'))</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="29"/> + <source>os.replace('foo', 'bar') should be replaced by foo_path.replace(Path('bar'))</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="33"/> + <source>os.rmdir('foo') should be replaced by foo_path.rmdir()</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="36"/> + <source>os.remove('foo') should be replaced by foo_path.unlink()</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="39"/> + <source>os.unlink('foo'') should be replaced by foo_path.unlink()</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="42"/> + <source>os.getcwd() should be replaced by Path.cwd()</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="45"/> + <source>os.readlink('foo') should be replaced by foo_path.readlink()</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="48"/> + <source>os.stat('foo') should be replaced by foo_path.stat() or foo_path.owner() or foo_path.group()</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="53"/> + <source>os.path.abspath('foo') should be replaced by foo_path.resolve()</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="56"/> + <source>os.path.exists('foo') should be replaced by foo_path.exists()</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="59"/> + <source>os.path.expanduser('~/foo') should be replaced by foo_path.expanduser()</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="63"/> + <source>os.path.isdir('foo') should be replaced by foo_path.is_dir()</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="66"/> + <source>os.path.isfile('foo') should be replaced by foo_path.is_file()</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="69"/> + <source>os.path.islink('foo') should be replaced by foo_path.is_symlink()</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="72"/> + <source>os.path.isabs('foo') should be replaced by foo_path.is_absolute()</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="75"/> + <source>os.path.join('foo', 'bar') should be replaced by foo_path / 'bar'</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="79"/> + <source>os.path.basename('foo/bar') should be replaced by bar_path.name</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="82"/> + <source>os.path.dirname('foo/bar') should be replaced by bar_path.parent</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="85"/> + <source>os.path.samefile('foo', 'bar') should be replaced by foo_path.samefile(bar_path)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="89"/> + <source>os.path.splitext('foo.bar') should be replaced by foo_path.suffix</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="93"/> + <source>open('foo') should be replaced by Path('foo').open()</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="97"/> + <source>py.path.local is in maintenance mode, use pathlib instead</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>PersonalDataDialog</name> <message> <location filename="../WebBrowser/PersonalInformationManager/PersonalDataDialog.ui" line="14"/> @@ -54367,12 +54500,12 @@ <translation type="obsolete">Uložit uživatelská nastavení projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="1055"/> + <location filename="../Project/Project.py" line="1058"/> <source>Read project session</source> <translation>Načíst relaci projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="1259"/> + <location filename="../Project/Project.py" line="1262"/> <source>Please save the project first.</source> <translation>Prosím, nejdříve uložte projekt.</translation> </message> @@ -54412,92 +54545,92 @@ <translation type="obsolete">Smazat nastavení debuggeru</translation> </message> <message> - <location filename="../Project/Project.py" line="1418"/> + <location filename="../Project/Project.py" line="1421"/> <source>Add Language</source> <translation>Přidat jazyk</translation> </message> <message> - <location filename="../Project/Project.py" line="1544"/> + <location filename="../Project/Project.py" line="1547"/> <source>Delete translation</source> <translation>Smazat překlad</translation> </message> <message> - <location filename="../Project/Project.py" line="1709"/> + <location filename="../Project/Project.py" line="1712"/> <source>Add file</source> <translation>Přidat soubor</translation> </message> <message> - <location filename="../Project/Project.py" line="1841"/> + <location filename="../Project/Project.py" line="1844"/> <source>The target directory must not be empty.</source> <translation>Cílový adresář nesmí být prázdný.</translation> </message> <message> - <location filename="../Project/Project.py" line="1852"/> + <location filename="../Project/Project.py" line="1855"/> <source>Add directory</source> <translation>Přidat adresář</translation> </message> <message> - <location filename="../Project/Project.py" line="1852"/> + <location filename="../Project/Project.py" line="1855"/> <source>The source directory must not be empty.</source> <translation>Cílový adresář nesmí být prázdný.</translation> </message> <message> - <location filename="../Project/Project.py" line="1989"/> + <location filename="../Project/Project.py" line="1992"/> <source>Rename file</source> <translation>Přejmenovat soubor</translation> </message> <message> - <location filename="../Project/Project.py" line="2013"/> + <location filename="../Project/Project.py" line="2016"/> <source>Rename File</source> <translation>Přejmenovat soubor</translation> </message> <message> - <location filename="../Project/Project.py" line="2263"/> + <location filename="../Project/Project.py" line="2266"/> <source>Delete file</source> <translation>Smazat soubor</translation> </message> <message> - <location filename="../Project/Project.py" line="2293"/> + <location filename="../Project/Project.py" line="2296"/> <source>Delete directory</source> <translation>Smazat adresář</translation> </message> <message> - <location filename="../Project/Project.py" line="2388"/> + <location filename="../Project/Project.py" line="2391"/> <source>Create project directory</source> <translation>Vytvořit adresář projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3008"/> + <location filename="../Project/Project.py" line="3011"/> <source>New Project</source> <translation>Nový projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="2508"/> + <location filename="../Project/Project.py" line="2511"/> <source>Add existing files to the project?</source> <translation>Přidat existující soubory do projektu?</translation> </message> <message> - <location filename="../Project/Project.py" line="2635"/> + <location filename="../Project/Project.py" line="2638"/> <source>Would you like to edit the VCS command options?</source> <translation>Chcete editovat parametry VCS příkazu?</translation> </message> <message> - <location filename="../Project/Project.py" line="3881"/> + <location filename="../Project/Project.py" line="3884"/> <source>New project</source> <translation>Nový projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="2578"/> + <location filename="../Project/Project.py" line="2581"/> <source>Shall the project file be added to the repository?</source> <translation>Má být projekt přidán do repozitáře?</translation> </message> <message> - <location filename="../Project/Project.py" line="2607"/> + <location filename="../Project/Project.py" line="2610"/> <source>Select version control system for the project</source> <translation>Výběr verzovacího systému projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3895"/> + <location filename="../Project/Project.py" line="3898"/> <source>Open project</source> <translation>Otevřít projekt</translation> </message> @@ -54507,32 +54640,32 @@ <translation type="obsolete">Soubory projektu (*.e4p)</translation> </message> <message> - <location filename="../Project/Project.py" line="3932"/> + <location filename="../Project/Project.py" line="3935"/> <source>Save project as</source> <translation>Uložit projekt jako</translation> </message> <message> - <location filename="../Project/Project.py" line="3171"/> + <location filename="../Project/Project.py" line="3174"/> <source>Save File</source> <translation>Uložit soubor</translation> </message> <message> - <location filename="../Project/Project.py" line="3207"/> + <location filename="../Project/Project.py" line="3210"/> <source>Close Project</source> <translation>Zavřít projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3207"/> + <location filename="../Project/Project.py" line="3210"/> <source>The current project has unsaved changes.</source> <translation>Aktuální projekt obsahuje neuložené změny.</translation> </message> <message> - <location filename="../Project/Project.py" line="3384"/> + <location filename="../Project/Project.py" line="3387"/> <source>Syntax errors detected</source> <translation>Zjištěny syntaktické chyby</translation> </message> <message numerus="yes"> - <location filename="../Project/Project.py" line="3384"/> + <location filename="../Project/Project.py" line="3387"/> <source>The project contains %n file(s) with syntax errors.</source> <translation> <numerusform>Projekt obsahuje %n soubor se syntaktickými chybami.</numerusform> @@ -54541,212 +54674,212 @@ </translation> </message> <message> - <location filename="../Project/Project.py" line="3881"/> + <location filename="../Project/Project.py" line="3884"/> <source>&New...</source> <translation>&Nový...</translation> </message> <message> - <location filename="../Project/Project.py" line="3886"/> + <location filename="../Project/Project.py" line="3889"/> <source>Generate a new project</source> <translation>Vygenerovat nový projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3887"/> + <location filename="../Project/Project.py" line="3890"/> <source><b>New...</b><p>This opens a dialog for entering the info for a new project.</p></source> <translation><b>Nový...</b><p>Otevře se dialogové okno pro zadání informací o novém projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3895"/> + <location filename="../Project/Project.py" line="3898"/> <source>&Open...</source> <translation>&Otevřít...</translation> </message> <message> - <location filename="../Project/Project.py" line="3900"/> + <location filename="../Project/Project.py" line="3903"/> <source>Open an existing project</source> <translation>Otevřít existující projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3901"/> + <location filename="../Project/Project.py" line="3904"/> <source><b>Open...</b><p>This opens an existing project.</p></source> <translation><b>Otevřít....</b><p>Otevře existující projekt.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3908"/> + <location filename="../Project/Project.py" line="3911"/> <source>Close project</source> <translation>Zavřít projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3908"/> + <location filename="../Project/Project.py" line="3911"/> <source>&Close</source> <translation>&Zavřít</translation> </message> <message> - <location filename="../Project/Project.py" line="3912"/> + <location filename="../Project/Project.py" line="3915"/> <source>Close the current project</source> <translation>Uzavře aktuální projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3913"/> + <location filename="../Project/Project.py" line="3916"/> <source><b>Close</b><p>This closes the current project.</p></source> <translation><b>Zavřít</b><p>Aktuální projekt se uzavře.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3920"/> + <location filename="../Project/Project.py" line="3923"/> <source>Save project</source> <translation>Uložit projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="4112"/> + <location filename="../Project/Project.py" line="4115"/> <source>&Save</source> <translation>&Uložit</translation> </message> <message> - <location filename="../Project/Project.py" line="3924"/> + <location filename="../Project/Project.py" line="3927"/> <source>Save the current project</source> <translation>Uložit aktuální projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3925"/> + <location filename="../Project/Project.py" line="3928"/> <source><b>Save</b><p>This saves the current project.</p></source> <translation><b>Uložit</b><p>Aktuální projekt se uloží.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3932"/> + <location filename="../Project/Project.py" line="3935"/> <source>Save &as...</source> <translation>Uložit j&ako...</translation> </message> <message> - <location filename="../Project/Project.py" line="3936"/> + <location filename="../Project/Project.py" line="3939"/> <source>Save the current project to a new file</source> <translation>Uloží aktuální projekt do nového souboru</translation> </message> <message> - <location filename="../Project/Project.py" line="3938"/> + <location filename="../Project/Project.py" line="3941"/> <source><b>Save as</b><p>This saves the current project to a new file.</p></source> <translation><b>Uložit jako</b><p>Uloží aktuální projekt do nového souboru.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3947"/> + <location filename="../Project/Project.py" line="3950"/> <source>Add files to project</source> <translation>Přidat soubory do projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3947"/> + <location filename="../Project/Project.py" line="3950"/> <source>Add &files...</source> <translation>&Přidat soubory...</translation> </message> <message> - <location filename="../Project/Project.py" line="3952"/> + <location filename="../Project/Project.py" line="3955"/> <source>Add files to the current project</source> <translation>Přidat soubory do aktuálního projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3954"/> + <location filename="../Project/Project.py" line="3957"/> <source><b>Add files...</b><p>This opens a dialog for adding files to the current project. The place to add is determined by the file extension.</p></source> <translation><b>Přidat soubory...</b><p>Otevře dialog pri přidání souborů do aktuálního projektu. Místo pro přidání je definováno extenzí souborů.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3963"/> + <location filename="../Project/Project.py" line="3966"/> <source>Add directory to project</source> <translation>Přidat adresář do projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3963"/> + <location filename="../Project/Project.py" line="3966"/> <source>Add directory...</source> <translation>Přidat adresář...</translation> </message> <message> - <location filename="../Project/Project.py" line="3968"/> + <location filename="../Project/Project.py" line="3971"/> <source>Add a directory to the current project</source> <translation>Přidat adresář do aktuálního projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3970"/> + <location filename="../Project/Project.py" line="3973"/> <source><b>Add directory...</b><p>This opens a dialog for adding a directory to the current project.</p></source> <translation><b>Přidat adresář...</b><p>Otevře dialog pro přičtení adresáře do aktuálního projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3978"/> + <location filename="../Project/Project.py" line="3981"/> <source>Add translation to project</source> <translation>Přidat překlad do projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3978"/> + <location filename="../Project/Project.py" line="3981"/> <source>Add &translation...</source> <translation>Přida&t překlad...</translation> </message> <message> - <location filename="../Project/Project.py" line="3983"/> + <location filename="../Project/Project.py" line="3986"/> <source>Add a translation to the current project</source> <translation>Přidat překlad do aktuálního projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3985"/> + <location filename="../Project/Project.py" line="3988"/> <source><b>Add translation...</b><p>This opens a dialog for add a translation to the current project.</p></source> <translation><b>Přidat překlad</b><p>Otevře dialog pro přidání překladu do aktuálního projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3993"/> + <location filename="../Project/Project.py" line="3996"/> <source>Search new files</source> <translation>Hledat nové soubory</translation> </message> <message> - <location filename="../Project/Project.py" line="3993"/> + <location filename="../Project/Project.py" line="3996"/> <source>Searc&h new files...</source> <translation>&Hledat nové soubory...</translation> </message> <message> - <location filename="../Project/Project.py" line="3997"/> + <location filename="../Project/Project.py" line="4000"/> <source>Search new files in the project directory.</source> <translation>Hledat nové soubory v adresáři projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="4023"/> + <location filename="../Project/Project.py" line="4026"/> <source>Project properties</source> <translation>Nastavení projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="4023"/> + <location filename="../Project/Project.py" line="4026"/> <source>&Properties...</source> <translation>&Natavení...</translation> </message> <message> - <location filename="../Project/Project.py" line="4028"/> + <location filename="../Project/Project.py" line="4031"/> <source>Show the project properties</source> <translation>Zobrazit nastavení projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="4029"/> + <location filename="../Project/Project.py" line="4032"/> <source><b>Properties...</b><p>This shows a dialog to edit the project properties.</p></source> <translation><b>Nastavení...</b><p>Zobrazí dialog s editací nastavení projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4036"/> + <location filename="../Project/Project.py" line="4039"/> <source>User project properties</source> <translation>Uživatelská nastavení projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="4036"/> + <location filename="../Project/Project.py" line="4039"/> <source>&User Properties...</source> <translation>Uživat&elská nastavení...</translation> </message> <message> - <location filename="../Project/Project.py" line="4041"/> + <location filename="../Project/Project.py" line="4044"/> <source>Show the user specific project properties</source> <translation>Zobrazit uživatelem definovaná nastavení projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="4043"/> + <location filename="../Project/Project.py" line="4046"/> <source><b>User Properties...</b><p>This shows a dialog to edit the user specific project properties.</p></source> <translation><b>Uživatelská nastavení...</b><p>Zobrazí dialog s editací uživatelských nastavení projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4051"/> + <location filename="../Project/Project.py" line="4054"/> <source>Filetype Associations</source> <translation>Asociace typů souborů</translation> </message> <message> - <location filename="../Project/Project.py" line="4051"/> + <location filename="../Project/Project.py" line="4054"/> <source>Filetype Associations...</source> <translation>Asociace typů souborů...</translation> </message> @@ -54756,367 +54889,367 @@ <translation type="obsolete">Zobrazit asociace typů souborů</translation> </message> <message> - <location filename="../Project/Project.py" line="4087"/> + <location filename="../Project/Project.py" line="4090"/> <source>Debugger Properties</source> <translation>Nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="4087"/> + <location filename="../Project/Project.py" line="4090"/> <source>Debugger &Properties...</source> <translation>Nastavení &debuggeru...</translation> </message> <message> - <location filename="../Project/Project.py" line="4091"/> + <location filename="../Project/Project.py" line="4094"/> <source>Show the debugger properties</source> <translation>Zobrazit nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="4092"/> + <location filename="../Project/Project.py" line="4095"/> <source><b>Debugger Properties...</b><p>This shows a dialog to edit project specific debugger settings.</p></source> <translation><b>Nastavení debugeru...</b><p>Zobrazí dialog s editací nastavení debugeru.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4100"/> + <location filename="../Project/Project.py" line="4103"/> <source>Load</source> <translation>Načíst</translation> </message> <message> - <location filename="../Project/Project.py" line="4100"/> + <location filename="../Project/Project.py" line="4103"/> <source>&Load</source> <translation>&Načíst</translation> </message> <message> - <location filename="../Project/Project.py" line="4104"/> + <location filename="../Project/Project.py" line="4107"/> <source>Load the debugger properties</source> <translation>Načíst nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="4105"/> + <location filename="../Project/Project.py" line="4108"/> <source><b>Load Debugger Properties</b><p>This loads the project specific debugger settings.</p></source> <translation><b>Načíst nastavení debugeru</b><p>Načtou se nastavení debugeru do projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4112"/> + <location filename="../Project/Project.py" line="4115"/> <source>Save</source> <translation>Uložit</translation> </message> <message> - <location filename="../Project/Project.py" line="4116"/> + <location filename="../Project/Project.py" line="4119"/> <source>Save the debugger properties</source> <translation>Uložit nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="4117"/> + <location filename="../Project/Project.py" line="4120"/> <source><b>Save Debugger Properties</b><p>This saves the project specific debugger settings.</p></source> <translation><b>Uložit nastavení debugeru</b><p>Uloží nastavení debugeru definovaná v projektu..</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4124"/> + <location filename="../Project/Project.py" line="4127"/> <source>Delete</source> <translation>Smazat</translation> </message> <message> - <location filename="../Project/Project.py" line="4124"/> + <location filename="../Project/Project.py" line="4127"/> <source>&Delete</source> <translation>Sma&zat</translation> </message> <message> - <location filename="../Project/Project.py" line="4128"/> + <location filename="../Project/Project.py" line="4131"/> <source>Delete the debugger properties</source> <translation>Smazat nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="4129"/> + <location filename="../Project/Project.py" line="4132"/> <source><b>Delete Debugger Properties</b><p>This deletes the file containing the project specific debugger settings.</p></source> <translation><b>Smazat nastavení debugeru</b><p>Smaže se soubor obsahující nastavení debugeru v daném projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4137"/> + <location filename="../Project/Project.py" line="4140"/> <source>Reset</source> <translation></translation> </message> <message> - <location filename="../Project/Project.py" line="4137"/> + <location filename="../Project/Project.py" line="4140"/> <source>&Reset</source> <translation>&Reset</translation> </message> <message> - <location filename="../Project/Project.py" line="4141"/> + <location filename="../Project/Project.py" line="4144"/> <source>Reset the debugger properties</source> <translation>Reset nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="4142"/> + <location filename="../Project/Project.py" line="4145"/> <source><b>Reset Debugger Properties</b><p>This resets the project specific debugger settings.</p></source> <translation><b>Reset nastavení debugeru</b><p>Zresetuje nastavení debugeru v projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4151"/> + <location filename="../Project/Project.py" line="4154"/> <source>Load session</source> <translation>Načíst relaci</translation> </message> <message> - <location filename="../Project/Project.py" line="4155"/> + <location filename="../Project/Project.py" line="4158"/> <source>Load the projects session file.</source> <translation>Načíst soubor s relací projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="4156"/> + <location filename="../Project/Project.py" line="4159"/> <source><b>Load session</b><p>This loads the projects session file. The session consists of the following data.<br>- all open source files<br>- all breakpoint<br>- the commandline arguments<br>- the working directory<br>- the exception reporting flag</p></source> <translation><b>Načíst relaci</b><p>Načte soubor s relací projektu. Relace obsahuje následující údaje:<br>- všechny otevřené zdrojové soubory<br>- všechny breakpointy<br>- argumenty příkazové řádky <br>- pracovní adresář<br>- příznak výjimky</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4169"/> + <location filename="../Project/Project.py" line="4172"/> <source>Save session</source> <translation>Uložit relaci</translation> </message> <message> - <location filename="../Project/Project.py" line="4173"/> + <location filename="../Project/Project.py" line="4176"/> <source>Save the projects session file.</source> <translation>Uložit soubor s relací projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="4174"/> + <location filename="../Project/Project.py" line="4177"/> <source><b>Save session</b><p>This saves the projects session file. The session consists of the following data.<br>- all open source files<br>- all breakpoint<br>- the commandline arguments<br>- the working directory<br>- the exception reporting flag</p></source> <translation><b>Uložit relaci</b><p>Uloží soubor s relací projektu. Relace obsahuje následující údaje:<br>- všechny otevřené zdrojové soubory<br>- všechny breakpointy<br>- argumenty příkazové řádky <br>- pracovní adresář<br>- příznak výjimky</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4187"/> + <location filename="../Project/Project.py" line="4190"/> <source>Delete session</source> <translation>Smazat relaci</translation> </message> <message> - <location filename="../Project/Project.py" line="4191"/> + <location filename="../Project/Project.py" line="4194"/> <source>Delete the projects session file.</source> <translation>Smaže soubor s relací projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="4192"/> + <location filename="../Project/Project.py" line="4195"/> <source><b>Delete session</b><p>This deletes the projects session file</p></source> <translation><b>Smazat relaci</b><p>Smaže soubor s relací projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4201"/> + <location filename="../Project/Project.py" line="4204"/> <source>Code Metrics</source> <translation>Metriky kódu</translation> </message> <message> - <location filename="../Project/Project.py" line="4201"/> + <location filename="../Project/Project.py" line="4204"/> <source>&Code Metrics...</source> <translation>Metriky &kódu...</translation> </message> <message> - <location filename="../Project/Project.py" line="4205"/> + <location filename="../Project/Project.py" line="4208"/> <source>Show some code metrics for the project.</source> <translation>Zobrazit metriky kódu projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="4207"/> + <location filename="../Project/Project.py" line="4210"/> <source><b>Code Metrics...</b><p>This shows some code metrics for all Python files in the project.</p></source> <translation><b>Metriky kódu...</b><p>Zobrazí se metriky kódu všech python souborů v projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4215"/> + <location filename="../Project/Project.py" line="4218"/> <source>Python Code Coverage</source> <translation>Pokrytí python kódu</translation> </message> <message> - <location filename="../Project/Project.py" line="4215"/> + <location filename="../Project/Project.py" line="4218"/> <source>Code Co&verage...</source> <translation>Pokr&ytí kódu...</translation> </message> <message> - <location filename="../Project/Project.py" line="4219"/> + <location filename="../Project/Project.py" line="4222"/> <source>Show code coverage information for the project.</source> <translation>Zobrazit informace pokrytí kódu projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="4221"/> + <location filename="../Project/Project.py" line="4224"/> <source><b>Code Coverage...</b><p>This shows the code coverage information for all Python files in the project.</p></source> <translation><b>Pokrytí kódu...</b><p>Zobrazí informace o pokrytí kódu ve všech python souborech projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="5105"/> + <location filename="../Project/Project.py" line="5108"/> <source>Profile Data</source> <translation>Profilovat data</translation> </message> <message> - <location filename="../Project/Project.py" line="4229"/> + <location filename="../Project/Project.py" line="4232"/> <source>&Profile Data...</source> <translation>&Profilovat data...</translation> </message> <message> - <location filename="../Project/Project.py" line="4233"/> + <location filename="../Project/Project.py" line="4236"/> <source>Show profiling data for the project.</source> <translation>Zobrazit profilování dat projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="4235"/> + <location filename="../Project/Project.py" line="4238"/> <source><b>Profile Data...</b><p>This shows the profiling data for the project.</p></source> <translation><b>Profilovat data</b><p>Zobrazí se profilování dat projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="5159"/> + <location filename="../Project/Project.py" line="5162"/> <source>Application Diagram</source> <translation>Diagram aplikace</translation> </message> <message> - <location filename="../Project/Project.py" line="4244"/> + <location filename="../Project/Project.py" line="4247"/> <source>&Application Diagram...</source> <translation>Diagram &aplikace...</translation> </message> <message> - <location filename="../Project/Project.py" line="4248"/> + <location filename="../Project/Project.py" line="4251"/> <source>Show a diagram of the project.</source> <translation>Zobrazit diagram projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="4250"/> + <location filename="../Project/Project.py" line="4253"/> <source><b>Application Diagram...</b><p>This shows a diagram of the project.</p></source> <translation><b>Diagram aplikace...</b><p>Zobrazí diagram projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4375"/> + <location filename="../Project/Project.py" line="4378"/> <source>&Project</source> <translation>&Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="4376"/> + <location filename="../Project/Project.py" line="4379"/> <source>Open &Recent Projects</source> <translation>Otevřít poslední p&rojekty</translation> </message> <message> + <location filename="../Project/Project.py" line="4384"/> + <source>&Version Control</source> + <translation>Kontrola &verzí</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4388"/> + <source>Chec&k</source> + <translation>Zkontro&lovat</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4390"/> + <source>Sho&w</source> + <translation>Zo&brazit</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4391"/> + <source>&Diagrams</source> + <translation>&Diagramy</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4380"/> + <source>Session</source> + <translation>Relace</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4393"/> + <source>Source &Documentation</source> + <translation>Zd&rojová dokumentace</translation> + </message> + <message> <location filename="../Project/Project.py" line="4381"/> - <source>&Version Control</source> - <translation>Kontrola &verzí</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4385"/> - <source>Chec&k</source> - <translation>Zkontro&lovat</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4387"/> - <source>Sho&w</source> - <translation>Zo&brazit</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4388"/> - <source>&Diagrams</source> - <translation>&Diagramy</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4377"/> - <source>Session</source> - <translation>Relace</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4390"/> - <source>Source &Documentation</source> - <translation>Zd&rojová dokumentace</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4378"/> <source>Debugger</source> <translation></translation> </message> <message> - <location filename="../Project/Project.py" line="4389"/> + <location filename="../Project/Project.py" line="4392"/> <source>Pac&kagers</source> <translation>Balíč&ky</translation> </message> <message> - <location filename="../Project/Project.py" line="4515"/> + <location filename="../Project/Project.py" line="4518"/> <source>Project</source> <translation>Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="4581"/> + <location filename="../Project/Project.py" line="4584"/> <source>&Clear</source> <translation>&Vyčistit</translation> </message> <message> - <location filename="../Project/Project.py" line="4754"/> + <location filename="../Project/Project.py" line="4757"/> <source>Search New Files</source> <translation>Hledat nové soubory</translation> </message> <message> - <location filename="../Project/Project.py" line="4754"/> + <location filename="../Project/Project.py" line="4757"/> <source>There were no new files found to be added.</source> <translation>Nebyly nalezeny žádné soubory, které je možné přidat.</translation> </message> <message> - <location filename="../Project/Project.py" line="4902"/> + <location filename="../Project/Project.py" line="4905"/> <source>Version Control System</source> <translation>Version Control System</translation> </message> <message> - <location filename="../Project/Project.py" line="5032"/> + <location filename="../Project/Project.py" line="5035"/> <source>Coverage Data</source> <translation>Datové pokrytí</translation> </message> <message> - <location filename="../Project/Project.py" line="5082"/> + <location filename="../Project/Project.py" line="5085"/> <source>There is no main script defined for the current project. Aborting</source> <translation>V aktuálním projektu nebyl určen hlavní skript. Zrušeno</translation> </message> <message> - <location filename="../Project/Project.py" line="5055"/> + <location filename="../Project/Project.py" line="5058"/> <source>Code Coverage</source> <translation>Pokrytí kódu</translation> </message> <message> - <location filename="../Project/Project.py" line="5055"/> + <location filename="../Project/Project.py" line="5058"/> <source>Please select a coverage file</source> <translation>Prosím, vyberte soubor pokrytí</translation> </message> <message> - <location filename="../Project/Project.py" line="5105"/> + <location filename="../Project/Project.py" line="5108"/> <source>Please select a profile file</source> <translation>Prosím, vyberte soubor s profilem</translation> </message> <message> - <location filename="../Project/Project.py" line="5159"/> + <location filename="../Project/Project.py" line="5162"/> <source>Include module names?</source> <translation>Včetně jmen modulů?</translation> </message> <message> - <location filename="../Project/Project.py" line="5354"/> + <location filename="../Project/Project.py" line="5357"/> <source>Create Package List</source> <translation>Vytvořit seznam balíčků</translation> </message> <message> - <location filename="../Project/Project.py" line="4273"/> + <location filename="../Project/Project.py" line="4276"/> <source>Create &Package List</source> <translation type="unfinished">Vytvořit Plugin &archiv</translation> </message> <message> - <location filename="../Project/Project.py" line="5625"/> + <location filename="../Project/Project.py" line="5628"/> <source>Create Plugin Archive</source> <translation>Vytvořit Plugin archiv</translation> </message> <message> - <location filename="../Project/Project.py" line="5303"/> + <location filename="../Project/Project.py" line="5306"/> <source><p>The file <b>PKGLIST</b> already exists.</p><p>Overwrite it?</p></source> <translation><p>Soubor <b>PKGLIST</b> již existuje.</p><p>Přepsat jej?</p></translation> </message> <message> - <location filename="../Project/Project.py" line="5373"/> + <location filename="../Project/Project.py" line="5376"/> <source>The project does not have a main script defined. Aborting...</source> <translation>Projekt nemá definován hlavní skript. Zrušeno...</translation> </message> <message> - <location filename="../Project/Project.py" line="1740"/> + <location filename="../Project/Project.py" line="1743"/> <source><p>The source directory doesn't contain any files belonging to the selected category.</p></source> <translation><p>Zdrojový adresář neobsahuje žádné soubory související s danou kategorií.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3008"/> + <location filename="../Project/Project.py" line="3011"/> <source>Select Version Control System</source> <translation>Vybrat Version Control System</translation> </message> <message> - <location filename="../Project/Project.py" line="2614"/> + <location filename="../Project/Project.py" line="2617"/> <source>None</source> <translation>None</translation> </message> @@ -55126,42 +55259,42 @@ <translation>Zaregistrovat typ projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="4289"/> + <location filename="../Project/Project.py" line="4292"/> <source>Create Plugin &Archives</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="1418"/> + <location filename="../Project/Project.py" line="1421"/> <source>You have to specify a translation pattern first.</source> <translation>Nejdříve musíte specifikovat vzor překladu.</translation> </message> <message> - <location filename="../Project/Project.py" line="2716"/> + <location filename="../Project/Project.py" line="2719"/> <source>Translation Pattern</source> <translation>Vzor překladu</translation> </message> <message> - <location filename="../Project/Project.py" line="2716"/> + <location filename="../Project/Project.py" line="2719"/> <source>Enter the path pattern for translation files (use '%language%' in place of the language code):</source> <translation>Zadejte vzor cesty pro soubory s překlady (použijte '%language%' na místě s kódem jazyka):</translation> </message> <message> - <location filename="../Project/Project.py" line="4069"/> + <location filename="../Project/Project.py" line="4072"/> <source>Lexer Associations</source> <translation>Spojení lexeru</translation> </message> <message> - <location filename="../Project/Project.py" line="4069"/> + <location filename="../Project/Project.py" line="4072"/> <source>Lexer Associations...</source> <translation>Spojení lexeru...</translation> </message> <message> - <location filename="../Project/Project.py" line="4073"/> + <location filename="../Project/Project.py" line="4076"/> <source>Show the project lexer associations (overriding defaults)</source> <translation>Zobrazit spojení lexeru projektu (přepíše výchozí)</translation> </message> <message> - <location filename="../Project/Project.py" line="4075"/> + <location filename="../Project/Project.py" line="4078"/> <source><b>Lexer Associations...</b><p>This shows a dialog to edit the lexer associations of the project. These associations override the global lexer associations. Lexers are used to highlight the editor text.</p></source> <translation><b>Spojení lexeru...</b><p>Zobrazuje dialog s editací spojení lexeru projektu. Tato spojení přepisují globální lexer spojení. Lexer je použit pro zvýraznění textu v editoru.</p></translation> </message> @@ -55176,17 +55309,17 @@ <translation>Python3 soubory (*.py *.py3);;Python3 GUI soubory (*.pyw *.pyw3);;</translation> </message> <message> - <location filename="../Project/Project.py" line="834"/> + <location filename="../Project/Project.py" line="837"/> <source><p>The project file <b>{0}</b> could not be read.</p></source> <translation><p>Soubor projektu <b>{0}</b> nelze načíst.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="935"/> + <location filename="../Project/Project.py" line="938"/> <source><p>The project file <b>{0}</b> could not be written.</p></source> <translation><p>Do souboru projektu <b>{0}</b> nelze zapisovat.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="980"/> + <location filename="../Project/Project.py" line="983"/> <source><p>The user specific project properties file <b>{0}</b> could not be read.</p></source> <translation><p>Uživatelská nastavení projektu <b>{0}</b> nelze načíst.</p></translation> </message> @@ -55196,7 +55329,7 @@ <translation type="obsolete"><p>Do souboru s uživatelskými nastaveními <b>{0}</b> nelze zapisovat.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1055"/> + <location filename="../Project/Project.py" line="1058"/> <source><p>The project session file <b>{0}</b> could not be read.</p></source> <translation><p>Soubor s relací projektu <b>{0}</b> nelze načíst.</p></translation> </message> @@ -55206,12 +55339,12 @@ <translation type="obsolete"><p>Do souboru s relací projektu <b>{0}</b> nelze zapisovat.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1105"/> + <location filename="../Project/Project.py" line="1108"/> <source><p>The project session file <b>{0}</b> could not be deleted.</p></source> <translation><p>Soubor s relací projektu <b>{0}</b> nelze smazat.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1141"/> + <location filename="../Project/Project.py" line="1144"/> <source><p>The tasks file <b>{0}</b> could not be read.</p></source> <translation><p>Soubor s úlohami <b>{0}</b> nelze načíst.</p></translation> </message> @@ -55221,7 +55354,7 @@ <translation type="obsolete"><p>Do souboru s úlohami <b>{0}</b> nelze zapisovat.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1224"/> + <location filename="../Project/Project.py" line="1227"/> <source><p>The project debugger properties file <b>{0}</b> could not be read.</p></source> <translation><p>Soubor s nastaveními debuggeru <b>{0}</b> nelze načíst.</p></translation> </message> @@ -55231,87 +55364,87 @@ <translation type="obsolete"><p>Do souboru s nastaveními debuggeru <b>{0}</b> nelze zapisovat.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1274"/> + <location filename="../Project/Project.py" line="1277"/> <source><p>The project debugger properties file <b>{0}</b> could not be deleted.</p></source> <translation><p>Soubor s nastaveními debuggeru <b>{0}</b> nelze smazat.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1773"/> + <location filename="../Project/Project.py" line="1776"/> <source><p>The file <b>{0}</b> already exists.</p><p>Overwrite it?</p></source> <translation><p>Soubor <b>{0}</b> již existuje.</p><p>Má se přepsat?</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3171"/> + <location filename="../Project/Project.py" line="3174"/> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation><p>Soubor <b>{0}</b> již existuje.</p><p>Má se přepsat?</p></translation> </message> <message> - <location filename="../Project/Project.py" line="2013"/> + <location filename="../Project/Project.py" line="2016"/> <source><p>The file <b>{0}</b> could not be renamed.<br />Reason: {1}</p></source> <translation><p>Soubor <b>{0}</b> nemůže být přejmenován.<br />Důvod: {1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="2388"/> + <location filename="../Project/Project.py" line="2391"/> <source><p>The project directory <b>{0}</b> could not be created.</p></source> <translation><p>Adresář projektu <b>{0}</b> nelze vytvořit.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4902"/> + <location filename="../Project/Project.py" line="4905"/> <source><p>The selected VCS <b>{0}</b> could not be found.<br/>Disabling version control.</p><p>{1}</p></source> <translation><p>Vybrané VCS <b>{0}</b> nebylo nalezeno.<br/>Kontrola verzí vypnuta.</p><p>{1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="5354"/> + <location filename="../Project/Project.py" line="5357"/> <source><p>The file <b>PKGLIST</b> could not be created.</p><p>Reason: {0}</p></source> <translation><p>Soubor <b>PKGLIST</b> nelze vytvořit.</p><p>Důvod: {0}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="5513"/> + <location filename="../Project/Project.py" line="5516"/> <source><p>The file <b>{0}</b> could not be stored in the archive. Ignoring it.</p><p>Reason: {1}</p></source> <translation><p>Soubor <b>{0}</b> nelze uložit do archivu. Ingorováno.</p><p>Důvod: {1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="5584"/> + <location filename="../Project/Project.py" line="5587"/> <source><p>The plugin file <b>{0}</b> could not be read.</p><p>Reason: {1}</p></source> <translation><p>Plugin soubor <b>{0}</b> nelze přečíst.</p><p>Důvod: {1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1696"/> + <location filename="../Project/Project.py" line="1699"/> <source><p>The selected file <b>{0}</b> could not be added to <b>{1}</b>.</p><p>Reason: {2}</p></source> <translation><p>Vybraný soubor <b>{0}</b> nelze přidat do <b>{1}</b>.</p><p>Důvod: {2}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1755"/> + <location filename="../Project/Project.py" line="1758"/> <source><p>The target directory <b>{0}</b> could not be created.</p><p>Reason: {1}</p></source> <translation><p>Cílový adresář <b>{0}</b> nelze vytvořit.</p><p>Důvod: {1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="2474"/> + <location filename="../Project/Project.py" line="2477"/> <source>Create main script</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="2474"/> + <location filename="../Project/Project.py" line="2477"/> <source><p>The mainscript <b>{0}</b> could not be created.<br/>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4258"/> + <location filename="../Project/Project.py" line="4261"/> <source>Load Diagram</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4258"/> + <location filename="../Project/Project.py" line="4261"/> <source>&Load Diagram...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4262"/> + <location filename="../Project/Project.py" line="4265"/> <source>Load a diagram from file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4264"/> + <location filename="../Project/Project.py" line="4267"/> <source><b>Load Diagram...</b><p>This loads a diagram from file.</p></source> <translation type="unfinished"></translation> </message> @@ -55336,12 +55469,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4890"/> + <location filename="../Project/Project.py" line="4893"/> <source><p>The selected VCS <b>{0}</b> could not be found. <br/>Reverting override.</p><p>{1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5625"/> + <location filename="../Project/Project.py" line="5628"/> <source><p>The plugin file <b>{0}</b> could not be read.</p> <p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> @@ -55366,193 +55499,193 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="2978"/> + <location filename="../Project/Project.py" line="2981"/> <source>Create project management directory</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="2978"/> + <location filename="../Project/Project.py" line="2981"/> <source><p>The project directory <b>{0}</b> is not writable.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4008"/> + <location filename="../Project/Project.py" line="4011"/> <source>Alt+Ctrl+P</source> <comment>Project|Search Project File</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4014"/> + <location filename="../Project/Project.py" line="4017"/> <source>Search for a file in the project list of files.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4016"/> + <location filename="../Project/Project.py" line="4019"/> <source><b>Search Project File</b><p>This searches for a file in the project list of files.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4008"/> + <location filename="../Project/Project.py" line="4011"/> <source>Search Project File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4008"/> + <location filename="../Project/Project.py" line="4011"/> <source>Search Project File...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5409"/> + <location filename="../Project/Project.py" line="5412"/> <source>Create Plugin Archives</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4306"/> + <location filename="../Project/Project.py" line="4309"/> <source>Create Plugin Archives (Snapshot)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4306"/> + <location filename="../Project/Project.py" line="4309"/> <source>Create Plugin Archives (&Snapshot)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5387"/> + <location filename="../Project/Project.py" line="5390"/> <source>Select package lists:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5405"/> + <location filename="../Project/Project.py" line="5408"/> <source>Creating plugin archives...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5405"/> + <location filename="../Project/Project.py" line="5408"/> <source>Abort</source> <translation type="unfinished">Přerušit</translation> </message> <message> - <location filename="../Project/Project.py" line="5405"/> + <location filename="../Project/Project.py" line="5408"/> <source>%v/%m Archives</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5421"/> + <location filename="../Project/Project.py" line="5424"/> <source><p>The file <b>{0}</b> could not be read.</p><p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5398"/> + <location filename="../Project/Project.py" line="5401"/> <source><p>No package list files (PKGLIST*) available or selected. Aborting...</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5449"/> + <location filename="../Project/Project.py" line="5452"/> <source><p>The file <b>{0}</b> is not ready yet.</p><p>Please rework it and delete the'; initial_list' line of the header.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="3999"/> + <location filename="../Project/Project.py" line="4002"/> <source><b>Search new files...</b><p>This searches for new files (sources, *.ui, *.idl, *.proto) in the project directory and registered subdirectories.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4057"/> + <location filename="../Project/Project.py" line="4060"/> <source><b>Filetype Associations...</b><p>This shows a dialog to edit the file type associations of the project. These associations determine the type (source, form, interface, protocol or others) with a filename pattern. They are used when adding a file to the project and when performing a search for new files.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="1544"/> + <location filename="../Project/Project.py" line="1547"/> <source><p>The selected translation file <b>{0}</b> could not be deleted.</p><p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="2263"/> + <location filename="../Project/Project.py" line="2266"/> <source><p>The selected file <b>{0}</b> could not be deleted.</p><p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="2293"/> + <location filename="../Project/Project.py" line="2296"/> <source><p>The selected directory <b>{0}</b> could not be deleted.</p><p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="2789"/> + <location filename="../Project/Project.py" line="2792"/> <source>Create Makefile</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="2789"/> + <location filename="../Project/Project.py" line="2792"/> <source><p>The makefile <b>{0}</b> could not be created.<br/>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5810"/> + <location filename="../Project/Project.py" line="5813"/> <source>Execute Make</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4327"/> + <location filename="../Project/Project.py" line="4330"/> <source>&Execute Make</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4331"/> + <location filename="../Project/Project.py" line="4334"/> <source>Perform a 'make' run.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4333"/> + <location filename="../Project/Project.py" line="4336"/> <source><b>Execute Make</b><p>This performs a 'make' run to rebuild the configured target.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5791"/> - <source>Test for Changes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Project/Project.py" line="4341"/> - <source>&Test for Changes</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Project/Project.py" line="4345"/> - <source>Question 'make', if a rebuild is needed.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Project/Project.py" line="4347"/> - <source><b>Test for Changes</b><p>This questions 'make', if a rebuild of the configured target is necessary.</p></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Project/Project.py" line="4392"/> - <source>Make</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Project/Project.py" line="5739"/> - <source>The make process did not start.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Project/Project.py" line="5784"/> - <source>The make process crashed.</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../Project/Project.py" line="5794"/> + <source>Test for Changes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="4344"/> + <source>&Test for Changes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="4348"/> + <source>Question 'make', if a rebuild is needed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="4350"/> + <source><b>Test for Changes</b><p>This questions 'make', if a rebuild of the configured target is necessary.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="4395"/> + <source>Make</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="5742"/> + <source>The make process did not start.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="5787"/> + <source>The make process crashed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="5797"/> <source><p>There are changes that require the configured make target <b>{0}</b> to be rebuilt.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5799"/> + <location filename="../Project/Project.py" line="5802"/> <source><p>There are changes that require the default make target to be rebuilt.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5810"/> + <location filename="../Project/Project.py" line="5813"/> <source>The makefile contains errors.</source> <translation type="unfinished"></translation> </message> @@ -55567,7 +55700,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4380"/> + <location filename="../Project/Project.py" line="4383"/> <source>Project-T&ools</source> <translation type="unfinished"></translation> </message> @@ -55597,112 +55730,112 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4278"/> + <location filename="../Project/Project.py" line="4281"/> <source>Create an initial PKGLIST file for an eric plugin.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4280"/> + <location filename="../Project/Project.py" line="4283"/> <source><b>Create Package List</b><p>This creates an initial list of files to include in an eric plugin archive. The list is created from the project file.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4294"/> + <location filename="../Project/Project.py" line="4297"/> <source>Create eric plugin archive files.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4296"/> + <location filename="../Project/Project.py" line="4299"/> <source><b>Create Plugin Archives</b><p>This creates eric plugin archive files using the list of files given in a PKGLIST* file. The archive name is built from the main script name if not designated in the package list file.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4311"/> + <location filename="../Project/Project.py" line="4314"/> <source>Create eric plugin archive files (snapshot releases).</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4313"/> + <location filename="../Project/Project.py" line="4316"/> <source><b>Create Plugin Archives (Snapshot)</b><p>This creates eric plugin archive files using the list of files given in the PKGLIST* file. The archive name is built from the main script name if not designated in the package list file. The version entry of the main script is modified to reflect a snapshot release.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5477"/> + <location filename="../Project/Project.py" line="5480"/> <source><p>The eric plugin archive file <b>{0}</b> could not be created.</p><p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5532"/> + <location filename="../Project/Project.py" line="5535"/> <source><p>The eric plugin archive files were created with some errors.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5540"/> + <location filename="../Project/Project.py" line="5543"/> <source><p>The eric plugin archive files were created successfully.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="834"/> + <location filename="../Project/Project.py" line="837"/> <source>Read Project File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="935"/> + <location filename="../Project/Project.py" line="938"/> <source>Save Project File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="980"/> + <location filename="../Project/Project.py" line="983"/> <source>Read User Project Properties</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="1030"/> + <location filename="../Project/Project.py" line="1033"/> <source>Read Project Session</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="1073"/> + <location filename="../Project/Project.py" line="1076"/> <source>Save Project Session</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="1105"/> + <location filename="../Project/Project.py" line="1108"/> <source>Delete Project Session</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="1141"/> + <location filename="../Project/Project.py" line="1144"/> <source>Read Tasks</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="1224"/> + <location filename="../Project/Project.py" line="1227"/> <source>Read Debugger Properties</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="1241"/> + <location filename="../Project/Project.py" line="1244"/> <source>Save Debugger Properties</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="1274"/> + <location filename="../Project/Project.py" line="1277"/> <source>Delete Debugger Properties</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="3155"/> + <location filename="../Project/Project.py" line="3158"/> <source>Project Files (*.epj);;XML Project Files (*.e4p)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="3147"/> + <location filename="../Project/Project.py" line="3150"/> <source>Project Files (*.epj)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4055"/> + <location filename="../Project/Project.py" line="4058"/> <source>Show the project file type associations</source> <translation type="unfinished"></translation> </message> @@ -92333,417 +92466,417 @@ <context> <name>pycodestyle</name> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="33"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="34"/> <source>indentation contains mixed spaces and tabs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="36"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="37"/> <source>indentation is not a multiple of four</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="39"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="40"/> <source>expected an indented block</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="42"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="43"/> <source>unexpected indentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="45"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="46"/> <source>indentation is not a multiple of four (comment)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="48"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="49"/> <source>expected an indented block (comment)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="51"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="52"/> <source>unexpected indentation (comment)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="57"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="58"/> <source>continuation line indentation is not a multiple of four</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="60"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="61"/> <source>continuation line missing indentation or outdented</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="63"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="64"/> <source>closing bracket does not match indentation of opening bracket's line</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="67"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="68"/> <source>closing bracket does not match visual indentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="70"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="71"/> <source>continuation line with same indent as next logical line</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="73"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="74"/> <source>continuation line over-indented for hanging indent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="76"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="77"/> <source>continuation line over-indented for visual indent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="79"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="80"/> <source>continuation line under-indented for visual indent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="82"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="83"/> <source>visually indented line with same indent as next logical line</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="85"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="86"/> <source>continuation line unaligned for hanging indent</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="88"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="89"/> <source>closing bracket is missing indentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="91"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="92"/> <source>indentation contains tabs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="94"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="95"/> <source>whitespace after '{0}'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="103"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="104"/> <source>whitespace before '{0}'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="106"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="107"/> <source>multiple spaces before operator</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="109"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="110"/> <source>multiple spaces after operator</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="112"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="113"/> <source>tab before operator</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="115"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="116"/> <source>tab after operator</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="118"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="119"/> <source>missing whitespace around operator</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="121"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="122"/> <source>missing whitespace around arithmetic operator</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="124"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="125"/> <source>missing whitespace around bitwise or shift operator</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="127"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="128"/> <source>missing whitespace around modulo operator</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="130"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="131"/> <source>missing whitespace after '{0}'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="133"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="134"/> <source>multiple spaces after '{0}'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="136"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="137"/> <source>tab after '{0}'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="139"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="140"/> <source>unexpected spaces around keyword / parameter equals</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="145"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="146"/> <source>at least two spaces before inline comment</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="148"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="149"/> <source>inline comment should start with '# '</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="151"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="152"/> <source>block comment should start with '# '</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="154"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="155"/> <source>too many leading '#' for block comment</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="157"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="158"/> <source>multiple spaces after keyword</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="160"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="161"/> <source>multiple spaces before keyword</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="163"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="164"/> <source>tab after keyword</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="166"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="167"/> <source>tab before keyword</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="169"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="170"/> <source>missing whitespace after keyword</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="172"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="173"/> <source>trailing whitespace</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="175"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="176"/> <source>no newline at end of file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="178"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="179"/> <source>blank line contains whitespace</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="203"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="204"/> <source>too many blank lines ({0})</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="190"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="191"/> <source>blank lines found after function decorator</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="206"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="207"/> <source>blank line at end of file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="209"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="210"/> <source>multiple imports on one line</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="212"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="213"/> <source>module level import not at top of file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="215"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="216"/> <source>line too long ({0} > {1} characters)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="218"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="219"/> <source>the backslash is redundant between brackets</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="221"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="222"/> <source>line break before binary operator</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="230"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="231"/> <source>.has_key() is deprecated, use 'in'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="233"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="234"/> <source>deprecated form of raising exception</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="236"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="237"/> <source>'<>' is deprecated, use '!='</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="239"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="240"/> <source>backticks are deprecated, use 'repr()'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="248"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="249"/> <source>multiple statements on one line (colon)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="251"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="252"/> <source>multiple statements on one line (semicolon)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="254"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="255"/> <source>statement ends with a semicolon</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="257"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="258"/> <source>multiple statements on one line (def)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="263"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="264"/> <source>comparison to {0} should be {1}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="266"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="267"/> <source>test for membership should be 'not in'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="269"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="270"/> <source>test for object identity should be 'is not'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="272"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="273"/> <source>do not compare types, use 'isinstance()'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="278"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="279"/> <source>do not assign a lambda expression, use a def</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="281"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="282"/> <source>ambiguous variable name '{0}'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="284"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="285"/> <source>ambiguous class definition '{0}'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="287"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="288"/> <source>ambiguous function definition '{0}'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="290"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="291"/> <source>{0}: {1}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="293"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="294"/> <source>{0}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="275"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="276"/> <source>do not use bare except</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="193"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="194"/> <source>expected {0} blank lines after class or function definition, found {1}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="245"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="246"/> <source>'async' and 'await' are reserved keywords starting with Python 3.7</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="142"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="143"/> <source>missing whitespace around parameter equals</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="184"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="185"/> <source>expected {0} blank lines, found {1}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="197"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="198"/> <source>expected {0} blank lines before a nested definition, found {1}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="224"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="225"/> <source>line break after binary operator</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="242"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="243"/> <source>invalid escape sequence '\{0}'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="200"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="201"/> <source>too many blank lines ({0}) before a nested definition, expected {1}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="187"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="188"/> <source>too many blank lines ({0}), expected {1}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="54"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="55"/> <source>over-indented</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="227"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="228"/> <source>doc line too long ({0} > {1} characters)</source> <translation type="unfinished"></translation> </message>
--- a/eric6/i18n/eric6_de.ts Wed Mar 17 19:54:32 2021 +0100 +++ b/eric6/i18n/eric6_de.ts Sun Mar 21 14:17:16 2021 +0100 @@ -3022,14 +3022,19 @@ <translation>Benennung</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="91"/> <source>Warnings</source> <translation>Warnungen</translation> </message> <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="88"/> + <source>Security</source> + <translation>Sicherheit</translation> + </message> + <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="85"/> - <source>Security</source> - <translation>Sicherheit</translation> + <source>'pathlib' Usage</source> + <translation>'pathlib' Verwendung</translation> </message> </context> <context> @@ -3480,7 +3485,7 @@ <context> <name>CodeStyleChecker</name> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="538"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="542"/> <source>No message defined for code '{0}'.</source> <translation>Keine Nachricht für '{0}' definiert.</translation> </message> @@ -3649,12 +3654,12 @@ <translation>Nachricht</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="126"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="129"/> <source>PEP-257</source> <translation>PEP-257</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="127"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="130"/> <source>Eric</source> <translation>Eric</translation> </message> @@ -3679,7 +3684,7 @@ <translation>Drücken, um alle Dateien mit Problemen anzuzeigen</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="246"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="249"/> <source>Error: {0}</source> <translation>Fehler: {0}</translation> </message> @@ -3689,7 +3694,7 @@ <translation>Lösung: {0}</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1044"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1049"/> <source>No issues found.</source> <translation>Keine Probleme gefunden.</translation> </message> @@ -3714,12 +3719,12 @@ <translation>Ignorierte anzeigen</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="968"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="973"/> <source>{0} (ignored)</source> <translation>{0} (ignoriert)</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="861"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="866"/> <source>Preparing files...</source> <translation>Bereite Dateien vor...</translation> </message> @@ -3729,12 +3734,12 @@ <translation>Gib die maximal erlaubte Codekomplexität ein (McCabe: 10)</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="219"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="222"/> <source>Errors</source> <translation>Fehler</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="900"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="905"/> <source>Transferring data...</source> <translation>Übertrage Daten...</translation> </message> @@ -3839,7 +3844,7 @@ <translation>Standards lösc&hen</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1047"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="1052"/> <source>No files found (check your ignore list).</source> <translation>Keine Dateien gefunden (überprüfe die Ignorierliste).</translation> </message> @@ -4149,12 +4154,12 @@ <translation>Drücken um ein Muster zur 'Commented Code' Whitelist hinzuzufügen</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2004"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2009"/> <source>Commented Code Whitelist Pattern</source> <translation>'Commented Code' Whitelist Muster</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2004"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py" line="2009"/> <source>Enter a Commented Code Whitelist Pattern</source> <translation>Ein 'Commented Code' Whitelist Muster eingeben</translation> </message> @@ -4218,142 +4223,142 @@ <context> <name>CodeStyleFixer</name> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="301"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="302"/> <source>Triple single quotes converted to triple double quotes.</source> <translation>Dreifache Einfachanführungszeichen in dreifache Doppelanführungszeichen umgewandelt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="304"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="305"/> <source>Introductory quotes corrected to be {0}"""</source> <translation>Einleitende Anführungszeichen in {0}""" korrigiert</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="307"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="308"/> <source>Single line docstring put on one line.</source> <translation>Einzeiligen Docstring auf eine Zeile gebracht.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="310"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="311"/> <source>Period added to summary line.</source> <translation>Punkt an die Zusammenfassungszeile angefügt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="337"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="338"/> <source>Blank line before function/method docstring removed.</source> <translation>Leerzeile vor Funktions-/Methodendocstring entfernt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="316"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="317"/> <source>Blank line inserted before class docstring.</source> <translation>Leerzeile vor Klassendocstring eingefügt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="319"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="320"/> <source>Blank line inserted after class docstring.</source> <translation>Leerzeile nach Klassendocstring eingefügt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="322"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="323"/> <source>Blank line inserted after docstring summary.</source> <translation>Leerzeile nach Docstring Zusammenfassung eingefügt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="325"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="326"/> <source>Blank line inserted after last paragraph of docstring.</source> <translation>Leerzeile nach letztem Abschnitt des Docstring eingefügt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="328"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="329"/> <source>Leading quotes put on separate line.</source> <translation>Einleitende Anführungszeichen auf separate Zeile gesetzt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="331"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="332"/> <source>Trailing quotes put on separate line.</source> <translation>Schließende Anführungszeichen auf separate Zeile gesetzt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="334"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="335"/> <source>Blank line before class docstring removed.</source> <translation>Leerzeile vor Klassendocstring entfernt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="340"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="341"/> <source>Blank line after class docstring removed.</source> <translation>Leerzeile nach Klassendocstring entfernt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="343"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="344"/> <source>Blank line after function/method docstring removed.</source> <translation>Leerzeile nach Funktions-/Methodendocstring entfernt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="346"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="347"/> <source>Blank line after last paragraph removed.</source> <translation>Leerzeile nach letzten Abschnitt entfernt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="349"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="350"/> <source>Tab converted to 4 spaces.</source> <translation>Tabulator in 4 Leerzeichen gewandelt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="352"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="353"/> <source>Indentation adjusted to be a multiple of four.</source> <translation>Einrückung auf ein Vielfaches von vier korrigiert.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="355"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="356"/> <source>Indentation of continuation line corrected.</source> <translation>Einrückung der Fortsetzungszeile korrigiert.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="358"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="359"/> <source>Indentation of closing bracket corrected.</source> <translation>Einrückung der schließenden Klammer korrigiert.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="361"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="362"/> <source>Missing indentation of continuation line corrected.</source> <translation>Fehlende Einrückung der Fortsetzungszeile korrigiert.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="364"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="365"/> <source>Closing bracket aligned to opening bracket.</source> <translation>Schließende Klammer an öffnender Klammer ausgerichtet.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="367"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="368"/> <source>Indentation level changed.</source> <translation>Einrückungsebene geändert.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="370"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="371"/> <source>Indentation level of hanging indentation changed.</source> <translation>Einrückungsebene der hängenden Einrückung geändert.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="373"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="374"/> <source>Visual indentation corrected.</source> <translation>Visuelle Einrückung korrigiert.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="388"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="389"/> <source>Extraneous whitespace removed.</source> <translation>Überzählige Leerzeichen gelöscht.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="385"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="386"/> <source>Missing whitespace added.</source> <translation>Fehlende Leerzeichen eingefügt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="391"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="392"/> <source>Whitespace around comment sign corrected.</source> <translation>Leerzeichen um Kommentarzeichen korrigiert.</translation> </message> <message numerus="yes"> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="395"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/> <source>%n blank line(s) inserted.</source> <translation> <numerusform>Eine Leerzeile eingefügt.</numerusform> @@ -4361,7 +4366,7 @@ </translation> </message> <message numerus="yes"> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="398"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="399"/> <source>%n superfluous lines removed</source> <translation> <numerusform>Eine überflüssige Zeile gelöscht</numerusform> @@ -4369,72 +4374,72 @@ </translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="402"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="403"/> <source>Superfluous blank lines removed.</source> <translation>Überflüssige Leerzeilen gelöscht.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="405"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="406"/> <source>Superfluous blank lines after function decorator removed.</source> <translation>Überflüssige Leerzeilen nach Funktionsdekorator gelöscht.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="408"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="409"/> <source>Imports were put on separate lines.</source> <translation>Imports wurden auf separate Zeilen verteilt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="411"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="412"/> <source>Long lines have been shortened.</source> <translation>Lange Zeilen wurden gekürzt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="414"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="415"/> <source>Redundant backslash in brackets removed.</source> <translation>Redundante Backslashes in Klammern entfernt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="420"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="421"/> <source>Compound statement corrected.</source> <translation>Compund Statement korrigiert.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="423"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="424"/> <source>Comparison to None/True/False corrected.</source> <translation>Vergleich mit None/True/False korrigiert.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="426"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="427"/> <source>'{0}' argument added.</source> <translation>'{0}' Argument hinzugefügt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="429"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="430"/> <source>'{0}' argument removed.</source> <translation>'{0}' Argument entfernt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="432"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="433"/> <source>Whitespace stripped from end of line.</source> <translation>Leerzeichen am Zeilenende entfernt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="435"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="436"/> <source>newline added to end of file.</source> <translation>Zeilenvorschub am Dateiende angefügt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="438"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="439"/> <source>Superfluous trailing blank lines removed from end of file.</source> <translation>Überflüssige Leerzeilen am Dateiende gelöscht.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="441"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="442"/> <source>'<>' replaced by '!='.</source> <translation>„<>“ durch „!=“ ersetzt.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="445"/> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="446"/> <source>Could not save the file! Skipping it. Reason: {0}</source> <translation>Datei konnte nicht gespeichert werden! Ursache: {0}</translation> </message> @@ -11269,7 +11274,7 @@ <translation>Drucken abgebrochen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7119"/> + <location filename="../QScintilla/Editor.py" line="7122"/> <source>File changed</source> <translation>Datei geändert</translation> </message> @@ -11334,57 +11339,57 @@ <translation>Zurück zum letzten gesichert Zustand</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6808"/> + <location filename="../QScintilla/Editor.py" line="6811"/> <source>Macro Name</source> <translation>Makro Name</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6808"/> + <location filename="../QScintilla/Editor.py" line="6811"/> <source>Select a macro name:</source> <translation>Wähle einen Makro Namen:</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6878"/> + <location filename="../QScintilla/Editor.py" line="6881"/> <source>Macro files (*.macro)</source> <translation>Makrodateien (*.macro)</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6836"/> + <location filename="../QScintilla/Editor.py" line="6839"/> <source>Load macro file</source> <translation>Lade Makrodatei</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6858"/> + <location filename="../QScintilla/Editor.py" line="6861"/> <source>Error loading macro</source> <translation>Fehler beim Makro Laden</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6878"/> + <location filename="../QScintilla/Editor.py" line="6881"/> <source>Save macro file</source> <translation>Makrodatei schreiben</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6895"/> + <location filename="../QScintilla/Editor.py" line="6898"/> <source>Save macro</source> <translation>Makro speichern</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6910"/> + <location filename="../QScintilla/Editor.py" line="6913"/> <source>Error saving macro</source> <translation>Fehler beim Makro speichern</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6923"/> + <location filename="../QScintilla/Editor.py" line="6926"/> <source>Start Macro Recording</source> <translation>Makroaufzeichnung starten</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6949"/> + <location filename="../QScintilla/Editor.py" line="6952"/> <source>Macro Recording</source> <translation>Makroaufzeichnung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6949"/> + <location filename="../QScintilla/Editor.py" line="6952"/> <source>Enter name of the macro:</source> <translation>Gib einen Namen für das Makro ein:</translation> </message> @@ -11434,42 +11439,42 @@ <translation>Haltepunkt bearbeiten...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5699"/> + <location filename="../QScintilla/Editor.py" line="5702"/> <source>Enable breakpoint</source> <translation>Haltepunkt aktivieren</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5702"/> + <location filename="../QScintilla/Editor.py" line="5705"/> <source>Disable breakpoint</source> <translation>Haltepunkt deaktivieren</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6077"/> + <location filename="../QScintilla/Editor.py" line="6080"/> <source>Code Coverage</source> <translation>Quelltext Abdeckung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6077"/> + <location filename="../QScintilla/Editor.py" line="6080"/> <source>Please select a coverage file</source> <translation>Bitte wählen Sie eine Datei mit Abdeckungsdaten</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6257"/> + <location filename="../QScintilla/Editor.py" line="6260"/> <source>Profile Data</source> <translation>Profildaten</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6257"/> + <location filename="../QScintilla/Editor.py" line="6260"/> <source>Please select a profile file</source> <translation>Bitte wählen Sie eine Datei mit Profildaten</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4841"/> + <location filename="../QScintilla/Editor.py" line="4844"/> <source>Autocompletion</source> <translation>Automatische Vervollständigung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4841"/> + <location filename="../QScintilla/Editor.py" line="4844"/> <source>Autocompletion is not available because there is no autocompletion source set.</source> <translation>Die automatische Vervollständigung ist nicht verfügbar, da keine Quelle gesetzt ist.</translation> </message> @@ -11499,7 +11504,7 @@ <translation>Autom. Speicherung aktiv</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7454"/> + <location filename="../QScintilla/Editor.py" line="7457"/> <source>Drop Error</source> <translation>Drop Fehler</translation> </message> @@ -11509,12 +11514,12 @@ <translation>Zeige Syntaxfehlermeldung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6419"/> + <location filename="../QScintilla/Editor.py" line="6422"/> <source>Syntax Error</source> <translation>Syntaxfehler</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6419"/> + <location filename="../QScintilla/Editor.py" line="6422"/> <source>No syntax error message available.</source> <translation>Keine Syntaxfehlermeldung verfügbar.</translation> </message> @@ -11544,17 +11549,17 @@ <translation>Vorige nichtabgedeckte Zeile</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6140"/> + <location filename="../QScintilla/Editor.py" line="6143"/> <source>Show Code Coverage Annotations</source> <translation>Zeilen ohne Abdeckung Markieren</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6133"/> + <location filename="../QScintilla/Editor.py" line="6136"/> <source>All lines have been covered.</source> <translation>Alle Zeilen sind abgedeckt.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6140"/> + <location filename="../QScintilla/Editor.py" line="6143"/> <source>There is no coverage file available.</source> <translation>Es gibt keine Datei mit Abdeckungsinformationen.</translation> </message> @@ -11564,22 +11569,22 @@ <translation><p>Die Datei <b>{0}</b> enthält ungesicherte Änderungen.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6849"/> + <location filename="../QScintilla/Editor.py" line="6852"/> <source><p>The macro file <b>{0}</b> could not be read.</p></source> <translation><p>Die Makrodatei <b>{0}</b> kann nicht gelesen werden.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6858"/> + <location filename="../QScintilla/Editor.py" line="6861"/> <source><p>The macro file <b>{0}</b> is corrupt.</p></source> <translation><p>Die Makrodatei <b>{0}</b> ist zerstört.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6910"/> + <location filename="../QScintilla/Editor.py" line="6913"/> <source><p>The macro file <b>{0}</b> could not be written.</p></source> <translation><p>Die Makrodatei <b>{0}</b> kann nicht geschrieben werden.</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7454"/> + <location filename="../QScintilla/Editor.py" line="7457"/> <source><p><b>{0}</b> is not a file.</p></source> <translation><p><b>{0}</b> ist keine Datei.</p></translation> </message> @@ -11619,82 +11624,82 @@ <translation>Keine Sprache</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7313"/> + <location filename="../QScintilla/Editor.py" line="7316"/> <source>{0} (ro)</source> <translation>{0} (ro)</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7475"/> + <location filename="../QScintilla/Editor.py" line="7478"/> <source>Resources</source> <translation>Ressourcen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7477"/> + <location filename="../QScintilla/Editor.py" line="7480"/> <source>Add file...</source> <translation>Datei hinzufügen...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7479"/> + <location filename="../QScintilla/Editor.py" line="7482"/> <source>Add files...</source> <translation>Dateien hinzufügen...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7481"/> - <source>Add aliased file...</source> - <translation>Aliased-Datei hinzufügen...</translation> - </message> - <message> <location filename="../QScintilla/Editor.py" line="7484"/> + <source>Add aliased file...</source> + <translation>Aliased-Datei hinzufügen...</translation> + </message> + <message> + <location filename="../QScintilla/Editor.py" line="7487"/> <source>Add localized resource...</source> <translation>Lokalisierte Ressource hinzufügen...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7507"/> + <location filename="../QScintilla/Editor.py" line="7510"/> <source>Add file resource</source> <translation>Dateiressource hinzufügen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7523"/> + <location filename="../QScintilla/Editor.py" line="7526"/> <source>Add file resources</source> <translation>Dateiressourcen hinzufügen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7550"/> + <location filename="../QScintilla/Editor.py" line="7553"/> <source>Add aliased file resource</source> <translation>Aliased-Dateiressourcen hinzufügen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7550"/> + <location filename="../QScintilla/Editor.py" line="7553"/> <source>Alias for file <b>{0}</b>:</source> <translation>Alias für Datei <b>{0}</b>:</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7616"/> + <location filename="../QScintilla/Editor.py" line="7619"/> <source>Package Diagram</source> <translation>Package-Diagramm</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7616"/> + <location filename="../QScintilla/Editor.py" line="7619"/> <source>Include class attributes?</source> <translation>Klassenattribute anzeigen?</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7652"/> + <location filename="../QScintilla/Editor.py" line="7655"/> <source>Application Diagram</source> <translation>Applikations-Diagramm</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7652"/> + <location filename="../QScintilla/Editor.py" line="7655"/> <source>Include module names?</source> <translation>Modulnamen anzeigen?</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7488"/> + <location filename="../QScintilla/Editor.py" line="7491"/> <source>Add resource frame</source> <translation>Ressourcenrahmen hinzufügen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6923"/> + <location filename="../QScintilla/Editor.py" line="6926"/> <source>Macro recording is already active. Start new?</source> <translation>Eine Makroaufzeichnung ist bereits aktiv. Neu starten?</translation> </message> @@ -11744,12 +11749,12 @@ <translation>Kein Exportformat angegeben. Abbruch...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7638"/> + <location filename="../QScintilla/Editor.py" line="7641"/> <source>Imports Diagram</source> <translation>Imports Diagramm</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7638"/> + <location filename="../QScintilla/Editor.py" line="7641"/> <source>Include imports from external modules?</source> <translation>Imports externer Module anzeigen?</translation> </message> @@ -11824,7 +11829,7 @@ <translation>Wähle den anzuwendenden Pygments Lexer.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7981"/> + <location filename="../QScintilla/Editor.py" line="7991"/> <source>Check spelling...</source> <translation>Rechtschreibprüfung...</translation> </message> @@ -11834,12 +11839,12 @@ <translation>Rechtschreibprüfung für Auswahl...</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7984"/> + <location filename="../QScintilla/Editor.py" line="7994"/> <source>Add to dictionary</source> <translation>Zum Wörterbuch hinzufügen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7986"/> + <location filename="../QScintilla/Editor.py" line="7996"/> <source>Ignore All</source> <translation>Alle ignorieren</translation> </message> @@ -11884,22 +11889,22 @@ <translation><p>Die Datei <b>{0}</b> existiert bereits. Überschreiben?</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6895"/> + <location filename="../QScintilla/Editor.py" line="6898"/> <source><p>The macro file <b>{0}</b> already exists. Overwrite it?</p></source> <translation><p>Die Makrodatei <b>{0}</b> existiert bereits. Überschreiben?</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6696"/> + <location filename="../QScintilla/Editor.py" line="6699"/> <source>Warning: {0}</source> <translation>Warnung: {0}</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6703"/> + <location filename="../QScintilla/Editor.py" line="6706"/> <source>Error: {0}</source> <translation>Fehler: {0}</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7115"/> + <location filename="../QScintilla/Editor.py" line="7118"/> <source><br><b>Warning:</b> You will lose your changes upon reopening it.</source> <translation><br><b>Warnung:</b> Vorgenommenen Änderungen gehen beim neu einlesen verloren.</translation> </message> @@ -11924,27 +11929,27 @@ <translation>Vorherige Änderung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8402"/> + <location filename="../QScintilla/Editor.py" line="8412"/> <source>Sort Lines</source> <translation>Zeilen sortieren</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8402"/> + <location filename="../QScintilla/Editor.py" line="8412"/> <source>The selection contains illegal data for a numerical sort.</source> <translation>Die Auswahl enthält für eine numerische Sortierung ungültige Daten.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6631"/> + <location filename="../QScintilla/Editor.py" line="6634"/> <source>Warning</source> <translation>Warnung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6631"/> + <location filename="../QScintilla/Editor.py" line="6634"/> <source>No warning messages available.</source> <translation>Keine Warnmeldungen verfügbar.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="6693"/> + <location filename="../QScintilla/Editor.py" line="6696"/> <source>Style: {0}</source> <translation>Stil: {0}</translation> </message> @@ -11979,32 +11984,32 @@ <translation>Vervollständigen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4983"/> + <location filename="../QScintilla/Editor.py" line="4986"/> <source>Auto-Completion Provider</source> <translation>Provider für automatische Vervollständigungen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="4983"/> + <location filename="../QScintilla/Editor.py" line="4986"/> <source>The completion list provider '{0}' was already registered. Ignoring duplicate request.</source> <translation>Der Provider für automatische Vervollständigungen namens '{0}' ist bereits registriert. Die Wiederholung wird ignoriert.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5265"/> + <location filename="../QScintilla/Editor.py" line="5268"/> <source>Call-Tips Provider</source> <translation>Calltipps-Provider</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="5265"/> + <location filename="../QScintilla/Editor.py" line="5268"/> <source>The call-tips provider '{0}' was already registered. Ignoring duplicate request.</source> <translation>Der Calltipps-Provider namens '{0}' ist bereits registriert. Die Wiederholung wird ignoriert.</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8491"/> + <location filename="../QScintilla/Editor.py" line="8501"/> <source>Register Mouse Click Handler</source> <translation>Maus Klick Handler registrieren</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8491"/> + <location filename="../QScintilla/Editor.py" line="8501"/> <source>A mouse click handler for "{0}" was already registered by "{1}". Aborting request by "{2}"...</source> <translation>Ein Maus Klick Handler für "{0}" wurde bereits durch "{1}" registriert. Die Anfrage durch "{2}" wird abgebrochen...</translation> </message> @@ -12034,12 +12039,12 @@ <translation>Auswahl in Konsole ausführen</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8612"/> + <location filename="../QScintilla/Editor.py" line="8622"/> <source>EditorConfig Properties</source> <translation>EditorConfig Eigenschaften</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8612"/> + <location filename="../QScintilla/Editor.py" line="8622"/> <source><p>The EditorConfig properties for file <b>{0}</b> could not be loaded.</p></source> <translation><p>Die EditorConfig Eigenschaften für die Datei <b>{0}</b> konnten nicht geladen werden.</p></translation> </message> @@ -12079,12 +12084,12 @@ <translation>Sprachen für Rechtschreibprüfung</translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="7109"/> + <location filename="../QScintilla/Editor.py" line="7112"/> <source><p>The file <b>{0}</b> has been changed while it was opened in eric. Reread it?</p></source> <translation><p>Die Datei <b>{0}</b> wurde geändert, während sie in eric geöffnet war. Neu einlesen?</p></translation> </message> <message> - <location filename="../QScintilla/Editor.py" line="8806"/> + <location filename="../QScintilla/Editor.py" line="8816"/> <source>Generate Docstring</source> <translation>Docstring erzeugen</translation> </message> @@ -45080,674 +45085,674 @@ <context> <name>MiniEditor</name> <message> - <location filename="../QScintilla/MiniEditor.py" line="546"/> + <location filename="../QScintilla/MiniEditor.py" line="561"/> <source>New</source> <translation>Neu</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="546"/> + <location filename="../QScintilla/MiniEditor.py" line="561"/> <source>&New</source> <translation>&Neu</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="546"/> + <location filename="../QScintilla/MiniEditor.py" line="561"/> <source>Ctrl+N</source> <comment>File|New</comment> <translation>Ctrl+N</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="552"/> + <location filename="../QScintilla/MiniEditor.py" line="567"/> <source>Open an empty editor window</source> <translation>Öffnet ein leeres Editorfenster</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="553"/> + <location filename="../QScintilla/MiniEditor.py" line="568"/> <source><b>New</b><p>An empty editor window will be created.</p></source> <translation><b>Neu</b><p>Ein neues Editorfenster wird geöffnet.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="560"/> + <location filename="../QScintilla/MiniEditor.py" line="575"/> <source>Open</source> <translation>Öffnen</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="560"/> + <location filename="../QScintilla/MiniEditor.py" line="575"/> <source>&Open...</source> <translation>&Öffnen...</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="560"/> + <location filename="../QScintilla/MiniEditor.py" line="575"/> <source>Ctrl+O</source> <comment>File|Open</comment> <translation>Ctrl+O</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="566"/> + <location filename="../QScintilla/MiniEditor.py" line="581"/> <source>Open a file</source> <translation>Datei öffnen</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="567"/> + <location filename="../QScintilla/MiniEditor.py" line="582"/> <source><b>Open a file</b><p>You will be asked for the name of a file to be opened.</p></source> <translation><b>Datei öffnen</b><p>Sie werden nach dem Namen einer Datei gefragt, die geöffnet werden soll.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="574"/> + <location filename="../QScintilla/MiniEditor.py" line="589"/> <source>Save</source> <translation>Speichern</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="574"/> + <location filename="../QScintilla/MiniEditor.py" line="589"/> <source>&Save</source> <translation>&Speichern</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="574"/> + <location filename="../QScintilla/MiniEditor.py" line="589"/> <source>Ctrl+S</source> <comment>File|Save</comment> <translation>Ctrl+S</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="580"/> + <location filename="../QScintilla/MiniEditor.py" line="595"/> <source>Save the current file</source> <translation>Speichert die aktuelle Datei</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="581"/> - <source><b>Save File</b><p>Save the contents of current editor window.</p></source> - <translation><b>Datei speichern</b><p>Dies speichert den Inhalt des aktuellen Editorfensters.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="588"/> - <source>Save as</source> - <translation>Speichern unter</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="588"/> - <source>Save &as...</source> - <translation>Speichern &unter...</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="588"/> - <source>Shift+Ctrl+S</source> - <comment>File|Save As</comment> - <translation>Shift+Ctrl+S</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="594"/> - <source>Save the current file to a new one</source> - <translation>Speichere die aktuelle Datei unter neuem Namen</translation> - </message> - <message> <location filename="../QScintilla/MiniEditor.py" line="596"/> + <source><b>Save File</b><p>Save the contents of current editor window.</p></source> + <translation><b>Datei speichern</b><p>Dies speichert den Inhalt des aktuellen Editorfensters.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="603"/> + <source>Save as</source> + <translation>Speichern unter</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="603"/> + <source>Save &as...</source> + <translation>Speichern &unter...</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="603"/> + <source>Shift+Ctrl+S</source> + <comment>File|Save As</comment> + <translation>Shift+Ctrl+S</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="609"/> + <source>Save the current file to a new one</source> + <translation>Speichere die aktuelle Datei unter neuem Namen</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="611"/> <source><b>Save File as</b><p>Save the contents of current editor window to a new file. The file can be entered in a file selection dialog.</p></source> <translation><b>Speichen unter</b><p>Dies speichert den Inhalt des aktuellen Editors in eine neue Datei. Die Datei kann mit einem Dateiauswahldialog eingegeben werden.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="619"/> + <location filename="../QScintilla/MiniEditor.py" line="634"/> <source>Close</source> <translation>Schließen</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="619"/> + <location filename="../QScintilla/MiniEditor.py" line="634"/> <source>&Close</source> <translation>Schl&ießen</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="619"/> + <location filename="../QScintilla/MiniEditor.py" line="634"/> <source>Ctrl+W</source> <comment>File|Close</comment> <translation>Ctrl+W</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="625"/> + <location filename="../QScintilla/MiniEditor.py" line="640"/> <source>Close the editor window</source> <translation>Schließt das Editorfenster</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="626"/> + <location filename="../QScintilla/MiniEditor.py" line="641"/> <source><b>Close Window</b><p>Close the current window.</p></source> <translation><b>Fenster schließen</b><p>Dies schließt das aktuelle Editorfenster.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="665"/> + <location filename="../QScintilla/MiniEditor.py" line="680"/> <source>Undo</source> <translation>Rückgängig</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="665"/> + <location filename="../QScintilla/MiniEditor.py" line="680"/> <source>&Undo</source> <translation>&Rückgängig</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="665"/> + <location filename="../QScintilla/MiniEditor.py" line="680"/> <source>Ctrl+Z</source> <comment>Edit|Undo</comment> <translation>Ctrl+Z</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="665"/> + <location filename="../QScintilla/MiniEditor.py" line="680"/> <source>Alt+Backspace</source> <comment>Edit|Undo</comment> <translation>Alt+Backspace</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="672"/> + <location filename="../QScintilla/MiniEditor.py" line="687"/> <source>Undo the last change</source> <translation>Die letzte Änderung rückgängig machen</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="673"/> + <location filename="../QScintilla/MiniEditor.py" line="688"/> <source><b>Undo</b><p>Undo the last change done in the current editor.</p></source> <translation><b>Rückgängig</b><p>Dies macht die letzte Änderung des aktuellen Editors rückgängig.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="680"/> + <location filename="../QScintilla/MiniEditor.py" line="695"/> <source>Redo</source> <translation>Wiederherstellen</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="680"/> + <location filename="../QScintilla/MiniEditor.py" line="695"/> <source>&Redo</source> <translation>Wieder&herstellen</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="680"/> + <location filename="../QScintilla/MiniEditor.py" line="695"/> <source>Ctrl+Shift+Z</source> <comment>Edit|Redo</comment> <translation>Ctrl+Shift+Z</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="686"/> + <location filename="../QScintilla/MiniEditor.py" line="701"/> <source>Redo the last change</source> <translation>Die letzte Änderung wiederherstellen</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="687"/> - <source><b>Redo</b><p>Redo the last change done in the current editor.</p></source> - <translation><b>Wiederherstellen</b><p>Dies stellt die letzte Änderung des aktuellen Editors wieder her.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="694"/> - <source>Cut</source> - <translation>Ausschneiden</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="694"/> - <source>Cu&t</source> - <translation>&Ausschneiden</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="694"/> - <source>Ctrl+X</source> - <comment>Edit|Cut</comment> - <translation>Ctrl+X</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="694"/> - <source>Shift+Del</source> - <comment>Edit|Cut</comment> - <translation>Shift+Del</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="701"/> - <source>Cut the selection</source> - <translation>Schneidet die Auswahl aus</translation> - </message> - <message> <location filename="../QScintilla/MiniEditor.py" line="702"/> - <source><b>Cut</b><p>Cut the selected text of the current editor to the clipboard.</p></source> - <translation><b>Ausschneiden</b><p>Dies schneidet den ausgewählten Text des aktuellen Editors aus und legt ihn in der Zwischenablage ab.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="710"/> - <source>Copy</source> - <translation>Kopieren</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="710"/> - <source>&Copy</source> - <translation>&Kopieren</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="710"/> - <source>Ctrl+C</source> - <comment>Edit|Copy</comment> - <translation>Ctrl+C</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="710"/> - <source>Ctrl+Ins</source> - <comment>Edit|Copy</comment> - <translation>Ctrl+Einfg</translation> + <source><b>Redo</b><p>Redo the last change done in the current editor.</p></source> + <translation><b>Wiederherstellen</b><p>Dies stellt die letzte Änderung des aktuellen Editors wieder her.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="709"/> + <source>Cut</source> + <translation>Ausschneiden</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="709"/> + <source>Cu&t</source> + <translation>&Ausschneiden</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="709"/> + <source>Ctrl+X</source> + <comment>Edit|Cut</comment> + <translation>Ctrl+X</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="709"/> + <source>Shift+Del</source> + <comment>Edit|Cut</comment> + <translation>Shift+Del</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="716"/> + <source>Cut the selection</source> + <translation>Schneidet die Auswahl aus</translation> </message> <message> <location filename="../QScintilla/MiniEditor.py" line="717"/> + <source><b>Cut</b><p>Cut the selected text of the current editor to the clipboard.</p></source> + <translation><b>Ausschneiden</b><p>Dies schneidet den ausgewählten Text des aktuellen Editors aus und legt ihn in der Zwischenablage ab.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="725"/> + <source>Copy</source> + <translation>Kopieren</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="725"/> + <source>&Copy</source> + <translation>&Kopieren</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="725"/> + <source>Ctrl+C</source> + <comment>Edit|Copy</comment> + <translation>Ctrl+C</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="725"/> + <source>Ctrl+Ins</source> + <comment>Edit|Copy</comment> + <translation>Ctrl+Einfg</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="732"/> <source>Copy the selection</source> <translation>Kopiert die Auswahl</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="718"/> + <location filename="../QScintilla/MiniEditor.py" line="733"/> <source><b>Copy</b><p>Copy the selected text of the current editor to the clipboard.</p></source> <translation><b>Kopieren</b><p>Dies kopiert den ausgewählten Text des aktuellen Editors in die Zwischenablage.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="726"/> + <location filename="../QScintilla/MiniEditor.py" line="741"/> <source>Paste</source> <translation>Einfügen</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="726"/> + <location filename="../QScintilla/MiniEditor.py" line="741"/> <source>&Paste</source> <translation>Ein&fügen</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="726"/> + <location filename="../QScintilla/MiniEditor.py" line="741"/> <source>Ctrl+V</source> <comment>Edit|Paste</comment> <translation>Ctrl+V</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="726"/> + <location filename="../QScintilla/MiniEditor.py" line="741"/> <source>Shift+Ins</source> <comment>Edit|Paste</comment> <translation>Shift+Ins</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="733"/> + <location filename="../QScintilla/MiniEditor.py" line="748"/> <source>Paste the last cut/copied text</source> <translation>Fügt den Inhalt der Zwischenablage ein</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="735"/> - <source><b>Paste</b><p>Paste the last cut/copied text from the clipboard to the current editor.</p></source> - <translation><b>Einfügen</b><p>Dies fügt den zuletzt ausgeschnittenen/kopierten Text aus der Zwischenablage in den aktuellen Editor ein.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="743"/> - <source>Clear</source> - <translation>Löschen</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="743"/> - <source>Cl&ear</source> - <translation>All&es löschen</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="743"/> - <source>Alt+Shift+C</source> - <comment>Edit|Clear</comment> - <translation>Alt+Shift+C</translation> - </message> - <message> <location filename="../QScintilla/MiniEditor.py" line="750"/> + <source><b>Paste</b><p>Paste the last cut/copied text from the clipboard to the current editor.</p></source> + <translation><b>Einfügen</b><p>Dies fügt den zuletzt ausgeschnittenen/kopierten Text aus der Zwischenablage in den aktuellen Editor ein.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="758"/> + <source>Clear</source> + <translation>Löschen</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="758"/> + <source>Cl&ear</source> + <translation>All&es löschen</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="758"/> + <source>Alt+Shift+C</source> + <comment>Edit|Clear</comment> + <translation>Alt+Shift+C</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="765"/> <source>Clear all text</source> <translation>Löscht den gesamten Text</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="751"/> + <location filename="../QScintilla/MiniEditor.py" line="766"/> <source><b>Clear</b><p>Delete all text of the current editor.</p></source> <translation><b>Alles Löschen</b><p>Dies löscht den gesamten Text des aktuellen Editors.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2358"/> + <location filename="../QScintilla/MiniEditor.py" line="2373"/> <source>About</source> <translation>Über</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2358"/> + <location filename="../QScintilla/MiniEditor.py" line="2373"/> <source>&About</source> <translation>&Über</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2362"/> + <location filename="../QScintilla/MiniEditor.py" line="2377"/> <source>Display information about this software</source> <translation>Zeigt Informationen zu diesem Programm an</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2364"/> + <location filename="../QScintilla/MiniEditor.py" line="2379"/> <source><b>About</b><p>Display some information about this software.</p></source> <translation><b>Über</b><p>Zeigt einige Informationen über dieses Programm an.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2370"/> + <location filename="../QScintilla/MiniEditor.py" line="2385"/> <source>About Qt</source> <translation>Über Qt</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2370"/> + <location filename="../QScintilla/MiniEditor.py" line="2385"/> <source>About &Qt</source> <translation>Über &Qt</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2374"/> - <source>Display information about the Qt toolkit</source> - <translation>Zeige Informationen über das Qt-Toolkit an</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2376"/> - <source><b>About Qt</b><p>Display some information about the Qt toolkit.</p></source> - <translation><b>Über Qt</b><p>Zeige Informationen über das Qt-Toolkit an.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2406"/> - <source>&File</source> - <translation>&Datei</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2418"/> - <source>&Edit</source> - <translation>&Bearbeiten</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2444"/> - <source>&Help</source> - <translation>&Hilfe</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2521"/> - <source><p>This part of the status bar displays the line number of the editor.</p></source> - <translation><p>Dieser Teil der Statusleiste zeigt die Zeilennummer des Editors an.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2528"/> - <source><p>This part of the status bar displays the cursor position of the editor.</p></source> - <translation><p>Dieser Teil der Statusleiste zeigt die Cursorposition des Editors an.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2545"/> - <source>Ready</source> - <translation>Bereit</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2627"/> - <source>File loaded</source> - <translation>Datei geladen</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="3070"/> - <source>Untitled</source> - <translation>Unbenannt</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2742"/> - <source>{0}[*] - {1}</source> - <translation>{0} [*] – {1}</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2742"/> - <source>Mini Editor</source> - <translation>Mini Editor</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="3111"/> - <source>Select all</source> - <translation>Alles auswählen</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="3112"/> - <source>Deselect all</source> - <translation>Auswahl aufheben</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="3126"/> - <source>Languages</source> - <translation>Sprachen</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="3129"/> - <source>No Language</source> - <translation>Keine Sprache</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2599"/> - <source>Open File</source> - <translation>Datei öffnen</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2713"/> - <source>File saved</source> - <translation>Datei gespeichert</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2514"/> - <source><p>This part of the status bar displays an indication of the editors files writability.</p></source> - <translation><p>Dieser Teil der Statusleiste zeigt an, ob die Datei geschrieben werden kann.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2383"/> - <source>What's This?</source> - <translation>Was ist das?</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2383"/> - <source>&What's This?</source> - <translation>&Was ist das?</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2383"/> - <source>Shift+F1</source> - <comment>Help|What's This?'</comment> - <translation>Shift+F1</translation> - </message> - <message> <location filename="../QScintilla/MiniEditor.py" line="2389"/> + <source>Display information about the Qt toolkit</source> + <translation>Zeige Informationen über das Qt-Toolkit an</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2391"/> + <source><b>About Qt</b><p>Display some information about the Qt toolkit.</p></source> + <translation><b>Über Qt</b><p>Zeige Informationen über das Qt-Toolkit an.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2421"/> + <source>&File</source> + <translation>&Datei</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2433"/> + <source>&Edit</source> + <translation>&Bearbeiten</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2459"/> + <source>&Help</source> + <translation>&Hilfe</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2536"/> + <source><p>This part of the status bar displays the line number of the editor.</p></source> + <translation><p>Dieser Teil der Statusleiste zeigt die Zeilennummer des Editors an.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2543"/> + <source><p>This part of the status bar displays the cursor position of the editor.</p></source> + <translation><p>Dieser Teil der Statusleiste zeigt die Cursorposition des Editors an.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2560"/> + <source>Ready</source> + <translation>Bereit</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2642"/> + <source>File loaded</source> + <translation>Datei geladen</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="3089"/> + <source>Untitled</source> + <translation>Unbenannt</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2757"/> + <source>{0}[*] - {1}</source> + <translation>{0} [*] – {1}</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2757"/> + <source>Mini Editor</source> + <translation>Mini Editor</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="3130"/> + <source>Select all</source> + <translation>Alles auswählen</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="3131"/> + <source>Deselect all</source> + <translation>Auswahl aufheben</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="3145"/> + <source>Languages</source> + <translation>Sprachen</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="3148"/> + <source>No Language</source> + <translation>Keine Sprache</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2614"/> + <source>Open File</source> + <translation>Datei öffnen</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2728"/> + <source>File saved</source> + <translation>Datei gespeichert</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2529"/> + <source><p>This part of the status bar displays an indication of the editors files writability.</p></source> + <translation><p>Dieser Teil der Statusleiste zeigt an, ob die Datei geschrieben werden kann.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2398"/> + <source>What's This?</source> + <translation>Was ist das?</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2398"/> + <source>&What's This?</source> + <translation>&Was ist das?</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2398"/> + <source>Shift+F1</source> + <comment>Help|What's This?'</comment> + <translation>Shift+F1</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2404"/> <source>Context sensitive help</source> <translation>Kontextsensitive Hilfe</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2390"/> + <location filename="../QScintilla/MiniEditor.py" line="2405"/> <source><b>Display context sensitive help</b><p>In What's This? mode, the mouse cursor shows an arrow with a question mark, and you can click on the interface elements to get a short description of what they do and how to use them. In dialogs, this feature can be accessed using the context help button in the titlebar.</p></source> <translation><b>Zeige kontextsensitive Hilfe an<b></p>Im „Was ist das?“-Modus (der Mauszeiger stellt einen Pfeil mit Fragezeichen dar) wird auf einen Mausklick eine kurze Hilfebeschreibung zu dem ausgewählten MMI-Element angezeigt. In Dialogen kann diese Funktionalität durch den entsprechenden Knopf im Fensterkopf erreicht werden.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2456"/> + <location filename="../QScintilla/MiniEditor.py" line="2471"/> <source>File</source> <translation>Datei</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2469"/> + <location filename="../QScintilla/MiniEditor.py" line="2484"/> <source>Edit</source> <translation>Bearbeiten</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2479"/> + <location filename="../QScintilla/MiniEditor.py" line="2494"/> <source>Find</source> <translation>Suchen</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2493"/> + <location filename="../QScintilla/MiniEditor.py" line="2508"/> <source>Help</source> <translation>Hilfe</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="633"/> + <location filename="../QScintilla/MiniEditor.py" line="648"/> <source>Print</source> <translation>Drucken</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="633"/> + <location filename="../QScintilla/MiniEditor.py" line="648"/> <source>&Print</source> <translation>&Drucken</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="633"/> + <location filename="../QScintilla/MiniEditor.py" line="648"/> <source>Ctrl+P</source> <comment>File|Print</comment> <translation>Ctrl+P</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="639"/> - <source>Print the current file</source> - <translation>Druckt die aktuelle Datei</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="3030"/> - <source>Printing...</source> - <translation>Drucke...</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="3051"/> - <source>Printing completed</source> - <translation>Drucken beendet</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="3053"/> - <source>Error while printing</source> - <translation>Fehler beim Drucken</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="3056"/> - <source>Printing aborted</source> - <translation>Drucken abgebrochen</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="640"/> - <source><b>Print File</b><p>Print the contents of the current file.</p></source> - <translation><b>Datei drucken</b><p>Dies druckt den Inhalt der aktuellen Datei.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="647"/> - <source>Print Preview</source> - <translation>Druckvorschau</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="652"/> - <source>Print preview of the current file</source> - <translation>Druckvorschau der aktuellen Datei</translation> - </message> - <message> <location filename="../QScintilla/MiniEditor.py" line="654"/> + <source>Print the current file</source> + <translation>Druckt die aktuelle Datei</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="3049"/> + <source>Printing...</source> + <translation>Drucke...</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="3070"/> + <source>Printing completed</source> + <translation>Drucken beendet</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="3072"/> + <source>Error while printing</source> + <translation>Fehler beim Drucken</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="3075"/> + <source>Printing aborted</source> + <translation>Drucken abgebrochen</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="655"/> + <source><b>Print File</b><p>Print the contents of the current file.</p></source> + <translation><b>Datei drucken</b><p>Dies druckt den Inhalt der aktuellen Datei.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="662"/> + <source>Print Preview</source> + <translation>Druckvorschau</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="667"/> + <source>Print preview of the current file</source> + <translation>Druckvorschau der aktuellen Datei</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="669"/> <source><b>Print Preview</b><p>Print preview of the current file.</p></source> <translation><b>Druckvorschau</b><p>Zeift eine Druckvorschau der aktuellen Datei.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="3153"/> + <location filename="../QScintilla/MiniEditor.py" line="3172"/> <source>Guessed</source> <translation>Ermittelt</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="3175"/> + <location filename="../QScintilla/MiniEditor.py" line="3194"/> <source>Alternatives</source> <translation>Alternativen</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="3171"/> + <location filename="../QScintilla/MiniEditor.py" line="3190"/> <source>Alternatives ({0})</source> <translation>Alternativen ({0})</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="3199"/> + <location filename="../QScintilla/MiniEditor.py" line="3218"/> <source>Pygments Lexer</source> <translation>Pygments Lexer</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="3199"/> + <location filename="../QScintilla/MiniEditor.py" line="3218"/> <source>Select the Pygments lexer to apply.</source> <translation>Wähle den anzuwendenden Pygments Lexer.</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="468"/> + <location filename="../QScintilla/MiniEditor.py" line="483"/> <source>Line: {0:5}</source> <translation>Zeile: {0:5}</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="472"/> - <source>Pos: {0:5}</source> - <translation>Pos: {0:5}</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2599"/> - <source><p>The file <b>{0}</b> could not be opened.</p><p>Reason: {1}</p></source> - <translation><p>Die Datei <b>{0}</b> konnte nicht geöffnet werden.<p><p>Ursache: {1}</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2706"/> - <source>Save File</source> - <translation>Datei speichern</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2706"/> - <source><p>The file <b>{0}</b> could not be saved.<br/>Reason: {1}</p></source> - <translation><p>Die Datei <b>{0}</b> konnte nicht gesichert werden.<br/>Grund: {1}</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2572"/> - <source>The document has unsaved changes.</source> - <translation>Das Dokument hat ungesicherte Änderungen.</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="604"/> - <source>Save Copy</source> - <translation>Kopie speichern</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="604"/> - <source>Save &Copy...</source> - <translation>&Kopie speichern...</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="609"/> - <source>Save a copy of the current file</source> - <translation>Speichert eine Kopie der aktuellen Datei</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="611"/> - <source><b>Save Copy</b><p>Save a copy of the contents of current editor window. The file can be entered in a file selection dialog.</p></source> - <translation><b>Kopie speichern</b><p>Speichern einer Kopie des Inhalts des aktuellen Editorfensters. Die Datei kann mit einem Dateiauswahldialog eingegeben werden.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="3716"/> - <source>EditorConfig Properties</source> - <translation>EditorConfig Eigenschaften</translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="3716"/> - <source><p>The EditorConfig properties for file <b>{0}</b> could not be loaded.</p></source> - <translation><p>Die EditorConfig Eigenschaften für die Datei <b>{0}</b> konnten nicht geladen werden.</p></translation> - </message> - <message> - <location filename="../QScintilla/MiniEditor.py" line="2725"/> - <source>[*] - {0}</source> - <translation>[*] - {0}</translation> - </message> - <message> <location filename="../QScintilla/MiniEditor.py" line="487"/> + <source>Pos: {0:5}</source> + <translation>Pos: {0:5}</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2614"/> + <source><p>The file <b>{0}</b> could not be opened.</p><p>Reason: {1}</p></source> + <translation><p>Die Datei <b>{0}</b> konnte nicht geöffnet werden.<p><p>Ursache: {1}</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2721"/> + <source>Save File</source> + <translation>Datei speichern</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2721"/> + <source><p>The file <b>{0}</b> could not be saved.<br/>Reason: {1}</p></source> + <translation><p>Die Datei <b>{0}</b> konnte nicht gesichert werden.<br/>Grund: {1}</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2587"/> + <source>The document has unsaved changes.</source> + <translation>Das Dokument hat ungesicherte Änderungen.</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="619"/> + <source>Save Copy</source> + <translation>Kopie speichern</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="619"/> + <source>Save &Copy...</source> + <translation>&Kopie speichern...</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="624"/> + <source>Save a copy of the current file</source> + <translation>Speichert eine Kopie der aktuellen Datei</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="626"/> + <source><b>Save Copy</b><p>Save a copy of the contents of current editor window. The file can be entered in a file selection dialog.</p></source> + <translation><b>Kopie speichern</b><p>Speichern einer Kopie des Inhalts des aktuellen Editorfensters. Die Datei kann mit einem Dateiauswahldialog eingegeben werden.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="3735"/> + <source>EditorConfig Properties</source> + <translation>EditorConfig Eigenschaften</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="3735"/> + <source><p>The EditorConfig properties for file <b>{0}</b> could not be loaded.</p></source> + <translation><p>Die EditorConfig Eigenschaften für die Datei <b>{0}</b> konnten nicht geladen werden.</p></translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="2740"/> + <source>[*] - {0}</source> + <translation>[*] - {0}</translation> + </message> + <message> + <location filename="../QScintilla/MiniEditor.py" line="502"/> <source>Language: {0}</source> <translation>Sprache: {0}</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2436"/> + <location filename="../QScintilla/MiniEditor.py" line="2451"/> <source>&View</source> <translation>&Ansicht</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2486"/> + <location filename="../QScintilla/MiniEditor.py" line="2501"/> <source>View</source> <translation>Ansicht</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2506"/> + <location filename="../QScintilla/MiniEditor.py" line="2521"/> <source><p>This part of the status bar displays the editor language.</p></source> <translation><p>Dieser Teil der Statusleiste zeigt die Sprache des Editors an.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2539"/> + <location filename="../QScintilla/MiniEditor.py" line="2554"/> <source><p>This part of the status bar allows zooming the editor.</p></source> <translation><p>Dieser Teil der Statusleiste ermöglicht das Zoomen des Editors.</p></translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="398"/> + <location filename="../QScintilla/MiniEditor.py" line="413"/> <source>About eric Mini Editor</source> <translation>Über den eric Mini Editor</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="398"/> + <location filename="../QScintilla/MiniEditor.py" line="413"/> <source>The eric Mini Editor is an editor component based on QScintilla. It may be used for simple editing tasks, that don't need the power of a full blown editor.</source> <translation>Der eric Mini-Editor ist eine Editorkomponente, die auf QScintilla basiert. Sie kann für einfachere Editieraufgaben, die keinen ausgewachsenen Editor benötigen, verwendet werden.</translation> </message> <message> - <location filename="../QScintilla/MiniEditor.py" line="2572"/> + <location filename="../QScintilla/MiniEditor.py" line="2587"/> <source>eric Mini Editor</source> <translation>eric Mini Editor</translation> </message> @@ -47945,6 +47950,134 @@ </message> </context> <context> + <name>PathlibChecker</name> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="15"/> + <source>os.chmod('foo', 0o444) should be replaced by foo_path.chmod(0o444)</source> + <translation>os.chmod('foo', 0o444) sollte durch foo_path.chmod(0o444) ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="18"/> + <source>os.mkdir('foo') should be replaced by foo_path.mkdir()</source> + <translation>os.mkdir('foo') sollte durch foo_path.mkdir() ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="21"/> + <source>os.makedirs('foo/bar') should be replaced by bar_path.mkdir(parents=True)</source> + <translation>os.makedirs('foo/bar') sollte durch bar_path.mkdir(parents=True) ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="25"/> + <source>os.rename('foo', 'bar') should be replaced by foo_path.rename(Path('bar'))</source> + <translation>os.rename('foo', 'bar') sollte durch foo_path.rename(Path('bar')) ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="29"/> + <source>os.replace('foo', 'bar') should be replaced by foo_path.replace(Path('bar'))</source> + <translation>os.replace('foo', 'bar') sollte durch foo_path.replace(Path('bar')) ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="33"/> + <source>os.rmdir('foo') should be replaced by foo_path.rmdir()</source> + <translation>os.rmdir('foo') sollte durch foo_path.rmdir() ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="36"/> + <source>os.remove('foo') should be replaced by foo_path.unlink()</source> + <translation>os.remove('foo') sollte durch foo_path.unlink() ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="39"/> + <source>os.unlink('foo'') should be replaced by foo_path.unlink()</source> + <translation>os.unlink('foo'') sollte durch foo_path.unlink() ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="42"/> + <source>os.getcwd() should be replaced by Path.cwd()</source> + <translation>os.getcwd() sollte durch Path.cwd() ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="45"/> + <source>os.readlink('foo') should be replaced by foo_path.readlink()</source> + <translation>os.readlink('foo') sollte durch foo_path.readlink() ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="48"/> + <source>os.stat('foo') should be replaced by foo_path.stat() or foo_path.owner() or foo_path.group()</source> + <translation>os.stat('foo') sollte durch foo_path.stat() oder foo_path.owner() oder foo_path.group() ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="53"/> + <source>os.path.abspath('foo') should be replaced by foo_path.resolve()</source> + <translation>os.path.abspath('foo') sollte durch foo_path.resolve() ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="56"/> + <source>os.path.exists('foo') should be replaced by foo_path.exists()</source> + <translation>os.path.exists('foo') sollte durch foo_path.exists() ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="59"/> + <source>os.path.expanduser('~/foo') should be replaced by foo_path.expanduser()</source> + <translation>os.path.expanduser('~/foo') sollte durch foo_path.expanduser() ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="63"/> + <source>os.path.isdir('foo') should be replaced by foo_path.is_dir()</source> + <translation>os.path.isdir('foo') sollte durch foo_path.is_dir() ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="66"/> + <source>os.path.isfile('foo') should be replaced by foo_path.is_file()</source> + <translation>os.path.isfile('foo') sollte durch foo_path.is_file() ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="69"/> + <source>os.path.islink('foo') should be replaced by foo_path.is_symlink()</source> + <translation>os.path.islink('foo') sollte durch foo_path.is_symlink() ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="72"/> + <source>os.path.isabs('foo') should be replaced by foo_path.is_absolute()</source> + <translation>os.path.isabs('foo') sollte durch foo_path.is_absolute() ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="75"/> + <source>os.path.join('foo', 'bar') should be replaced by foo_path / 'bar'</source> + <translation>os.path.join('foo', 'bar') sollte durch foo_path / 'bar' ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="79"/> + <source>os.path.basename('foo/bar') should be replaced by bar_path.name</source> + <translation>os.path.basename('foo/bar') sollte durch bar_path.name ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="82"/> + <source>os.path.dirname('foo/bar') should be replaced by bar_path.parent</source> + <translation>os.path.dirname('foo/bar') sollte durch bar_path.parent ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="85"/> + <source>os.path.samefile('foo', 'bar') should be replaced by foo_path.samefile(bar_path)</source> + <translation>os.path.samefile('foo', 'bar') sollte durch foo_path.samefile(bar_path) ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="89"/> + <source>os.path.splitext('foo.bar') should be replaced by foo_path.suffix</source> + <translation>os.path.splitext('foo.bar') sollte durch foo_path.suffix ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="93"/> + <source>open('foo') should be replaced by Path('foo').open()</source> + <translation>open('foo') sollte durch Path('foo').open() ersetzt werden</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/PathLib/translations.py" line="97"/> + <source>py.path.local is in maintenance mode, use pathlib instead</source> + <translation>py.path.local ist im Wartungsmodus. Verwende stattdessen pathlib</translation> + </message> +</context> +<context> <name>PersonalDataDialog</name> <message> <location filename="../WebBrowser/PersonalInformationManager/PersonalDataDialog.ui" line="14"/> @@ -50834,502 +50967,502 @@ <context> <name>Project</name> <message> - <location filename="../Project/Project.py" line="1544"/> + <location filename="../Project/Project.py" line="1547"/> <source>Delete translation</source> <translation>Übersetzung löschen</translation> </message> <message> - <location filename="../Project/Project.py" line="1709"/> + <location filename="../Project/Project.py" line="1712"/> <source>Add file</source> <translation>Datei hinzufügen</translation> </message> <message> - <location filename="../Project/Project.py" line="2263"/> + <location filename="../Project/Project.py" line="2266"/> <source>Delete file</source> <translation>Datei löschen</translation> </message> <message> - <location filename="../Project/Project.py" line="2388"/> + <location filename="../Project/Project.py" line="2391"/> <source>Create project directory</source> <translation>Projektverzeichnis erstellen</translation> </message> <message> - <location filename="../Project/Project.py" line="3895"/> + <location filename="../Project/Project.py" line="3898"/> <source>Open project</source> <translation>Projekt öffnen</translation> </message> <message> - <location filename="../Project/Project.py" line="3932"/> + <location filename="../Project/Project.py" line="3935"/> <source>Save project as</source> <translation>Projekt speichern unter</translation> </message> <message> - <location filename="../Project/Project.py" line="3171"/> + <location filename="../Project/Project.py" line="3174"/> <source>Save File</source> <translation>Datei speichern</translation> </message> <message> - <location filename="../Project/Project.py" line="3207"/> + <location filename="../Project/Project.py" line="3210"/> <source>Close Project</source> <translation>Projekt schließen</translation> </message> <message> - <location filename="../Project/Project.py" line="3207"/> + <location filename="../Project/Project.py" line="3210"/> <source>The current project has unsaved changes.</source> <translation>Das aktuelle Projekt hat ungesicherte Änderungen.</translation> </message> <message> - <location filename="../Project/Project.py" line="4112"/> + <location filename="../Project/Project.py" line="4115"/> <source>&Save</source> <translation>&Speichern</translation> </message> <message> - <location filename="../Project/Project.py" line="3881"/> + <location filename="../Project/Project.py" line="3884"/> <source>New project</source> <translation>Neues Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3881"/> + <location filename="../Project/Project.py" line="3884"/> <source>&New...</source> <translation>&Neu...</translation> </message> <message> - <location filename="../Project/Project.py" line="3886"/> + <location filename="../Project/Project.py" line="3889"/> <source>Generate a new project</source> <translation>Erstelle ein neues Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3887"/> + <location filename="../Project/Project.py" line="3890"/> <source><b>New...</b><p>This opens a dialog for entering the info for a new project.</p></source> <translation><b>Neu...</b><p>Dies öffnet einen Dialog zur Eingabe der Informationen des neuen Projektes.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3895"/> + <location filename="../Project/Project.py" line="3898"/> <source>&Open...</source> <translation>&Öffnen...</translation> </message> <message> - <location filename="../Project/Project.py" line="3900"/> + <location filename="../Project/Project.py" line="3903"/> <source>Open an existing project</source> <translation>Öffnet ein bestehendes Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3901"/> + <location filename="../Project/Project.py" line="3904"/> <source><b>Open...</b><p>This opens an existing project.</p></source> <translation><b>Öffnen...</b><p>Dies öffnet ein bestehendes Projekt.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3908"/> + <location filename="../Project/Project.py" line="3911"/> <source>Close project</source> <translation>Projekt schließen</translation> </message> <message> - <location filename="../Project/Project.py" line="3908"/> + <location filename="../Project/Project.py" line="3911"/> <source>&Close</source> <translation>Schl&ießen</translation> </message> <message> - <location filename="../Project/Project.py" line="3912"/> + <location filename="../Project/Project.py" line="3915"/> <source>Close the current project</source> <translation>Schließt das aktuelle Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3913"/> + <location filename="../Project/Project.py" line="3916"/> <source><b>Close</b><p>This closes the current project.</p></source> <translation><b>Schließen</b><p>Dies schließt das aktuelle Projekt.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3920"/> + <location filename="../Project/Project.py" line="3923"/> <source>Save project</source> <translation>Projekt speichern</translation> </message> <message> - <location filename="../Project/Project.py" line="3924"/> + <location filename="../Project/Project.py" line="3927"/> <source>Save the current project</source> <translation>Speichert das aktuelle Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3925"/> + <location filename="../Project/Project.py" line="3928"/> <source><b>Save</b><p>This saves the current project.</p></source> <translation><b>Speichern</b><p>Dies speichert das aktuelle Projekt.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3936"/> + <location filename="../Project/Project.py" line="3939"/> <source>Save the current project to a new file</source> <translation>Speichert das aktuelle Projekt in eine neue Datei</translation> </message> <message> - <location filename="../Project/Project.py" line="3938"/> + <location filename="../Project/Project.py" line="3941"/> <source><b>Save as</b><p>This saves the current project to a new file.</p></source> <translation><b>Speichern unter</b><p>Dies speichert das aktuelle Projekt in eine neue Datei.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3978"/> + <location filename="../Project/Project.py" line="3981"/> <source>Add translation to project</source> <translation>Übersetzung zum Projekt hinzufügen</translation> </message> <message> - <location filename="../Project/Project.py" line="3978"/> + <location filename="../Project/Project.py" line="3981"/> <source>Add &translation...</source> <translation>&Übersetzung hinzufügen...</translation> </message> <message> - <location filename="../Project/Project.py" line="3983"/> + <location filename="../Project/Project.py" line="3986"/> <source>Add a translation to the current project</source> <translation>Eine Übersetzung zum aktuellen Projekt hinzufügen</translation> </message> <message> - <location filename="../Project/Project.py" line="3985"/> + <location filename="../Project/Project.py" line="3988"/> <source><b>Add translation...</b><p>This opens a dialog for add a translation to the current project.</p></source> <translation><b>Übersetzung hinzufügen...</b><p>Dies öffnet einen Dialog, mit dem eine Übersetzung zum aktuellen Projekt hinzugefügt werden kann.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4023"/> + <location filename="../Project/Project.py" line="4026"/> <source>Project properties</source> <translation>Projekteigenschaften</translation> </message> <message> - <location filename="../Project/Project.py" line="4023"/> + <location filename="../Project/Project.py" line="4026"/> <source>&Properties...</source> <translation>&Eigenschaften...</translation> </message> <message> - <location filename="../Project/Project.py" line="4028"/> + <location filename="../Project/Project.py" line="4031"/> <source>Show the project properties</source> <translation>Zeigt die Projekteigenschaften an</translation> </message> <message> - <location filename="../Project/Project.py" line="4029"/> + <location filename="../Project/Project.py" line="4032"/> <source><b>Properties...</b><p>This shows a dialog to edit the project properties.</p></source> <translation><b>Eigenschaften...</b><p>Dies zeigt einen Dialog an, mit dem die Projekteigenschaften bearbeitet werden können.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4376"/> + <location filename="../Project/Project.py" line="4379"/> <source>Open &Recent Projects</source> <translation>Zu&letzt geöffnete Projekte</translation> </message> <message> - <location filename="../Project/Project.py" line="1841"/> + <location filename="../Project/Project.py" line="1844"/> <source>The target directory must not be empty.</source> <translation>Das Zielverzeichnis darf nicht leer sein.</translation> </message> <message> - <location filename="../Project/Project.py" line="3993"/> + <location filename="../Project/Project.py" line="3996"/> <source>Search new files</source> <translation>Neue Dateien suchen</translation> </message> <message> - <location filename="../Project/Project.py" line="3993"/> + <location filename="../Project/Project.py" line="3996"/> <source>Searc&h new files...</source> <translation>Neue &Dateien suchen...</translation> </message> <message> - <location filename="../Project/Project.py" line="3997"/> + <location filename="../Project/Project.py" line="4000"/> <source>Search new files in the project directory.</source> <translation>Sucht neue Dateien im Projektverzeichnis.</translation> </message> <message> - <location filename="../Project/Project.py" line="1852"/> + <location filename="../Project/Project.py" line="1855"/> <source>Add directory</source> <translation>Verzeichnis hinzufügen</translation> </message> <message> - <location filename="../Project/Project.py" line="1852"/> + <location filename="../Project/Project.py" line="1855"/> <source>The source directory must not be empty.</source> <translation>Das Quellverzeichnis darf nicht leer sein.</translation> </message> <message> - <location filename="../Project/Project.py" line="1418"/> + <location filename="../Project/Project.py" line="1421"/> <source>Add Language</source> <translation>Sprache hinzufügen</translation> </message> <message> - <location filename="../Project/Project.py" line="3932"/> + <location filename="../Project/Project.py" line="3935"/> <source>Save &as...</source> <translation>Speichern &unter...</translation> </message> <message> - <location filename="../Project/Project.py" line="4902"/> + <location filename="../Project/Project.py" line="4905"/> <source>Version Control System</source> <translation>Versionskontrollsystem</translation> </message> <message> - <location filename="../Project/Project.py" line="4754"/> + <location filename="../Project/Project.py" line="4757"/> <source>Search New Files</source> <translation>Neue Dateien suchen</translation> </message> <message> - <location filename="../Project/Project.py" line="4754"/> + <location filename="../Project/Project.py" line="4757"/> <source>There were no new files found to be added.</source> <translation>Es wurden keine neuen Dateien gefunden.</translation> </message> <message> - <location filename="../Project/Project.py" line="1055"/> + <location filename="../Project/Project.py" line="1058"/> <source>Read project session</source> <translation>Projektsitzung lesen</translation> </message> <message> - <location filename="../Project/Project.py" line="1259"/> + <location filename="../Project/Project.py" line="1262"/> <source>Please save the project first.</source> <translation>Bitte speichern Sie zuerst das Projekt.</translation> </message> <message> - <location filename="../Project/Project.py" line="4151"/> + <location filename="../Project/Project.py" line="4154"/> <source>Load session</source> <translation>Sitzung laden</translation> </message> <message> - <location filename="../Project/Project.py" line="4155"/> + <location filename="../Project/Project.py" line="4158"/> <source>Load the projects session file.</source> <translation>Laden der Projektsitzung.</translation> </message> <message> - <location filename="../Project/Project.py" line="4169"/> + <location filename="../Project/Project.py" line="4172"/> <source>Save session</source> <translation>Sitzung speichern</translation> </message> <message> - <location filename="../Project/Project.py" line="4173"/> + <location filename="../Project/Project.py" line="4176"/> <source>Save the projects session file.</source> <translation>Speichern der Projektsitzung.</translation> </message> <message> - <location filename="../Project/Project.py" line="4156"/> + <location filename="../Project/Project.py" line="4159"/> <source><b>Load session</b><p>This loads the projects session file. The session consists of the following data.<br>- all open source files<br>- all breakpoint<br>- the commandline arguments<br>- the working directory<br>- the exception reporting flag</p></source> <translation><b>Sitzung laden</b><p>Dies lädt eine Projektsitzungsdatei. Die Sitzung enthält die folgenden Daten.<br>- alle offenen Quelltextdateien<br>- alle Haltepunkte<br>- die Kommandozeilenparameter<br>- das Arbeitsverzeichnis<br>- das Ausnahmemeldungsflag</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4174"/> + <location filename="../Project/Project.py" line="4177"/> <source><b>Save session</b><p>This saves the projects session file. The session consists of the following data.<br>- all open source files<br>- all breakpoint<br>- the commandline arguments<br>- the working directory<br>- the exception reporting flag</p></source> <translation><b>Sitzung speichern</b><p>Dies speichert eine Projektsitzungsdatei. Die Sitzung enthält die folgenden Daten.<br>- alle offenen Quelltextdateien<br>- alle Haltepunkte<br>- die Kommandozeilenparameter<br>- das Arbeitsverzeichnis<br>- das Ausnahmemeldungsflag</p></translation> </message> <message> + <location filename="../Project/Project.py" line="4393"/> + <source>Source &Documentation</source> + <translation>&Quelltextdokumentation</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4388"/> + <source>Chec&k</source> + <translation>&Prüfen</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4204"/> + <source>Code Metrics</source> + <translation>Quelltextmetriken</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4204"/> + <source>&Code Metrics...</source> + <translation>&Quelltextmetriken...</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4208"/> + <source>Show some code metrics for the project.</source> + <translation>Zeige einige Quelltextmetriken für das Projekt.</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4210"/> + <source><b>Code Metrics...</b><p>This shows some code metrics for all Python files in the project.</p></source> + <translation><b>Quelltextmetriken...</b><p>Dies zeigt einige Quelltextmetriken für alle Python-Dateien des Projektes.</p></translation> + </message> + <message> + <location filename="../Project/Project.py" line="4218"/> + <source>Python Code Coverage</source> + <translation>Python-Quelltext-Abdeckung</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4218"/> + <source>Code Co&verage...</source> + <translation>&Quelltext Abdeckung...</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4222"/> + <source>Show code coverage information for the project.</source> + <translation>Zeige die Quelltextabdeckung für das Projekt.</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4224"/> + <source><b>Code Coverage...</b><p>This shows the code coverage information for all Python files in the project.</p></source> + <translation><b>Quelltext Abdeckung...</b><p>Dies zeigt die Quelltextabdeckung für alle Python-Dateien des Projektes an.</p></translation> + </message> + <message> + <location filename="../Project/Project.py" line="5108"/> + <source>Profile Data</source> + <translation>Profildaten</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4232"/> + <source>&Profile Data...</source> + <translation>&Profildaten...</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4236"/> + <source>Show profiling data for the project.</source> + <translation>Zeige Profildaten des aktuellen Projektes.</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4238"/> + <source><b>Profile Data...</b><p>This shows the profiling data for the project.</p></source> + <translation><b>Profildaten...</b><p>Dies zeigt die Profildaten des Projektes.</p></translation> + </message> + <message> <location filename="../Project/Project.py" line="4390"/> - <source>Source &Documentation</source> - <translation>&Quelltextdokumentation</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4385"/> - <source>Chec&k</source> - <translation>&Prüfen</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4201"/> - <source>Code Metrics</source> - <translation>Quelltextmetriken</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4201"/> - <source>&Code Metrics...</source> - <translation>&Quelltextmetriken...</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4205"/> - <source>Show some code metrics for the project.</source> - <translation>Zeige einige Quelltextmetriken für das Projekt.</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4207"/> - <source><b>Code Metrics...</b><p>This shows some code metrics for all Python files in the project.</p></source> - <translation><b>Quelltextmetriken...</b><p>Dies zeigt einige Quelltextmetriken für alle Python-Dateien des Projektes.</p></translation> - </message> - <message> - <location filename="../Project/Project.py" line="4215"/> - <source>Python Code Coverage</source> - <translation>Python-Quelltext-Abdeckung</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4215"/> - <source>Code Co&verage...</source> - <translation>&Quelltext Abdeckung...</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4219"/> - <source>Show code coverage information for the project.</source> - <translation>Zeige die Quelltextabdeckung für das Projekt.</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4221"/> - <source><b>Code Coverage...</b><p>This shows the code coverage information for all Python files in the project.</p></source> - <translation><b>Quelltext Abdeckung...</b><p>Dies zeigt die Quelltextabdeckung für alle Python-Dateien des Projektes an.</p></translation> - </message> - <message> - <location filename="../Project/Project.py" line="5105"/> - <source>Profile Data</source> - <translation>Profildaten</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4229"/> - <source>&Profile Data...</source> - <translation>&Profildaten...</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4233"/> - <source>Show profiling data for the project.</source> - <translation>Zeige Profildaten des aktuellen Projektes.</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4235"/> - <source><b>Profile Data...</b><p>This shows the profiling data for the project.</p></source> - <translation><b>Profildaten...</b><p>Dies zeigt die Profildaten des Projektes.</p></translation> - </message> - <message> - <location filename="../Project/Project.py" line="4387"/> <source>Sho&w</source> <translation>&Zeige</translation> </message> <message> - <location filename="../Project/Project.py" line="5082"/> + <location filename="../Project/Project.py" line="5085"/> <source>There is no main script defined for the current project. Aborting</source> <translation>Für das aktuelle Projekt ist kein Hauptskript festgelegt. Abbruch</translation> </message> <message> - <location filename="../Project/Project.py" line="5032"/> + <location filename="../Project/Project.py" line="5035"/> <source>Coverage Data</source> <translation>Quelltext Abdeckungsdaten</translation> </message> <message> - <location filename="../Project/Project.py" line="4381"/> + <location filename="../Project/Project.py" line="4384"/> <source>&Version Control</source> <translation>&Versionskontrolle</translation> </message> <message> - <location filename="../Project/Project.py" line="5159"/> + <location filename="../Project/Project.py" line="5162"/> <source>Application Diagram</source> <translation>Applikations-Diagramm</translation> </message> <message> - <location filename="../Project/Project.py" line="4244"/> + <location filename="../Project/Project.py" line="4247"/> <source>&Application Diagram...</source> <translation>&Applikations-Diagramm...</translation> </message> <message> - <location filename="../Project/Project.py" line="4248"/> + <location filename="../Project/Project.py" line="4251"/> <source>Show a diagram of the project.</source> <translation>Zeigt ein Diagramm des Projektes.</translation> </message> <message> - <location filename="../Project/Project.py" line="4250"/> + <location filename="../Project/Project.py" line="4253"/> <source><b>Application Diagram...</b><p>This shows a diagram of the project.</p></source> <translation><b>Applikations-Diagramm...</b><p>Dies zeigt ein Diagramm des Projektes.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4388"/> + <location filename="../Project/Project.py" line="4391"/> <source>&Diagrams</source> <translation>&Diagramme</translation> </message> <message> - <location filename="../Project/Project.py" line="5055"/> + <location filename="../Project/Project.py" line="5058"/> <source>Code Coverage</source> <translation>Quelltext Abdeckung</translation> </message> <message> - <location filename="../Project/Project.py" line="5055"/> + <location filename="../Project/Project.py" line="5058"/> <source>Please select a coverage file</source> <translation>Bitte wählen Sie eine Datei mit Abdeckungsdaten</translation> </message> <message> - <location filename="../Project/Project.py" line="5105"/> + <location filename="../Project/Project.py" line="5108"/> <source>Please select a profile file</source> <translation>Bitte wählen Sie eine Datei mit Profildaten</translation> </message> <message> - <location filename="../Project/Project.py" line="3963"/> + <location filename="../Project/Project.py" line="3966"/> <source>Add directory to project</source> <translation>Verzeichnis zum Projekt hinzufügen</translation> </message> <message> - <location filename="../Project/Project.py" line="3963"/> + <location filename="../Project/Project.py" line="3966"/> <source>Add directory...</source> <translation>Verzeichnis hinzufügen...</translation> </message> <message> - <location filename="../Project/Project.py" line="3968"/> + <location filename="../Project/Project.py" line="3971"/> <source>Add a directory to the current project</source> <translation>Füge den Inhalt eines Verzeichnisses zum Projekt hinzu</translation> </message> <message> - <location filename="../Project/Project.py" line="3970"/> + <location filename="../Project/Project.py" line="3973"/> <source><b>Add directory...</b><p>This opens a dialog for adding a directory to the current project.</p></source> <translation><b>Verzeichnis hinzufügen</b><p>Dies öffnet einen Dialog, mit dem ein Verzeichnis bzw. der Inhalt eines Verzeichnisses zum aktuellen Projekt hinzugefügt werden kann.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="1989"/> + <location filename="../Project/Project.py" line="1992"/> <source>Rename file</source> <translation>Datei umbenennen</translation> </message> <message> - <location filename="../Project/Project.py" line="2013"/> + <location filename="../Project/Project.py" line="2016"/> <source>Rename File</source> <translation>Datei umbenennen</translation> </message> <message> - <location filename="../Project/Project.py" line="2578"/> + <location filename="../Project/Project.py" line="2581"/> <source>Shall the project file be added to the repository?</source> <translation>Soll die Projektdatei zum Repository hinzugefügt werden?</translation> </message> <message> - <location filename="../Project/Project.py" line="3008"/> + <location filename="../Project/Project.py" line="3011"/> <source>New Project</source> <translation>Neues Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="2508"/> + <location filename="../Project/Project.py" line="2511"/> <source>Add existing files to the project?</source> <translation>Existierende Dateien dem Projekt hinzufügen?</translation> </message> <message> - <location file