Wed, 26 May 2021 17:43:25 +0200
Ported the plug-in to PyQt6 for eric7.
--- a/.hgignore Wed May 26 17:13:04 2021 +0200 +++ b/.hgignore Wed May 26 17:43:25 2021 +0200 @@ -1,11 +1,6 @@ glob:.eric6project -glob:_eric6project -glob:.eric5project -glob:_eric5project -glob:.eric4project -glob:_eric4project +glob:.eric7project glob:.ropeproject -glob:_ropeproject glob:.directory glob:**.pyc glob:**.pyo
--- a/ChangeLog Wed May 26 17:13:04 2021 +0200 +++ b/ChangeLog Wed May 26 17:43:25 2021 +0200 @@ -1,5 +1,10 @@ ChangeLog --------- +Version 1.0.0: +- first release of the eric7 variant + +************************************************************ + Version 4.0.0: - removed the included 'radon' library and have it as an external dependency installed during the plug-in installation (for eric > 21.5)
--- a/PluginMetricsRadon.e4p Wed May 26 17:13:04 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,546 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE Project SYSTEM "Project-5.1.dtd"> -<!-- eric project file for project PluginMetricsRadon --> -<!-- Copyright (C) 2020 Detlev Offenbach, detlev@die-offenbachs.de --> -<Project version="5.1"> - <Language>en_US</Language> - <Hash>662232fb888fb1b426cf967a2c238f4dd2f58f08</Hash> - <ProgLanguage mixed="0">Python3</ProgLanguage> - <ProjectType>E6Plugin</ProjectType> - <Description>This plugin implements dialogs for various code metrics determined using the radon library.</Description> - <Version>0.x</Version> - <Author>Detlev Offenbach</Author> - <Email>detlev@die-offenbachs.de</Email> - <TranslationPattern>RadonMetrics/i18n/radon_%language%.ts</TranslationPattern> - <Eol index="1"/> - <Sources> - <Source>PluginMetricsRadon.py</Source> - <Source>RadonMetrics/CodeMetricsCalculator.py</Source> - <Source>RadonMetrics/CyclomaticComplexityCalculator.py</Source> - <Source>RadonMetrics/CyclomaticComplexityDialog.py</Source> - <Source>RadonMetrics/MaintainabilityIndexCalculator.py</Source> - <Source>RadonMetrics/MaintainabilityIndexDialog.py</Source> - <Source>RadonMetrics/RawMetricsDialog.py</Source> - <Source>RadonMetrics/__init__.py</Source> - <Source>RadonMetrics/radon/__init__.py</Source> - <Source>RadonMetrics/radon/complexity.py</Source> - <Source>RadonMetrics/radon/metrics.py</Source> - <Source>RadonMetrics/radon/raw.py</Source> - <Source>RadonMetrics/radon/visitors.py</Source> - <Source>__init__.py</Source> - </Sources> - <Forms> - <Form>RadonMetrics/CyclomaticComplexityDialog.ui</Form> - <Form>RadonMetrics/MaintainabilityIndexDialog.ui</Form> - <Form>RadonMetrics/RawMetricsDialog.ui</Form> - </Forms> - <Translations> - <Translation>RadonMetrics/i18n/radon_de.qm</Translation> - <Translation>RadonMetrics/i18n/radon_de.ts</Translation> - <Translation>RadonMetrics/i18n/radon_en.qm</Translation> - <Translation>RadonMetrics/i18n/radon_en.ts</Translation> - <Translation>RadonMetrics/i18n/radon_es.qm</Translation> - <Translation>RadonMetrics/i18n/radon_es.ts</Translation> - <Translation>RadonMetrics/i18n/radon_ru.qm</Translation> - <Translation>RadonMetrics/i18n/radon_ru.ts</Translation> - </Translations> - <Others> - <Other>.hgignore</Other> - <Other>ChangeLog</Other> - <Other>PKGLIST</Other> - <Other>PluginMetricsRadon.e4p</Other> - <Other>PluginMetricsRadon.zip</Other> - <Other>RadonMetrics/Documentation/LICENSE.GPL3</Other> - <Other>RadonMetrics/Documentation/source</Other> - <Other>RadonMetrics/radon/LICENSE</Other> - </Others> - <MainScript>PluginMetricsRadon.py</MainScript> - <Vcs> - <VcsType>Mercurial</VcsType> - <VcsOptions> - <dict> - <key> - <string>add</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>checkout</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>commit</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>diff</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>export</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>global</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>history</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>log</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>remove</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>status</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>tag</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>update</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - </dict> - </VcsOptions> - </Vcs> - <FiletypeAssociations> - <FiletypeAssociation pattern="*.idl" type="INTERFACES"/> - <FiletypeAssociation pattern="*.py" type="SOURCES"/> - <FiletypeAssociation pattern="*.py3" type="SOURCES"/> - <FiletypeAssociation pattern="*.pyw" type="SOURCES"/> - <FiletypeAssociation pattern="*.pyw3" type="SOURCES"/> - <FiletypeAssociation pattern="*.qm" type="TRANSLATIONS"/> - <FiletypeAssociation pattern="*.qrc" type="RESOURCES"/> - <FiletypeAssociation pattern="*.ts" type="TRANSLATIONS"/> - <FiletypeAssociation pattern="*.ui" type="FORMS"/> - <FiletypeAssociation pattern="Ui_*.py" type="__IGNORE__"/> - </FiletypeAssociations> - <Documentation> - <DocumentationParams> - <dict> - <key> - <string>ERIC4DOC</string> - </key> - <value> - <dict> - <key> - <string>cssFile</string> - </key> - <value> - <string>%PYTHON%/eric6/CSSs/default.css</string> - </value> - <key> - <string>ignoreDirectories</string> - </key> - <value> - <list> - <string>.hg</string> - <string>.ropeproject</string> - <string>_ropeproject</string> - <string>.eric6project</string> - <string>_eric6project</string> - <string>radon</string> - </list> - </value> - <key> - <string>ignoreFilePatterns</string> - </key> - <value> - <list> - <string>Ui_*.py</string> - </list> - </value> - <key> - <string>outputDirectory</string> - </key> - <value> - <string>RadonMetrics/Documentation/source</string> - </value> - <key> - <string>qtHelpEnabled</string> - </key> - <value> - <bool>False</bool> - </value> - <key> - <string>useRecursion</string> - </key> - <value> - <bool>True</bool> - </value> - </dict> - </value> - </dict> - </DocumentationParams> - </Documentation> - <Checkers> - <CheckersParams> - <dict> - <key> - <string>Pep8Checker</string> - </key> - <value> - <dict> - <key> - <string>AnnotationsChecker</string> - </key> - <value> - <dict> - <key> - <string>MaximumComplexity</string> - </key> - <value> - <int>3</int> - </value> - <key> - <string>MinimumCoverage</string> - </key> - <value> - <int>75</int> - </value> - </dict> - </value> - <key> - <string>BlankLines</string> - </key> - <value> - <tuple> - <int>2</int> - <int>1</int> - </tuple> - </value> - <key> - <string>BuiltinsChecker</string> - </key> - <value> - <dict> - <key> - <string>bytes</string> - </key> - <value> - <list> - <string>unicode</string> - </list> - </value> - <key> - <string>chr</string> - </key> - <value> - <list> - <string>unichr</string> - </list> - </value> - <key> - <string>str</string> - </key> - <value> - <list> - <string>unicode</string> - </list> - </value> - </dict> - </value> - <key> - <string>CommentedCodeChecker</string> - </key> - <value> - <dict> - <key> - <string>Aggressive</string> - </key> - <value> - <bool>False</bool> - </value> - </dict> - </value> - <key> - <string>CopyrightAuthor</string> - </key> - <value> - <string></string> - </value> - <key> - <string>CopyrightMinFileSize</string> - </key> - <value> - <int>0</int> - </value> - <key> - <string>DocstringType</string> - </key> - <value> - <string>eric</string> - </value> - <key> - <string>EnabledCheckerCategories</string> - </key> - <value> - <string>C, D, E, M, N, S, W</string> - </value> - <key> - <string>ExcludeFiles</string> - </key> - <value> - <string>*/Ui_*.py, */*_rc.py,*/radon/*</string> - </value> - <key> - <string>ExcludeMessages</string> - </key> - <value> - <string>C101,E265,E266,E305,E402,M811,N802,N803,N807,N808,N821,W293,M201,W504</string> - </value> - <key> - <string>FixCodes</string> - </key> - <value> - <string></string> - </value> - <key> - <string>FixIssues</string> - </key> - <value> - <bool>False</bool> - </value> - <key> - <string>FutureChecker</string> - </key> - <value> - <string></string> - </value> - <key> - <string>HangClosing</string> - </key> - <value> - <bool>False</bool> - </value> - <key> - <string>IncludeMessages</string> - </key> - <value> - <string></string> - </value> - <key> - <string>LineComplexity</string> - </key> - <value> - <int>20</int> - </value> - <key> - <string>LineComplexityScore</string> - </key> - <value> - <int>10</int> - </value> - <key> - <string>MaxCodeComplexity</string> - </key> - <value> - <int>10</int> - </value> - <key> - <string>MaxDocLineLength</string> - </key> - <value> - <int>79</int> - </value> - <key> - <string>MaxLineLength</string> - </key> - <value> - <int>79</int> - </value> - <key> - <string>NoFixCodes</string> - </key> - <value> - <string>E501</string> - </value> - <key> - <string>RepeatMessages</string> - </key> - <value> - <bool>True</bool> - </value> - <key> - <string>SecurityChecker</string> - </key> - <value> - <dict> - <key> - <string>CheckTypedException</string> - </key> - <value> - <bool>False</bool> - </value> - <key> - <string>HardcodedTmpDirectories</string> - </key> - <value> - <list> - <string>/tmp</string> - <string>/var/tmp</string> - <string>/dev/shm</string> - <string>~/tmp</string> - </list> - </value> - <key> - <string>InsecureHashes</string> - </key> - <value> - <list> - <string>md4</string> - <string>md5</string> - <string>sha</string> - <string>sha1</string> - </list> - </value> - <key> - <string>InsecureSslProtocolVersions</string> - </key> - <value> - <list> - <string>PROTOCOL_SSLv2</string> - <string>SSLv2_METHOD</string> - <string>SSLv23_METHOD</string> - <string>PROTOCOL_SSLv3</string> - <string>PROTOCOL_TLSv1</string> - <string>SSLv3_METHOD</string> - <string>TLSv1_METHOD</string> - </list> - </value> - <key> - <string>WeakKeySizeDsaHigh</string> - </key> - <value> - <string>1024</string> - </value> - <key> - <string>WeakKeySizeDsaMedium</string> - </key> - <value> - <string>2048</string> - </value> - <key> - <string>WeakKeySizeEcHigh</string> - </key> - <value> - <string>160</string> - </value> - <key> - <string>WeakKeySizeEcMedium</string> - </key> - <value> - <string>224</string> - </value> - <key> - <string>WeakKeySizeRsaHigh</string> - </key> - <value> - <string>1024</string> - </value> - <key> - <string>WeakKeySizeRsaMedium</string> - </key> - <value> - <string>2048</string> - </value> - </dict> - </value> - <key> - <string>ShowIgnored</string> - </key> - <value> - <bool>False</bool> - </value> - <key> - <string>ValidEncodings</string> - </key> - <value> - <string>latin-1, utf-8</string> - </value> - </dict> - </value> - </dict> - </CheckersParams> - </Checkers> - <OtherTools> - <OtherToolsParams> - <dict> - <key> - <string>RadonCodeMetrics</string> - </key> - <value> - <dict> - <key> - <string>ExcludeFiles</string> - </key> - <value> - <string>*/radon/*</string> - </value> - <key> - <string>MinimumRank</string> - </key> - <value> - <string>C</string> - </value> - </dict> - </value> - </dict> - </OtherToolsParams> - </OtherTools> -</Project>
--- a/PluginMetricsRadon.epj Wed May 26 17:13:04 2021 +0200 +++ b/PluginMetricsRadon.epj Wed May 26 17:43:25 2021 +0200 @@ -133,16 +133,25 @@ "EMAIL": "detlev@die-offenbachs.de", "EOL": 1, "FILETYPES": { + "*.epj": "OTHERS", "*.idl": "INTERFACES", + "*.md": "OTHERS", + "*.proto": "PROTOCOLS", "*.py": "SOURCES", "*.py3": "SOURCES", "*.pyw": "SOURCES", "*.pyw3": "SOURCES", "*.qm": "TRANSLATIONS", - "*.qrc": "RESOURCES", + "*.rst": "OTHERS", "*.ts": "TRANSLATIONS", + "*.txt": "OTHERS", "*.ui": "FORMS", - "Ui_*.py": "__IGNORE__" + "GNUmakefile": "OTHERS", + "Makefile": "OTHERS", + "README": "OTHERS", + "README.*": "OTHERS", + "Ui_*.py": "__IGNORE__", + "makefile": "OTHERS" }, "FORMS": [ "RadonMetrics/CyclomaticComplexityDialog.ui", @@ -171,7 +180,6 @@ ".hgignore", "ChangeLog", "PKGLIST", - "PluginMetricsRadon.e4p", "PluginMetricsRadon.zip", "RadonMetrics/Documentation/LICENSE.GPL3", "RadonMetrics/Documentation/source", @@ -185,7 +193,7 @@ }, "PACKAGERSPARMS": {}, "PROGLANGUAGE": "Python3", - "PROJECTTYPE": "E6Plugin", + "PROJECTTYPE": "E7Plugin", "PROJECTTYPESPECIFICDATA": {}, "PROTOCOLS": [], "RCCPARAMS": { @@ -267,6 +275,6 @@ ] }, "VCSOTHERDATA": {}, - "VERSION": "0.x" + "VERSION": "" } } \ No newline at end of file
--- a/PluginMetricsRadon.py Wed May 26 17:13:04 2021 +0200 +++ b/PluginMetricsRadon.py Wed May 26 17:43:25 2021 +0200 @@ -10,12 +10,13 @@ import contextlib import os -from PyQt5.QtCore import pyqtSignal, QObject, QTranslator -from PyQt5.QtWidgets import QAction +from PyQt6.QtCore import pyqtSignal, QObject, QTranslator +from PyQt6.QtGui import QAction -from E5Gui.E5Application import e5App -from E5Gui.E5Action import E5Action -from E5Gui import E5MessageBox +from EricGui.EricAction import EricAction + +from EricWidgets.EricApplication import ericApp +from EricWidgets import EricMessageBox from Project.ProjectBrowserModel import ProjectBrowserFileItem @@ -27,7 +28,7 @@ author = "Detlev Offenbach <detlev@die-offenbachs.de>" autoactivate = True deactivateable = True -version = "4.0.0" +version = "1.0.0" className = "RadonMetricsPlugin" packageName = "RadonMetrics" shortDescription = "Code metrics plugin using radon package" @@ -69,13 +70,13 @@ Constructor @param ui reference to the user interface object - @type UI.UserInterface + @type UserInterface """ super().__init__(ui) self.__ui = ui self.__initialize() - self.backgroundService = e5App().getObject("BackgroundService") + self.backgroundService = ericApp().getObject("BackgroundService") path = os.path.join(os.path.dirname(__file__), packageName) @@ -384,7 +385,7 @@ error = "" # clear previous error # Project menu actions - menu = e5App().getObject("Project").getMenu("Show") + menu = ericApp().getObject("Project").getMenu("Show") if menu: if not menu.isEmpty(): act = menu.addSeparator() @@ -399,7 +400,7 @@ menu.addAction(act) self.__projectMetricsActs.append(act) - act = E5Action( + act = EricAction( self.tr('Code Metrics'), self.tr('Code &Metrics...'), 0, 0, self, 'project_show_radon_raw') @@ -416,7 +417,7 @@ menu.addAction(act) self.__projectMetricsActs.append(act) - act = E5Action( + act = EricAction( self.tr('Maintainability Index'), self.tr('Maintainability &Index...'), 0, 0, self, 'project_show_radon_mi') @@ -431,7 +432,7 @@ menu.addAction(act) self.__projectMetricsActs.append(act) - act = E5Action( + act = EricAction( self.tr('Cyclomatic Complexity'), self.tr('Cyclomatic &Complexity...'), 0, 0, self, 'project_show_radon_cc') @@ -449,10 +450,10 @@ act = menu.addSeparator() self.__projectSeparatorActs.append(act) - e5App().getObject("Project").addE5Actions( + ericApp().getObject("Project").addEricActions( self.__projectMetricsActs[1:]) - # Editor menu actions + # Editor menu actions (one separator each above and below) act = QAction(self) act.setSeparator(True) self.__editorSeparatorActs.append(act) @@ -468,7 +469,7 @@ act.triggered.connect(self.__showRadonVersion) self.__editorMetricsActs.append(act) - act = E5Action( + act = EricAction( self.tr('Code Metrics'), self.tr('Code &Metrics...'), 0, 0, self, "") @@ -484,7 +485,7 @@ act.triggered.connect(self.__editorRawMetrics) self.__editorMetricsActs.append(act) - act = E5Action( + act = EricAction( self.tr('Maintainability Index'), self.tr('Maintainability &Index...'), 0, 0, self, "") @@ -498,7 +499,7 @@ act.triggered.connect(self.__editorMaintainabilityIndex) self.__editorMetricsActs.append(act) - act = E5Action( + act = EricAction( self.tr('Cyclomatic Complexity'), self.tr('Cyclomatic &Complexity...'), 0, 0, self, '') @@ -512,17 +513,17 @@ act.triggered.connect(self.__editorCyclomaticComplexity) self.__editorMetricsActs.append(act) - e5App().getObject("Project").showMenu.connect(self.__projectShowMenu) - e5App().getObject("Project").projectClosed.connect( + ericApp().getObject("Project").showMenu.connect(self.__projectShowMenu) + ericApp().getObject("Project").projectClosed.connect( self.__projectClosed) - e5App().getObject("ProjectBrowser").getProjectBrowser( + ericApp().getObject("ProjectBrowser").getProjectBrowser( "sources").showMenu.connect(self.__projectBrowserShowMenu) - e5App().getObject("ViewManager").editorOpenedEd.connect( + ericApp().getObject("ViewManager").editorOpenedEd.connect( self.__editorOpened) - e5App().getObject("ViewManager").editorClosedEd.connect( + ericApp().getObject("ViewManager").editorClosedEd.connect( self.__editorClosed) - for editor in e5App().getObject("ViewManager").getOpenEditors(): + for editor in ericApp().getObject("ViewManager").getOpenEditors(): self.__editorOpened(editor) return None, True @@ -531,24 +532,24 @@ """ Public method to deactivate this plug-in. """ - e5App().getObject("Project").showMenu.disconnect( + ericApp().getObject("Project").showMenu.disconnect( self.__projectShowMenu) - e5App().getObject("Project").projectClosed.disconnect( + ericApp().getObject("Project").projectClosed.disconnect( self.__projectClosed) - e5App().getObject("ProjectBrowser").getProjectBrowser( + ericApp().getObject("ProjectBrowser").getProjectBrowser( "sources").showMenu.disconnect(self.__projectBrowserShowMenu) - e5App().getObject("ViewManager").editorOpenedEd.disconnect( + ericApp().getObject("ViewManager").editorOpenedEd.disconnect( self.__editorOpened) - e5App().getObject("ViewManager").editorClosedEd.disconnect( + ericApp().getObject("ViewManager").editorClosedEd.disconnect( self.__editorClosed) - menu = e5App().getObject("Project").getMenu("Show") + menu = ericApp().getObject("Project").getMenu("Show") if menu: for sep in self.__projectSeparatorActs: menu.removeAction(sep) for act in self.__projectMetricsActs: menu.removeAction(act) - e5App().getObject("Project").removeE5Actions( + ericApp().getObject("Project").removeE5Actions( self.__projectMetricsActs[1:]) if self.__projectBrowserMenu: @@ -582,7 +583,7 @@ loaded = translator.load(translation, locale_dir) if loaded: self.__translator = translator - e5App().installTranslator(self.__translator) + ericApp().installTranslator(self.__translator) else: print("Warning: translation file '{0}' could not be" " loaded.".format(translation)) @@ -601,7 +602,7 @@ if menuName == "Show": for act in self.__projectMetricsActs[1:]: act.setEnabled( - e5App().getObject("Project").getProjectLanguage() == + ericApp().getObject("Project").getProjectLanguage() == "Python3") def __projectBrowserShowMenu(self, menuName, menu): @@ -609,12 +610,15 @@ Private slot called, when the the project browser context menu or a submenu is about to be shown. - @param menuName name of the menu to be shown (string) - @param menu reference to the menu (QMenu) + @param menuName name of the menu to be shown + @type str + @param menu reference to the menu + @type QMenu """ if ( menuName == "Show" and - e5App().getObject("Project").getProjectLanguage() == "Python3" and + ericApp().getObject("Project").getProjectLanguage() == + "Python3" and self.__projectBrowserMenu is None ): self.__projectBrowserMenu = menu @@ -631,7 +635,7 @@ menu.addAction(act) self.__projectBrowserMetricsActs.append(act) - act = E5Action( + act = EricAction( self.tr('Code Metrics'), self.tr('Code &Metrics...'), 0, 0, self, '') @@ -648,7 +652,7 @@ menu.addAction(act) self.__projectBrowserMetricsActs.append(act) - act = E5Action( + act = EricAction( self.tr('Maintainability Index'), self.tr('Maintainability &Index...'), 0, 0, self, '') @@ -665,7 +669,7 @@ menu.addAction(act) self.__projectBrowserMetricsActs.append(act) - act = E5Action( + act = EricAction( self.tr('Cyclomatic Complexity'), self.tr('Cyclomatic &Complexity...'), 0, 0, self, '') @@ -690,7 +694,7 @@ Private slot called, when a new editor was opened. @param editor reference to the new editor - @type QScintilla.Editor + @type Editor """ menu = editor.getMenu("Show") if menu is not None: @@ -705,7 +709,8 @@ """ Private slot called, when an editor was closed. - @param editor reference to the editor (QScintilla.Editor) + @param editor reference to the editor + @type Editor """ with contextlib.suppress(ValueError): self.__editors.remove(editor) @@ -715,7 +720,7 @@ Private slot called, when an editor was renamed. @param editor reference to the renamed editor - @type QScintilla.Editor + @type Editor """ menu = editor.getMenu("Show") if menu is not None: @@ -728,9 +733,12 @@ Private slot called, when the the editor context menu or a submenu is about to be shown. - @param menuName name of the menu to be shown (string) - @param menu reference to the menu (QMenu) + @param menuName name of the menu to be shown + @type str + @param menu reference to the menu + @type QMenu @param editor reference to the editor + @type Editor """ if menuName == "Show": enable = editor.isPyFile() @@ -745,14 +753,14 @@ """ Private slot used to calculate raw code metrics for the project. """ - project = e5App().getObject("Project") + project = ericApp().getObject("Project") project.saveAllScripts() ppath = project.getProjectPath() - files = [os.path.join(ppath, file) - for file in project.getSources() - if file.endswith( - tuple(Preferences.getPython("Python3Extensions")) + - tuple(Preferences.getPython("PythonExtensions")))] + files = [ + os.path.join(ppath, file) + for file in project.getSources() + if file.endswith(tuple(Preferences.getPython("Python3Extensions"))) + ] if self.__projectRawMetricsDialog is None: from RadonMetrics.RawMetricsDialog import RawMetricsDialog @@ -765,8 +773,9 @@ Private method to handle the code metrics context menu action of the project sources browser. """ - browser = e5App().getObject("ProjectBrowser").getProjectBrowser( - "sources") + browser = ( + ericApp().getObject("ProjectBrowser").getProjectBrowser("sources") + ) if browser.getSelectedItemsCount([ProjectBrowserFileItem]) > 1: fn = [] for itm in browser.getSelectedItems([ProjectBrowserFileItem]): @@ -789,7 +798,7 @@ Private slot to handle the raw code metrics action of the editor show menu. """ - editor = e5App().getObject("ViewManager").activeWindow() + editor = ericApp().getObject("ViewManager").activeWindow() if ( editor is not None and editor.checkDirty() and @@ -810,14 +819,14 @@ Private slot used to calculate the maintainability indexes for the project. """ - project = e5App().getObject("Project") + project = ericApp().getObject("Project") project.saveAllScripts() ppath = project.getProjectPath() - files = [os.path.join(ppath, file) - for file in project.getSources() - if file.endswith( - tuple(Preferences.getPython("Python3Extensions")) + - tuple(Preferences.getPython("PythonExtensions")))] + files = [ + os.path.join(ppath, file) + for file in project.getSources() + if file.endswith(tuple(Preferences.getPython("Python3Extensions"))) + ] if self.__projectMIDialog is None: from RadonMetrics.MaintainabilityIndexDialog import ( @@ -832,7 +841,7 @@ Private method to handle the maintainability index context menu action of the project sources browser. """ - browser = e5App().getObject("ProjectBrowser").getProjectBrowser( + browser = ericApp().getObject("ProjectBrowser").getProjectBrowser( "sources") if browser.getSelectedItemsCount([ProjectBrowserFileItem]) > 1: fn = [] @@ -858,7 +867,7 @@ Private slot to handle the maintainability index action of the editor show menu. """ - editor = e5App().getObject("ViewManager").activeWindow() + editor = ericApp().getObject("ViewManager").activeWindow() if ( editor is not None and editor.checkDirty() and @@ -881,14 +890,14 @@ Private slot used to calculate the cyclomatic complexity for the project. """ - project = e5App().getObject("Project") + project = ericApp().getObject("Project") project.saveAllScripts() ppath = project.getProjectPath() - files = [os.path.join(ppath, file) - for file in project.getSources() - if file.endswith( - tuple(Preferences.getPython("Python3Extensions")) + - tuple(Preferences.getPython("PythonExtensions")))] + files = [ + os.path.join(ppath, file) + for file in project.getSources() + if file.endswith(tuple(Preferences.getPython("Python3Extensions"))) + ] if self.__projectCCDialog is None: from RadonMetrics.CyclomaticComplexityDialog import ( @@ -903,7 +912,7 @@ Private method to handle the cyclomatic complexity context menu action of the project sources browser. """ - browser = e5App().getObject("ProjectBrowser").getProjectBrowser( + browser = ericApp().getObject("ProjectBrowser").getProjectBrowser( "sources") if browser.getSelectedItemsCount([ProjectBrowserFileItem]) > 1: fn = [] @@ -930,7 +939,7 @@ Private slot to handle the cyclomatic complexity action of the editor show menu. """ - editor = e5App().getObject("ViewManager").activeWindow() + editor = ericApp().getObject("ViewManager").activeWindow() if ( editor is not None and editor.checkDirty() and @@ -953,8 +962,8 @@ """ Private slot to show the version number of the used radon library. """ - from RadonMetrics.radon import __version__ - E5MessageBox.information( + from radon import __version__ + EricMessageBox.information( None, self.tr("Radon"), self.tr(
--- a/RadonMetrics/CyclomaticComplexityDialog.py Wed May 26 17:13:04 2021 +0200 +++ b/RadonMetrics/CyclomaticComplexityDialog.py Wed May 26 17:43:25 2021 +0200 @@ -10,19 +10,16 @@ import os import fnmatch -import sys -sys.path.insert(0, os.path.dirname(__file__)) - -from PyQt5.QtCore import pyqtSlot, qVersion, Qt, QTimer, QLocale -from PyQt5.QtGui import QColor -from PyQt5.QtWidgets import ( +from PyQt6.QtCore import pyqtSlot, Qt, QTimer, QLocale +from PyQt6.QtGui import QColor +from PyQt6.QtWidgets import ( QDialog, QDialogButtonBox, QAbstractButton, QHeaderView, QTreeWidgetItem, QApplication, QMenu ) from .Ui_CyclomaticComplexityDialog import Ui_CyclomaticComplexityDialog -from E5Gui.E5Application import e5App +from EricWidgets.EricApplication import ericApp import Preferences import Utilities @@ -33,8 +30,8 @@ Class implementing a dialog to show the cyclomatic complexity (McCabe complexity). """ - FilePathRole = Qt.UserRole + 1 - LineNumberRole = Qt.UserRole + 2 + FilePathRole = Qt.ItemDataRole.UserRole + 1 + LineNumberRole = Qt.ItemDataRole.UserRole + 2 def __init__(self, radonService, isSingle=False, parent=None): """ @@ -49,10 +46,12 @@ """ super().__init__(parent) self.setupUi(self) - self.setWindowFlags(Qt.Window) + self.setWindowFlags(Qt.WindowType.Window) - self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) - self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setEnabled(False) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel).setDefault(True) self.resultList.headerItem().setText(self.resultList.columnCount(), "") @@ -68,7 +67,7 @@ self.__isSingle = isSingle self.cancelled = False - self.__project = e5App().getObject("Project") + self.__project = ericApp().getObject("Project") self.__locale = QLocale() self.__finished = True self.__errorItem = None @@ -109,10 +108,10 @@ } try: - usesDarkPalette = e5App().usesDarkPalette() + usesDarkPalette = ericApp().usesDarkPalette() except AttributeError: - from PyQt5.QtGui import QPalette - palette = e5App().palette() + from PyQt6.QtGui import QPalette + palette = ericApp().palette() lightness = palette.color(QPalette.Window).lightness() usesDarkPalette = lightness <= 128 if usesDarkPalette: @@ -148,7 +147,8 @@ self.__menu.addAction(self.tr("Collapse all"), self.__resultCollapse) self.__menu.addAction(self.tr("Expand all"), self.__resultExpand) - self.resultList.setContextMenuPolicy(Qt.CustomContextMenu) + self.resultList.setContextMenuPolicy( + Qt.ContextMenuPolicy.CustomContextMenu) self.resultList.customContextMenuRequested.connect( self.__showContextMenu) @@ -156,7 +156,8 @@ """ Private method to resize the list columns. """ - self.resultList.header().resizeSections(QHeaderView.ResizeToContents) + self.resultList.header().resizeSections( + QHeaderView.ResizeMode.ResizeToContents) self.resultList.header().setStretchLastSection(True) def __createFileItem(self, filename): @@ -191,9 +192,9 @@ values["rank"], "{0:6}".format(values["lineno"]), ]) - itm.setTextAlignment(2, Qt.Alignment(Qt.AlignRight)) - itm.setTextAlignment(3, Qt.Alignment(Qt.AlignHCenter)) - itm.setTextAlignment(4, Qt.Alignment(Qt.AlignRight)) + itm.setTextAlignment(2, Qt.AlignmentFlag.AlignRight) + itm.setTextAlignment(3, Qt.AlignmentFlag.AlignHCenter) + itm.setTextAlignment(4, Qt.AlignmentFlag.AlignRight) if values["rank"] in self.__rankColors: itm.setBackground(3, self.__rankColors[values["rank"]]) if values["type"] in self.__typeColors: @@ -223,13 +224,13 @@ self.__errorItem = QTreeWidgetItem(self.resultList, [ self.tr("Errors")]) self.__errorItem.setExpanded(True) - self.__errorItem.setForeground(0, Qt.red) + self.__errorItem.setForeground(0, Qt.GlobalColor.red) msg = "{0} ({1})".format(self.__project.getRelativePath(filename), message) - if not self.resultList.findItems(msg, Qt.MatchExactly): + if not self.resultList.findItems(msg, Qt.MatchFlag.MatchExactly): itm = QTreeWidgetItem(self.__errorItem, [msg]) - itm.setForeground(0, Qt.red) + itm.setForeground(0, Qt.GlobalColor.red) itm.setFirstColumnSpanned(True) def prepare(self, fileList, project): @@ -244,9 +245,12 @@ self.__fileList = fileList[:] self.__project = project - self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) - self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) - self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setEnabled(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel).setEnabled(False) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setDefault(True) self.filterFrame.setVisible(True) @@ -277,9 +281,12 @@ self.summaryLabel.clear() QApplication.processEvents() - self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) - self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True) - self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setEnabled(False) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel).setEnabled(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel).setDefault(True) self.rankComboBox.setEnabled(False) QApplication.processEvents() @@ -287,8 +294,7 @@ self.files = fn elif os.path.isdir(fn): self.files = [] - extensions = set(Preferences.getPython("PythonExtensions") + - Preferences.getPython("Python3Extensions")) + extensions = set(Preferences.getPython("Python3Extensions")) for ext in extensions: self.files.extend( Utilities.direntries(fn, True, '*{0}'.format(ext), 0)) @@ -341,7 +347,7 @@ The results are reported to the __processResult slot. - @keyparam codestring optional sourcestring + @param codestring optional sourcestring @type str """ if not self.files: @@ -488,24 +494,24 @@ # re-enable updates of the list self.resultList.setSortingEnabled(True) - self.resultList.sortItems(0, Qt.AscendingOrder) - self.resultList.sortItems(1, Qt.AscendingOrder) + 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.Close).setEnabled(True) - self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) - self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setEnabled(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel).setEnabled(False) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setDefault(True) self.rankComboBox.setEnabled(True) self.resultList.header().resizeSections( - QHeaderView.ResizeToContents) + QHeaderView.ResizeMode.ResizeToContents) self.resultList.header().setStretchLastSection(True) - if qVersion() >= "5.0.0": - self.resultList.header().setSectionResizeMode( - QHeaderView.Interactive) - else: - self.resultList.header().setResizeMode(QHeaderView.Interactive) + self.resultList.header().setSectionResizeMode( + QHeaderView.ResizeMode.Interactive) averageCC = float(self.__ccSum) / (self.__ccCount or 1) @@ -550,9 +556,13 @@ @param button button that was clicked @type QAbstractButton """ - if button == self.buttonBox.button(QDialogButtonBox.Close): + if button == self.buttonBox.button( + QDialogButtonBox.StandardButton.Close + ): self.close() - elif button == self.buttonBox.button(QDialogButtonBox.Cancel): + elif button == self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel + ): if self.__batch: self.radonService.cancelComplexityBatch() QTimer.singleShot(1000, self.__finish) @@ -638,7 +648,7 @@ filename = item.data(0, self.FilePathRole) lineno = item.data(0, self.LineNumberRole) if filename: - vm = e5App().getObject("ViewManager") + vm = ericApp().getObject("ViewManager") vm.openSourceFile(filename, lineno) @pyqtSlot(str)
--- a/RadonMetrics/CyclomaticComplexityDialog.ui Wed May 26 17:13:04 2021 +0200 +++ b/RadonMetrics/CyclomaticComplexityDialog.ui Wed May 26 17:43:25 2021 +0200 @@ -85,10 +85,13 @@ </widget> </item> <item> - <widget class="E5ClearableLineEdit" name="excludeFilesEdit"> + <widget class="QLineEdit" name="excludeFilesEdit"> <property name="toolTip"> <string>Enter filename patterns of files to be excluded separated by a comma</string> </property> + <property name="clearButtonEnabled"> + <bool>true</bool> + </property> </widget> </item> <item> @@ -118,6 +121,9 @@ </item> <item> <widget class="QTreeWidget" name="resultList"> + <property name="contextMenuPolicy"> + <enum>Qt::CustomContextMenu</enum> + </property> <property name="alternatingRowColors"> <bool>true</bool> </property> @@ -192,7 +198,7 @@ </layout> </item> <item> - <widget class="E5SqueezeLabelPath" name="checkProgressLabel"> + <widget class="EricSqueezeLabelPath" name="checkProgressLabel"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> <horstretch>0</horstretch> @@ -236,14 +242,9 @@ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction> <customwidgets> <customwidget> - <class>E5ClearableLineEdit</class> - <extends>QLineEdit</extends> - <header>E5Gui/E5LineEdit.h</header> - </customwidget> - <customwidget> - <class>E5SqueezeLabelPath</class> + <class>EricSqueezeLabelPath</class> <extends>QLabel</extends> - <header>E5Gui/E5SqueezeLabels.h</header> + <header>EricWidgets/EricSqueezeLabels.h</header> </customwidget> </customwidgets> <tabstops>
--- a/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.PluginMetricsRadon.html Wed May 26 17:13:04 2021 +0200 +++ b/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.PluginMetricsRadon.html Wed May 26 17:43:25 2021 +0200 @@ -255,7 +255,7 @@ </p> <dl> -<dt><i>ui</i> (UI.UserInterface)</dt> +<dt><i>ui</i> (UserInterface)</dt> <dd> reference to the user interface object </dd> @@ -269,9 +269,9 @@ </p> <dl> -<dt><i>editor</i></dt> +<dt><i>editor</i> (Editor)</dt> <dd> -reference to the editor (QScintilla.Editor) +reference to the editor </dd> </dl> <a NAME="RadonMetricsPlugin.__editorCyclomaticComplexity" ID="RadonMetricsPlugin.__editorCyclomaticComplexity"></a> @@ -299,7 +299,7 @@ </p> <dl> -<dt><i>editor</i> (QScintilla.Editor)</dt> +<dt><i>editor</i> (Editor)</dt> <dd> reference to the new editor </dd> @@ -321,7 +321,7 @@ </p> <dl> -<dt><i>editor</i> (QScintilla.Editor)</dt> +<dt><i>editor</i> (Editor)</dt> <dd> reference to the renamed editor </dd> @@ -336,15 +336,15 @@ </p> <dl> -<dt><i>menuName</i></dt> +<dt><i>menuName</i> (str)</dt> <dd> -name of the menu to be shown (string) +name of the menu to be shown </dd> -<dt><i>menu</i></dt> +<dt><i>menu</i> (QMenu)</dt> <dd> -reference to the menu (QMenu) +reference to the menu </dd> -<dt><i>editor</i></dt> +<dt><i>editor</i> (Editor)</dt> <dd> reference to the editor </dd> @@ -397,13 +397,13 @@ </p> <dl> -<dt><i>menuName</i></dt> +<dt><i>menuName</i> (str)</dt> <dd> -name of the menu to be shown (string) +name of the menu to be shown </dd> -<dt><i>menu</i></dt> +<dt><i>menu</i> (QMenu)</dt> <dd> -reference to the menu (QMenu) +reference to the menu </dd> </dl> <a NAME="RadonMetricsPlugin.__projectClosed" ID="RadonMetricsPlugin.__projectClosed"></a>
--- a/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.CyclomaticComplexityDialog.html Wed May 26 17:13:04 2021 +0200 +++ b/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.CyclomaticComplexityDialog.html Wed May 26 17:43:25 2021 +0200 @@ -362,7 +362,7 @@ </p> <dl> -<dt><i>codestring=</i> (str)</dt> +<dt><i>codestring</i> (str)</dt> <dd> optional sourcestring </dd>
--- a/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.MaintainabilityIndexDialog.html Wed May 26 17:13:04 2021 +0200 +++ b/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.MaintainabilityIndexDialog.html Wed May 26 17:43:25 2021 +0200 @@ -282,7 +282,7 @@ </p> <dl> -<dt><i>codestring=</i> (str)</dt> +<dt><i>codestring</i> (str)</dt> <dd> optional sourcestring </dd>
--- a/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.RawMetricsDialog.html Wed May 26 17:13:04 2021 +0200 +++ b/RadonMetrics/Documentation/source/Plugin_Metrics_Radon.RadonMetrics.RawMetricsDialog.html Wed May 26 17:43:25 2021 +0200 @@ -401,7 +401,7 @@ </p> <dl> -<dt><i>codestring=</i> (str)</dt> +<dt><i>codestring</i> (str)</dt> <dd> optional sourcestring </dd>
--- a/RadonMetrics/MaintainabilityIndexDialog.py Wed May 26 17:13:04 2021 +0200 +++ b/RadonMetrics/MaintainabilityIndexDialog.py Wed May 26 17:43:25 2021 +0200 @@ -10,15 +10,15 @@ import os import fnmatch -from PyQt5.QtCore import pyqtSlot, qVersion, Qt, QTimer, QLocale -from PyQt5.QtGui import QColor -from PyQt5.QtWidgets import ( +from PyQt6.QtCore import pyqtSlot, Qt, QTimer, QLocale +from PyQt6.QtGui import QColor +from PyQt6.QtWidgets import ( QDialog, QDialogButtonBox, QAbstractButton, QHeaderView, QTreeWidgetItem, QApplication ) from .Ui_MaintainabilityIndexDialog import Ui_MaintainabilityIndexDialog -from E5Gui.E5Application import e5App +from EricWidgets.EricApplication import ericApp import Preferences import Utilities @@ -28,7 +28,7 @@ """ Class implementing a dialog to show maintainability indexes. """ - FilePathRole = Qt.UserRole + 1 + FilePathRole = Qt.ItemDataRole.UserRole + 1 def __init__(self, radonService, parent=None): """ @@ -41,10 +41,12 @@ """ super().__init__(parent) self.setupUi(self) - self.setWindowFlags(Qt.Window) + self.setWindowFlags(Qt.WindowType.Window) - self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) - self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setEnabled(False) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel).setDefault(True) self.resultList.headerItem().setText(self.resultList.columnCount(), "") @@ -56,7 +58,7 @@ self.cancelled = False - self.__project = e5App().getObject("Project") + self.__project = ericApp().getObject("Project") self.__locale = QLocale() self.__finished = True self.__errorItem = None @@ -75,10 +77,10 @@ )) try: - usesDarkPalette = e5App().usesDarkPalette() + usesDarkPalette = ericApp().usesDarkPalette() except AttributeError: - from PyQt5.QtGui import QPalette - palette = e5App().palette() + from PyQt6.QtGui import QPalette + palette = ericApp().palette() lightness = palette.color(QPalette.Window).lightness() usesDarkPalette = lightness <= 128 if usesDarkPalette: @@ -98,7 +100,8 @@ """ Private method to resize the list columns. """ - self.resultList.header().resizeSections(QHeaderView.ResizeToContents) + self.resultList.header().resizeSections( + QHeaderView.ResizeMode.ResizeMode.ResizeToContents) self.resultList.header().setStretchLastSection(True) def __createResultItem(self, filename, values): @@ -118,8 +121,8 @@ data.append(values["mi"]) data.append(values["rank"]) itm = QTreeWidgetItem(self.resultList, data) - itm.setTextAlignment(1, Qt.Alignment(Qt.AlignRight)) - itm.setTextAlignment(2, Qt.Alignment(Qt.AlignHCenter)) + itm.setTextAlignment(1, Qt.AlignmentFlag.AlignRight) + itm.setTextAlignment(2, Qt.AlignmentFlag.AlignHCenter) if values["rank"] in self.__rankColors: itm.setBackground(2, self.__rankColors[values["rank"]]) itm.setData(0, self.FilePathRole, filename) @@ -140,13 +143,13 @@ self.__errorItem = QTreeWidgetItem(self.resultList, [ self.tr("Errors")]) self.__errorItem.setExpanded(True) - self.__errorItem.setForeground(0, Qt.red) + self.__errorItem.setForeground(0, Qt.GlobalColor.red) msg = "{0} ({1})".format(self.__project.getRelativePath(filename), message) - if not self.resultList.findItems(msg, Qt.MatchExactly): + if not self.resultList.findItems(msg, Qt.MatchFlag.MatchExactly): itm = QTreeWidgetItem(self.__errorItem, [msg]) - itm.setForeground(0, Qt.red) + itm.setForeground(0, Qt.GlobalColor.red) itm.setFirstColumnSpanned(True) def prepare(self, fileList, project): @@ -161,9 +164,12 @@ self.__fileList = fileList[:] self.__project = project - self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) - self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) - self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setEnabled(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel).setEnabled(False) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setDefault(True) self.filterFrame.setVisible(True) @@ -187,17 +193,19 @@ self.cancelled = False QApplication.processEvents() - self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) - self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True) - self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setEnabled(False) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel).setEnabled(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel).setDefault(True) QApplication.processEvents() if isinstance(fn, list): self.files = fn elif os.path.isdir(fn): self.files = [] - extensions = set(Preferences.getPython("PythonExtensions") + - Preferences.getPython("Python3Extensions")) + extensions = set(Preferences.getPython("Python3Extensions")) for ext in extensions: self.files.extend( Utilities.direntries(fn, True, '*{0}'.format(ext), 0)) @@ -241,7 +249,7 @@ The results are reported to the __processResult slot. - @keyparam codestring optional sourcestring + @param codestring optional sourcestring @type str """ if not self.files: @@ -374,22 +382,22 @@ # reenable updates of the list self.resultList.setSortingEnabled(True) - self.resultList.sortItems(0, Qt.AscendingOrder) + self.resultList.sortItems(0, Qt.SortOrder.AscendingOrder) self.resultList.setUpdatesEnabled(True) self.cancelled = True - self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) - self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) - self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setEnabled(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel).setEnabled(False) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setDefault(True) self.resultList.header().resizeSections( - QHeaderView.ResizeToContents) + QHeaderView.ResizeMode.ResizeToContents) self.resultList.header().setStretchLastSection(True) - if qVersion() >= "5.0.0": - self.resultList.header().setSectionResizeMode( - QHeaderView.Interactive) - else: - self.resultList.header().setResizeMode(QHeaderView.Interactive) + self.resultList.header().setSectionResizeMode( + QHeaderView.ResizeMode.Interactive) self.summaryLabel.setText(self.tr( "<table>" @@ -414,9 +422,13 @@ @param button button that was clicked @type QAbstractButton """ - if button == self.buttonBox.button(QDialogButtonBox.Close): + if button == self.buttonBox.button( + QDialogButtonBox.StandardButton.Close + ): self.close() - elif button == self.buttonBox.button(QDialogButtonBox.Cancel): + elif button == self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel + ): if self.__batch: self.radonService.cancelMaintainabilityIndexBatch() QTimer.singleShot(1000, self.__finish) @@ -466,5 +478,5 @@ """ filename = item.data(0, self.FilePathRole) if filename: - vm = e5App().getObject("ViewManager") + vm = ericApp().getObject("ViewManager") vm.openSourceFile(filename)
--- a/RadonMetrics/MaintainabilityIndexDialog.ui Wed May 26 17:13:04 2021 +0200 +++ b/RadonMetrics/MaintainabilityIndexDialog.ui Wed May 26 17:43:25 2021 +0200 @@ -50,10 +50,13 @@ </widget> </item> <item> - <widget class="E5ClearableLineEdit" name="excludeFilesEdit"> + <widget class="QLineEdit" name="excludeFilesEdit"> <property name="toolTip"> <string>Enter filename patterns of files to be excluded separated by a comma</string> </property> + <property name="clearButtonEnabled"> + <bool>true</bool> + </property> </widget> </item> <item> @@ -126,7 +129,7 @@ </layout> </item> <item> - <widget class="E5SqueezeLabelPath" name="checkProgressLabel"> + <widget class="EricSqueezeLabelPath" name="checkProgressLabel"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> <horstretch>0</horstretch> @@ -170,14 +173,9 @@ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction> <customwidgets> <customwidget> - <class>E5ClearableLineEdit</class> - <extends>QLineEdit</extends> - <header>E5Gui/E5LineEdit.h</header> - </customwidget> - <customwidget> - <class>E5SqueezeLabelPath</class> + <class>EricSqueezeLabelPath</class> <extends>QLabel</extends> - <header>E5Gui/E5SqueezeLabels.h</header> + <header>EricWidgets/EricSqueezeLabels.h</header> </customwidget> </customwidgets> <tabstops>
--- a/RadonMetrics/RawMetricsDialog.py Wed May 26 17:13:04 2021 +0200 +++ b/RadonMetrics/RawMetricsDialog.py Wed May 26 17:43:25 2021 +0200 @@ -10,15 +10,15 @@ import os import fnmatch -from PyQt5.QtCore import pyqtSlot, qVersion, Qt, QTimer, QLocale -from PyQt5.QtWidgets import ( +from PyQt6.QtCore import pyqtSlot, Qt, QTimer, QLocale +from PyQt6.QtWidgets import ( QDialog, QDialogButtonBox, QAbstractButton, QHeaderView, QTreeWidgetItem, QApplication ) from .Ui_RawMetricsDialog import Ui_RawMetricsDialog -from E5Gui.E5Application import e5App +from EricWidgets.EricApplication import ericApp import Preferences import Utilities @@ -28,7 +28,7 @@ """ Class implementing a dialog to show raw code metrics. """ - FilePathRole = Qt.UserRole + 1 + FilePathRole = Qt.ItemDataRole.UserRole + 1 def __init__(self, radonService, parent=None): """ @@ -41,10 +41,12 @@ """ super().__init__(parent) self.setupUi(self) - self.setWindowFlags(Qt.Window) + self.setWindowFlags(Qt.WindowType.Window) - self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) - self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setEnabled(False) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel).setDefault(True) self.summaryList.headerItem().setText( self.summaryList.columnCount(), "") @@ -60,7 +62,7 @@ self.cancelled = False - self.__project = e5App().getObject("Project") + self.__project = ericApp().getObject("Project") self.__locale = QLocale() self.__finished = True self.__errorItem = None @@ -93,7 +95,8 @@ """ Private method to resize the list columns. """ - self.resultList.header().resizeSections(QHeaderView.ResizeToContents) + self.resultList.header().resizeSections( + QHeaderView.ResizeMode.ResizeToContents) self.resultList.header().setStretchLastSection(True) def __createResultItem(self, filename, values): @@ -123,7 +126,7 @@ 1.0))) itm = QTreeWidgetItem(self.resultList, data) for col in range(1, 10): - itm.setTextAlignment(col, Qt.Alignment(Qt.AlignRight)) + itm.setTextAlignment(col, Qt.AlignmentFlag.AlignRight) itm.setData(0, self.FilePathRole, filename) def __createErrorItem(self, filename, message): @@ -139,13 +142,13 @@ self.__errorItem = QTreeWidgetItem(self.resultList, [ self.tr("Errors")]) self.__errorItem.setExpanded(True) - self.__errorItem.setForeground(0, Qt.red) + self.__errorItem.setForeground(0, Qt.GlobalColor.red) msg = "{0} ({1})".format(self.__project.getRelativePath(filename), message) - if not self.resultList.findItems(msg, Qt.MatchExactly): + if not self.resultList.findItems(msg, Qt.MatchFlag.MatchExactly): itm = QTreeWidgetItem(self.__errorItem, [msg]) - itm.setForeground(0, Qt.red) + itm.setForeground(0, Qt.GlobalColor.red) itm.setFirstColumnSpanned(True) def prepare(self, fileList, project): @@ -160,9 +163,12 @@ self.__fileList = fileList[:] self.__project = project - self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) - self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) - self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setEnabled(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel).setEnabled(False) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setDefault(True) self.filterFrame.setVisible(True) @@ -186,17 +192,19 @@ self.summaryList.clear() QApplication.processEvents() - self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) - self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(True) - self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setEnabled(False) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel).setEnabled(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel).setDefault(True) QApplication.processEvents() if isinstance(fn, list): self.files = fn elif os.path.isdir(fn): self.files = [] - extensions = set(Preferences.getPython("PythonExtensions") + - Preferences.getPython("Python3Extensions")) + extensions = set(Preferences.getPython("Python3Extensions")) for ext in extensions: self.files.extend( Utilities.direntries(fn, True, '*{0}'.format(ext), 0)) @@ -238,7 +246,7 @@ The results are reported to the __processResult slot. - @keyparam codestring optional sourcestring + @param codestring optional sourcestring @type str """ if not self.files: @@ -392,24 +400,24 @@ # reenable updates of the list self.resultList.setSortingEnabled(True) - self.resultList.sortItems(0, Qt.AscendingOrder) + self.resultList.sortItems(0, Qt.SortOrder.AscendingOrder) self.resultList.setUpdatesEnabled(True) self.__createSummary() self.cancelled = True - self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) - self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) - self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setEnabled(True) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel).setEnabled(False) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Close).setDefault(True) self.resultList.header().resizeSections( - QHeaderView.ResizeToContents) + QHeaderView.ResizeMode.ResizeToContents) self.resultList.header().setStretchLastSection(True) - if qVersion() >= "5.0.0": - self.resultList.header().setSectionResizeMode( - QHeaderView.Interactive) - else: - self.resultList.header().setResizeMode(QHeaderView.Interactive) + self.resultList.header().setSectionResizeMode( + QHeaderView.ResizeMode.Interactive) self.checkProgress.setVisible(False) self.checkProgressLabel.setVisible(False) @@ -439,7 +447,8 @@ self.tr("Empty Lines"), self.__locale.toString(self.__summary["blank"])) - self.summaryList.header().resizeSections(QHeaderView.ResizeToContents) + self.summaryList.header().resizeSections( + QHeaderView.ResizeMode.ResizeToContents) self.summaryList.header().setStretchLastSection(True) def __createSummaryItem(self, col0, col1): @@ -450,7 +459,7 @@ @param col1 string for column 1 (string) """ itm = QTreeWidgetItem(self.summaryList, [col0, col1]) - itm.setTextAlignment(1, Qt.Alignment(Qt.AlignRight)) + itm.setTextAlignment(1, Qt.AlignmentFlag.AlignRight) @pyqtSlot(QAbstractButton) def on_buttonBox_clicked(self, button): @@ -460,9 +469,13 @@ @param button button that was clicked @type QAbstractButton """ - if button == self.buttonBox.button(QDialogButtonBox.Close): + if button == self.buttonBox.button( + QDialogButtonBox.StandardButton.Close + ): self.close() - elif button == self.buttonBox.button(QDialogButtonBox.Cancel): + elif button == self.buttonBox.button( + QDialogButtonBox.StandardButton.Cancel + ): if self.__batch: self.radonService.cancelRawMetricsBatch() QTimer.singleShot(1000, self.__finish) @@ -512,5 +525,5 @@ """ filename = item.data(0, self.FilePathRole) if filename: - vm = e5App().getObject("ViewManager") + vm = ericApp().getObject("ViewManager") vm.openSourceFile(filename)
--- a/RadonMetrics/RawMetricsDialog.ui Wed May 26 17:13:04 2021 +0200 +++ b/RadonMetrics/RawMetricsDialog.ui Wed May 26 17:43:25 2021 +0200 @@ -50,10 +50,13 @@ </widget> </item> <item> - <widget class="E5ClearableLineEdit" name="excludeFilesEdit"> + <widget class="QLineEdit" name="excludeFilesEdit"> <property name="toolTip"> <string>Enter filename patterns of files to be excluded separated by a comma</string> </property> + <property name="clearButtonEnabled"> + <bool>true</bool> + </property> </widget> </item> <item> @@ -181,7 +184,7 @@ </widget> </item> <item> - <widget class="E5SqueezeLabelPath" name="checkProgressLabel"> + <widget class="EricSqueezeLabelPath" name="checkProgressLabel"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> <horstretch>0</horstretch> @@ -225,14 +228,9 @@ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction> <customwidgets> <customwidget> - <class>E5ClearableLineEdit</class> - <extends>QLineEdit</extends> - <header>E5Gui/E5LineEdit.h</header> - </customwidget> - <customwidget> - <class>E5SqueezeLabelPath</class> + <class>EricSqueezeLabelPath</class> <extends>QLabel</extends> - <header>E5Gui/E5SqueezeLabels.h</header> + <header>EricWidgets/EricSqueezeLabels.h</header> </customwidget> </customwidgets> <tabstops>
--- a/RadonMetrics/i18n/radon_de.ts Wed May 26 17:13:04 2021 +0200 +++ b/RadonMetrics/i18n/radon_de.ts Wed May 26 17:43:25 2021 +0200 @@ -1,426 +1,458 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="2.0" language="de_DE" sourcelanguage=""> -<context> +<!DOCTYPE TS> +<TS version="2.0" language="de_DE" sourcelanguage=""> + <context> <name>CyclomaticComplexityDialog</name> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="14"/> - <source>Cyclomatic Complexity</source> - <translation>Zyklomatische Komplexität</translation> + <location filename="../CyclomaticComplexityDialog.py" line="78" /> + <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> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="95" /> + <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> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="147" /> + <source>Collapse all</source> + <translation>Alle Zuklappen</translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="149" /> + <source>Expand all</source> + <translation>Alle Aufklappen</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="17"/> - <source><b>Cyclomatic Complexity</b> + <location filename="../CyclomaticComplexityDialog.py" line="224" /> + <source>Errors</source> + <translation>Fehler</translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="389" /> + <source>Preparing files...</source> + <translation>Bereite Dateien vor...</translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="517" /> + <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> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Cyclomatic Complexity</source> + <translation>Zyklomatische Komplexität</translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source><b>Cyclomatic Complexity</b> <p>This dialog shows the cyclomatic complexity and rank.</p></source> - <translation><b>Zyklomatische Komplexität</b> + <translation><b>Zyklomatische Komplexität</b> <p>Dieser Dialog zeigt die zyklomatische Komplexität und eine Bewertung.</p></translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="83"/> - <source>Exclude Files:</source> - <translation>Ignoriere Dateien:</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="90"/> - <source>Enter filename patterns of files to be excluded separated by a comma</source> - <translation>Gib Dateimuster getrennt durch Komma von Dateien ein, die ignoriert werden sollen</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="110"/> - <source>Start</source> - <translation>Starten</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Minimum Rank:</source> + <translation>Mindestbewertung:</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="129"/> - <source>Type</source> - <translation>Typ</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Select the minimum rank of items to be shown</source> + <translation>Wähle die Mindestbewertung anzuzeigender Einträge</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="134"/> - <source>Name</source> - <translation>Name</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Exclude Files:</source> + <translation>Ignoriere Dateien:</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="139"/> - <source>Complexity</source> - <translation>Komplexität</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="144"/> - <source>Rank</source> - <translation>Bewertung</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Enter filename patterns of files to be excluded separated by a comma</source> + <translation>Gib Dateimuster getrennt durch Komma von Dateien ein, die ignoriert werden sollen</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="219"/> - <source>%v/%m Files</source> - <translation>%v/%m Dateien</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Press to start the calculation</source> + <translation>Drücken, um die Berechnung zu starten</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="78"/> - <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> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.py" line="95"/> - <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> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.py" line="199"/> - <source>Errors</source> - <translation>Fehler</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Start</source> + <translation>Starten</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="360"/> - <source>Preparing files...</source> - <translation>Bereite Dateien vor...</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="107"/> - <source>Press to start the calculation</source> - <translation>Drücken, um die Berechnung zu starten</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Type</source> + <translation>Typ</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="210"/> - <source>Shows the progress of the calculation</source> - <translation>Zeigt den Fortschritt der Berechnung</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Name</source> + <translation>Name</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="149"/> - <source>Begin</source> - <translation>Anfang</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.py" line="124"/> - <source>Collapse all</source> - <translation>Alle Zuklappen</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Complexity</source> + <translation>Komplexität</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="126"/> - <source>Expand all</source> - <translation>Alle Aufklappen</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="29"/> - <source>Minimum Rank:</source> - <translation>Mindestbewertung:</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="36"/> - <source>Select the minimum rank of items to be shown</source> - <translation>Wähle die Mindestbewertung anzuzeigender Einträge</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Rank</source> + <translation>Bewertung</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="490"/> - <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> - </message> -</context> -<context> - <name>MaintainabilityIndexDialog</name> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="14"/> - <source>Maintainability Index</source> - <translation>Wartbarkeitsindex</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Begin</source> + <translation>Anfang</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="48"/> - <source>Exclude Files:</source> - <translation>Ignoriere Dateien:</translation> - </message> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="55"/> - <source>Enter filename patterns of files to be excluded separated by a comma</source> - <translation>Gib Dateimuster getrennt durch Komma von Dateien ein, die ignoriert werden sollen</translation> - </message> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="75"/> - <source>Start</source> - <translation>Starten</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Shows the progress of the calculation</source> + <translation>Zeigt den Fortschritt der Berechnung</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="89"/> - <source>Name</source> - <translation>Name</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>%v/%m Files</source> + <translation>%v/%m Dateien</translation> + </message> + </context> + <context> + <name>MaintainabilityIndexDialog</name> + <message> + <location filename="../MaintainabilityIndexDialog.py" line="69" /> + <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.ui" line="94"/> - <source>Score</source> - <translation>Wert</translation> - </message> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="99"/> - <source>Rank</source> - <translation>Bewertung</translation> - </message> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="153"/> - <source>%v/%m Files</source> - <translation>%v/%m Dateien</translation> + <location filename="../MaintainabilityIndexDialog.py" line="144" /> + <source>Errors</source> + <translation>Fehler</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="124"/> - <source>Errors</source> - <translation>Fehler</translation> + <location filename="../MaintainabilityIndexDialog.py" line="292" /> + <source>Preparing files...</source> + <translation>Bereite Dateien vor...</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="268"/> - <source>Preparing files...</source> - <translation>Bereite Dateien vor...</translation> + <location filename="../MaintainabilityIndexDialog.py" line="402" /> + <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> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="72"/> - <source>Press to start the calculation</source> - <translation>Drücken, um die Berechnung zu starten</translation> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Maintainability Index</source> + <translation>Wartbarkeitsindex</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="144"/> - <source>Shows the progress of the calculation</source> - <translation>Zeigt den Fortschritt der Berechnung</translation> - </message> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="17"/> - <source><b>Maintainability Index</b> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source><b>Maintainability Index</b> <p>This dialog shows the maintainability index and rank.</p></source> - <translation><b>Wartbarkeitsindex</b> + <translation><b>Wartbarkeitsindex</b> <p>Dieser Dialog zeigt den Wartbarkeitsindex und eine Bewertung.</p></translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="380"/> - <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> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Exclude Files:</source> + <translation>Ignoriere Dateien:</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Enter filename patterns of files to be excluded separated by a comma</source> + <translation>Gib Dateimuster getrennt durch Komma von Dateien ein, die ignoriert werden sollen</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Press to start the calculation</source> + <translation>Drücken, um die Berechnung zu starten</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Start</source> + <translation>Starten</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Name</source> + <translation>Name</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="66"/> - <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> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Score</source> + <translation>Wert</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Rank</source> + <translation>Bewertung</translation> </message> -</context> -<context> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Shows the progress of the calculation</source> + <translation>Zeigt den Fortschritt der Berechnung</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>%v/%m Files</source> + <translation>%v/%m Dateien</translation> + </message> + </context> + <context> <name>RadonMetricsPlugin</name> <message> - <location filename="../../PluginMetricsRadon.py" line="154"/> - <source>Python 3 batch job</source> - <translation>Python 3 Stapelprüfung</translation> - </message> - <message> - <location filename="../../PluginMetricsRadon.py" line="197"/> - <source>Unknown metrics result received ({0}).</source> - <translation>Unbekannte Metrik empfangen ({0}).</translation> + <location filename="../../PluginMetricsRadon.py" line="156" /> + <source>Python 3 batch job</source> + <translation>Python 3 Stapelprüfung</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="949"/> - <source>Radon</source> - <translation>Radon</translation> + <location filename="../../PluginMetricsRadon.py" line="202" /> + <source>Unknown metrics result received ({0}).</source> + <translation>Unbekannte Metrik empfangen ({0}).</translation> + </message> + <message> + <location filename="../../PluginMetricsRadon.py" line="968" /> + <location filename="../../PluginMetricsRadon.py" line="630" /> + <location filename="../../PluginMetricsRadon.py" line="465" /> + <location filename="../../PluginMetricsRadon.py" line="395" /> + <source>Radon</source> + <translation>Radon</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="633"/> - <source>Code Metrics</source> - <translation>Quelltextmetriken</translation> + <location filename="../../PluginMetricsRadon.py" line="639" /> + <location filename="../../PluginMetricsRadon.py" line="473" /> + <location filename="../../PluginMetricsRadon.py" line="404" /> + <source>Code Metrics</source> + <translation>Quelltextmetriken</translation> + </message> + <message> + <location filename="../../PluginMetricsRadon.py" line="640" /> + <location filename="../../PluginMetricsRadon.py" line="474" /> + <location filename="../../PluginMetricsRadon.py" line="405" /> + <source>Code &Metrics...</source> + <translation>Quelltext&metriken...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="633"/> - <source>Code &Metrics...</source> - <translation>Quelltext&metriken...</translation> + <location filename="../../PluginMetricsRadon.py" line="642" /> + <location filename="../../PluginMetricsRadon.py" line="477" /> + <location filename="../../PluginMetricsRadon.py" line="408" /> + <source>Show raw code metrics.</source> + <translation>Zeige einige Quelltextmetriken an.</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="637"/> - <source>Show raw code metrics.</source> - <translation>Zeige einige Quelltextmetriken an.</translation> + <location filename="../../PluginMetricsRadon.py" line="644" /> + <location filename="../../PluginMetricsRadon.py" line="478" /> + <location filename="../../PluginMetricsRadon.py" line="409" /> + <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="639"/> - <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> + <location filename="../../PluginMetricsRadon.py" line="656" /> + <location filename="../../PluginMetricsRadon.py" line="489" /> + <location filename="../../PluginMetricsRadon.py" line="421" /> + <source>Maintainability Index</source> + <translation>Wartbarkeitsindex</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="650"/> - <source>Maintainability Index</source> - <translation>Wartbarkeitsindex</translation> + <location filename="../../PluginMetricsRadon.py" line="657" /> + <location filename="../../PluginMetricsRadon.py" line="490" /> + <location filename="../../PluginMetricsRadon.py" line="422" /> + <source>Maintainability &Index...</source> + <translation>Wartbarkeits&index...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="650"/> - <source>Maintainability &Index...</source> - <translation>Wartbarkeits&index...</translation> + <location filename="../../PluginMetricsRadon.py" line="659" /> + <location filename="../../PluginMetricsRadon.py" line="493" /> + <location filename="../../PluginMetricsRadon.py" line="425" /> + <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="654"/> - <source>Show the maintainability index for Python files.</source> - <translation>Zeigt den Wartbarkeitsindex für Python Dateien an.</translation> + <location filename="../../PluginMetricsRadon.py" line="661" /> + <location filename="../../PluginMetricsRadon.py" line="494" /> + <location filename="../../PluginMetricsRadon.py" line="426" /> + <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="673" /> + <location filename="../../PluginMetricsRadon.py" line="503" /> + <location filename="../../PluginMetricsRadon.py" line="436" /> + <source>Cyclomatic Complexity</source> + <translation>Zyklomatische Komplexität</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="656"/> - <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> + <location filename="../../PluginMetricsRadon.py" line="674" /> + <location filename="../../PluginMetricsRadon.py" line="504" /> + <location filename="../../PluginMetricsRadon.py" line="437" /> + <source>Cyclomatic &Complexity...</source> + <translation>Zyklomatische &Komplexität...</translation> + </message> + <message> + <location filename="../../PluginMetricsRadon.py" line="676" /> + <location filename="../../PluginMetricsRadon.py" line="507" /> + <location filename="../../PluginMetricsRadon.py" line="440" /> + <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="667"/> - <source>Cyclomatic Complexity</source> - <translation>Zyklomatische Komplexität</translation> + <location filename="../../PluginMetricsRadon.py" line="678" /> + <location filename="../../PluginMetricsRadon.py" line="508" /> + <location filename="../../PluginMetricsRadon.py" line="441" /> + <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="667"/> - <source>Cyclomatic &Complexity...</source> - <translation>Zyklomatische &Komplexität...</translation> + <location filename="../../PluginMetricsRadon.py" line="969" /> + <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> + </context> + <context> + <name>RawMetricsDialog</name> + <message> + <location filename="../RawMetricsDialog.py" line="73" /> + <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="../../PluginMetricsRadon.py" line="671"/> - <source>Show the cyclomatic complexity for Python files.</source> - <translation>Zeigt die zyklomatische Komplexität für Python Dateien an.</translation> + <location filename="../RawMetricsDialog.py" line="143" /> + <source>Errors</source> + <translation>Fehler</translation> + </message> + <message> + <location filename="../RawMetricsDialog.py" line="289" /> + <source>Preparing files...</source> + <translation>Bereite Dateien vor...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="673"/> - <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> + <location filename="../RawMetricsDialog.py" line="430" /> + <source>Files</source> + <translation>Dateien</translation> + </message> + <message> + <location filename="../RawMetricsDialog.ui" line="0" /> + <location filename="../RawMetricsDialog.py" line="432" /> + <source>LOC</source> + <translation>LOC</translation> + </message> + <message> + <location filename="../RawMetricsDialog.ui" line="0" /> + <location filename="../RawMetricsDialog.py" line="434" /> + <source>SLOC</source> + <translation>SLOC</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="949"/> - <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> + <location filename="../RawMetricsDialog.ui" line="0" /> + <location filename="../RawMetricsDialog.py" line="436" /> + <source>LLOC</source> + <translation>LLOC</translation> </message> -</context> -<context> - <name>RawMetricsDialog</name> <message> - <location filename="../RawMetricsDialog.ui" line="14"/> - <source>Code Metrics</source> - <translation>Quelltextmetriken</translation> + <location filename="../RawMetricsDialog.py" line="438" /> + <source>Comment Lines</source> + <translation>Kommentarzeilen</translation> + </message> + <message> + <location filename="../RawMetricsDialog.ui" line="0" /> + <location filename="../RawMetricsDialog.py" line="441" /> + <source>Empty Comments</source> + <translation>Leere Kommentare</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="17"/> - <source><b>Code Metrics</b> + <location filename="../RawMetricsDialog.py" line="444" /> + <source>Multiline Strings</source> + <translation>Mehrzeiligen Zeichenketten</translation> + </message> + <message> + <location filename="../RawMetricsDialog.py" line="447" /> + <source>Empty Lines</source> + <translation>Leerzeilen</translation> + </message> + <message> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Code Metrics</source> + <translation>Quelltextmetriken</translation> + </message> + <message> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source><b>Code Metrics</b> <p>This dialog shows some code metrics.</p></source> - <translation><b>Quelltextmetriken</b> + <translation><b>Quelltextmetriken</b> <p>Dieses Fenster zeigt einige Quelltextmetriken an.</p></translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="48"/> - <source>Exclude Files:</source> - <translation>Ignoriere Dateien:</translation> - </message> - <message> - <location filename="../RawMetricsDialog.ui" line="55"/> - <source>Enter filename patterns of files to be excluded separated by a comma</source> - <translation>Gib Dateimuster getrennt durch Komma von Dateien ein, die ignoriert werden sollen</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Exclude Files:</source> + <translation>Ignoriere Dateien:</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="75"/> - <source>Start</source> - <translation>Starten</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Enter filename patterns of files to be excluded separated by a comma</source> + <translation>Gib Dateimuster getrennt durch Komma von Dateien ein, die ignoriert werden sollen</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="89"/> - <source>Name</source> - <translation>Name</translation> - </message> - <message> - <location filename="../RawMetricsDialog.py" line="425"/> - <source>LOC</source> - <translation>LOC</translation> - </message> - <message> - <location filename="../RawMetricsDialog.py" line="427"/> - <source>SLOC</source> - <translation>SLOC</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Press to start the calculation</source> + <translation>Drücke, um die Berechnung zu starten</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="429"/> - <source>LLOC</source> - <translation>LLOC</translation> - </message> - <message> - <location filename="../RawMetricsDialog.ui" line="109"/> - <source>Comments</source> - <translation>Kommentare</translation> - </message> - <message> - <location filename="../RawMetricsDialog.ui" line="119"/> - <source>Multi</source> - <translation>Mehrfach</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Start</source> + <translation>Starten</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="124"/> - <source>Empty</source> - <translation>Leer</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Name</source> + <translation>Name</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="129"/> - <source>C % L</source> - <translation>K % L</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Comments</source> + <translation>Kommentare</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="134"/> - <source>C % S</source> - <translation>K % S</translation> - </message> - <message> - <location filename="../RawMetricsDialog.ui" line="139"/> - <source>C + M % L</source> - <translation>K + M % L</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Multi</source> + <translation>Mehrfach</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="164"/> - <source>Summary</source> - <translation>Zusammenfassung</translation> - </message> - <message> - <location filename="../RawMetricsDialog.ui" line="169"/> - <source>#</source> - <translation>#</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Empty</source> + <translation>Leer</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="208"/> - <source>%v/%m Files</source> - <translation>%v/%m Dateien</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>C % L</source> + <translation>K % L</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="139"/> - <source>Errors</source> - <translation>Fehler</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>C % S</source> + <translation>K % S</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="281"/> - <source>Preparing files...</source> - <translation>Bereite Dateien vor...</translation> - </message> - <message> - <location filename="../RawMetricsDialog.py" line="423"/> - <source>Files</source> - <translation>Dateien</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>C + M % L</source> + <translation>K + M % L</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="72"/> - <source>Press to start the calculation</source> - <translation>Drücke, um die Berechnung zu starten</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Summary</source> + <translation>Zusammenfassung</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="199"/> - <source>Shows the progress of the calculation</source> - <translation>Zeigt den Fortschritt der Berechnung</translation> - </message> - <message> - <location filename="../RawMetricsDialog.py" line="431"/> - <source>Comment Lines</source> - <translation>Kommentarzeilen</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>#</source> + <translation>#</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="437"/> - <source>Multiline Strings</source> - <translation>Mehrzeiligen Zeichenketten</translation> - </message> - <message> - <location filename="../RawMetricsDialog.py" line="440"/> - <source>Empty Lines</source> - <translation>Leerzeilen</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Shows the progress of the calculation</source> + <translation>Zeigt den Fortschritt der Berechnung</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="434"/> - <source>Empty Comments</source> - <translation>Leere Kommentare</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>%v/%m Files</source> + <translation>%v/%m Dateien</translation> </message> - <message> - <location filename="../RawMetricsDialog.py" line="71"/> - <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> -</context> + </context> </TS>
--- a/RadonMetrics/i18n/radon_en.ts Wed May 26 17:13:04 2021 +0200 +++ b/RadonMetrics/i18n/radon_en.ts Wed May 26 17:43:25 2021 +0200 @@ -1,423 +1,455 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="2.0" language="en_US" sourcelanguage=""> -<context> +<!DOCTYPE TS> +<TS version="2.0" language="en_US" sourcelanguage=""> + <context> <name>CyclomaticComplexityDialog</name> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="14"/> - <source>Cyclomatic Complexity</source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.py" line="78" /> + <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 type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="17"/> - <source><b>Cyclomatic Complexity</b> -<p>This dialog shows the cyclomatic complexity and rank.</p></source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.py" line="95" /> + <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 type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="83"/> - <source>Exclude Files:</source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.py" line="147" /> + <source>Collapse all</source> + <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="90"/> - <source>Enter filename patterns of files to be excluded separated by a comma</source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.py" line="149" /> + <source>Expand all</source> + <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="110"/> - <source>Start</source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.py" line="224" /> + <source>Errors</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="389" /> + <source>Preparing files...</source> + <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="129"/> - <source>Type</source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.py" line="517" /> + <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 type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="134"/> - <source>Name</source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Cyclomatic Complexity</source> + <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="139"/> - <source>Complexity</source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source><b>Cyclomatic Complexity</b> +<p>This dialog shows the cyclomatic complexity and rank.</p></source> + <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="144"/> - <source>Rank</source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Minimum Rank:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="219"/> - <source>%v/%m Files</source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Select the minimum rank of items to be shown</source> + <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="78"/> - <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 type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Exclude Files:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="95"/> - <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 type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Enter filename patterns of files to be excluded separated by a comma</source> + <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="199"/> - <source>Errors</source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Press to start the calculation</source> + <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="360"/> - <source>Preparing files...</source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Start</source> + <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="107"/> - <source>Press to start the calculation</source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Type</source> + <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="149"/> - <source>Begin</source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Name</source> + <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="210"/> - <source>Shows the progress of the calculation</source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Complexity</source> + <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="124"/> - <source>Collapse all</source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Rank</source> + <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="126"/> - <source>Expand all</source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Begin</source> + <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="29"/> - <source>Minimum Rank:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="36"/> - <source>Select the minimum rank of items to be shown</source> - <translation type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Shows the progress of the calculation</source> + <translation type="unfinished" /> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="490"/> - <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 type="unfinished"></translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>%v/%m Files</source> + <translation type="unfinished" /> </message> -</context> -<context> + </context> + <context> <name>MaintainabilityIndexDialog</name> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="14"/> - <source>Maintainability Index</source> - <translation type="unfinished"></translation> + <location filename="../MaintainabilityIndexDialog.py" line="69" /> + <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="144" /> + <source>Errors</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="48"/> - <source>Exclude Files:</source> - <translation type="unfinished"></translation> + <location filename="../MaintainabilityIndexDialog.py" line="292" /> + <source>Preparing files...</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="55"/> - <source>Enter filename patterns of files to be excluded separated by a comma</source> - <translation type="unfinished"></translation> + <location filename="../MaintainabilityIndexDialog.py" line="402" /> + <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> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Maintainability Index</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="75"/> - <source>Start</source> - <translation type="unfinished"></translation> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source><b>Maintainability Index</b> +<p>This dialog shows the maintainability index and rank.</p></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="89"/> - <source>Name</source> - <translation type="unfinished"></translation> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Exclude Files:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="94"/> - <source>Score</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="99"/> - <source>Rank</source> - <translation type="unfinished"></translation> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Enter filename patterns of files to be excluded separated by a comma</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="153"/> - <source>%v/%m Files</source> - <translation type="unfinished"></translation> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Press to start the calculation</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="124"/> - <source>Errors</source> - <translation type="unfinished"></translation> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Start</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="268"/> - <source>Preparing files...</source> - <translation type="unfinished"></translation> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Name</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="72"/> - <source>Press to start the calculation</source> - <translation type="unfinished"></translation> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Score</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="144"/> - <source>Shows the progress of the calculation</source> - <translation type="unfinished"></translation> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Rank</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Shows the progress of the calculation</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="17"/> - <source><b>Maintainability Index</b> -<p>This dialog shows the maintainability index and rank.</p></source> - <translation type="unfinished"></translation> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>%v/%m Files</source> + <translation type="unfinished" /> </message> + </context> + <context> + <name>RadonMetricsPlugin</name> <message> - <location filename="../MaintainabilityIndexDialog.py" line="380"/> - <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"></translation> + <location filename="../../PluginMetricsRadon.py" line="156" /> + <source>Python 3 batch job</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="66"/> - <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"></translation> - </message> -</context> -<context> - <name>RadonMetricsPlugin</name> - <message> - <location filename="../../PluginMetricsRadon.py" line="154"/> - <source>Python 3 batch job</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMetricsRadon.py" line="202" /> + <source>Unknown metrics result received ({0}).</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="197"/> - <source>Unknown metrics result received ({0}).</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMetricsRadon.py" line="968" /> + <location filename="../../PluginMetricsRadon.py" line="630" /> + <location filename="../../PluginMetricsRadon.py" line="465" /> + <location filename="../../PluginMetricsRadon.py" line="395" /> + <source>Radon</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../../PluginMetricsRadon.py" line="639" /> + <location filename="../../PluginMetricsRadon.py" line="473" /> + <location filename="../../PluginMetricsRadon.py" line="404" /> + <source>Code Metrics</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="949"/> - <source>Radon</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMetricsRadon.py" line="640" /> + <location filename="../../PluginMetricsRadon.py" line="474" /> + <location filename="../../PluginMetricsRadon.py" line="405" /> + <source>Code &Metrics...</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="633"/> - <source>Code Metrics</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMetricsRadon.py" line="642" /> + <location filename="../../PluginMetricsRadon.py" line="477" /> + <location filename="../../PluginMetricsRadon.py" line="408" /> + <source>Show raw code metrics.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="633"/> - <source>Code &Metrics...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../../PluginMetricsRadon.py" line="637"/> - <source>Show raw code metrics.</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMetricsRadon.py" line="644" /> + <location filename="../../PluginMetricsRadon.py" line="478" /> + <location filename="../../PluginMetricsRadon.py" line="409" /> + <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="639"/> - <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"></translation> - </message> - <message> - <location filename="../../PluginMetricsRadon.py" line="650"/> - <source>Maintainability Index</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMetricsRadon.py" line="656" /> + <location filename="../../PluginMetricsRadon.py" line="489" /> + <location filename="../../PluginMetricsRadon.py" line="421" /> + <source>Maintainability Index</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="650"/> - <source>Maintainability &Index...</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMetricsRadon.py" line="657" /> + <location filename="../../PluginMetricsRadon.py" line="490" /> + <location filename="../../PluginMetricsRadon.py" line="422" /> + <source>Maintainability &Index...</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="654"/> - <source>Show the maintainability index for Python files.</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMetricsRadon.py" line="659" /> + <location filename="../../PluginMetricsRadon.py" line="493" /> + <location filename="../../PluginMetricsRadon.py" line="425" /> + <source>Show the maintainability index for Python files.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="656"/> - <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"></translation> - </message> - <message> - <location filename="../../PluginMetricsRadon.py" line="667"/> - <source>Cyclomatic Complexity</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMetricsRadon.py" line="661" /> + <location filename="../../PluginMetricsRadon.py" line="494" /> + <location filename="../../PluginMetricsRadon.py" line="426" /> + <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="667"/> - <source>Cyclomatic &Complexity...</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMetricsRadon.py" line="673" /> + <location filename="../../PluginMetricsRadon.py" line="503" /> + <location filename="../../PluginMetricsRadon.py" line="436" /> + <source>Cyclomatic Complexity</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="671"/> - <source>Show the cyclomatic complexity for Python files.</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMetricsRadon.py" line="674" /> + <location filename="../../PluginMetricsRadon.py" line="504" /> + <location filename="../../PluginMetricsRadon.py" line="437" /> + <source>Cyclomatic &Complexity...</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="673"/> - <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"></translation> + <location filename="../../PluginMetricsRadon.py" line="676" /> + <location filename="../../PluginMetricsRadon.py" line="507" /> + <location filename="../../PluginMetricsRadon.py" line="440" /> + <source>Show the cyclomatic complexity for Python files.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="949"/> - <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"></translation> + <location filename="../../PluginMetricsRadon.py" line="678" /> + <location filename="../../PluginMetricsRadon.py" line="508" /> + <location filename="../../PluginMetricsRadon.py" line="441" /> + <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> -</context> -<context> + <message> + <location filename="../../PluginMetricsRadon.py" line="969" /> + <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> + </context> + <context> <name>RawMetricsDialog</name> <message> - <location filename="../RawMetricsDialog.ui" line="14"/> - <source>Code Metrics</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.py" line="73" /> + <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.ui" line="17"/> - <source><b>Code Metrics</b> -<p>This dialog shows some code metrics.</p></source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.py" line="143" /> + <source>Errors</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.ui" line="48"/> - <source>Exclude Files:</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.py" line="289" /> + <source>Preparing files...</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.ui" line="55"/> - <source>Enter filename patterns of files to be excluded separated by a comma</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.py" line="430" /> + <source>Files</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.ui" line="75"/> - <source>Start</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../RawMetricsDialog.ui" line="89"/> - <source>Name</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <location filename="../RawMetricsDialog.py" line="432" /> + <source>LOC</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.py" line="425"/> - <source>LOC</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <location filename="../RawMetricsDialog.py" line="434" /> + <source>SLOC</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.py" line="427"/> - <source>SLOC</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <location filename="../RawMetricsDialog.py" line="436" /> + <source>LLOC</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.py" line="429"/> - <source>LLOC</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.py" line="438" /> + <source>Comment Lines</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.ui" line="109"/> - <source>Comments</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <location filename="../RawMetricsDialog.py" line="441" /> + <source>Empty Comments</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.ui" line="119"/> - <source>Multi</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.py" line="444" /> + <source>Multiline Strings</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.ui" line="124"/> - <source>Empty</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.py" line="447" /> + <source>Empty Lines</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.ui" line="129"/> - <source>C % L</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Code Metrics</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.ui" line="134"/> - <source>C % S</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source><b>Code Metrics</b> +<p>This dialog shows some code metrics.</p></source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.ui" line="139"/> - <source>C + M % L</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Exclude Files:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.ui" line="164"/> - <source>Summary</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Enter filename patterns of files to be excluded separated by a comma</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.ui" line="169"/> - <source>#</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Press to start the calculation</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.ui" line="208"/> - <source>%v/%m Files</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Start</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.py" line="139"/> - <source>Errors</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Name</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.py" line="281"/> - <source>Preparing files...</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Comments</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.py" line="423"/> - <source>Files</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Multi</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.ui" line="72"/> - <source>Press to start the calculation</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Empty</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>C % L</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.ui" line="199"/> - <source>Shows the progress of the calculation</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>C % S</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.py" line="431"/> - <source>Comment Lines</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>C + M % L</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.py" line="437"/> - <source>Multiline Strings</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Summary</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.py" line="440"/> - <source>Empty Lines</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>#</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.py" line="434"/> - <source>Empty Comments</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Shows the progress of the calculation</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.py" line="71"/> - <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"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>%v/%m Files</source> + <translation type="unfinished" /> </message> -</context> + </context> </TS>
--- a/RadonMetrics/i18n/radon_es.ts Wed May 26 17:13:04 2021 +0200 +++ b/RadonMetrics/i18n/radon_es.ts Wed May 26 17:43:25 2021 +0200 @@ -1,426 +1,458 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="2.0" language="es_ES" sourcelanguage=""> -<context> +<!DOCTYPE TS> +<TS version="2.0" language="es_ES" sourcelanguage=""> + <context> <name>CyclomaticComplexityDialog</name> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="14"/> - <source>Cyclomatic Complexity</source> - <translation>Complejidad Ciclomática</translation> + <location filename="../CyclomaticComplexityDialog.py" line="78" /> + <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> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="95" /> + <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> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="147" /> + <source>Collapse all</source> + <translation>Contraer todos</translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="149" /> + <source>Expand all</source> + <translation>Expandir todos</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="17"/> - <source><b>Cyclomatic Complexity</b> + <location filename="../CyclomaticComplexityDialog.py" line="224" /> + <source>Errors</source> + <translation>Errores</translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="389" /> + <source>Preparing files...</source> + <translation>Preparando archivos...</translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="517" /> + <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> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Cyclomatic Complexity</source> + <translation>Complejidad Ciclomática</translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source><b>Cyclomatic Complexity</b> <p>This dialog shows the cyclomatic complexity and rank.</p></source> - <translation><b>Complejidad Ciclomática</b> + <translation><b>Complejidad Ciclomática</b> <p>Este diálogo muestra la complejidad ciclomática y rango.</p></translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="83"/> - <source>Exclude Files:</source> - <translation>Excluir Archivos:</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="90"/> - <source>Enter filename patterns of files to be excluded separated by a comma</source> - <translation>Introducir patrones de nombre de archivo para los archivos a ser excluidos, separados por comas</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="110"/> - <source>Start</source> - <translation>Iniciar</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Minimum Rank:</source> + <translation>Rango Mínimo:</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="129"/> - <source>Type</source> - <translation>Tipo</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Select the minimum rank of items to be shown</source> + <translation>Seleccionar el rango mínimo para los elementos a mostrar</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="134"/> - <source>Name</source> - <translation>Nombre</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Exclude Files:</source> + <translation>Excluir Archivos:</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="139"/> - <source>Complexity</source> - <translation>Complejidad</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="144"/> - <source>Rank</source> - <translation>Rango</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Enter filename patterns of files to be excluded separated by a comma</source> + <translation>Introducir patrones de nombre de archivo para los archivos a ser excluidos, separados por comas</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="219"/> - <source>%v/%m Files</source> - <translation>%v/%m Archivos</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Press to start the calculation</source> + <translation>Pulsar para iniciar el cálculo</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="78"/> - <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> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.py" line="95"/> - <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> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.py" line="199"/> - <source>Errors</source> - <translation>Errores</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Start</source> + <translation>Iniciar</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="360"/> - <source>Preparing files...</source> - <translation>Preparando archivos...</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="107"/> - <source>Press to start the calculation</source> - <translation>Pulsar para iniciar el cálculo</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Type</source> + <translation>Tipo</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="149"/> - <source>Begin</source> - <translation>Comenzar</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Name</source> + <translation>Nombre</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="210"/> - <source>Shows the progress of the calculation</source> - <translation>Muestra el progreso del cálculo</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.py" line="124"/> - <source>Collapse all</source> - <translation>Contraer todos</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Complexity</source> + <translation>Complejidad</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="126"/> - <source>Expand all</source> - <translation>Expandir todos</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="29"/> - <source>Minimum Rank:</source> - <translation>Rango Mínimo:</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="36"/> - <source>Select the minimum rank of items to be shown</source> - <translation>Seleccionar el rango mínimo para los elementos a mostrar</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Rank</source> + <translation>Rango</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="490"/> - <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> - </message> -</context> -<context> - <name>MaintainabilityIndexDialog</name> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="14"/> - <source>Maintainability Index</source> - <translation>Índice de Mantenibilidad</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Begin</source> + <translation>Comenzar</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="48"/> - <source>Exclude Files:</source> - <translation>Excluir Archivos:</translation> - </message> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="55"/> - <source>Enter filename patterns of files to be excluded separated by a comma</source> - <translation>Introducir patrones de nombre de archivo para los archivos a ser excluidos, separados por comas</translation> - </message> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="75"/> - <source>Start</source> - <translation>Iniciar</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Shows the progress of the calculation</source> + <translation>Muestra el progreso del cálculo</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="89"/> - <source>Name</source> - <translation>Nombre</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>%v/%m Files</source> + <translation>%v/%m Archivos</translation> + </message> + </context> + <context> + <name>MaintainabilityIndexDialog</name> + <message> + <location filename="../MaintainabilityIndexDialog.py" line="69" /> + <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.ui" line="94"/> - <source>Score</source> - <translation>Puntuación</translation> - </message> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="99"/> - <source>Rank</source> - <translation>Rango</translation> - </message> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="153"/> - <source>%v/%m Files</source> - <translation>%v/%m Archivos</translation> + <location filename="../MaintainabilityIndexDialog.py" line="144" /> + <source>Errors</source> + <translation>Errores</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="124"/> - <source>Errors</source> - <translation>Errores</translation> + <location filename="../MaintainabilityIndexDialog.py" line="292" /> + <source>Preparing files...</source> + <translation>Preparando archivos...</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="268"/> - <source>Preparing files...</source> - <translation>Preparando archivos...</translation> + <location filename="../MaintainabilityIndexDialog.py" line="402" /> + <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> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="72"/> - <source>Press to start the calculation</source> - <translation>Pulsar para iniciar el cálculo</translation> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Maintainability Index</source> + <translation>Índice de Mantenibilidad</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="144"/> - <source>Shows the progress of the calculation</source> - <translation>Muestra el progreso del cálculo</translation> - </message> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="17"/> - <source><b>Maintainability Index</b> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source><b>Maintainability Index</b> <p>This dialog shows the maintainability index and rank.</p></source> - <translation><b>Índice de Mantenibilidad</b> + <translation><b>Índice de Mantenibilidad</b> <p>Este diálogo muestra el índice de mantenimiento y rango.</p></translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="380"/> - <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> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Exclude Files:</source> + <translation>Excluir Archivos:</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Enter filename patterns of files to be excluded separated by a comma</source> + <translation>Introducir patrones de nombre de archivo para los archivos a ser excluidos, separados por comas</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Press to start the calculation</source> + <translation>Pulsar para iniciar el cálculo</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Start</source> + <translation>Iniciar</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Name</source> + <translation>Nombre</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="66"/> - <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"></translation> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Score</source> + <translation>Puntuación</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Rank</source> + <translation>Rango</translation> </message> -</context> -<context> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Shows the progress of the calculation</source> + <translation>Muestra el progreso del cálculo</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>%v/%m Files</source> + <translation>%v/%m Archivos</translation> + </message> + </context> + <context> <name>RadonMetricsPlugin</name> <message> - <location filename="../../PluginMetricsRadon.py" line="154"/> - <source>Python 3 batch job</source> - <translation>Trabajo por lotes de Python 3</translation> - </message> - <message> - <location filename="../../PluginMetricsRadon.py" line="197"/> - <source>Unknown metrics result received ({0}).</source> - <translation>Recibido resultado de métricas desconocidas ({0}).</translation> + <location filename="../../PluginMetricsRadon.py" line="156" /> + <source>Python 3 batch job</source> + <translation>Trabajo por lotes de Python 3</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="949"/> - <source>Radon</source> - <translation>Radon</translation> + <location filename="../../PluginMetricsRadon.py" line="202" /> + <source>Unknown metrics result received ({0}).</source> + <translation>Recibido resultado de métricas desconocidas ({0}).</translation> + </message> + <message> + <location filename="../../PluginMetricsRadon.py" line="968" /> + <location filename="../../PluginMetricsRadon.py" line="630" /> + <location filename="../../PluginMetricsRadon.py" line="465" /> + <location filename="../../PluginMetricsRadon.py" line="395" /> + <source>Radon</source> + <translation>Radon</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="633"/> - <source>Code Metrics</source> - <translation>Métricas de Código</translation> + <location filename="../../PluginMetricsRadon.py" line="639" /> + <location filename="../../PluginMetricsRadon.py" line="473" /> + <location filename="../../PluginMetricsRadon.py" line="404" /> + <source>Code Metrics</source> + <translation>Métricas de Código</translation> + </message> + <message> + <location filename="../../PluginMetricsRadon.py" line="640" /> + <location filename="../../PluginMetricsRadon.py" line="474" /> + <location filename="../../PluginMetricsRadon.py" line="405" /> + <source>Code &Metrics...</source> + <translation>&Métricas de Código...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="633"/> - <source>Code &Metrics...</source> - <translation>&Métricas de Código...</translation> + <location filename="../../PluginMetricsRadon.py" line="642" /> + <location filename="../../PluginMetricsRadon.py" line="477" /> + <location filename="../../PluginMetricsRadon.py" line="408" /> + <source>Show raw code metrics.</source> + <translation>Mostrar métricas de código en bruto.</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="637"/> - <source>Show raw code metrics.</source> - <translation>Mostrar métricas de código en bruto.</translation> + <location filename="../../PluginMetricsRadon.py" line="644" /> + <location filename="../../PluginMetricsRadon.py" line="478" /> + <location filename="../../PluginMetricsRadon.py" line="409" /> + <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="639"/> - <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> + <location filename="../../PluginMetricsRadon.py" line="656" /> + <location filename="../../PluginMetricsRadon.py" line="489" /> + <location filename="../../PluginMetricsRadon.py" line="421" /> + <source>Maintainability Index</source> + <translation>Índice de Mantenibilidad</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="650"/> - <source>Maintainability Index</source> - <translation>Índice de Mantenibilidad</translation> + <location filename="../../PluginMetricsRadon.py" line="657" /> + <location filename="../../PluginMetricsRadon.py" line="490" /> + <location filename="../../PluginMetricsRadon.py" line="422" /> + <source>Maintainability &Index...</source> + <translation>&Índice de Mantenibilidad...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="650"/> - <source>Maintainability &Index...</source> - <translation>&Índice de Mantenibilidad...</translation> + <location filename="../../PluginMetricsRadon.py" line="659" /> + <location filename="../../PluginMetricsRadon.py" line="493" /> + <location filename="../../PluginMetricsRadon.py" line="425" /> + <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="654"/> - <source>Show the maintainability index for Python files.</source> - <translation>Muestra el índice de mantenibilidad para archivos Python.</translation> + <location filename="../../PluginMetricsRadon.py" line="661" /> + <location filename="../../PluginMetricsRadon.py" line="494" /> + <location filename="../../PluginMetricsRadon.py" line="426" /> + <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="673" /> + <location filename="../../PluginMetricsRadon.py" line="503" /> + <location filename="../../PluginMetricsRadon.py" line="436" /> + <source>Cyclomatic Complexity</source> + <translation>Complejidad Ciclomática</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="656"/> - <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> + <location filename="../../PluginMetricsRadon.py" line="674" /> + <location filename="../../PluginMetricsRadon.py" line="504" /> + <location filename="../../PluginMetricsRadon.py" line="437" /> + <source>Cyclomatic &Complexity...</source> + <translation>Complejidad &Ciclomática...</translation> + </message> + <message> + <location filename="../../PluginMetricsRadon.py" line="676" /> + <location filename="../../PluginMetricsRadon.py" line="507" /> + <location filename="../../PluginMetricsRadon.py" line="440" /> + <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="667"/> - <source>Cyclomatic Complexity</source> - <translation>Complejidad Ciclomática</translation> + <location filename="../../PluginMetricsRadon.py" line="678" /> + <location filename="../../PluginMetricsRadon.py" line="508" /> + <location filename="../../PluginMetricsRadon.py" line="441" /> + <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="667"/> - <source>Cyclomatic &Complexity...</source> - <translation>Complejidad &Ciclomática...</translation> + <location filename="../../PluginMetricsRadon.py" line="969" /> + <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> + </context> + <context> + <name>RawMetricsDialog</name> + <message> + <location filename="../RawMetricsDialog.py" line="73" /> + <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="../../PluginMetricsRadon.py" line="671"/> - <source>Show the cyclomatic complexity for Python files.</source> - <translation>Muestra la complejidad ciclomática para archivos Python.</translation> + <location filename="../RawMetricsDialog.py" line="143" /> + <source>Errors</source> + <translation>Errores</translation> + </message> + <message> + <location filename="../RawMetricsDialog.py" line="289" /> + <source>Preparing files...</source> + <translation>Preparando archivos...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="673"/> - <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> + <location filename="../RawMetricsDialog.py" line="430" /> + <source>Files</source> + <translation>Archivos</translation> + </message> + <message> + <location filename="../RawMetricsDialog.ui" line="0" /> + <location filename="../RawMetricsDialog.py" line="432" /> + <source>LOC</source> + <translation>LOC</translation> + </message> + <message> + <location filename="../RawMetricsDialog.ui" line="0" /> + <location filename="../RawMetricsDialog.py" line="434" /> + <source>SLOC</source> + <translation>SLOC</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="949"/> - <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> + <location filename="../RawMetricsDialog.ui" line="0" /> + <location filename="../RawMetricsDialog.py" line="436" /> + <source>LLOC</source> + <translation>LLOC</translation> </message> -</context> -<context> - <name>RawMetricsDialog</name> <message> - <location filename="../RawMetricsDialog.ui" line="14"/> - <source>Code Metrics</source> - <translation>Métricas de Código</translation> + <location filename="../RawMetricsDialog.py" line="438" /> + <source>Comment Lines</source> + <translation>Líneas de Comentarios</translation> + </message> + <message> + <location filename="../RawMetricsDialog.ui" line="0" /> + <location filename="../RawMetricsDialog.py" line="441" /> + <source>Empty Comments</source> + <translation type="unfinished" /> </message> <message> - <location filename="../RawMetricsDialog.ui" line="17"/> - <source><b>Code Metrics</b> + <location filename="../RawMetricsDialog.py" line="444" /> + <source>Multiline Strings</source> + <translation>Cadenas Multilínea</translation> + </message> + <message> + <location filename="../RawMetricsDialog.py" line="447" /> + <source>Empty Lines</source> + <translation>Líneas en Blanco</translation> + </message> + <message> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Code Metrics</source> + <translation>Métricas de Código</translation> + </message> + <message> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source><b>Code Metrics</b> <p>This dialog shows some code metrics.</p></source> - <translation><b>Métricas de Código</b> + <translation><b>Métricas de Código</b> <p>Este diálogo muestra algunas métricas de código.</p></translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="48"/> - <source>Exclude Files:</source> - <translation>Excluir Archivos:</translation> - </message> - <message> - <location filename="../RawMetricsDialog.ui" line="55"/> - <source>Enter filename patterns of files to be excluded separated by a comma</source> - <translation>Introducir patrones de nombre de archivo para los archivos a ser excluidos, separados por comas</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Exclude Files:</source> + <translation>Excluir Archivos:</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="75"/> - <source>Start</source> - <translation>Iniciar</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Enter filename patterns of files to be excluded separated by a comma</source> + <translation>Introducir patrones de nombre de archivo para los archivos a ser excluidos, separados por comas</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="89"/> - <source>Name</source> - <translation>Nombre</translation> - </message> - <message> - <location filename="../RawMetricsDialog.py" line="425"/> - <source>LOC</source> - <translation>LOC</translation> - </message> - <message> - <location filename="../RawMetricsDialog.py" line="427"/> - <source>SLOC</source> - <translation>SLOC</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Press to start the calculation</source> + <translation>Pulsar para iniciar el cálculo</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="429"/> - <source>LLOC</source> - <translation>LLOC</translation> - </message> - <message> - <location filename="../RawMetricsDialog.ui" line="109"/> - <source>Comments</source> - <translation>Comentarios</translation> - </message> - <message> - <location filename="../RawMetricsDialog.ui" line="119"/> - <source>Multi</source> - <translation>Multi</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Start</source> + <translation>Iniciar</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="124"/> - <source>Empty</source> - <translation>Vacío</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Name</source> + <translation>Nombre</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="129"/> - <source>C % L</source> - <translation>C % L</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Comments</source> + <translation>Comentarios</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="134"/> - <source>C % S</source> - <translation>C % S</translation> - </message> - <message> - <location filename="../RawMetricsDialog.ui" line="139"/> - <source>C + M % L</source> - <translation>C + M % L</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Multi</source> + <translation>Multi</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="164"/> - <source>Summary</source> - <translation>Resumen</translation> - </message> - <message> - <location filename="../RawMetricsDialog.ui" line="169"/> - <source>#</source> - <translation>#</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Empty</source> + <translation>Vacío</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="208"/> - <source>%v/%m Files</source> - <translation>%v/%m Archivos</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>C % L</source> + <translation>C % L</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="139"/> - <source>Errors</source> - <translation>Errores</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>C % S</source> + <translation>C % S</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="281"/> - <source>Preparing files...</source> - <translation>Preparando archivos...</translation> - </message> - <message> - <location filename="../RawMetricsDialog.py" line="423"/> - <source>Files</source> - <translation>Archivos</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>C + M % L</source> + <translation>C + M % L</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="72"/> - <source>Press to start the calculation</source> - <translation>Pulsar para iniciar el cálculo</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Summary</source> + <translation>Resumen</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="199"/> - <source>Shows the progress of the calculation</source> - <translation>Muestra el progreso del cálculo</translation> - </message> - <message> - <location filename="../RawMetricsDialog.py" line="431"/> - <source>Comment Lines</source> - <translation>Líneas de Comentarios</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>#</source> + <translation>#</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="437"/> - <source>Multiline Strings</source> - <translation>Cadenas Multilínea</translation> - </message> - <message> - <location filename="../RawMetricsDialog.py" line="440"/> - <source>Empty Lines</source> - <translation>Líneas en Blanco</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Shows the progress of the calculation</source> + <translation>Muestra el progreso del cálculo</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="434"/> - <source>Empty Comments</source> - <translation type="unfinished"></translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>%v/%m Files</source> + <translation>%v/%m Archivos</translation> </message> - <message> - <location filename="../RawMetricsDialog.py" line="71"/> - <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> -</context> + </context> </TS>
--- a/RadonMetrics/i18n/radon_ru.ts Wed May 26 17:13:04 2021 +0200 +++ b/RadonMetrics/i18n/radon_ru.ts Wed May 26 17:43:25 2021 +0200 @@ -1,426 +1,458 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="2.0" language="ru_RU" sourcelanguage=""> -<context> +<!DOCTYPE TS> +<TS version="2.0" language="ru_RU" sourcelanguage=""> + <context> <name>CyclomaticComplexityDialog</name> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="14"/> - <source>Cyclomatic Complexity</source> - <translation>Цикломатическая сложность</translation> + <location filename="../CyclomaticComplexityDialog.py" line="78" /> + <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> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="95" /> + <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> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="147" /> + <source>Collapse all</source> + <translation>Свернуть все</translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="149" /> + <source>Expand all</source> + <translation>Развернуть все</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="17"/> - <source><b>Cyclomatic Complexity</b> + <location filename="../CyclomaticComplexityDialog.py" line="224" /> + <source>Errors</source> + <translation>Ошибки</translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="389" /> + <source>Preparing files...</source> + <translation>Подготовка файлов...</translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.py" line="517" /> + <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> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Cyclomatic Complexity</source> + <translation>Цикломатическая сложность</translation> + </message> + <message> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source><b>Cyclomatic Complexity</b> <p>This dialog shows the cyclomatic complexity and rank.</p></source> - <translation><b>Цикломатическая сложность</b> + <translation><b>Цикломатическая сложность</b> <p>Данный диалог отображает цикломатическую сложность и ее уровень.</p></translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="83"/> - <source>Exclude Files:</source> - <translation>Исключить файлы:</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="90"/> - <source>Enter filename patterns of files to be excluded separated by a comma</source> - <translation>Введите шаблоны имен для исключаемых файлов, разделенные запятыми</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="110"/> - <source>Start</source> - <translation>Старт</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Minimum Rank:</source> + <translation>Мин. уровень:</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="129"/> - <source>Type</source> - <translation>Тип</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Select the minimum rank of items to be shown</source> + <translation>Выбор минимального уровня сложности для отображения</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="134"/> - <source>Name</source> - <translation>Имя</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Exclude Files:</source> + <translation>Исключить файлы:</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="139"/> - <source>Complexity</source> - <translation>Сложность</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="144"/> - <source>Rank</source> - <translation>Уровень</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Enter filename patterns of files to be excluded separated by a comma</source> + <translation>Введите шаблоны имен для исключаемых файлов, разделенные запятыми</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="219"/> - <source>%v/%m Files</source> - <translation>%v из %m файлов</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Press to start the calculation</source> + <translation>Выполнить оценку кода</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="78"/> - <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> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.py" line="95"/> - <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> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.py" line="199"/> - <source>Errors</source> - <translation>Ошибки</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Start</source> + <translation>Старт</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="360"/> - <source>Preparing files...</source> - <translation>Подготовка файлов...</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="107"/> - <source>Press to start the calculation</source> - <translation>Выполнить оценку кода</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Type</source> + <translation>Тип</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="149"/> - <source>Begin</source> - <translation>Начальная строка блока</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Name</source> + <translation>Имя</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.ui" line="210"/> - <source>Shows the progress of the calculation</source> - <translation>Отображение процесса выполнения оценки</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.py" line="124"/> - <source>Collapse all</source> - <translation>Свернуть все</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Complexity</source> + <translation>Сложность</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="126"/> - <source>Expand all</source> - <translation>Развернуть все</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="29"/> - <source>Minimum Rank:</source> - <translation>Мин. уровень:</translation> - </message> - <message> - <location filename="../CyclomaticComplexityDialog.ui" line="36"/> - <source>Select the minimum rank of items to be shown</source> - <translation>Выбор минимального уровня сложности для отображения</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Rank</source> + <translation>Уровень</translation> </message> <message> - <location filename="../CyclomaticComplexityDialog.py" line="490"/> - <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> - </message> -</context> -<context> - <name>MaintainabilityIndexDialog</name> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="14"/> - <source>Maintainability Index</source> - <translation>Индекс сложности поддержки</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Begin</source> + <translation>Начальная строка блока</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="48"/> - <source>Exclude Files:</source> - <translation>Исключить файлы:</translation> - </message> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="55"/> - <source>Enter filename patterns of files to be excluded separated by a comma</source> - <translation>Введите шаблоны имен для исключаемых файлов, разделенные запятыми</translation> - </message> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="75"/> - <source>Start</source> - <translation>Старт</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>Shows the progress of the calculation</source> + <translation>Отображение процесса выполнения оценки</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="89"/> - <source>Name</source> - <translation>Имя файла</translation> + <location filename="../CyclomaticComplexityDialog.ui" line="0" /> + <source>%v/%m Files</source> + <translation>%v из %m файлов</translation> + </message> + </context> + <context> + <name>MaintainabilityIndexDialog</name> + <message> + <location filename="../MaintainabilityIndexDialog.py" line="69" /> + <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.ui" line="94"/> - <source>Score</source> - <translation>Оценка</translation> - </message> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="99"/> - <source>Rank</source> - <translation>Уровень</translation> - </message> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="153"/> - <source>%v/%m Files</source> - <translation>%v из %m файлов</translation> + <location filename="../MaintainabilityIndexDialog.py" line="144" /> + <source>Errors</source> + <translation>Ошибки</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="124"/> - <source>Errors</source> - <translation>Ошибки</translation> + <location filename="../MaintainabilityIndexDialog.py" line="292" /> + <source>Preparing files...</source> + <translation>Подготовка файлов...</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="268"/> - <source>Preparing files...</source> - <translation>Подготовка файлов...</translation> + <location filename="../MaintainabilityIndexDialog.py" line="402" /> + <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> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="72"/> - <source>Press to start the calculation</source> - <translation>Выполнить оценку кода</translation> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Maintainability Index</source> + <translation>Индекс сложности поддержки</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.ui" line="144"/> - <source>Shows the progress of the calculation</source> - <translation>Отображение процесса выполнения оценки</translation> - </message> - <message> - <location filename="../MaintainabilityIndexDialog.ui" line="17"/> - <source><b>Maintainability Index</b> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source><b>Maintainability Index</b> <p>This dialog shows the maintainability index and rank.</p></source> - <translation><b>Индекс сложности поддержки</b> + <translation><b>Индекс сложности поддержки</b> <p>Данный диалог отображает индекс сложности поддержки и его уровень.</p></translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="380"/> - <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> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Exclude Files:</source> + <translation>Исключить файлы:</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Enter filename patterns of files to be excluded separated by a comma</source> + <translation>Введите шаблоны имен для исключаемых файлов, разделенные запятыми</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Press to start the calculation</source> + <translation>Выполнить оценку кода</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Start</source> + <translation>Старт</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Name</source> + <translation>Имя файла</translation> </message> <message> - <location filename="../MaintainabilityIndexDialog.py" line="66"/> - <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> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Score</source> + <translation>Оценка</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Rank</source> + <translation>Уровень</translation> </message> -</context> -<context> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>Shows the progress of the calculation</source> + <translation>Отображение процесса выполнения оценки</translation> + </message> + <message> + <location filename="../MaintainabilityIndexDialog.ui" line="0" /> + <source>%v/%m Files</source> + <translation>%v из %m файлов</translation> + </message> + </context> + <context> <name>RadonMetricsPlugin</name> <message> - <location filename="../../PluginMetricsRadon.py" line="154"/> - <source>Python 3 batch job</source> - <translation>Пакетное задание Python 3</translation> - </message> - <message> - <location filename="../../PluginMetricsRadon.py" line="197"/> - <source>Unknown metrics result received ({0}).</source> - <translation>Получено ({0}) оценок неизвестной метрики.</translation> + <location filename="../../PluginMetricsRadon.py" line="156" /> + <source>Python 3 batch job</source> + <translation>Пакетное задание Python 3</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="949"/> - <source>Radon</source> - <translation>Radon</translation> + <location filename="../../PluginMetricsRadon.py" line="202" /> + <source>Unknown metrics result received ({0}).</source> + <translation>Получено ({0}) оценок неизвестной метрики.</translation> + </message> + <message> + <location filename="../../PluginMetricsRadon.py" line="968" /> + <location filename="../../PluginMetricsRadon.py" line="630" /> + <location filename="../../PluginMetricsRadon.py" line="465" /> + <location filename="../../PluginMetricsRadon.py" line="395" /> + <source>Radon</source> + <translation>Radon</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="633"/> - <source>Code Metrics</source> - <translation>Метрики кода</translation> + <location filename="../../PluginMetricsRadon.py" line="639" /> + <location filename="../../PluginMetricsRadon.py" line="473" /> + <location filename="../../PluginMetricsRadon.py" line="404" /> + <source>Code Metrics</source> + <translation>Метрики кода</translation> + </message> + <message> + <location filename="../../PluginMetricsRadon.py" line="640" /> + <location filename="../../PluginMetricsRadon.py" line="474" /> + <location filename="../../PluginMetricsRadon.py" line="405" /> + <source>Code &Metrics...</source> + <translation>&Метрики кода...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="633"/> - <source>Code &Metrics...</source> - <translation>&Метрики кода...</translation> + <location filename="../../PluginMetricsRadon.py" line="642" /> + <location filename="../../PluginMetricsRadon.py" line="477" /> + <location filename="../../PluginMetricsRadon.py" line="408" /> + <source>Show raw code metrics.</source> + <translation>Отображение raw метрики кода.</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="637"/> - <source>Show raw code metrics.</source> - <translation>Отображение raw метрики кода.</translation> + <location filename="../../PluginMetricsRadon.py" line="644" /> + <location filename="../../PluginMetricsRadon.py" line="478" /> + <location filename="../../PluginMetricsRadon.py" line="409" /> + <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="639"/> - <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> + <location filename="../../PluginMetricsRadon.py" line="656" /> + <location filename="../../PluginMetricsRadon.py" line="489" /> + <location filename="../../PluginMetricsRadon.py" line="421" /> + <source>Maintainability Index</source> + <translation>Индекс сложности поддержки</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="650"/> - <source>Maintainability Index</source> - <translation>Индекс сложности поддержки</translation> + <location filename="../../PluginMetricsRadon.py" line="657" /> + <location filename="../../PluginMetricsRadon.py" line="490" /> + <location filename="../../PluginMetricsRadon.py" line="422" /> + <source>Maintainability &Index...</source> + <translation>&Индекс поддерживаемости...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="650"/> - <source>Maintainability &Index...</source> - <translation>&Индекс поддерживаемости...</translation> + <location filename="../../PluginMetricsRadon.py" line="659" /> + <location filename="../../PluginMetricsRadon.py" line="493" /> + <location filename="../../PluginMetricsRadon.py" line="425" /> + <source>Show the maintainability index for Python files.</source> + <translation>Отображение индекса сложности поддержки файлов Python.</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="654"/> - <source>Show the maintainability index for Python files.</source> - <translation>Отображение индекса сложности поддержки файлов Python.</translation> + <location filename="../../PluginMetricsRadon.py" line="661" /> + <location filename="../../PluginMetricsRadon.py" line="494" /> + <location filename="../../PluginMetricsRadon.py" line="426" /> + <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="673" /> + <location filename="../../PluginMetricsRadon.py" line="503" /> + <location filename="../../PluginMetricsRadon.py" line="436" /> + <source>Cyclomatic Complexity</source> + <translation>Цикломатическая сложность</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="656"/> - <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> + <location filename="../../PluginMetricsRadon.py" line="674" /> + <location filename="../../PluginMetricsRadon.py" line="504" /> + <location filename="../../PluginMetricsRadon.py" line="437" /> + <source>Cyclomatic &Complexity...</source> + <translation>Цикломатическая &сложность...</translation> + </message> + <message> + <location filename="../../PluginMetricsRadon.py" line="676" /> + <location filename="../../PluginMetricsRadon.py" line="507" /> + <location filename="../../PluginMetricsRadon.py" line="440" /> + <source>Show the cyclomatic complexity for Python files.</source> + <translation>Отображение цикломатической сложности файлов Python.</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="667"/> - <source>Cyclomatic Complexity</source> - <translation>Цикломатическая сложность</translation> + <location filename="../../PluginMetricsRadon.py" line="678" /> + <location filename="../../PluginMetricsRadon.py" line="508" /> + <location filename="../../PluginMetricsRadon.py" line="441" /> + <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="667"/> - <source>Cyclomatic &Complexity...</source> - <translation>Цикломатическая &сложность...</translation> + <location filename="../../PluginMetricsRadon.py" line="969" /> + <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> + </context> + <context> + <name>RawMetricsDialog</name> + <message> + <location filename="../RawMetricsDialog.py" line="73" /> + <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="../../PluginMetricsRadon.py" line="671"/> - <source>Show the cyclomatic complexity for Python files.</source> - <translation>Отображение цикломатической сложности файлов Python.</translation> + <location filename="../RawMetricsDialog.py" line="143" /> + <source>Errors</source> + <translation>Ошибки</translation> + </message> + <message> + <location filename="../RawMetricsDialog.py" line="289" /> + <source>Preparing files...</source> + <translation>Подготовка файлов...</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="673"/> - <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> + <location filename="../RawMetricsDialog.py" line="430" /> + <source>Files</source> + <translation>Файлы</translation> + </message> + <message> + <location filename="../RawMetricsDialog.ui" line="0" /> + <location filename="../RawMetricsDialog.py" line="432" /> + <source>LOC</source> + <translation>LOC</translation> + </message> + <message> + <location filename="../RawMetricsDialog.ui" line="0" /> + <location filename="../RawMetricsDialog.py" line="434" /> + <source>SLOC</source> + <translation>SLOC</translation> </message> <message> - <location filename="../../PluginMetricsRadon.py" line="949"/> - <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> + <location filename="../RawMetricsDialog.ui" line="0" /> + <location filename="../RawMetricsDialog.py" line="436" /> + <source>LLOC</source> + <translation>LLOC</translation> </message> -</context> -<context> - <name>RawMetricsDialog</name> <message> - <location filename="../RawMetricsDialog.ui" line="14"/> - <source>Code Metrics</source> - <translation>Метрики кода</translation> + <location filename="../RawMetricsDialog.py" line="438" /> + <source>Comment Lines</source> + <translation>Comment Lines</translation> + </message> + <message> + <location filename="../RawMetricsDialog.ui" line="0" /> + <location filename="../RawMetricsDialog.py" line="441" /> + <source>Empty Comments</source> + <translation>Empty Comments</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="17"/> - <source><b>Code Metrics</b> + <location filename="../RawMetricsDialog.py" line="444" /> + <source>Multiline Strings</source> + <translation>Multiline Strings</translation> + </message> + <message> + <location filename="../RawMetricsDialog.py" line="447" /> + <source>Empty Lines</source> + <translation>Empty Lines</translation> + </message> + <message> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Code Metrics</source> + <translation>Метрики кода</translation> + </message> + <message> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source><b>Code Metrics</b> <p>This dialog shows some code metrics.</p></source> - <translation><b>Метрики кода</b> + <translation><b>Метрики кода</b> <p>Данный диалог отображает некоторые метрики кода.</p></translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="48"/> - <source>Exclude Files:</source> - <translation>Исключить файлы:</translation> - </message> - <message> - <location filename="../RawMetricsDialog.ui" line="55"/> - <source>Enter filename patterns of files to be excluded separated by a comma</source> - <translation>Введите шаблоны имен для исключаемых файлов, разделенные запятыми</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Exclude Files:</source> + <translation>Исключить файлы:</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="75"/> - <source>Start</source> - <translation>Старт</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Enter filename patterns of files to be excluded separated by a comma</source> + <translation>Введите шаблоны имен для исключаемых файлов, разделенные запятыми</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="89"/> - <source>Name</source> - <translation>Имя файла</translation> - </message> - <message> - <location filename="../RawMetricsDialog.py" line="425"/> - <source>LOC</source> - <translation>LOC</translation> - </message> - <message> - <location filename="../RawMetricsDialog.py" line="427"/> - <source>SLOC</source> - <translation>SLOC</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Press to start the calculation</source> + <translation>Выполнить оценку кода</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="429"/> - <source>LLOC</source> - <translation>LLOC</translation> - </message> - <message> - <location filename="../RawMetricsDialog.ui" line="109"/> - <source>Comments</source> - <translation>Comments</translation> - </message> - <message> - <location filename="../RawMetricsDialog.ui" line="119"/> - <source>Multi</source> - <translation>Multi</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Start</source> + <translation>Старт</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="124"/> - <source>Empty</source> - <translation>Empty</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Name</source> + <translation>Имя файла</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="129"/> - <source>C % L</source> - <translation>C % L</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Comments</source> + <translation>Comments</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="134"/> - <source>C % S</source> - <translation>C % S</translation> - </message> - <message> - <location filename="../RawMetricsDialog.ui" line="139"/> - <source>C + M % L</source> - <translation>C + M % L</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Multi</source> + <translation>Multi</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="164"/> - <source>Summary</source> - <translation>Итого</translation> - </message> - <message> - <location filename="../RawMetricsDialog.ui" line="169"/> - <source>#</source> - <translation>#</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Empty</source> + <translation>Empty</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="208"/> - <source>%v/%m Files</source> - <translation>%v из %m файлов</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>C % L</source> + <translation>C % L</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="139"/> - <source>Errors</source> - <translation>Ошибки</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>C % S</source> + <translation>C % S</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="281"/> - <source>Preparing files...</source> - <translation>Подготовка файлов...</translation> - </message> - <message> - <location filename="../RawMetricsDialog.py" line="423"/> - <source>Files</source> - <translation>Файлы</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>C + M % L</source> + <translation>C + M % L</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="72"/> - <source>Press to start the calculation</source> - <translation>Выполнить оценку кода</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Summary</source> + <translation>Итого</translation> </message> <message> - <location filename="../RawMetricsDialog.ui" line="199"/> - <source>Shows the progress of the calculation</source> - <translation>Отображение процесса выполнения оценки</translation> - </message> - <message> - <location filename="../RawMetricsDialog.py" line="431"/> - <source>Comment Lines</source> - <translation>Comment Lines</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>#</source> + <translation>#</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="437"/> - <source>Multiline Strings</source> - <translation>Multiline Strings</translation> - </message> - <message> - <location filename="../RawMetricsDialog.py" line="440"/> - <source>Empty Lines</source> - <translation>Empty Lines</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>Shows the progress of the calculation</source> + <translation>Отображение процесса выполнения оценки</translation> </message> <message> - <location filename="../RawMetricsDialog.py" line="434"/> - <source>Empty Comments</source> - <translation>Empty Comments</translation> + <location filename="../RawMetricsDialog.ui" line="0" /> + <source>%v/%m Files</source> + <translation>%v из %m файлов</translation> </message> - <message> - <location filename="../RawMetricsDialog.py" line="71"/> - <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> -</context> + </context> </TS>