Sat, 27 May 2023 15:33:58 +0200
Added missing close event handlers and removed some unused method arguments.
--- a/ChangeLog Sat Dec 31 16:27:44 2022 +0100 +++ b/ChangeLog Sat May 27 15:33:58 2023 +0200 @@ -1,5 +1,8 @@ ChangeLog --------- +Version 10.2.1: +- bug fixes + Version 10.2.0 - adapted some import statements to eric 23.1 and newer
--- a/PluginMetricsRadon.epj Sat Dec 31 16:27:44 2022 +0100 +++ b/PluginMetricsRadon.epj Sat May 27 15:33:58 2023 +0200 @@ -1,7 +1,7 @@ { "header": { "comment": "eric project file for project PluginMetricsRadon", - "copyright": "Copyright (C) 2022 Detlev Offenbach, detlev@die-offenbachs.de" + "copyright": "Copyright (C) 2023 Detlev Offenbach, detlev@die-offenbachs.de" }, "project": { "AUTHOR": "Detlev Offenbach", @@ -11,6 +11,7 @@ "AllowStarArgAny": false, "AllowUntypedDefs": false, "AllowUntypedNested": false, + "CheckFutureAnnotations": false, "DispatchDecorators": [ "singledispatch", "singledispatchmethod" @@ -62,9 +63,9 @@ "CopyrightAuthor": "", "CopyrightMinFileSize": 0, "DocstringType": "eric_black", - "EnabledCheckerCategories": "C, D, E, M, N, S, Y, W", + "EnabledCheckerCategories": "C, D, E, M, N, S, Y, U, W", "ExcludeFiles": "*/Ui_*.py, */*_rc.py", - "ExcludeMessages": "C101,E265,E266,E305,E402,M201,M301,M302,M303,M304,M305,M306,M307,M308,M311,M312,M313,M314,M315,M321,M701,M702,M811,M834,N802,N803,N807,N808,N821,W293,W503,Y119,Y401,Y402", + "ExcludeMessages": "C101,E265,E266,E305,E402,M201,M301,M302,M303,M304,M305,M306,M307,M308,M311,M312,M313,M314,M315,M321,M701,M702,M811,M834,N802,N803,N807,N808,N821,U200,W293,W503,Y119,Y401,Y402", "FixCodes": "", "FixIssues": false, "FutureChecker": "", @@ -80,6 +81,14 @@ "MaxCodeComplexity": 10, "MaxDocLineLength": 88, "MaxLineLength": 88, + "NameOrderChecker": { + "ApplicationPackageNames": [], + "CombinedAsImports": false, + "SortCaseSensitive": false, + "SortFromFirst": false, + "SortIgnoringStyle": false, + "SortOrder": "natural" + }, "NoFixCodes": "E501", "RepeatMessages": true, "SecurityChecker": { @@ -113,7 +122,24 @@ "WeakKeySizeRsaMedium": "2048" }, "ShowIgnored": false, + "UnusedChecker": { + "IgnoreAbstract": true, + "IgnoreDunderGlobals": true, + "IgnoreDunderMethods": true, + "IgnoreEventHandlerMethods": true, + "IgnoreLambdas": false, + "IgnoreNestedFunctions": false, + "IgnoreOverload": true, + "IgnoreOverride": true, + "IgnoreSlotMethods": true, + "IgnoreStubs": true, + "IgnoreVariadicNames": false + }, "ValidEncodings": "latin-1, utf-8" + }, + "SyntaxChecker": { + "AdditionalBuiltins": "", + "ExcludeFiles": "*Ui_*.py" } }, "DESCRIPTION": "This plugin implements dialogs for various code metrics determined using the radon library.", @@ -198,7 +224,7 @@ ], "OTHERTOOLSPARMS": { "Black": { - "exclude": "/(\\.direnv|\\.eggs|\\.git|\\.hg|\\.mypy_cache|\\.nox|\\.tox|\\.venv|venv|\\.svn|_build|buck-out|build|dist|__pypackages__)/", + "exclude": "/(\\.direnv|\\.eggs|\\.git|\\.hg|\\.mypy_cache|\\.nox|\\.tox|\\.venv|venv|\\.svn|\\.ipynb_checkpoints|_build|buck-out|build|dist|__pypackages__)/", "extend-exclude": "", "force-exclude": "", "line-length": 88,
--- a/PluginMetricsRadon.py Sat Dec 31 16:27:44 2022 +0100 +++ b/PluginMetricsRadon.py Sat May 27 15:33:58 2023 +0200 @@ -30,7 +30,7 @@ author = "Detlev Offenbach <detlev@die-offenbachs.de>" autoactivate = True deactivateable = True -version = "10.2.0" +version = "10.2.1" className = "RadonMetricsPlugin" packageName = "RadonMetrics" shortDescription = "Code metrics plugin using radon package" @@ -631,7 +631,7 @@ ) print("Using default.") - def __projectShowMenu(self, menuName, menu): + def __projectShowMenu(self, menuName, menu): # noqa: U100 """ Private slot called, when the the project menu or a submenu is about to be shown. @@ -781,7 +781,7 @@ menu.addActions(self.__editorMetricsActs) menu.addAction(self.__editorSeparatorActs[1]) - def __editorShowMenu(self, menuName, menu, editor): + def __editorShowMenu(self, menuName, menu, editor): # noqa: U100 """ Private slot called, when the the editor context menu or a submenu is about to be shown.
--- a/RadonMetrics/CodeMetricsCalculator.py Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/CodeMetricsCalculator.py Sat May 27 15:33:58 2023 +0200 @@ -29,7 +29,7 @@ return batchRawCodeMetrics -def rawCodeMetrics(file, text=""): +def rawCodeMetrics(file, text=""): # noqa: U100 """ Private function to calculate the raw code metrics of one file. @@ -40,7 +40,7 @@ @return tuple containing the result dictionary @rtype (tuple of dict) """ - return __rawCodeMetrics(file, text) + return __rawCodeMetrics(text) def batchRawCodeMetrics(argumentsList, send, fx, cancelled, maxProcesses=0): @@ -131,16 +131,14 @@ @type multiprocessing.Queue """ for filename, source in iter(inputQueue.get, "STOP"): - result = __rawCodeMetrics(filename, source) + result = __rawCodeMetrics(source) outputQueue.put((filename, result)) -def __rawCodeMetrics(file, text=""): +def __rawCodeMetrics(text): """ Private function to calculate the raw code metrics for one Python file. - @param file source filename - @type str @param text source text @type str @return tuple containing the result dictionary
--- a/RadonMetrics/CyclomaticComplexityCalculator.py Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/CyclomaticComplexityCalculator.py Sat May 27 15:33:58 2023 +0200 @@ -29,7 +29,7 @@ return batchCyclomaticComplexity -def cyclomaticComplexity(file, text=""): +def cyclomaticComplexity(file, text=""): # noqa: U100 """ Private function to calculate the cyclomatic complexity of one file. @@ -40,7 +40,7 @@ @return tuple containing the result dictionary @rtype (tuple of dict) """ - return __cyclomaticComplexity(file, text) + return __cyclomaticComplexity(text) def batchCyclomaticComplexity(argumentsList, send, fx, cancelled, maxProcesses=0): @@ -133,17 +133,15 @@ @type multiprocessing.Queue """ for filename, source in iter(inputQueue.get, "STOP"): - result = __cyclomaticComplexity(filename, source) + result = __cyclomaticComplexity(source) outputQueue.put((filename, result)) -def __cyclomaticComplexity(file, text=""): +def __cyclomaticComplexity(text): """ Private function to calculate the cyclomatic complexity for one Python file. - @param file source filename - @type str @param text source text @type str @return tuple containing the result dictionary
--- a/RadonMetrics/CyclomaticComplexityDialog.py Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/CyclomaticComplexityDialog.py Sat May 27 15:33:58 2023 +0200 @@ -74,6 +74,7 @@ self.radonService.batchFinished.connect(self.__batchFinished) self.__isSingle = isSingle + self.__batch = False self.cancelled = False self.__project = ericApp().getObject("Project") @@ -84,10 +85,11 @@ self.__fileList = [] self.filterFrame.setVisible(False) + self.summaryHeader.setText(self.tr("<b>Summary:</b>")) + self.explanationHeader.setText(self.tr("<b>Ranking:</b>")) self.explanationLabel.setText( self.tr( "<table>" - "<tr><td colspan=3><b>Ranking:</b></td></tr>" "<tr><td><b>A</b></td><td>1 - 5</td>" "<td>(low risk - simple block)</td></tr>" "<tr><td><b>B</b></td><td>6 - 10</td>" @@ -103,10 +105,10 @@ "</table>" ) ) + self.typeHeader.setText(self.tr("<b>Type:</b>")) self.typeLabel.setText( self.tr( "<table>" - "<tr><td colspan=2><b>Type:</b></td></tr>" "<tr><td><b>C</b></td><td>Class</td></tr>" "<tr><td><b>F</b></td><td>Function</td></tr>" "<tr><td><b>M</b></td><td>Method</td></tr>" @@ -271,15 +273,13 @@ self.rankComboBox.findText(self.__minimumRank) ) - def start(self, fn, minRank="D"): + def start(self, fn): """ Public slot to start the cyclomatic complexity determination. @param fn file or list of files or directory to show the cyclomatic complexity for @type str or list of str - @param minRank minimum rank of entries to be shown - @type str (one character out of A - F) """ self.cancelled = False self.__errorItem = None @@ -324,8 +324,6 @@ self.__minimumRank = self.rankComboBox.currentText() if len(self.files) > 0: - # disable updates of the list for speed - self.resultList.setUpdatesEnabled(False) self.resultList.setSortingEnabled(False) self.checkProgress.setMaximum(len(self.files)) @@ -341,15 +339,12 @@ self.__batch = True self.cyclomaticComplexityBatch() - def cyclomaticComplexity(self, codestring=""): + def cyclomaticComplexity(self): """ Public method to start a cyclomatic complexity calculation for one Python file. The results are reported to the __processResult slot. - - @param codestring optional sourcestring - @type str """ if not self.files: self.checkProgress.setMaximum(1) @@ -359,7 +354,6 @@ self.filename = self.files.pop(0) self.checkProgress.setValue(self.progress) - QApplication.processEvents() if self.cancelled: return @@ -388,7 +382,6 @@ argumentsList = [] for progress, filename in enumerate(self.files, start=1): self.checkProgress.setValue(progress) - QApplication.processEvents() try: source = Utilities.readEncodedFile(filename)[0] @@ -401,7 +394,6 @@ # reset the progress bar to the checked files self.checkProgress.setValue(self.progress) - QApplication.processEvents() self.__finished = False self.radonService.cyclomaticComplexityBatch(argumentsList) @@ -470,9 +462,7 @@ self.__summary[rank] += result["summary"][rank] self.progress += 1 - self.checkProgress.setValue(self.progress) - QApplication.processEvents() if not self.__batch: self.cyclomaticComplexity() @@ -486,11 +476,9 @@ if not self.__finished: self.__finished = True - # re-enable updates of the list self.resultList.setSortingEnabled(True) self.resultList.sortItems(0, Qt.SortOrder.AscendingOrder) self.resultList.sortItems(1, Qt.SortOrder.AscendingOrder) - self.resultList.setUpdatesEnabled(True) self.cancelled = True self.buttonBox.button(QDialogButtonBox.StandardButton.Close).setEnabled( @@ -516,7 +504,6 @@ self.summaryLabel.setText( self.tr( - "<b>Summary:</b><br/>" "{0} blocks (classes, functions, methods) analyzed.<br/>" "Average complexity: {7} ({8})" "<table>" @@ -548,6 +535,25 @@ self.checkProgress.setVisible(False) + def __cancel(self): + """ + Private method to cancel the current check run. + """ + if self.__batch: + self.radonService.cancelComplexityBatch() + QTimer.singleShot(1000, self.__finish) + else: + self.__finish() + + def closeEvent(self, evt): + """ + Protected method to handle a close event. + + @param evt reference to the close event + @type QCloseEvent + """ + self.__cancel() + @pyqtSlot(QAbstractButton) def on_buttonBox_clicked(self, button): """ @@ -559,11 +565,7 @@ if button == self.buttonBox.button(QDialogButtonBox.StandardButton.Close): self.close() elif button == self.buttonBox.button(QDialogButtonBox.StandardButton.Cancel): - if self.__batch: - self.radonService.cancelComplexityBatch() - QTimer.singleShot(1000, self.__finish) - else: - self.__finish() + self.__cancel() @pyqtSlot() def on_startButton_clicked(self): @@ -644,12 +646,12 @@ vm = ericApp().getObject("ViewManager") vm.openSourceFile(filename, lineno) - @pyqtSlot(str) - def on_rankComboBox_activated(self, rank): + @pyqtSlot(int) + def on_rankComboBox_activated(self, index): """ Private slot to handle the selection of a minimum rank. - @param rank selected minimum rank + @param index index of the selected minimum rank @type str """ if self.__isSingle:
--- a/RadonMetrics/CyclomaticComplexityDialog.ui Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/CyclomaticComplexityDialog.ui Sat May 27 15:33:58 2023 +0200 @@ -158,8 +158,44 @@ </widget> </item> <item> - <layout class="QHBoxLayout" name="horizontalLayout_2"> - <item> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="summaryHeader"> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLabel" name="typeHeader"> + <property name="maximumSize"> + <size> + <width>200</width> + <height>16777215</height> + </size> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="0" column="2"> + <widget class="QLabel" name="explanationHeader"> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="1" column="0"> <widget class="QLabel" name="summaryLabel"> <property name="alignment"> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> @@ -169,7 +205,7 @@ </property> </widget> </item> - <item> + <item row="1" column="1"> <widget class="QLabel" name="typeLabel"> <property name="maximumSize"> <size> @@ -185,7 +221,7 @@ </property> </widget> </item> - <item> + <item row="1" column="2"> <widget class="QLabel" name="explanationLabel"> <property name="alignment"> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
--- a/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.PluginMetricsRadon.html Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.PluginMetricsRadon.html Sat May 27 15:33:58 2023 +0200 @@ -115,7 +115,7 @@ </tr> <tr> <td><a href="#RadonMetricsPlugin.__editorShowMenu">__editorShowMenu</a></td> -<td>Private slot called, when the the editor context menu or a submenu is about to be shown.</td> +<td></td> </tr> <tr> <td><a href="#RadonMetricsPlugin.__initialize">__initialize</a></td> @@ -159,7 +159,7 @@ </tr> <tr> <td><a href="#RadonMetricsPlugin.__projectShowMenu">__projectShowMenu</a></td> -<td>Private slot called, when the the project menu or a submenu is about to be shown.</td> +<td></td> </tr> <tr> <td><a href="#RadonMetricsPlugin.__serviceError">__serviceError</a></td> @@ -316,25 +316,6 @@ <h4>RadonMetricsPlugin.__editorShowMenu</h4> <b>__editorShowMenu</b>(<i>menuName, menu, editor</i>) -<p> - Private slot called, when the the editor context menu or a submenu is - about to be shown. -</p> -<dl> - -<dt><i>menuName</i> (str)</dt> -<dd> -name of the menu to be shown -</dd> -<dt><i>menu</i> (QMenu)</dt> -<dd> -reference to the menu -</dd> -<dt><i>editor</i> (Editor)</dt> -<dd> -reference to the editor -</dd> -</dl> <a NAME="RadonMetricsPlugin.__initialize" ID="RadonMetricsPlugin.__initialize"></a> <h4>RadonMetricsPlugin.__initialize</h4> <b>__initialize</b>(<i></i>) @@ -426,21 +407,6 @@ <h4>RadonMetricsPlugin.__projectShowMenu</h4> <b>__projectShowMenu</b>(<i>menuName, menu</i>) -<p> - Private slot called, when the the project menu or a submenu is - about to be shown. -</p> -<dl> - -<dt><i>menuName</i> (str)</dt> -<dd> -name of the menu to be shown -</dd> -<dt><i>menu</i> (QMenu)</dt> -<dd> -reference to the menu -</dd> -</dl> <a NAME="RadonMetricsPlugin.__serviceError" ID="RadonMetricsPlugin.__serviceError"></a> <h4>RadonMetricsPlugin.__serviceError</h4> <b>__serviceError</b>(<i>type_, fn, msg</i>)
--- a/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.CodeMetricsCalculator.html Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.CodeMetricsCalculator.html Sat May 27 15:33:58 2023 +0200 @@ -47,7 +47,7 @@ </tr> <tr> <td><a href="#rawCodeMetrics">rawCodeMetrics</a></td> -<td>Private function to calculate the raw code metrics of one file.</td> +<td></td> </tr> <tr> <td><a href="#workerTask">workerTask</a></td> @@ -88,17 +88,13 @@ <hr /> <a NAME="__rawCodeMetrics" ID="__rawCodeMetrics"></a> <h2>__rawCodeMetrics</h2> -<b>__rawCodeMetrics</b>(<i>file, text=""</i>) +<b>__rawCodeMetrics</b>(<i>text</i>) <p> Private function to calculate the raw code metrics for one Python file. </p> <dl> -<dt><i>file</i> (str)</dt> -<dd> -source filename -</dd> <dt><i>text</i> (str)</dt> <dd> source text @@ -188,32 +184,6 @@ <h2>rawCodeMetrics</h2> <b>rawCodeMetrics</b>(<i>file, text=""</i>) -<p> - Private function to calculate the raw code metrics of one file. -</p> -<dl> - -<dt><i>file</i> (str)</dt> -<dd> -source filename -</dd> -<dt><i>text</i> (str)</dt> -<dd> -source text -</dd> -</dl> -<dl> -<dt>Return:</dt> -<dd> -tuple containing the result dictionary -</dd> -</dl> -<dl> -<dt>Return Type:</dt> -<dd> -(tuple of dict) -</dd> -</dl> <div align="right"><a href="#top">Up</a></div> <hr /> <hr />
--- a/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.CyclomaticComplexityCalculator.html Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.CyclomaticComplexityCalculator.html Sat May 27 15:33:58 2023 +0200 @@ -43,7 +43,7 @@ </tr> <tr> <td><a href="#cyclomaticComplexity">cyclomaticComplexity</a></td> -<td>Private function to calculate the cyclomatic complexity of one file.</td> +<td></td> </tr> <tr> <td><a href="#initBatchService">initBatchService</a></td> @@ -92,7 +92,7 @@ <hr /> <a NAME="__cyclomaticComplexity" ID="__cyclomaticComplexity"></a> <h2>__cyclomaticComplexity</h2> -<b>__cyclomaticComplexity</b>(<i>file, text=""</i>) +<b>__cyclomaticComplexity</b>(<i>text</i>) <p> Private function to calculate the cyclomatic complexity for one Python @@ -100,10 +100,6 @@ </p> <dl> -<dt><i>file</i> (str)</dt> -<dd> -source filename -</dd> <dt><i>text</i> (str)</dt> <dd> source text @@ -192,32 +188,6 @@ <h2>cyclomaticComplexity</h2> <b>cyclomaticComplexity</b>(<i>file, text=""</i>) -<p> - Private function to calculate the cyclomatic complexity of one file. -</p> -<dl> - -<dt><i>file</i> (str)</dt> -<dd> -source filename -</dd> -<dt><i>text</i> (str)</dt> -<dd> -source text -</dd> -</dl> -<dl> -<dt>Return:</dt> -<dd> -tuple containing the result dictionary -</dd> -</dl> -<dl> -<dt>Return Type:</dt> -<dd> -(tuple of dict) -</dd> -</dl> <div align="right"><a href="#top">Up</a></div> <hr /> <hr />
--- a/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.CyclomaticComplexityDialog.html Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.CyclomaticComplexityDialog.html Sat May 27 15:33:58 2023 +0200 @@ -65,6 +65,10 @@ <td>Private slot handling the completion of a batch job.</td> </tr> <tr> +<td><a href="#CyclomaticComplexityDialog.__cancel">__cancel</a></td> +<td>Private method to cancel the current check run.</td> +</tr> +<tr> <td><a href="#CyclomaticComplexityDialog.__createErrorItem">__createErrorItem</a></td> <td>Private slot to create a new error item in the result list.</td> </tr> @@ -109,6 +113,10 @@ <td>Public method to clear all results.</td> </tr> <tr> +<td><a href="#CyclomaticComplexityDialog.closeEvent">closeEvent</a></td> +<td>Protected method to handle a close event.</td> +</tr> +<tr> <td><a href="#CyclomaticComplexityDialog.cyclomaticComplexity">cyclomaticComplexity</a></td> <td>Public method to start a cyclomatic complexity calculation for one Python file.</td> </tr> @@ -183,6 +191,13 @@ type of the calculated metrics </dd> </dl> +<a NAME="CyclomaticComplexityDialog.__cancel" ID="CyclomaticComplexityDialog.__cancel"></a> +<h4>CyclomaticComplexityDialog.__cancel</h4> +<b>__cancel</b>(<i></i>) + +<p> + Private method to cancel the current check run. +</p> <a NAME="CyclomaticComplexityDialog.__createErrorItem" ID="CyclomaticComplexityDialog.__createErrorItem"></a> <h4>CyclomaticComplexityDialog.__createErrorItem</h4> <b>__createErrorItem</b>(<i>filename, message</i>) @@ -335,9 +350,23 @@ <p> Public method to clear all results. </p> +<a NAME="CyclomaticComplexityDialog.closeEvent" ID="CyclomaticComplexityDialog.closeEvent"></a> +<h4>CyclomaticComplexityDialog.closeEvent</h4> +<b>closeEvent</b>(<i>evt</i>) + +<p> + Protected method to handle a close event. +</p> +<dl> + +<dt><i>evt</i> (QCloseEvent)</dt> +<dd> +reference to the close event +</dd> +</dl> <a NAME="CyclomaticComplexityDialog.cyclomaticComplexity" ID="CyclomaticComplexityDialog.cyclomaticComplexity"></a> <h4>CyclomaticComplexityDialog.cyclomaticComplexity</h4> -<b>cyclomaticComplexity</b>(<i>codestring=""</i>) +<b>cyclomaticComplexity</b>(<i></i>) <p> Public method to start a cyclomatic complexity calculation for one @@ -346,13 +375,6 @@ <p> The results are reported to the __processResult slot. </p> -<dl> - -<dt><i>codestring</i> (str)</dt> -<dd> -optional sourcestring -</dd> -</dl> <a NAME="CyclomaticComplexityDialog.cyclomaticComplexityBatch" ID="CyclomaticComplexityDialog.cyclomaticComplexityBatch"></a> <h4>CyclomaticComplexityDialog.cyclomaticComplexityBatch</h4> <b>cyclomaticComplexityBatch</b>(<i></i>) @@ -379,16 +401,16 @@ </dl> <a NAME="CyclomaticComplexityDialog.on_rankComboBox_activated" ID="CyclomaticComplexityDialog.on_rankComboBox_activated"></a> <h4>CyclomaticComplexityDialog.on_rankComboBox_activated</h4> -<b>on_rankComboBox_activated</b>(<i>rank</i>) +<b>on_rankComboBox_activated</b>(<i>index</i>) <p> Private slot to handle the selection of a minimum rank. </p> <dl> -<dt><i>rank</i> (str)</dt> +<dt><i>index</i> (str)</dt> <dd> -selected minimum rank +index of the selected minimum rank </dd> </dl> <a NAME="CyclomaticComplexityDialog.on_resultList_itemActivated" ID="CyclomaticComplexityDialog.on_resultList_itemActivated"></a> @@ -436,7 +458,7 @@ </dl> <a NAME="CyclomaticComplexityDialog.start" ID="CyclomaticComplexityDialog.start"></a> <h4>CyclomaticComplexityDialog.start</h4> -<b>start</b>(<i>fn, minRank="D"</i>) +<b>start</b>(<i>fn</i>) <p> Public slot to start the cyclomatic complexity determination. @@ -448,10 +470,6 @@ file or list of files or directory to show the cyclomatic complexity for </dd> -<dt><i>minRank</i> (str (one character out of A - F))</dt> -<dd> -minimum rank of entries to be shown -</dd> </dl> <div align="right"><a href="#top">Up</a></div> <hr />
--- a/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.MaintainabilityIndexCalculator.html Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.MaintainabilityIndexCalculator.html Sat May 27 15:33:58 2023 +0200 @@ -43,7 +43,7 @@ </tr> <tr> <td><a href="#maintainabilityIndex">maintainabilityIndex</a></td> -<td>Private function to calculate the maintainability index of one file.</td> +<td></td> </tr> <tr> <td><a href="#workerTask">workerTask</a></td> @@ -54,7 +54,7 @@ <hr /> <a NAME="__maintainabilityIndex" ID="__maintainabilityIndex"></a> <h2>__maintainabilityIndex</h2> -<b>__maintainabilityIndex</b>(<i>file, text=""</i>) +<b>__maintainabilityIndex</b>(<i>text</i>) <p> Private function to calculate the maintainability index for one Python @@ -62,10 +62,6 @@ </p> <dl> -<dt><i>file</i> (str)</dt> -<dd> -source filename -</dd> <dt><i>text</i> (str)</dt> <dd> source text @@ -157,32 +153,6 @@ <h2>maintainabilityIndex</h2> <b>maintainabilityIndex</b>(<i>file, text=""</i>) -<p> - Private function to calculate the maintainability index of one file. -</p> -<dl> - -<dt><i>file</i> (str)</dt> -<dd> -source filename -</dd> -<dt><i>text</i> (str)</dt> -<dd> -source text -</dd> -</dl> -<dl> -<dt>Return:</dt> -<dd> -tuple containing the result dictionary -</dd> -</dl> -<dl> -<dt>Return Type:</dt> -<dd> -(tuple of dict) -</dd> -</dl> <div align="right"><a href="#top">Up</a></div> <hr /> <hr />
--- a/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.MaintainabilityIndexDialog.html Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.MaintainabilityIndexDialog.html Sat May 27 15:33:58 2023 +0200 @@ -63,6 +63,10 @@ <td>Private slot handling the completion of a batch job.</td> </tr> <tr> +<td><a href="#MaintainabilityIndexDialog.__cancel">__cancel</a></td> +<td>Private method to cancel the current check run.</td> +</tr> +<tr> <td><a href="#MaintainabilityIndexDialog.__createErrorItem">__createErrorItem</a></td> <td>Private slot to create a new error item in the result list.</td> </tr> @@ -91,6 +95,10 @@ <td>Public method to clear all results.</td> </tr> <tr> +<td><a href="#MaintainabilityIndexDialog.closeEvent">closeEvent</a></td> +<td>Protected method to handle a close event.</td> +</tr> +<tr> <td><a href="#MaintainabilityIndexDialog.maintainabilityIndex">maintainabilityIndex</a></td> <td>Public method to start a maintainability index calculation for one Python file.</td> </tr> @@ -157,6 +165,13 @@ type of the calculated metrics </dd> </dl> +<a NAME="MaintainabilityIndexDialog.__cancel" ID="MaintainabilityIndexDialog.__cancel"></a> +<h4>MaintainabilityIndexDialog.__cancel</h4> +<b>__cancel</b>(<i></i>) + +<p> + Private method to cancel the current check run. +</p> <a NAME="MaintainabilityIndexDialog.__createErrorItem" ID="MaintainabilityIndexDialog.__createErrorItem"></a> <h4>MaintainabilityIndexDialog.__createErrorItem</h4> <b>__createErrorItem</b>(<i>filename, message</i>) @@ -255,9 +270,23 @@ <p> Public method to clear all results. </p> +<a NAME="MaintainabilityIndexDialog.closeEvent" ID="MaintainabilityIndexDialog.closeEvent"></a> +<h4>MaintainabilityIndexDialog.closeEvent</h4> +<b>closeEvent</b>(<i>evt</i>) + +<p> + Protected method to handle a close event. +</p> +<dl> + +<dt><i>evt</i> (QCloseEvent)</dt> +<dd> +reference to the close event +</dd> +</dl> <a NAME="MaintainabilityIndexDialog.maintainabilityIndex" ID="MaintainabilityIndexDialog.maintainabilityIndex"></a> <h4>MaintainabilityIndexDialog.maintainabilityIndex</h4> -<b>maintainabilityIndex</b>(<i>codestring=""</i>) +<b>maintainabilityIndex</b>(<i></i>) <p> Public method to start a maintainability index calculation for one @@ -266,13 +295,6 @@ <p> The results are reported to the __processResult slot. </p> -<dl> - -<dt><i>codestring</i> (str)</dt> -<dd> -optional sourcestring -</dd> -</dl> <a NAME="MaintainabilityIndexDialog.maintainabilityIndexBatch" ID="MaintainabilityIndexDialog.maintainabilityIndexBatch"></a> <h4>MaintainabilityIndexDialog.maintainabilityIndexBatch</h4> <b>maintainabilityIndexBatch</b>(<i></i>)
--- a/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.RawMetricsDialog.html Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.RawMetricsDialog.html Sat May 27 15:33:58 2023 +0200 @@ -63,6 +63,10 @@ <td>Private slot handling the completion of a batch job.</td> </tr> <tr> +<td><a href="#RawMetricsDialog.__cancel">__cancel</a></td> +<td>Private method to cancel the current check run.</td> +</tr> +<tr> <td><a href="#RawMetricsDialog.__createErrorItem">__createErrorItem</a></td> <td>Private slot to create a new error item in the result list.</td> </tr> @@ -103,6 +107,10 @@ <td>Public method to clear all results.</td> </tr> <tr> +<td><a href="#RawMetricsDialog.closeEvent">closeEvent</a></td> +<td>Protected method to handle a close event.</td> +</tr> +<tr> <td><a href="#RawMetricsDialog.on_buttonBox_clicked">on_buttonBox_clicked</a></td> <td>Private slot called by a button of the button box clicked.</td> </tr> @@ -169,6 +177,13 @@ type of the calculated metrics </dd> </dl> +<a NAME="RawMetricsDialog.__cancel" ID="RawMetricsDialog.__cancel"></a> +<h4>RawMetricsDialog.__cancel</h4> +<b>__cancel</b>(<i></i>) + +<p> + Private method to cancel the current check run. +</p> <a NAME="RawMetricsDialog.__createErrorItem" ID="RawMetricsDialog.__createErrorItem"></a> <h4>RawMetricsDialog.__createErrorItem</h4> <b>__createErrorItem</b>(<i>filename, message</i>) @@ -318,6 +333,20 @@ <p> Public method to clear all results. </p> +<a NAME="RawMetricsDialog.closeEvent" ID="RawMetricsDialog.closeEvent"></a> +<h4>RawMetricsDialog.closeEvent</h4> +<b>closeEvent</b>(<i>evt</i>) + +<p> + Protected method to handle a close event. +</p> +<dl> + +<dt><i>evt</i> (QCloseEvent)</dt> +<dd> +reference to the close event +</dd> +</dl> <a NAME="RawMetricsDialog.on_buttonBox_clicked" ID="RawMetricsDialog.on_buttonBox_clicked"></a> <h4>RawMetricsDialog.on_buttonBox_clicked</h4> <b>on_buttonBox_clicked</b>(<i>button</i>) @@ -377,7 +406,7 @@ </dl> <a NAME="RawMetricsDialog.rawMetrics" ID="RawMetricsDialog.rawMetrics"></a> <h4>RawMetricsDialog.rawMetrics</h4> -<b>rawMetrics</b>(<i>codestring=""</i>) +<b>rawMetrics</b>(<i></i>) <p> Public method to start a code metrics calculation for one Python file. @@ -385,13 +414,6 @@ <p> The results are reported to the __processResult slot. </p> -<dl> - -<dt><i>codestring</i> (str)</dt> -<dd> -optional sourcestring -</dd> -</dl> <a NAME="RawMetricsDialog.rawMetricsBatch" ID="RawMetricsDialog.rawMetricsBatch"></a> <h4>RawMetricsDialog.rawMetricsBatch</h4> <b>rawMetricsBatch</b>(<i></i>)
--- a/RadonMetrics/MaintainabilityIndexCalculator.py Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/MaintainabilityIndexCalculator.py Sat May 27 15:33:58 2023 +0200 @@ -29,7 +29,7 @@ return batchMaintainabilityIndex -def maintainabilityIndex(file, text=""): +def maintainabilityIndex(file, text=""): # noqa: U100 """ Private function to calculate the maintainability index of one file. @@ -40,7 +40,7 @@ @return tuple containing the result dictionary @rtype (tuple of dict) """ - return __maintainabilityIndex(file, text) + return __maintainabilityIndex(text) def batchMaintainabilityIndex(argumentsList, send, fx, cancelled, maxProcesses=0): @@ -133,17 +133,15 @@ @type multiprocessing.Queue """ for filename, source in iter(inputQueue.get, "STOP"): - result = __maintainabilityIndex(filename, source) + result = __maintainabilityIndex(source) outputQueue.put((filename, result)) -def __maintainabilityIndex(file, text=""): +def __maintainabilityIndex(text): """ Private function to calculate the maintainability index for one Python file. - @param file source filename - @type str @param text source text @type str @return tuple containing the result dictionary
--- a/RadonMetrics/MaintainabilityIndexDialog.py Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/MaintainabilityIndexDialog.py Sat May 27 15:33:58 2023 +0200 @@ -63,6 +63,7 @@ self.radonService.error.connect(self.__processError) self.radonService.batchFinished.connect(self.__batchFinished) + self.__batch = False self.cancelled = False self.__project = ericApp().getObject("Project") @@ -226,8 +227,6 @@ } if len(self.files) > 0: - # disable updates of the list for speed - self.resultList.setUpdatesEnabled(False) self.resultList.setSortingEnabled(False) self.checkProgress.setMaximum(len(self.files)) @@ -243,15 +242,12 @@ self.__batch = True self.maintainabilityIndexBatch() - def maintainabilityIndex(self, codestring=""): + def maintainabilityIndex(self): """ Public method to start a maintainability index calculation for one Python file. The results are reported to the __processResult slot. - - @param codestring optional sourcestring - @type str """ if not self.files: self.checkProgress.setMaximum(1) @@ -261,7 +257,6 @@ self.filename = self.files.pop(0) self.checkProgress.setValue(self.progress) - QApplication.processEvents() if self.cancelled: return @@ -290,7 +285,6 @@ argumentsList = [] for progress, filename in enumerate(self.files, start=1): self.checkProgress.setValue(progress) - QApplication.processEvents() try: source = Utilities.readEncodedFile(filename)[0] @@ -303,7 +297,6 @@ # reset the progress bar to the checked files self.checkProgress.setValue(self.progress) - QApplication.processEvents() self.__finished = False self.radonService.maintainabilityIndexBatch(argumentsList) @@ -360,9 +353,7 @@ self.__createResultItem(fn, result) self.progress += 1 - self.checkProgress.setValue(self.progress) - QApplication.processEvents() if not self.__batch: self.maintainabilityIndex() @@ -374,10 +365,8 @@ if not self.__finished: self.__finished = True - # reenable updates of the list self.resultList.setSortingEnabled(True) self.resultList.sortItems(0, Qt.SortOrder.AscendingOrder) - self.resultList.setUpdatesEnabled(True) self.cancelled = True self.buttonBox.button(QDialogButtonBox.StandardButton.Close).setEnabled( @@ -415,6 +404,25 @@ self.checkProgress.setVisible(False) + def __cancel(self): + """ + Private method to cancel the current check run. + """ + if self.__batch: + self.radonService.cancelMaintainabilityIndexBatch() + QTimer.singleShot(1000, self.__finish) + else: + self.__finish() + + def closeEvent(self, evt): + """ + Protected method to handle a close event. + + @param evt reference to the close event + @type QCloseEvent + """ + self.__cancel() + @pyqtSlot(QAbstractButton) def on_buttonBox_clicked(self, button): """ @@ -426,11 +434,7 @@ if button == self.buttonBox.button(QDialogButtonBox.StandardButton.Close): self.close() elif button == self.buttonBox.button(QDialogButtonBox.StandardButton.Cancel): - if self.__batch: - self.radonService.cancelMaintainabilityIndexBatch() - QTimer.singleShot(1000, self.__finish) - else: - self.__finish() + self.__cancel() @pyqtSlot() def on_startButton_clicked(self):
--- a/RadonMetrics/RawMetricsDialog.py Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/RawMetricsDialog.py Sat May 27 15:33:58 2023 +0200 @@ -66,6 +66,7 @@ self.radonService.error.connect(self.__processError) self.radonService.batchFinished.connect(self.__batchFinished) + self.__batch = False self.cancelled = False self.__project = ericApp().getObject("Project") @@ -235,8 +236,6 @@ self.__summary[key] = 0 if len(self.files) > 0: - # disable updates of the list for speed - self.resultList.setUpdatesEnabled(False) self.resultList.setSortingEnabled(False) self.checkProgress.setMaximum(len(self.files)) @@ -252,14 +251,11 @@ self.__batch = True self.rawMetricsBatch() - def rawMetrics(self, codestring=""): + def rawMetrics(self): """ Public method to start a code metrics calculation for one Python file. The results are reported to the __processResult slot. - - @param codestring optional sourcestring - @type str """ if not self.files: self.checkProgress.setMaximum(1) @@ -269,7 +265,6 @@ self.filename = self.files.pop(0) self.checkProgress.setValue(self.progress) - QApplication.processEvents() if self.cancelled: return @@ -298,7 +293,6 @@ argumentsList = [] for progress, filename in enumerate(self.files, start=1): self.checkProgress.setValue(progress) - QApplication.processEvents() try: source = Utilities.readEncodedFile(filename)[0] @@ -311,7 +305,6 @@ # reset the progress bar to the checked files self.checkProgress.setValue(self.progress) - QApplication.processEvents() self.__finished = False self.radonService.rawMetricsBatch(argumentsList) @@ -368,9 +361,7 @@ self.__createResultItem(fn, result) self.progress += 1 - self.checkProgress.setValue(self.progress) - QApplication.processEvents() if not self.__batch: self.rawMetrics() @@ -410,10 +401,8 @@ if not self.__finished: self.__finished = True - # reenable updates of the list self.resultList.setSortingEnabled(True) self.resultList.sortItems(0, Qt.SortOrder.AscendingOrder) - self.resultList.setUpdatesEnabled(True) self.__createSummary() @@ -512,6 +501,25 @@ itm = QTreeWidgetItem(self.summaryList, [col0, col1]) itm.setTextAlignment(1, Qt.AlignmentFlag.AlignRight) + def __cancel(self): + """ + Private method to cancel the current check run. + """ + if self.__batch: + self.radonService.cancelRawMetricsBatch() + QTimer.singleShot(1000, self.__finish) + else: + self.__finish() + + def closeEvent(self, evt): + """ + Protected method to handle a close event. + + @param evt reference to the close event + @type QCloseEvent + """ + self.__cancel() + @pyqtSlot(QAbstractButton) def on_buttonBox_clicked(self, button): """ @@ -523,11 +531,7 @@ if button == self.buttonBox.button(QDialogButtonBox.StandardButton.Close): self.close() elif button == self.buttonBox.button(QDialogButtonBox.StandardButton.Cancel): - if self.__batch: - self.radonService.cancelRawMetricsBatch() - QTimer.singleShot(1000, self.__finish) - else: - self.__finish() + self.__cancel() @pyqtSlot() def on_startButton_clicked(self):
--- a/RadonMetrics/i18n/radon_de.ts Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/i18n/radon_de.ts Sat May 27 15:33:58 2023 +0200 @@ -1,37 +1,52 @@ <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> -<TS version="2.0" language="de_DE" sourcelanguage=""> +<TS version="2.1" language="de_DE"> <context> <name>CyclomaticComplexityDialog</name> <message> - <location filename="../CyclomaticComplexityDialog.py" line="83" /> - <source><table><tr><td colspan=3><b>Ranking:</b></td></tr><tr><td><b>A</b></td><td>1 - 5</td><td>(low risk - simple block)</td></tr><tr><td><b>B</b></td><td>6 - 10</td><td>(low risk - well structured and stable block)</td></tr><tr><td><b>C</b></td><td>11 - 20</td><td>(moderate risk - slightly complex block)</td></tr><tr><td><b>D</b></td><td>21 - 30</td><td>(more than moderate risk - more complex block)</td></tr><tr><td><b>E</b></td><td>31 - 40</td><td>(high risk - complex block, alarming)</td></tr><tr><td><b>F</b></td><td>&gt; 40</td><td>(very high risk - error-prone, unstable block)</td></tr></table></source> - <translation><table><tr><td colspan=3><b>Bewertung:</b></td></tr><tr><td><b>A</b></td><td>1 - 5</td><td>(geringes Risiko - einfacher Block)</td></tr><tr><td><b>B</b></td><td>6 - 10</td><td>(geringes Risika - gut strukturierter und stabiler Block)</td></tr><tr><td><b>C</b></td><td>11 - 20</td><td>(moderates Risiko - etwas komplexerer Block)</td></tr><tr><td><b>D</b></td><td>21 - 30</td><td>(mehr als moderates Risiko - komplexerer Block)</td></tr><tr><td><b>E</b></td><td>31 - 40</td><td>(hohes Risiko - komplexer Block, alarmierend)</td></tr><tr><td><b>F</b></td><td>&gt; 40</td><td>(sehr hohes Risiko - fehleranfälliger, instabiler Block)</td></tr></table></translation> + <location filename="../CyclomaticComplexityDialog.py" line="87" /> + <source><b>Summary:</b></source> + <translation><b>Zusammenfassung:</b></translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="88" /> + <source><b>Ranking:</b></source> + <translation><b>Bewertung:</b></translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="102" /> - <source><table><tr><td colspan=2><b>Type:</b></td></tr><tr><td><b>C</b></td><td>Class</td></tr><tr><td><b>F</b></td><td>Function</td></tr><tr><td><b>M</b></td><td>Method</td></tr></table></source> - <translation><table><tr><td colspan=2><b>Typ:</b></td></tr><tr><td><b>C</b></td><td>Klasse</td></tr><tr><td><b>F</b></td><td>Funktion</td></tr><tr><td><b>M</b></td><td>Methode</td></tr></table></translation> + <location filename="../CyclomaticComplexityDialog.py" line="90" /> + <source><table><tr><td><b>A</b></td><td>1 - 5</td><td>(low risk - simple block)</td></tr><tr><td><b>B</b></td><td>6 - 10</td><td>(low risk - well structured and stable block)</td></tr><tr><td><b>C</b></td><td>11 - 20</td><td>(moderate risk - slightly complex block)</td></tr><tr><td><b>D</b></td><td>21 - 30</td><td>(more than moderate risk - more complex block)</td></tr><tr><td><b>E</b></td><td>31 - 40</td><td>(high risk - complex block, alarming)</td></tr><tr><td><b>F</b></td><td>&gt; 40</td><td>(very high risk - error-prone, unstable block)</td></tr></table></source> + <translation><table><tr><td><b>A</b></td><td>1 - 5</td><td>(geringes Risiko - einfacher Block)</td></tr><tr><td><b>B</b></td><td>6 - 10</td><td>(geringes Risika - gut strukturierter und stabiler Block)</td></tr><tr><td><b>C</b></td><td>11 - 20</td><td>(moderates Risiko - etwas komplexerer Block)</td></tr><tr><td><b>D</b></td><td>21 - 30</td><td>(mehr als moderates Risiko - komplexerer Block)</td></tr><tr><td><b>E</b></td><td>31 - 40</td><td>(hohes Risiko - komplexer Block, alarmierend)</td></tr><tr><td><b>F</b></td><td>&gt; 40</td><td>(sehr hohes Risiko - fehleranfälliger, instabiler Block)</td></tr></table></translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="156" /> + <location filename="../CyclomaticComplexityDialog.py" line="107" /> + <source><b>Type:</b></source> + <translation><b>Typ:</b</translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="109" /> + <source><table><tr><td><b>C</b></td><td>Class</td></tr><tr><td><b>F</b></td><td>Function</td></tr><tr><td><b>M</b></td><td>Method</td></tr></table></source> + <translation><table><tr><td><b>C</b></td><td>Klasse</td></tr><tr><td><b>F</b></td><td>Funktion</td></tr><tr><td><b>M</b></td><td>Methode</td></tr></table></translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="162" /> <source>Collapse all</source> <translation>Alle Zuklappen</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="157" /> + <location filename="../CyclomaticComplexityDialog.py" line="163" /> <source>Expand all</source> <translation>Alle Aufklappen</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="230" /> + <location filename="../CyclomaticComplexityDialog.py" line="236" /> <source>Errors</source> <translation>Fehler</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="513" /> - <source><b>Summary:</b><br/>{0} blocks (classes, functions, methods) analyzed.<br/>Average complexity: {7} ({8})<table><tr><td width=30><b>A</b></td><td align='right'>{1} blocks</td></tr><tr><td width=30><b>B</b></td><td align='right'>{2} blocks</td></tr><tr><td width=30><b>C</b></td><td align='right'>{3} blocks</td></tr><tr><td width=30><b>D</b></td><td align='right'>{4} blocks</td></tr><tr><td width=30><b>E</b></td><td align='right'>{5} blocks</td></tr><tr><td width=30><b>F</b></td><td align='right'>{6} blocks</td></tr></table></source> - <translation><b>Zusammenfassung:</b><br/>{0} Blöcke (Klassen, Funktionen, Methoden) analysiert.<br/>Mittlere Komplexität: {7} ({8})<table><tr><td width=30><b>A</b></td><td align='right'>{1} Blöcke</td></tr><tr><td width=30><b>B</b></td><td align='right'>{2} Blöcke</td></tr><tr><td width=30><b>C</b></td><td align='right'>{3} Blöcke</td></tr><tr><td width=30><b>D</b></td><td align='right'>{4} Blöcke</td></tr><tr><td width=30><b>E</b></td><td align='right'>{5} Blöcke</td></tr><tr><td width=30><b>F</b></td><td align='right'>{6} Blöcke</td></tr></table></translation> + <location filename="../CyclomaticComplexityDialog.py" line="510" /> + <source>{0} blocks (classes, functions, methods) analyzed.<br/>Average complexity: {7} ({8})<table><tr><td width=30><b>A</b></td><td align='right'>{1} blocks</td></tr><tr><td width=30><b>B</b></td><td align='right'>{2} blocks</td></tr><tr><td width=30><b>C</b></td><td align='right'>{3} blocks</td></tr><tr><td width=30><b>D</b></td><td align='right'>{4} blocks</td></tr><tr><td width=30><b>E</b></td><td align='right'>{5} blocks</td></tr><tr><td width=30><b>F</b></td><td align='right'>{6} blocks</td></tr></table></source> + <translation>{0} Blöcke (Klassen, Funktionen, Methoden) analysiert.<br/>Mittlere Komplexität: {7} ({8})<table><tr><td width=30><b>A</b></td><td align='right'>{1} Blöcke</td></tr><tr><td width=30><b>B</b></td><td align='right'>{2} Blöcke</td></tr><tr><td width=30><b>C</b></td><td align='right'>{3} Blöcke</td></tr><tr><td width=30><b>D</b></td><td align='right'>{4} Blöcke</td></tr><tr><td width=30><b>E</b></td><td align='right'>{5} Blöcke</td></tr><tr><td width=30><b>F</b></td><td align='right'>{6} Blöcke</td></tr></table></translation> </message> <message> <location filename="../CyclomaticComplexityDialog.ui" line="0" /> @@ -114,17 +129,17 @@ <context> <name>MaintainabilityIndexDialog</name> <message> - <location filename="../MaintainabilityIndexDialog.py" line="72" /> + <location filename="../MaintainabilityIndexDialog.py" line="77" /> <source><table><tr><td><b>Rank</b></td><td><b>MI Score</b></td><td><b>Maintainability</b></td></tr><tr><td><b>A</b></td><td>100 - 20</td><td>very high</td></tr><tr><td><b>B</b></td><td>19 - 10</td><td>medium</td></tr><tr><td><b>C</b></td><td>9 - 0</td><td>extremely low</td></tr></table></source> <translation><table><tr><td><b>Rang</b></td><td><b>Wert</b></td><td><b>Wartbarkeit</b></td></tr><tr><td><b>A</b></td><td>100 - 20</td><td>sehr hoch</td></tr><tr><td><b>B</b></td><td>19 - 10</td><td>mittel</td></tr><tr><td><b>C</b></td><td>9 - 0</td><td>extrem niedrig</td></tr></table></translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="150" /> + <location filename="../MaintainabilityIndexDialog.py" line="155" /> <source>Errors</source> <translation>Fehler</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="397" /> + <location filename="../MaintainabilityIndexDialog.py" line="393" /> <source><table><tr><td colspan=2><b>Summary:</b></td></tr><tr><td><b>A</b></td><td align='right'>{0} files</td></tr><tr><td><b>B</b></td><td align='right'>{1} files</td></tr><tr><td><b>C</b></td><td align='right'>{2} files</td></tr></table></source> <translation><table><tr><td colspan=2><b>Zusammenfassung:</b></td></tr><tr><td><b>A</b></td><td align='right'>{0} Dateien</td></tr><tr><td><b>B</b></td><td align='right'>{1} Dateien</td></tr><tr><td><b>C</b></td><td align='right'>{2} Dateien</td></tr></table></translation> </message> @@ -189,109 +204,109 @@ <context> <name>RadonMetricsPlugin</name> <message> - <location filename="../../PluginMetricsRadon.py" line="169" /> + <location filename="../../PluginMetricsRadon.py" line="171" /> <source>Python 3 batch job</source> <translation>Python 3 Stapelprüfung</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="212" /> + <location filename="../../PluginMetricsRadon.py" line="214" /> <source>Unknown metrics result received ({0}).</source> <translation>Unbekannte Metrik empfangen ({0}).</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="1025" /> - <location filename="../../PluginMetricsRadon.py" line="669" /> - <location filename="../../PluginMetricsRadon.py" line="492" /> - <location filename="../../PluginMetricsRadon.py" line="404" /> + <location filename="../../PluginMetricsRadon.py" line="1027" /> + <location filename="../../PluginMetricsRadon.py" line="671" /> + <location filename="../../PluginMetricsRadon.py" line="494" /> + <location filename="../../PluginMetricsRadon.py" line="406" /> <source>Radon</source> <translation>Radon</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="678" /> - <location filename="../../PluginMetricsRadon.py" line="500" /> - <location filename="../../PluginMetricsRadon.py" line="413" /> + <location filename="../../PluginMetricsRadon.py" line="680" /> + <location filename="../../PluginMetricsRadon.py" line="502" /> + <location filename="../../PluginMetricsRadon.py" line="415" /> <source>Code Metrics</source> <translation>Quelltextmetriken</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="678" /> - <location filename="../../PluginMetricsRadon.py" line="500" /> - <location filename="../../PluginMetricsRadon.py" line="414" /> + <location filename="../../PluginMetricsRadon.py" line="680" /> + <location filename="../../PluginMetricsRadon.py" line="502" /> + <location filename="../../PluginMetricsRadon.py" line="416" /> <source>Code &Metrics...</source> <translation>Quelltext&metriken...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="680" /> - <location filename="../../PluginMetricsRadon.py" line="502" /> - <location filename="../../PluginMetricsRadon.py" line="420" /> - <source>Show raw code metrics.</source> - <translation>Zeige einige Quelltextmetriken an.</translation> - </message> - <message> <location filename="../../PluginMetricsRadon.py" line="682" /> <location filename="../../PluginMetricsRadon.py" line="504" /> <location filename="../../PluginMetricsRadon.py" line="422" /> + <source>Show raw code metrics.</source> + <translation>Zeige einige Quelltextmetriken an.</translation> + </message> + <message> + <location filename="../../PluginMetricsRadon.py" line="684" /> + <location filename="../../PluginMetricsRadon.py" line="506" /> + <location filename="../../PluginMetricsRadon.py" line="424" /> <source><b>Code Metrics...</b><p>This calculates raw code metrics of Python files and shows the amount of lines of code, logical lines of code, source lines of code, comment lines, multi-line strings and blank lines.</p></source> <translation><b>Quelltextmetriken...</b><p>Dies ermittelt einige Quelltextmetriken für Python Dateien und zeigt die Anzahl der Textzeilen, logischen Quelltextzeilen, Quelltextzeilen, Kommentarzeilen, mehrzeiligen Zeichenketten und Lerrzeilen.</p></translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="695" /> - <location filename="../../PluginMetricsRadon.py" line="516" /> - <location filename="../../PluginMetricsRadon.py" line="435" /> + <location filename="../../PluginMetricsRadon.py" line="697" /> + <location filename="../../PluginMetricsRadon.py" line="518" /> + <location filename="../../PluginMetricsRadon.py" line="437" /> <source>Maintainability Index</source> <translation>Wartbarkeitsindex</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="696" /> - <location filename="../../PluginMetricsRadon.py" line="517" /> - <location filename="../../PluginMetricsRadon.py" line="436" /> + <location filename="../../PluginMetricsRadon.py" line="698" /> + <location filename="../../PluginMetricsRadon.py" line="519" /> + <location filename="../../PluginMetricsRadon.py" line="438" /> <source>Maintainability &Index...</source> <translation>Wartbarkeits&index...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="703" /> - <location filename="../../PluginMetricsRadon.py" line="523" /> - <location filename="../../PluginMetricsRadon.py" line="443" /> + <location filename="../../PluginMetricsRadon.py" line="705" /> + <location filename="../../PluginMetricsRadon.py" line="525" /> + <location filename="../../PluginMetricsRadon.py" line="445" /> <source>Show the maintainability index for Python files.</source> <translation>Zeigt den Wartbarkeitsindex für Python Dateien an.</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="706" /> - <location filename="../../PluginMetricsRadon.py" line="525" /> - <location filename="../../PluginMetricsRadon.py" line="446" /> + <location filename="../../PluginMetricsRadon.py" line="708" /> + <location filename="../../PluginMetricsRadon.py" line="527" /> + <location filename="../../PluginMetricsRadon.py" line="448" /> <source><b>Maintainability Index...</b><p>This calculates the maintainability index of Python files and shows it together with a ranking.</p></source> <translation><b>Wartbarkeitsindex...</b><p>Dies ermittelt den Wartbarkeitsindex für Python Dateien und zeigt ihn zusammen mit einer Bewertung an.</p></translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="718" /> - <location filename="../../PluginMetricsRadon.py" line="535" /> - <location filename="../../PluginMetricsRadon.py" line="457" /> + <location filename="../../PluginMetricsRadon.py" line="720" /> + <location filename="../../PluginMetricsRadon.py" line="537" /> + <location filename="../../PluginMetricsRadon.py" line="459" /> <source>Cyclomatic Complexity</source> <translation>Zyklomatische Komplexität</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="719" /> - <location filename="../../PluginMetricsRadon.py" line="536" /> - <location filename="../../PluginMetricsRadon.py" line="458" /> + <location filename="../../PluginMetricsRadon.py" line="721" /> + <location filename="../../PluginMetricsRadon.py" line="538" /> + <location filename="../../PluginMetricsRadon.py" line="460" /> <source>Cyclomatic &Complexity...</source> <translation>Zyklomatische &Komplexität...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="726" /> - <location filename="../../PluginMetricsRadon.py" line="542" /> - <location filename="../../PluginMetricsRadon.py" line="465" /> + <location filename="../../PluginMetricsRadon.py" line="728" /> + <location filename="../../PluginMetricsRadon.py" line="544" /> + <location filename="../../PluginMetricsRadon.py" line="467" /> <source>Show the cyclomatic complexity for Python files.</source> <translation>Zeigt die zyklomatische Komplexität für Python Dateien an.</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="729" /> - <location filename="../../PluginMetricsRadon.py" line="544" /> - <location filename="../../PluginMetricsRadon.py" line="468" /> + <location filename="../../PluginMetricsRadon.py" line="731" /> + <location filename="../../PluginMetricsRadon.py" line="546" /> + <location filename="../../PluginMetricsRadon.py" line="470" /> <source><b>Cyclomatic Complexity...</b><p>This calculates the cyclomatic complexity of Python files and shows it together with a ranking.</p></source> <translation><b>Zyklomatische Komplexität...</b><p>Dies ermittelt die zyklomatische Komplexität von Python Dateien und zeigt sie zusammen mit einer Bewertung an.</p></translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="1026" /> + <location filename="../../PluginMetricsRadon.py" line="1028" /> <source><p><b>Radon Version {0}</b></p><p>Radon is a Python tool that computes various metrics from the source code. Radon can compute:<ul><li><b>Raw</b> metrics (these include SLOC, comment lines, blank lines, multi line strings, ...)</li><li><b>Maintainability Index</b> (the one used in Visual Studio)</li><li><b>McCabe's complexity</b>, i.e. cyclomatic complexity</li></ul></p></source> <translation><p><b>Radon Version {0}</b><p>Radon ist ein Werkzeug, das verschiedene Metriken für Python Quelltexte ermittelt. Radon kann die folgenden Metriken ermitteln:<ul><li><b>Quelltext</b>metrik (dies beinhaltet Quelltextzeilen, Kommentarzeilen, Leerzeilen, mehrzeilige Zeichenketten, ...)</li><li><b>Wartbarkeitsindex</b> (wie von Visual Studio)</li><li><b>McCabe Komplexität</b>, d.h. zyklomatische Komplexität</li></ul></p></translation> </message> @@ -299,74 +314,74 @@ <context> <name>RawMetricsDialog</name> <message> - <location filename="../RawMetricsDialog.py" line="76" /> + <location filename="../RawMetricsDialog.py" line="80" /> <source><table><tr><td><b>LOC</b></td><td>Lines of code</td></tr><tr><td><b>SLOC</b></td><td>Source lines of code</td></tr><tr><td><b>LLOC</b></td><td>Logical lines of code</td></tr><tr><td><b>Comments</b></td><td>Comment lines</td></tr><tr><td><b>Empty&nbsp;Comments</b></td><td>Comment lines not containing code</td></tr><tr><td><b>Multi</b></td><td>Lines in multi line strings</td></tr><tr><td><b>Empty</b></td><td>Blank lines</td></tr><tr><td colspan=2><b>Comment Statistics:</b></td</tr><tr><td><b>C % L</b></td><td>Comments to lines ratio</td></tr><tr><td><b>C % S</b></td><td>Comments to source lines ratio</td></tr><tr><td><b>C + M % L</b></td><td>Comments plus multi line strings to lines ratio</td></tr></table></source> <translation><table><tr><td><b>LOC</b></td><td>Textzeilen</td></tr><tr><td><b>SLOC</b></td><td>Quelltextzeilen</td></tr><tr><td><b>LLOC</b></td><td>Logische Quelltextzeilen</td></tr><tr><td><b>Kommentare</b></td><td>Kommentarzeilen</td></tr><tr><b>Leere&nbsp;Kommentare</b></td><td>Kommentarzeilen ohne Inhalt</td></tr><tr><td><b>Mehrfach</b></td><td>Zeilen in mehrzeiligen Zeichenketten</td></tr><tr><td><b>Leer</b></td><td>Leerzeilen</td></tr><tr><td colspan=2><b>Kommentarstatistiken:</b></td</tr><tr><td><b>K % L</b></td><td>Verhältnis Kommentare zu Textzeilen</td></tr><tr><td><b>K % S</b></td><td>Verhältnis Kommentare zu Quelltextzeilen</td></tr><tr><td><b>K + M % L</b></td><td>Verhältnis der Summe aus Kommentaren und mehrzeiliger Zeichenketten zu Textzeilen</td></tr></table></translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="154" /> + <location filename="../RawMetricsDialog.py" line="158" /> <source>Errors</source> <translation>Fehler</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="442" /> + <location filename="../RawMetricsDialog.py" line="437" /> <source>Files</source> <translation>Dateien</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="445" /> + <location filename="../RawMetricsDialog.py" line="440" /> <source>LOC</source> <translation>LOC</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="448" /> + <location filename="../RawMetricsDialog.py" line="443" /> <source>SLOC</source> <translation>SLOC</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="451" /> + <location filename="../RawMetricsDialog.py" line="446" /> <source>LLOC</source> <translation>LLOC</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="454" /> + <location filename="../RawMetricsDialog.py" line="449" /> <source>Comment Lines</source> <translation>Kommentarzeilen</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="457" /> + <location filename="../RawMetricsDialog.py" line="452" /> <source>Empty Comments</source> <translation>Leere Kommentare</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="461" /> + <location filename="../RawMetricsDialog.py" line="456" /> <source>Multiline Strings</source> <translation>Mehrzeiligen Zeichenketten</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="465" /> + <location filename="../RawMetricsDialog.py" line="460" /> <source>Empty Lines</source> <translation>Leerzeilen</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="468" /> + <location filename="../RawMetricsDialog.py" line="463" /> <source>C % L</source> <translation>K % L</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="477" /> + <location filename="../RawMetricsDialog.py" line="472" /> <source>C % S</source> <translation>K % S</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="486" /> + <location filename="../RawMetricsDialog.py" line="481" /> <source>C + M % L</source> <translation>K + M % L</translation> </message>
--- a/RadonMetrics/i18n/radon_en.ts Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/i18n/radon_en.ts Sat May 27 15:33:58 2023 +0200 @@ -4,33 +4,48 @@ <context> <name>CyclomaticComplexityDialog</name> <message> - <location filename="../CyclomaticComplexityDialog.py" line="83" /> - <source><table><tr><td colspan=3><b>Ranking:</b></td></tr><tr><td><b>A</b></td><td>1 - 5</td><td>(low risk - simple block)</td></tr><tr><td><b>B</b></td><td>6 - 10</td><td>(low risk - well structured and stable block)</td></tr><tr><td><b>C</b></td><td>11 - 20</td><td>(moderate risk - slightly complex block)</td></tr><tr><td><b>D</b></td><td>21 - 30</td><td>(more than moderate risk - more complex block)</td></tr><tr><td><b>E</b></td><td>31 - 40</td><td>(high risk - complex block, alarming)</td></tr><tr><td><b>F</b></td><td>&gt; 40</td><td>(very high risk - error-prone, unstable block)</td></tr></table></source> + <location filename="../CyclomaticComplexityDialog.py" line="87" /> + <source><b>Summary:</b></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="88" /> + <source><b>Ranking:</b></source> <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="102" /> - <source><table><tr><td colspan=2><b>Type:</b></td></tr><tr><td><b>C</b></td><td>Class</td></tr><tr><td><b>F</b></td><td>Function</td></tr><tr><td><b>M</b></td><td>Method</td></tr></table></source> + <location filename="../CyclomaticComplexityDialog.py" line="90" /> + <source><table><tr><td><b>A</b></td><td>1 - 5</td><td>(low risk - simple block)</td></tr><tr><td><b>B</b></td><td>6 - 10</td><td>(low risk - well structured and stable block)</td></tr><tr><td><b>C</b></td><td>11 - 20</td><td>(moderate risk - slightly complex block)</td></tr><tr><td><b>D</b></td><td>21 - 30</td><td>(more than moderate risk - more complex block)</td></tr><tr><td><b>E</b></td><td>31 - 40</td><td>(high risk - complex block, alarming)</td></tr><tr><td><b>F</b></td><td>&gt; 40</td><td>(very high risk - error-prone, unstable block)</td></tr></table></source> <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="156" /> + <location filename="../CyclomaticComplexityDialog.py" line="107" /> + <source><b>Type:</b></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="109" /> + <source><table><tr><td><b>C</b></td><td>Class</td></tr><tr><td><b>F</b></td><td>Function</td></tr><tr><td><b>M</b></td><td>Method</td></tr></table></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="162" /> <source>Collapse all</source> <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="157" /> + <location filename="../CyclomaticComplexityDialog.py" line="163" /> <source>Expand all</source> <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="230" /> + <location filename="../CyclomaticComplexityDialog.py" line="236" /> <source>Errors</source> <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="513" /> - <source><b>Summary:</b><br/>{0} blocks (classes, functions, methods) analyzed.<br/>Average complexity: {7} ({8})<table><tr><td width=30><b>A</b></td><td align='right'>{1} blocks</td></tr><tr><td width=30><b>B</b></td><td align='right'>{2} blocks</td></tr><tr><td width=30><b>C</b></td><td align='right'>{3} blocks</td></tr><tr><td width=30><b>D</b></td><td align='right'>{4} blocks</td></tr><tr><td width=30><b>E</b></td><td align='right'>{5} blocks</td></tr><tr><td width=30><b>F</b></td><td align='right'>{6} blocks</td></tr></table></source> + <location filename="../CyclomaticComplexityDialog.py" line="510" /> + <source>{0} blocks (classes, functions, methods) analyzed.<br/>Average complexity: {7} ({8})<table><tr><td width=30><b>A</b></td><td align='right'>{1} blocks</td></tr><tr><td width=30><b>B</b></td><td align='right'>{2} blocks</td></tr><tr><td width=30><b>C</b></td><td align='right'>{3} blocks</td></tr><tr><td width=30><b>D</b></td><td align='right'>{4} blocks</td></tr><tr><td width=30><b>E</b></td><td align='right'>{5} blocks</td></tr><tr><td width=30><b>F</b></td><td align='right'>{6} blocks</td></tr></table></source> <translation type="unfinished" /> </message> <message> @@ -113,17 +128,17 @@ <context> <name>MaintainabilityIndexDialog</name> <message> - <location filename="../MaintainabilityIndexDialog.py" line="72" /> + <location filename="../MaintainabilityIndexDialog.py" line="77" /> <source><table><tr><td><b>Rank</b></td><td><b>MI Score</b></td><td><b>Maintainability</b></td></tr><tr><td><b>A</b></td><td>100 - 20</td><td>very high</td></tr><tr><td><b>B</b></td><td>19 - 10</td><td>medium</td></tr><tr><td><b>C</b></td><td>9 - 0</td><td>extremely low</td></tr></table></source> <translation type="unfinished" /> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="150" /> + <location filename="../MaintainabilityIndexDialog.py" line="155" /> <source>Errors</source> <translation type="unfinished" /> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="397" /> + <location filename="../MaintainabilityIndexDialog.py" line="393" /> <source><table><tr><td colspan=2><b>Summary:</b></td></tr><tr><td><b>A</b></td><td align='right'>{0} files</td></tr><tr><td><b>B</b></td><td align='right'>{1} files</td></tr><tr><td><b>C</b></td><td align='right'>{2} files</td></tr></table></source> <translation type="unfinished" /> </message> @@ -187,109 +202,109 @@ <context> <name>RadonMetricsPlugin</name> <message> - <location filename="../../PluginMetricsRadon.py" line="169" /> + <location filename="../../PluginMetricsRadon.py" line="171" /> <source>Python 3 batch job</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="212" /> + <location filename="../../PluginMetricsRadon.py" line="214" /> <source>Unknown metrics result received ({0}).</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="1025" /> - <location filename="../../PluginMetricsRadon.py" line="669" /> - <location filename="../../PluginMetricsRadon.py" line="492" /> - <location filename="../../PluginMetricsRadon.py" line="404" /> + <location filename="../../PluginMetricsRadon.py" line="1027" /> + <location filename="../../PluginMetricsRadon.py" line="671" /> + <location filename="../../PluginMetricsRadon.py" line="494" /> + <location filename="../../PluginMetricsRadon.py" line="406" /> <source>Radon</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="678" /> - <location filename="../../PluginMetricsRadon.py" line="500" /> - <location filename="../../PluginMetricsRadon.py" line="413" /> - <source>Code Metrics</source> - <translation type="unfinished" /> - </message> - <message> - <location filename="../../PluginMetricsRadon.py" line="678" /> - <location filename="../../PluginMetricsRadon.py" line="500" /> - <location filename="../../PluginMetricsRadon.py" line="414" /> - <source>Code &Metrics...</source> - <translation type="unfinished" /> - </message> - <message> <location filename="../../PluginMetricsRadon.py" line="680" /> <location filename="../../PluginMetricsRadon.py" line="502" /> - <location filename="../../PluginMetricsRadon.py" line="420" /> - <source>Show raw code metrics.</source> + <location filename="../../PluginMetricsRadon.py" line="415" /> + <source>Code Metrics</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../../PluginMetricsRadon.py" line="680" /> + <location filename="../../PluginMetricsRadon.py" line="502" /> + <location filename="../../PluginMetricsRadon.py" line="416" /> + <source>Code &Metrics...</source> <translation type="unfinished" /> </message> <message> <location filename="../../PluginMetricsRadon.py" line="682" /> <location filename="../../PluginMetricsRadon.py" line="504" /> <location filename="../../PluginMetricsRadon.py" line="422" /> + <source>Show raw code metrics.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../../PluginMetricsRadon.py" line="684" /> + <location filename="../../PluginMetricsRadon.py" line="506" /> + <location filename="../../PluginMetricsRadon.py" line="424" /> <source><b>Code Metrics...</b><p>This calculates raw code metrics of Python files and shows the amount of lines of code, logical lines of code, source lines of code, comment lines, multi-line strings and blank lines.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="695" /> - <location filename="../../PluginMetricsRadon.py" line="516" /> - <location filename="../../PluginMetricsRadon.py" line="435" /> + <location filename="../../PluginMetricsRadon.py" line="697" /> + <location filename="../../PluginMetricsRadon.py" line="518" /> + <location filename="../../PluginMetricsRadon.py" line="437" /> <source>Maintainability Index</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="696" /> - <location filename="../../PluginMetricsRadon.py" line="517" /> - <location filename="../../PluginMetricsRadon.py" line="436" /> + <location filename="../../PluginMetricsRadon.py" line="698" /> + <location filename="../../PluginMetricsRadon.py" line="519" /> + <location filename="../../PluginMetricsRadon.py" line="438" /> <source>Maintainability &Index...</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="703" /> - <location filename="../../PluginMetricsRadon.py" line="523" /> - <location filename="../../PluginMetricsRadon.py" line="443" /> + <location filename="../../PluginMetricsRadon.py" line="705" /> + <location filename="../../PluginMetricsRadon.py" line="525" /> + <location filename="../../PluginMetricsRadon.py" line="445" /> <source>Show the maintainability index for Python files.</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="706" /> - <location filename="../../PluginMetricsRadon.py" line="525" /> - <location filename="../../PluginMetricsRadon.py" line="446" /> + <location filename="../../PluginMetricsRadon.py" line="708" /> + <location filename="../../PluginMetricsRadon.py" line="527" /> + <location filename="../../PluginMetricsRadon.py" line="448" /> <source><b>Maintainability Index...</b><p>This calculates the maintainability index of Python files and shows it together with a ranking.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="718" /> - <location filename="../../PluginMetricsRadon.py" line="535" /> - <location filename="../../PluginMetricsRadon.py" line="457" /> + <location filename="../../PluginMetricsRadon.py" line="720" /> + <location filename="../../PluginMetricsRadon.py" line="537" /> + <location filename="../../PluginMetricsRadon.py" line="459" /> <source>Cyclomatic Complexity</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="719" /> - <location filename="../../PluginMetricsRadon.py" line="536" /> - <location filename="../../PluginMetricsRadon.py" line="458" /> + <location filename="../../PluginMetricsRadon.py" line="721" /> + <location filename="../../PluginMetricsRadon.py" line="538" /> + <location filename="../../PluginMetricsRadon.py" line="460" /> <source>Cyclomatic &Complexity...</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="726" /> - <location filename="../../PluginMetricsRadon.py" line="542" /> - <location filename="../../PluginMetricsRadon.py" line="465" /> + <location filename="../../PluginMetricsRadon.py" line="728" /> + <location filename="../../PluginMetricsRadon.py" line="544" /> + <location filename="../../PluginMetricsRadon.py" line="467" /> <source>Show the cyclomatic complexity for Python files.</source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="729" /> - <location filename="../../PluginMetricsRadon.py" line="544" /> - <location filename="../../PluginMetricsRadon.py" line="468" /> + <location filename="../../PluginMetricsRadon.py" line="731" /> + <location filename="../../PluginMetricsRadon.py" line="546" /> + <location filename="../../PluginMetricsRadon.py" line="470" /> <source><b>Cyclomatic Complexity...</b><p>This calculates the cyclomatic complexity of Python files and shows it together with a ranking.</p></source> <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="1026" /> + <location filename="../../PluginMetricsRadon.py" line="1028" /> <source><p><b>Radon Version {0}</b></p><p>Radon is a Python tool that computes various metrics from the source code. Radon can compute:<ul><li><b>Raw</b> metrics (these include SLOC, comment lines, blank lines, multi line strings, ...)</li><li><b>Maintainability Index</b> (the one used in Visual Studio)</li><li><b>McCabe's complexity</b>, i.e. cyclomatic complexity</li></ul></p></source> <translation type="unfinished" /> </message> @@ -297,74 +312,74 @@ <context> <name>RawMetricsDialog</name> <message> - <location filename="../RawMetricsDialog.py" line="76" /> + <location filename="../RawMetricsDialog.py" line="80" /> <source><table><tr><td><b>LOC</b></td><td>Lines of code</td></tr><tr><td><b>SLOC</b></td><td>Source lines of code</td></tr><tr><td><b>LLOC</b></td><td>Logical lines of code</td></tr><tr><td><b>Comments</b></td><td>Comment lines</td></tr><tr><td><b>Empty&nbsp;Comments</b></td><td>Comment lines not containing code</td></tr><tr><td><b>Multi</b></td><td>Lines in multi line strings</td></tr><tr><td><b>Empty</b></td><td>Blank lines</td></tr><tr><td colspan=2><b>Comment Statistics:</b></td</tr><tr><td><b>C % L</b></td><td>Comments to lines ratio</td></tr><tr><td><b>C % S</b></td><td>Comments to source lines ratio</td></tr><tr><td><b>C + M % L</b></td><td>Comments plus multi line strings to lines ratio</td></tr></table></source> <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.py" line="154" /> + <location filename="../RawMetricsDialog.py" line="158" /> <source>Errors</source> <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.py" line="442" /> + <location filename="../RawMetricsDialog.py" line="437" /> <source>Files</source> <translation type="unfinished" /> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="445" /> + <location filename="../RawMetricsDialog.py" line="440" /> <source>LOC</source> <translation type="unfinished" /> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="448" /> + <location filename="../RawMetricsDialog.py" line="443" /> <source>SLOC</source> <translation type="unfinished" /> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="451" /> + <location filename="../RawMetricsDialog.py" line="446" /> <source>LLOC</source> <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.py" line="454" /> + <location filename="../RawMetricsDialog.py" line="449" /> <source>Comment Lines</source> <translation type="unfinished" /> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="457" /> + <location filename="../RawMetricsDialog.py" line="452" /> <source>Empty Comments</source> <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.py" line="461" /> + <location filename="../RawMetricsDialog.py" line="456" /> <source>Multiline Strings</source> <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.py" line="465" /> + <location filename="../RawMetricsDialog.py" line="460" /> <source>Empty Lines</source> <translation type="unfinished" /> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="468" /> + <location filename="../RawMetricsDialog.py" line="463" /> <source>C % L</source> <translation type="unfinished" /> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="477" /> + <location filename="../RawMetricsDialog.py" line="472" /> <source>C % S</source> <translation type="unfinished" /> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="486" /> + <location filename="../RawMetricsDialog.py" line="481" /> <source>C + M % L</source> <translation type="unfinished" /> </message>
--- a/RadonMetrics/i18n/radon_es.ts Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/i18n/radon_es.ts Sat May 27 15:33:58 2023 +0200 @@ -4,34 +4,49 @@ <context> <name>CyclomaticComplexityDialog</name> <message> - <location filename="../CyclomaticComplexityDialog.py" line="83" /> - <source><table><tr><td colspan=3><b>Ranking:</b></td></tr><tr><td><b>A</b></td><td>1 - 5</td><td>(low risk - simple block)</td></tr><tr><td><b>B</b></td><td>6 - 10</td><td>(low risk - well structured and stable block)</td></tr><tr><td><b>C</b></td><td>11 - 20</td><td>(moderate risk - slightly complex block)</td></tr><tr><td><b>D</b></td><td>21 - 30</td><td>(more than moderate risk - more complex block)</td></tr><tr><td><b>E</b></td><td>31 - 40</td><td>(high risk - complex block, alarming)</td></tr><tr><td><b>F</b></td><td>&gt; 40</td><td>(very high risk - error-prone, unstable block)</td></tr></table></source> - <translation><table><tr><td colspan=3><b>Ranking:</b></td></tr><tr><td><b>A</b></td><td>1 - 5</td><td>(riesgo bajo - bloque simple)</td></tr><tr><td><b>B</b></td><td>6 - 10</td><td>(riesgo bajo - bloque estable y bién estructurado)</td></tr><tr><td><b>C</b></td><td>11 - 20</td><td>(riesgo moderado - bloque ligeramente complejo)</td></tr><tr><td><b>D</b></td><td>21 - 30</td><td>(riesgo más que moderado- bloque más complejo)</td></tr><tr><td><b>E</b></td><td>31 - 40</td><td>(riesgo alto- bloque complejo, alarmante)</td></tr><tr><td><b>F</b></td><td>&gt; 40</td><td>(riesgo muy alto, - propenso a errores, bloque inestable)</td></tr></table></translation> + <location filename="../CyclomaticComplexityDialog.py" line="87" /> + <source><b>Summary:</b></source> + <translation><b>Resumen:</b></translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="88" /> + <source><b>Ranking:</b></source> + <translation><b>Ranking:</b></translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="102" /> - <source><table><tr><td colspan=2><b>Type:</b></td></tr><tr><td><b>C</b></td><td>Class</td></tr><tr><td><b>F</b></td><td>Function</td></tr><tr><td><b>M</b></td><td>Method</td></tr></table></source> - <translation><table><tr><td colspan=2><b>Type:</b></td></tr><tr><td><b>C</b></td><td>Clase</td></tr><tr><td><b>F</b></td><td>Función</td></tr><tr><td><b>M</b></td><td>Método</td></tr></table></translation> + <location filename="../CyclomaticComplexityDialog.py" line="90" /> + <source><table><tr><td><b>A</b></td><td>1 - 5</td><td>(low risk - simple block)</td></tr><tr><td><b>B</b></td><td>6 - 10</td><td>(low risk - well structured and stable block)</td></tr><tr><td><b>C</b></td><td>11 - 20</td><td>(moderate risk - slightly complex block)</td></tr><tr><td><b>D</b></td><td>21 - 30</td><td>(more than moderate risk - more complex block)</td></tr><tr><td><b>E</b></td><td>31 - 40</td><td>(high risk - complex block, alarming)</td></tr><tr><td><b>F</b></td><td>&gt; 40</td><td>(very high risk - error-prone, unstable block)</td></tr></table></source> + <translation><table><tr><td><b>A</b></td><td>1 - 5</td><td>(riesgo bajo - bloque simple)</td></tr><tr><td><b>B</b></td><td>6 - 10</td><td>(riesgo bajo - bloque estable y bién estructurado)</td></tr><tr><td><b>C</b></td><td>11 - 20</td><td>(riesgo moderado - bloque ligeramente complejo)</td></tr><tr><td><b>D</b></td><td>21 - 30</td><td>(riesgo más que moderado- bloque más complejo)</td></tr><tr><td><b>E</b></td><td>31 - 40</td><td>(riesgo alto- bloque complejo, alarmante)</td></tr><tr><td><b>F</b></td><td>&gt; 40</td><td>(riesgo muy alto, - propenso a errores, bloque inestable)</td></tr></table></translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="156" /> + <location filename="../CyclomaticComplexityDialog.py" line="107" /> + <source><b>Type:</b></source> + <translation><b>Type:</b></translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="109" /> + <source><table><tr><td><b>C</b></td><td>Class</td></tr><tr><td><b>F</b></td><td>Function</td></tr><tr><td><b>M</b></td><td>Method</td></tr></table></source> + <translation><table><tr><td><b>C</b></td><td>Clase</td></tr><tr><td><b>F</b></td><td>Función</td></tr><tr><td><b>M</b></td><td>Método</td></tr></table></translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="162" /> <source>Collapse all</source> <translation>Contraer todos</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="157" /> + <location filename="../CyclomaticComplexityDialog.py" line="163" /> <source>Expand all</source> <translation>Expandir todos</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="230" /> + <location filename="../CyclomaticComplexityDialog.py" line="236" /> <source>Errors</source> <translation>Errores</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="513" /> - <source><b>Summary:</b><br/>{0} blocks (classes, functions, methods) analyzed.<br/>Average complexity: {7} ({8})<table><tr><td width=30><b>A</b></td><td align='right'>{1} blocks</td></tr><tr><td width=30><b>B</b></td><td align='right'>{2} blocks</td></tr><tr><td width=30><b>C</b></td><td align='right'>{3} blocks</td></tr><tr><td width=30><b>D</b></td><td align='right'>{4} blocks</td></tr><tr><td width=30><b>E</b></td><td align='right'>{5} blocks</td></tr><tr><td width=30><b>F</b></td><td align='right'>{6} blocks</td></tr></table></source> - <translation><b>Resumen:</b><br/>{0} bloques (clases, funciones, métodos) analyzed.<br/>Complejidad media: {7} ({8})<table><tr><td width=30><b>A</b></td><td align='right'>{1} bloques</td></tr><tr><td width=30><b>B</b></td><td align='right'>{2} bloques</td></tr><tr><td width=30><b>C</b></td><td align='right'>{3} bloques</td></tr><tr><td width=30><b>D</b></td><td align='right'>{4} bloques</td></tr><tr><td width=30><b>E</b></td><td align='right'>{5} bloques</td></tr><tr><td width=30><b>F</b></td><td align='right'>{6} bloques</td></tr></table></translation> + <location filename="../CyclomaticComplexityDialog.py" line="510" /> + <source>{0} blocks (classes, functions, methods) analyzed.<br/>Average complexity: {7} ({8})<table><tr><td width=30><b>A</b></td><td align='right'>{1} blocks</td></tr><tr><td width=30><b>B</b></td><td align='right'>{2} blocks</td></tr><tr><td width=30><b>C</b></td><td align='right'>{3} blocks</td></tr><tr><td width=30><b>D</b></td><td align='right'>{4} blocks</td></tr><tr><td width=30><b>E</b></td><td align='right'>{5} blocks</td></tr><tr><td width=30><b>F</b></td><td align='right'>{6} blocks</td></tr></table></source> + <translation>{0} bloques (clases, funciones, métodos) analyzed.<br/>Complejidad media: {7} ({8})<table><tr><td width=30><b>A</b></td><td align='right'>{1} bloques</td></tr><tr><td width=30><b>B</b></td><td align='right'>{2} bloques</td></tr><tr><td width=30><b>C</b></td><td align='right'>{3} bloques</td></tr><tr><td width=30><b>D</b></td><td align='right'>{4} bloques</td></tr><tr><td width=30><b>E</b></td><td align='right'>{5} bloques</td></tr><tr><td width=30><b>F</b></td><td align='right'>{6} bloques</td></tr></table></translation> </message> <message> <location filename="../CyclomaticComplexityDialog.ui" line="0" /> @@ -114,17 +129,17 @@ <context> <name>MaintainabilityIndexDialog</name> <message> - <location filename="../MaintainabilityIndexDialog.py" line="72" /> + <location filename="../MaintainabilityIndexDialog.py" line="77" /> <source><table><tr><td><b>Rank</b></td><td><b>MI Score</b></td><td><b>Maintainability</b></td></tr><tr><td><b>A</b></td><td>100 - 20</td><td>very high</td></tr><tr><td><b>B</b></td><td>19 - 10</td><td>medium</td></tr><tr><td><b>C</b></td><td>9 - 0</td><td>extremely low</td></tr></table></source> <translation><table><tr><td><b>Rango</b></td><td><b>Puntuación MI</b></td><td><b>Mantenibilidad</b></td></tr><tr><td><b>A</b></td><td>100 - 20</td><td>muy alta</td></tr><tr><td><b>B</b></td><td>19 - 10</td><td>media</td></tr><tr><td><b>C</b></td><td>9 - 0</td><td>extremadamente baja</td></tr></table></translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="150" /> + <location filename="../MaintainabilityIndexDialog.py" line="155" /> <source>Errors</source> <translation>Errores</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="397" /> + <location filename="../MaintainabilityIndexDialog.py" line="393" /> <source><table><tr><td colspan=2><b>Summary:</b></td></tr><tr><td><b>A</b></td><td align='right'>{0} files</td></tr><tr><td><b>B</b></td><td align='right'>{1} files</td></tr><tr><td><b>C</b></td><td align='right'>{2} files</td></tr></table></source> <translation><table><tr><td colspan=2><b>Resumen:</b></td></tr><tr><td><b>A</b></td><td align='right'>{0} archivos</td></tr><tr><td><b>B</b></td><td align='right'>{1} archivos</td></tr><tr><td><b>C</b></td><td align='right'>{2} archivos</td></tr></table></translation> </message> @@ -189,109 +204,109 @@ <context> <name>RadonMetricsPlugin</name> <message> - <location filename="../../PluginMetricsRadon.py" line="169" /> + <location filename="../../PluginMetricsRadon.py" line="171" /> <source>Python 3 batch job</source> <translation>Trabajo por lotes de Python 3</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="212" /> + <location filename="../../PluginMetricsRadon.py" line="214" /> <source>Unknown metrics result received ({0}).</source> <translation>Recibido resultado de métricas desconocidas ({0}).</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="1025" /> - <location filename="../../PluginMetricsRadon.py" line="669" /> - <location filename="../../PluginMetricsRadon.py" line="492" /> - <location filename="../../PluginMetricsRadon.py" line="404" /> + <location filename="../../PluginMetricsRadon.py" line="1027" /> + <location filename="../../PluginMetricsRadon.py" line="671" /> + <location filename="../../PluginMetricsRadon.py" line="494" /> + <location filename="../../PluginMetricsRadon.py" line="406" /> <source>Radon</source> <translation>Radon</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="678" /> - <location filename="../../PluginMetricsRadon.py" line="500" /> - <location filename="../../PluginMetricsRadon.py" line="413" /> + <location filename="../../PluginMetricsRadon.py" line="680" /> + <location filename="../../PluginMetricsRadon.py" line="502" /> + <location filename="../../PluginMetricsRadon.py" line="415" /> <source>Code Metrics</source> <translation>Métricas de Código</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="678" /> - <location filename="../../PluginMetricsRadon.py" line="500" /> - <location filename="../../PluginMetricsRadon.py" line="414" /> + <location filename="../../PluginMetricsRadon.py" line="680" /> + <location filename="../../PluginMetricsRadon.py" line="502" /> + <location filename="../../PluginMetricsRadon.py" line="416" /> <source>Code &Metrics...</source> <translation>&Métricas de Código...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="680" /> - <location filename="../../PluginMetricsRadon.py" line="502" /> - <location filename="../../PluginMetricsRadon.py" line="420" /> - <source>Show raw code metrics.</source> - <translation>Mostrar métricas de código en bruto.</translation> - </message> - <message> <location filename="../../PluginMetricsRadon.py" line="682" /> <location filename="../../PluginMetricsRadon.py" line="504" /> <location filename="../../PluginMetricsRadon.py" line="422" /> + <source>Show raw code metrics.</source> + <translation>Mostrar métricas de código en bruto.</translation> + </message> + <message> + <location filename="../../PluginMetricsRadon.py" line="684" /> + <location filename="../../PluginMetricsRadon.py" line="506" /> + <location filename="../../PluginMetricsRadon.py" line="424" /> <source><b>Code Metrics...</b><p>This calculates raw code metrics of Python files and shows the amount of lines of code, logical lines of code, source lines of code, comment lines, multi-line strings and blank lines.</p></source> <translation><b>Métricas de Código...<b><p>Calcula las métricas de código en bruto de archivos Python y muestra el número de líneas de código, líneas lógicas de código, líneas fuente de código, líneas en comentarios, cadenas multilínea y líneas en blanco.</p></translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="695" /> - <location filename="../../PluginMetricsRadon.py" line="516" /> - <location filename="../../PluginMetricsRadon.py" line="435" /> + <location filename="../../PluginMetricsRadon.py" line="697" /> + <location filename="../../PluginMetricsRadon.py" line="518" /> + <location filename="../../PluginMetricsRadon.py" line="437" /> <source>Maintainability Index</source> <translation>Índice de Mantenibilidad</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="696" /> - <location filename="../../PluginMetricsRadon.py" line="517" /> - <location filename="../../PluginMetricsRadon.py" line="436" /> + <location filename="../../PluginMetricsRadon.py" line="698" /> + <location filename="../../PluginMetricsRadon.py" line="519" /> + <location filename="../../PluginMetricsRadon.py" line="438" /> <source>Maintainability &Index...</source> <translation>&Índice de Mantenibilidad...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="703" /> - <location filename="../../PluginMetricsRadon.py" line="523" /> - <location filename="../../PluginMetricsRadon.py" line="443" /> + <location filename="../../PluginMetricsRadon.py" line="705" /> + <location filename="../../PluginMetricsRadon.py" line="525" /> + <location filename="../../PluginMetricsRadon.py" line="445" /> <source>Show the maintainability index for Python files.</source> <translation>Muestra el índice de mantenibilidad para archivos Python.</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="706" /> - <location filename="../../PluginMetricsRadon.py" line="525" /> - <location filename="../../PluginMetricsRadon.py" line="446" /> + <location filename="../../PluginMetricsRadon.py" line="708" /> + <location filename="../../PluginMetricsRadon.py" line="527" /> + <location filename="../../PluginMetricsRadon.py" line="448" /> <source><b>Maintainability Index...</b><p>This calculates the maintainability index of Python files and shows it together with a ranking.</p></source> <translation><b>Índice de Mantenibilidad...</b><p>Calcula el índice de mantenibilidad de archivos Python y lo muestra con un ranking.</p></translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="718" /> - <location filename="../../PluginMetricsRadon.py" line="535" /> - <location filename="../../PluginMetricsRadon.py" line="457" /> + <location filename="../../PluginMetricsRadon.py" line="720" /> + <location filename="../../PluginMetricsRadon.py" line="537" /> + <location filename="../../PluginMetricsRadon.py" line="459" /> <source>Cyclomatic Complexity</source> <translation>Complejidad Ciclomática</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="719" /> - <location filename="../../PluginMetricsRadon.py" line="536" /> - <location filename="../../PluginMetricsRadon.py" line="458" /> + <location filename="../../PluginMetricsRadon.py" line="721" /> + <location filename="../../PluginMetricsRadon.py" line="538" /> + <location filename="../../PluginMetricsRadon.py" line="460" /> <source>Cyclomatic &Complexity...</source> <translation>Complejidad &Ciclomática...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="726" /> - <location filename="../../PluginMetricsRadon.py" line="542" /> - <location filename="../../PluginMetricsRadon.py" line="465" /> + <location filename="../../PluginMetricsRadon.py" line="728" /> + <location filename="../../PluginMetricsRadon.py" line="544" /> + <location filename="../../PluginMetricsRadon.py" line="467" /> <source>Show the cyclomatic complexity for Python files.</source> <translation>Muestra la complejidad ciclomática para archivos Python.</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="729" /> - <location filename="../../PluginMetricsRadon.py" line="544" /> - <location filename="../../PluginMetricsRadon.py" line="468" /> + <location filename="../../PluginMetricsRadon.py" line="731" /> + <location filename="../../PluginMetricsRadon.py" line="546" /> + <location filename="../../PluginMetricsRadon.py" line="470" /> <source><b>Cyclomatic Complexity...</b><p>This calculates the cyclomatic complexity of Python files and shows it together with a ranking.</p></source> <translation><b>Complejidad Ciclomática...</b><p>Calcula la complejidad ciclomática de archivos Python y lo muestra con un ranking.</p></translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="1026" /> + <location filename="../../PluginMetricsRadon.py" line="1028" /> <source><p><b>Radon Version {0}</b></p><p>Radon is a Python tool that computes various metrics from the source code. Radon can compute:<ul><li><b>Raw</b> metrics (these include SLOC, comment lines, blank lines, multi line strings, ...)</li><li><b>Maintainability Index</b> (the one used in Visual Studio)</li><li><b>McCabe's complexity</b>, i.e. cyclomatic complexity</li></ul></p></source> <translation><p><b>Radon Versión {0}</b></p><p>Radon es una herramienta de Python que calcula varias métricas a partir del código fuente. Radon puede calcular:<ul><li>Métricas <b>en bruto</b> (incluyen SLOC -líneas de código fuente-, líneas de comentarios, líneas en blanco, cadenas multilínea, ...)</li><li><b>Índice de Mantenibilidad</b> (el que se utiliza en Visual Studio)</li><li><b>complejidad de McCabe</b>, complejidad ciclomática</li></ul></p></translation> </message> @@ -299,74 +314,74 @@ <context> <name>RawMetricsDialog</name> <message> - <location filename="../RawMetricsDialog.py" line="76" /> + <location filename="../RawMetricsDialog.py" line="80" /> <source><table><tr><td><b>LOC</b></td><td>Lines of code</td></tr><tr><td><b>SLOC</b></td><td>Source lines of code</td></tr><tr><td><b>LLOC</b></td><td>Logical lines of code</td></tr><tr><td><b>Comments</b></td><td>Comment lines</td></tr><tr><td><b>Empty&nbsp;Comments</b></td><td>Comment lines not containing code</td></tr><tr><td><b>Multi</b></td><td>Lines in multi line strings</td></tr><tr><td><b>Empty</b></td><td>Blank lines</td></tr><tr><td colspan=2><b>Comment Statistics:</b></td</tr><tr><td><b>C % L</b></td><td>Comments to lines ratio</td></tr><tr><td><b>C % S</b></td><td>Comments to source lines ratio</td></tr><tr><td><b>C + M % L</b></td><td>Comments plus multi line strings to lines ratio</td></tr></table></source> <translation><table><tr><td><b>LOC</b></td><td>Líneas de código</td></tr><tr><td><b>SLOC</b></td><td>Líneas de código fuente</td></tr><tr><td><b>LLOC</b></td><td>Líneas logicas de código</td></tr><tr><td><b>Comentarios</b></td><td>Líneas de comentarios</td></tr><tr><td><b>Multi</b></td><td>Líneas en cadenas multilínea</td></tr><tr><td><b>Vacío</b></td><td>Líneas en blanco</td></tr><tr><td colspan=2><b>Estadísticas de Comentarios:</b></td</tr><tr><td><b>C % L</b></td><td>Ratio entre comentarios y líneas</td></tr><tr><td><b>C % S</b></td><td>Ratio entre comentarios y líneas de código fuente</td></tr><tr><td><b>C + M % L</b></td><td>Ratio entre comentarios más cadenas multilínea y líneas</td></tr></table></translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="154" /> + <location filename="../RawMetricsDialog.py" line="158" /> <source>Errors</source> <translation>Errores</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="442" /> + <location filename="../RawMetricsDialog.py" line="437" /> <source>Files</source> <translation>Archivos</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="445" /> + <location filename="../RawMetricsDialog.py" line="440" /> <source>LOC</source> <translation>LOC</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="448" /> + <location filename="../RawMetricsDialog.py" line="443" /> <source>SLOC</source> <translation>SLOC</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="451" /> + <location filename="../RawMetricsDialog.py" line="446" /> <source>LLOC</source> <translation>LLOC</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="454" /> + <location filename="../RawMetricsDialog.py" line="449" /> <source>Comment Lines</source> <translation>Líneas de Comentarios</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="457" /> + <location filename="../RawMetricsDialog.py" line="452" /> <source>Empty Comments</source> <translation>Comentarios Vacíos</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="461" /> + <location filename="../RawMetricsDialog.py" line="456" /> <source>Multiline Strings</source> <translation>Cadenas Multilínea</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="465" /> + <location filename="../RawMetricsDialog.py" line="460" /> <source>Empty Lines</source> <translation>Líneas en Blanco</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="468" /> + <location filename="../RawMetricsDialog.py" line="463" /> <source>C % L</source> <translation>C % L</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="477" /> + <location filename="../RawMetricsDialog.py" line="472" /> <source>C % S</source> <translation>C % S</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="486" /> + <location filename="../RawMetricsDialog.py" line="481" /> <source>C + M % L</source> <translation>C + M % L</translation> </message>
--- a/RadonMetrics/i18n/radon_ru.ts Sat Dec 31 16:27:44 2022 +0100 +++ b/RadonMetrics/i18n/radon_ru.ts Sat May 27 15:33:58 2023 +0200 @@ -4,34 +4,49 @@ <context> <name>CyclomaticComplexityDialog</name> <message> - <location filename="../CyclomaticComplexityDialog.py" line="83" /> - <source><table><tr><td colspan=3><b>Ranking:</b></td></tr><tr><td><b>A</b></td><td>1 - 5</td><td>(low risk - simple block)</td></tr><tr><td><b>B</b></td><td>6 - 10</td><td>(low risk - well structured and stable block)</td></tr><tr><td><b>C</b></td><td>11 - 20</td><td>(moderate risk - slightly complex block)</td></tr><tr><td><b>D</b></td><td>21 - 30</td><td>(more than moderate risk - more complex block)</td></tr><tr><td><b>E</b></td><td>31 - 40</td><td>(high risk - complex block, alarming)</td></tr><tr><td><b>F</b></td><td>&gt; 40</td><td>(very high risk - error-prone, unstable block)</td></tr></table></source> - <translation><table><tr><td colspan=3><b>Ранжирование:</b></td></tr><tr><td><b>A</b></td><td>1 - 5</td><td>(низкий риск - простой блок)</td></tr><tr><td><b>B</b></td><td>6 - 10</td><td>(низкий риск - хорошо структурированный стабильный блок)</td></tr><tr><td><b>C</b></td><td>11 - 20</td><td>(умеренный риск - немного сложный блок)</td></tr><tr><td><b>D</b></td><td>21 - 30</td><td>(более чем умеренный риск - более сложный блок)</td></tr><tr><td><b>E</b></td><td>31 - 40</td><td>(высокий риск - сложный, аварийный блок)</td></tr><tr><td><b>F</b></td><td>&gt; 40</td><td>(очень высокий риск - нестабильный блок, подвержен ошибкам)</td></tr></table></translation> + <location filename="../CyclomaticComplexityDialog.py" line="87" /> + <source><b>Summary:</b></source> + <translation><b>Сводка:</b></translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="88" /> + <source><b>Ranking:</b></source> + <translation><b>Ранжирование:</b></translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="102" /> - <source><table><tr><td colspan=2><b>Type:</b></td></tr><tr><td><b>C</b></td><td>Class</td></tr><tr><td><b>F</b></td><td>Function</td></tr><tr><td><b>M</b></td><td>Method</td></tr></table></source> - <translation><table><tr><td colspan=2><b>Тип:</b></td></tr><tr><td><b>C</b></td><td>Класс</td></tr><tr><td><b>F</b></td><td>Функция</td></tr><tr><td><b>M</b></td><td>Метод</td></tr></table></translation> + <location filename="../CyclomaticComplexityDialog.py" line="90" /> + <source><table><tr><td><b>A</b></td><td>1 - 5</td><td>(low risk - simple block)</td></tr><tr><td><b>B</b></td><td>6 - 10</td><td>(low risk - well structured and stable block)</td></tr><tr><td><b>C</b></td><td>11 - 20</td><td>(moderate risk - slightly complex block)</td></tr><tr><td><b>D</b></td><td>21 - 30</td><td>(more than moderate risk - more complex block)</td></tr><tr><td><b>E</b></td><td>31 - 40</td><td>(high risk - complex block, alarming)</td></tr><tr><td><b>F</b></td><td>&gt; 40</td><td>(very high risk - error-prone, unstable block)</td></tr></table></source> + <translation><table><tr><td><b>A</b></td><td>1 - 5</td><td>(низкий риск - простой блок)</td></tr><tr><td><b>B</b></td><td>6 - 10</td><td>(низкий риск - хорошо структурированный стабильный блок)</td></tr><tr><td><b>C</b></td><td>11 - 20</td><td>(умеренный риск - немного сложный блок)</td></tr><tr><td><b>D</b></td><td>21 - 30</td><td>(более чем умеренный риск - более сложный блок)</td></tr><tr><td><b>E</b></td><td>31 - 40</td><td>(высокий риск - сложный, аварийный блок)</td></tr><tr><td><b>F</b></td><td>&gt; 40</td><td>(очень высокий риск - нестабильный блок, подвержен ошибкам)</td></tr></table></translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="156" /> + <location filename="../CyclomaticComplexityDialog.py" line="107" /> + <source><b>Type:</b></source> + <translation><b>Тип:</b></translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="109" /> + <source><table><tr><td><b>C</b></td><td>Class</td></tr><tr><td><b>F</b></td><td>Function</td></tr><tr><td><b>M</b></td><td>Method</td></tr></table></source> + <translation><table><tr><td><b>C</b></td><td>Класс</td></tr><tr><td><b>F</b></td><td>Функция</td></tr><tr><td><b>M</b></td><td>Метод</td></tr></table></translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="162" /> <source>Collapse all</source> <translation>Свернуть все</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="157" /> + <location filename="../CyclomaticComplexityDialog.py" line="163" /> <source>Expand all</source> <translation>Развернуть все</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="230" /> + <location filename="../CyclomaticComplexityDialog.py" line="236" /> <source>Errors</source> <translation>Ошибки</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="513" /> - <source><b>Summary:</b><br/>{0} blocks (classes, functions, methods) analyzed.<br/>Average complexity: {7} ({8})<table><tr><td width=30><b>A</b></td><td align='right'>{1} blocks</td></tr><tr><td width=30><b>B</b></td><td align='right'>{2} blocks</td></tr><tr><td width=30><b>C</b></td><td align='right'>{3} blocks</td></tr><tr><td width=30><b>D</b></td><td align='right'>{4} blocks</td></tr><tr><td width=30><b>E</b></td><td align='right'>{5} blocks</td></tr><tr><td width=30><b>F</b></td><td align='right'>{6} blocks</td></tr></table></source> - <translation><b>Сводка:</b><br/>{0} блоков (классов, функций, методов) проанализировано.<br/>Средняя сложность: {7} ({8})<table><tr><td width=30><b>A</b></td><td align='right'>{1} блоков</td></tr><tr><td width=30><b>B</b></td><td align='right'>{2} блоков</td></tr><tr><td width=30><b>C</b></td><td align='right'>{3} блоков</td></tr><tr><td width=30><b>D</b></td><td align='right'>{4} блоков</td></tr><tr><td width=30><b>E</b></td><td align='right'>{5} блоков</td></tr><tr><td width=30><b>F</b></td><td align='right'>{6} блоков</td></tr></table></translation> + <location filename="../CyclomaticComplexityDialog.py" line="510" /> + <source>{0} blocks (classes, functions, methods) analyzed.<br/>Average complexity: {7} ({8})<table><tr><td width=30><b>A</b></td><td align='right'>{1} blocks</td></tr><tr><td width=30><b>B</b></td><td align='right'>{2} blocks</td></tr><tr><td width=30><b>C</b></td><td align='right'>{3} blocks</td></tr><tr><td width=30><b>D</b></td><td align='right'>{4} blocks</td></tr><tr><td width=30><b>E</b></td><td align='right'>{5} blocks</td></tr><tr><td width=30><b>F</b></td><td align='right'>{6} blocks</td></tr></table></source> + <translation>{0} блоков (классов, функций, методов) проанализировано.<br/>Средняя сложность: {7} ({8})<table><tr><td width=30><b>A</b></td><td align='right'>{1} блоков</td></tr><tr><td width=30><b>B</b></td><td align='right'>{2} блоков</td></tr><tr><td width=30><b>C</b></td><td align='right'>{3} блоков</td></tr><tr><td width=30><b>D</b></td><td align='right'>{4} блоков</td></tr><tr><td width=30><b>E</b></td><td align='right'>{5} блоков</td></tr><tr><td width=30><b>F</b></td><td align='right'>{6} блоков</td></tr></table></translation> </message> <message> <location filename="../CyclomaticComplexityDialog.ui" line="0" /> @@ -114,17 +129,17 @@ <context> <name>MaintainabilityIndexDialog</name> <message> - <location filename="../MaintainabilityIndexDialog.py" line="72" /> + <location filename="../MaintainabilityIndexDialog.py" line="77" /> <source><table><tr><td><b>Rank</b></td><td><b>MI Score</b></td><td><b>Maintainability</b></td></tr><tr><td><b>A</b></td><td>100 - 20</td><td>very high</td></tr><tr><td><b>B</b></td><td>19 - 10</td><td>medium</td></tr><tr><td><b>C</b></td><td>9 - 0</td><td>extremely low</td></tr></table></source> <translation><table><tr><td><b>Уровень</b></td><td><b>MI оценка</b></td><td><b>Сложность поддержки</b></td></tr><tr><td><b>A</b></td><td>100 - 20</td><td>очень высокая</td></tr><tr><td><b>B</b></td><td>19 - 10</td><td>средняя</td></tr><tr><td><b>C</b></td><td>9 - 0</td><td>крайне низкая</td></tr></table></translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="150" /> + <location filename="../MaintainabilityIndexDialog.py" line="155" /> <source>Errors</source> <translation>Ошибки</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="397" /> + <location filename="../MaintainabilityIndexDialog.py" line="393" /> <source><table><tr><td colspan=2><b>Summary:</b></td></tr><tr><td><b>A</b></td><td align='right'>{0} files</td></tr><tr><td><b>B</b></td><td align='right'>{1} files</td></tr><tr><td><b>C</b></td><td align='right'>{2} files</td></tr></table></source> <translation><table><tr><td colspan=2><b>Сводка:</b></td></tr><tr><td><b>A</b></td><td align='right'>{0} файлов</td></tr><tr><td><b>B</b></td><td align='right'>{1} файлов</td></tr><tr><td><b>C</b></td><td align='right'>{2} файлов</td></tr></table></translation> </message> @@ -189,109 +204,109 @@ <context> <name>RadonMetricsPlugin</name> <message> - <location filename="../../PluginMetricsRadon.py" line="169" /> + <location filename="../../PluginMetricsRadon.py" line="171" /> <source>Python 3 batch job</source> <translation>Пакетное задание Python 3</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="212" /> + <location filename="../../PluginMetricsRadon.py" line="214" /> <source>Unknown metrics result received ({0}).</source> <translation>Получено ({0}) оценок неизвестной метрики.</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="1025" /> - <location filename="../../PluginMetricsRadon.py" line="669" /> - <location filename="../../PluginMetricsRadon.py" line="492" /> - <location filename="../../PluginMetricsRadon.py" line="404" /> + <location filename="../../PluginMetricsRadon.py" line="1027" /> + <location filename="../../PluginMetricsRadon.py" line="671" /> + <location filename="../../PluginMetricsRadon.py" line="494" /> + <location filename="../../PluginMetricsRadon.py" line="406" /> <source>Radon</source> <translation>Radon</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="678" /> - <location filename="../../PluginMetricsRadon.py" line="500" /> - <location filename="../../PluginMetricsRadon.py" line="413" /> + <location filename="../../PluginMetricsRadon.py" line="680" /> + <location filename="../../PluginMetricsRadon.py" line="502" /> + <location filename="../../PluginMetricsRadon.py" line="415" /> <source>Code Metrics</source> <translation>Метрики кода</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="678" /> - <location filename="../../PluginMetricsRadon.py" line="500" /> - <location filename="../../PluginMetricsRadon.py" line="414" /> + <location filename="../../PluginMetricsRadon.py" line="680" /> + <location filename="../../PluginMetricsRadon.py" line="502" /> + <location filename="../../PluginMetricsRadon.py" line="416" /> <source>Code &Metrics...</source> <translation>&Метрики кода...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="680" /> - <location filename="../../PluginMetricsRadon.py" line="502" /> - <location filename="../../PluginMetricsRadon.py" line="420" /> - <source>Show raw code metrics.</source> - <translation>Отображение raw метрики кода.</translation> - </message> - <message> <location filename="../../PluginMetricsRadon.py" line="682" /> <location filename="../../PluginMetricsRadon.py" line="504" /> <location filename="../../PluginMetricsRadon.py" line="422" /> + <source>Show raw code metrics.</source> + <translation>Отображение raw метрики кода.</translation> + </message> + <message> + <location filename="../../PluginMetricsRadon.py" line="684" /> + <location filename="../../PluginMetricsRadon.py" line="506" /> + <location filename="../../PluginMetricsRadon.py" line="424" /> <source><b>Code Metrics...</b><p>This calculates raw code metrics of Python files and shows the amount of lines of code, logical lines of code, source lines of code, comment lines, multi-line strings and blank lines.</p></source> <translation><b>Метрики кода...</b><p>Это вычисление raw-метрик кода файлов Python и и показ количества строк кода, строк ветвления кода, строк исходного кода, строк комментариев, строк многострочного текста и пустых строк.</p></translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="695" /> - <location filename="../../PluginMetricsRadon.py" line="516" /> - <location filename="../../PluginMetricsRadon.py" line="435" /> + <location filename="../../PluginMetricsRadon.py" line="697" /> + <location filename="../../PluginMetricsRadon.py" line="518" /> + <location filename="../../PluginMetricsRadon.py" line="437" /> <source>Maintainability Index</source> <translation>Индекс сложности поддержки</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="696" /> - <location filename="../../PluginMetricsRadon.py" line="517" /> - <location filename="../../PluginMetricsRadon.py" line="436" /> + <location filename="../../PluginMetricsRadon.py" line="698" /> + <location filename="../../PluginMetricsRadon.py" line="519" /> + <location filename="../../PluginMetricsRadon.py" line="438" /> <source>Maintainability &Index...</source> <translation>&Индекс поддерживаемости...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="703" /> - <location filename="../../PluginMetricsRadon.py" line="523" /> - <location filename="../../PluginMetricsRadon.py" line="443" /> + <location filename="../../PluginMetricsRadon.py" line="705" /> + <location filename="../../PluginMetricsRadon.py" line="525" /> + <location filename="../../PluginMetricsRadon.py" line="445" /> <source>Show the maintainability index for Python files.</source> <translation>Отображение индекса сложности поддержки файлов Python.</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="706" /> - <location filename="../../PluginMetricsRadon.py" line="525" /> - <location filename="../../PluginMetricsRadon.py" line="446" /> + <location filename="../../PluginMetricsRadon.py" line="708" /> + <location filename="../../PluginMetricsRadon.py" line="527" /> + <location filename="../../PluginMetricsRadon.py" line="448" /> <source><b>Maintainability Index...</b><p>This calculates the maintainability index of Python files and shows it together with a ranking.</p></source> <translation><b>Индекс сложности поддержки кода...</b><p>Вычисляет индекс поддерживаемости файлов Python и показывает его значение и уровень.</p></translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="718" /> - <location filename="../../PluginMetricsRadon.py" line="535" /> - <location filename="../../PluginMetricsRadon.py" line="457" /> + <location filename="../../PluginMetricsRadon.py" line="720" /> + <location filename="../../PluginMetricsRadon.py" line="537" /> + <location filename="../../PluginMetricsRadon.py" line="459" /> <source>Cyclomatic Complexity</source> <translation>Цикломатическая сложность</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="719" /> - <location filename="../../PluginMetricsRadon.py" line="536" /> - <location filename="../../PluginMetricsRadon.py" line="458" /> + <location filename="../../PluginMetricsRadon.py" line="721" /> + <location filename="../../PluginMetricsRadon.py" line="538" /> + <location filename="../../PluginMetricsRadon.py" line="460" /> <source>Cyclomatic &Complexity...</source> <translation>Цикломатическая &сложность...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="726" /> - <location filename="../../PluginMetricsRadon.py" line="542" /> - <location filename="../../PluginMetricsRadon.py" line="465" /> + <location filename="../../PluginMetricsRadon.py" line="728" /> + <location filename="../../PluginMetricsRadon.py" line="544" /> + <location filename="../../PluginMetricsRadon.py" line="467" /> <source>Show the cyclomatic complexity for Python files.</source> <translation>Отображение цикломатической сложности файлов Python.</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="729" /> - <location filename="../../PluginMetricsRadon.py" line="544" /> - <location filename="../../PluginMetricsRadon.py" line="468" /> + <location filename="../../PluginMetricsRadon.py" line="731" /> + <location filename="../../PluginMetricsRadon.py" line="546" /> + <location filename="../../PluginMetricsRadon.py" line="470" /> <source><b>Cyclomatic Complexity...</b><p>This calculates the cyclomatic complexity of Python files and shows it together with a ranking.</p></source> <translation><b>Цикломатическая сложность...</b><p>Вычисляет цикломатическую сложность файлов Python и показывает ее уровень.</p></translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="1026" /> + <location filename="../../PluginMetricsRadon.py" line="1028" /> <source><p><b>Radon Version {0}</b></p><p>Radon is a Python tool that computes various metrics from the source code. Radon can compute:<ul><li><b>Raw</b> metrics (these include SLOC, comment lines, blank lines, multi line strings, ...)</li><li><b>Maintainability Index</b> (the one used in Visual Studio)</li><li><b>McCabe's complexity</b>, i.e. cyclomatic complexity</li></ul></p></source> <translation><p><b>Версия Radon {0}</b></p><p>Radon является инструментом Python, позволяющим вычислять различные метрики исходного кода. Radon позволяет оценить:<ul><li><b>Raw</b> метрики (к их числу относятся SLOC, строки коментариев, пустые строки, многострочный текст, ...)</li><li><b>Индекс сложности поддержки (качества кода)</b> (применяется в Visual Studio)</li><li><b>Мак-Кейба сложность</b>, то есть цикломатическая сложность</li></ul></p></translation> </message> @@ -299,74 +314,74 @@ <context> <name>RawMetricsDialog</name> <message> - <location filename="../RawMetricsDialog.py" line="76" /> + <location filename="../RawMetricsDialog.py" line="80" /> <source><table><tr><td><b>LOC</b></td><td>Lines of code</td></tr><tr><td><b>SLOC</b></td><td>Source lines of code</td></tr><tr><td><b>LLOC</b></td><td>Logical lines of code</td></tr><tr><td><b>Comments</b></td><td>Comment lines</td></tr><tr><td><b>Empty&nbsp;Comments</b></td><td>Comment lines not containing code</td></tr><tr><td><b>Multi</b></td><td>Lines in multi line strings</td></tr><tr><td><b>Empty</b></td><td>Blank lines</td></tr><tr><td colspan=2><b>Comment Statistics:</b></td</tr><tr><td><b>C % L</b></td><td>Comments to lines ratio</td></tr><tr><td><b>C % S</b></td><td>Comments to source lines ratio</td></tr><tr><td><b>C + M % L</b></td><td>Comments plus multi line strings to lines ratio</td></tr></table></source> <translation><table><tr><td><b>LOC</b></td><td>Количество строк кода</td></tr><tr><td><b>SLOC</b></td><td>Количество исходных строк кода</td></tr><tr><td><b>LLOC</b></td><td>Количество логических строк кода</td></tr><tr><td><b>Comments</b></td><td>Количество строк комментариев</td></tr><tr><td><b>Empty&nbsp;Comments</b></td><td>Количество строк комментариев не содержащих код</td></tr><tr><td><b>Multi</b></td><td>Количество строк многострочного текста</td></tr><tr><td><b>Empty</b></td><td>Количество пустых строк</td></tr><tr><td colspan=2><b>Статистика коментариев::</b></td</tr><tr><td><b>C % L</b></td><td>Процент строк комментариев к общему числу строк</td></tr><tr><td><b>C % S</b></td><td>Процент строк комментариев к числу строк исходного кода</td></tr><tr><td><b>C + M % L</b></td><td>Процент строк комментариев + многострочного текста к общему числу строк</td></tr></table></translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="154" /> + <location filename="../RawMetricsDialog.py" line="158" /> <source>Errors</source> <translation>Ошибки</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="442" /> + <location filename="../RawMetricsDialog.py" line="437" /> <source>Files</source> <translation>Файлы</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="445" /> + <location filename="../RawMetricsDialog.py" line="440" /> <source>LOC</source> <translation>LOC</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="448" /> + <location filename="../RawMetricsDialog.py" line="443" /> <source>SLOC</source> <translation>SLOC</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="451" /> + <location filename="../RawMetricsDialog.py" line="446" /> <source>LLOC</source> <translation>LLOC</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="454" /> + <location filename="../RawMetricsDialog.py" line="449" /> <source>Comment Lines</source> <translation>Comment Lines</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="457" /> + <location filename="../RawMetricsDialog.py" line="452" /> <source>Empty Comments</source> <translation>Empty Comments</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="461" /> + <location filename="../RawMetricsDialog.py" line="456" /> <source>Multiline Strings</source> <translation>Multiline Strings</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="465" /> + <location filename="../RawMetricsDialog.py" line="460" /> <source>Empty Lines</source> <translation>Empty Lines</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="468" /> + <location filename="../RawMetricsDialog.py" line="463" /> <source>C % L</source> <translation>C % L</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="477" /> + <location filename="../RawMetricsDialog.py" line="472" /> <source>C % S</source> <translation>C % S</translation> </message> <message> <location filename="../RawMetricsDialog.ui" line="0" /> - <location filename="../RawMetricsDialog.py" line="486" /> + <location filename="../RawMetricsDialog.py" line="481" /> <source>C + M % L</source> <translation>C + M % L</translation> </message>