Sun, 27 Oct 2013 22:43:17 +0100
Python 2 compatibility for Eric 5.
--- a/ChangeLog Sat Sep 28 13:34:57 2013 +0200 +++ b/ChangeLog Sun Oct 27 22:43:17 2013 +0100 @@ -1,5 +1,13 @@ ChangeLog --------- +Version 1.4.0 +- bug fixes +- Python 2 compatibility for Eric 5 +- Python executable for Pyramid based on project configuration selected + if no virtual environment choosen (read/ write access rights needed) +- handling of translations in Windows fixed +- improved error management if setup.cfg isn't completely + Version 1.3.0 - bug fixes - added a menu entry to call a translations editor from the translations viewer
--- a/PluginProjectPyramid.py Sat Sep 28 13:34:57 2013 +0200 +++ b/PluginProjectPyramid.py Sun Oct 27 22:43:17 2013 +0100 @@ -7,6 +7,8 @@ Module implementing the Pyramid project plugin. """ +from __future__ import unicode_literals # __IGNORE_WARNING__ + import os import glob import fnmatch @@ -26,7 +28,7 @@ author = "Detlev Offenbach <detlev@die-offenbachs.de>" autoactivate = True deactivateable = True -version = "1.3.0" +version = "1.4.0" className = "ProjectPyramidPlugin" packageName = "ProjectPyramid" shortDescription = "Project support for Pyramid projects."
--- a/PluginPyramid.e4p Sat Sep 28 13:34:57 2013 +0200 +++ b/PluginPyramid.e4p Sun Oct 27 22:43:17 2013 +0100 @@ -1,13 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Project SYSTEM "Project-5.1.dtd"> <!-- eric5 project file for project PluginPyramid --> +<!-- Saved: 2013-10-04, 22:01:36 --> +<!-- Copyright (C) 2013 Detlev Offenbach, detlev@die-offenbachs.de --> <Project version="5.1"> <Language>en</Language> <Hash>16b809c49f4985b2bd6959b37c5612f6b30e89b4</Hash> <ProgLanguage mixed="0">Python3</ProgLanguage> <ProjectType>E4Plugin</ProjectType> <Description>Plugin implementing support for Pyramid projects.</Description> - <Version>1.3.x</Version> + <Version>1.4.0</Version> <Author>Detlev Offenbach</Author> <Email>detlev@die-offenbachs.de</Email> <TranslationPattern>ProjectPyramid/i18n/pyramid_%language%.ts</TranslationPattern>
--- a/ProjectPyramid/ConfigurationPage/PyramidPage.py Sat Sep 28 13:34:57 2013 +0200 +++ b/ProjectPyramid/ConfigurationPage/PyramidPage.py Sun Oct 27 22:43:17 2013 +0100 @@ -7,6 +7,8 @@ Module implementing the Pyramid configuration page. """ +from __future__ import unicode_literals # __IGNORE_WARNING__ + from PyQt4.QtCore import pyqtSlot from E5Gui.E5Completers import E5DirCompleter @@ -30,7 +32,7 @@ @param plugin reference to the plugin object """ - super().__init__() + super(PyramidPage, self).__init__() self.setupUi(self) self.setObjectName("PyramidPage")
--- a/ProjectPyramid/CreateParametersDialog.py Sat Sep 28 13:34:57 2013 +0200 +++ b/ProjectPyramid/CreateParametersDialog.py Sun Oct 27 22:43:17 2013 +0100 @@ -7,6 +7,12 @@ Module implementing a dialog for entering the create parameters. """ +from __future__ import unicode_literals # __IGNORE_WARNING__ +try: + str = unicode +except (NameError): + pass + from PyQt4.QtCore import pyqtSlot, QProcess from PyQt4.QtGui import QDialog, QDialogButtonBox @@ -28,7 +34,7 @@ @param project reference to the project object (Project) @param parent reference to the parent widget (QWidget) """ - super().__init__(parent) + super(CreateParametersDialog, self).__init__(parent) self.setupUi(self) self.__okButton = self.buttonBox.button(QDialogButtonBox.Ok)
--- a/ProjectPyramid/DistributionTypeSelectionDialog.py Sat Sep 28 13:34:57 2013 +0200 +++ b/ProjectPyramid/DistributionTypeSelectionDialog.py Sun Oct 27 22:43:17 2013 +0100 @@ -7,6 +7,12 @@ Module implementing a dialog to select the distribution file formats. """ +from __future__ import unicode_literals # __IGNORE_WARNING__ +try: + str = unicode +except (NameError): + pass + from PyQt4.QtCore import Qt, QProcess from PyQt4.QtGui import QDialog, QListWidgetItem @@ -29,7 +35,7 @@ @param projectPath path of the Pyramid project (string) @param parent reference to the parent widget (QWidget) """ - super().__init__(parent) + super(DistributionTypeSelectionDialog, self).__init__(parent) self.setupUi(self) errMsg = ""
--- a/ProjectPyramid/Documentation/source/Plugin_Project_Pyramid.ProjectPyramid.Project.html Sat Sep 28 13:34:57 2013 +0200 +++ b/ProjectPyramid/Documentation/source/Plugin_Project_Pyramid.ProjectPyramid.Project.html Sun Oct 27 22:43:17 2013 +0100 @@ -35,6 +35,9 @@ </tr><tr> <td><a href="#PyramidNoProjectSelectedException">PyramidNoProjectSelectedException</a></td> <td>Exception thrown to signal, that there is no current Pyramid project.</td> +</tr><tr> +<td><a href="#QProcess">QProcess</a></td> +<td>Class transforming the call arguments in case of gnome-terminal.</td> </tr> </table> <h3>Functions</h3> @@ -72,6 +75,9 @@ <td><a href="#Project.__findProjects">__findProjects</a></td> <td>Private method to determine the relative path of all Pyramid projects (= top level dirs).</td> </tr><tr> +<td><a href="#Project.__getDebugEnvironment">__getDebugEnvironment</a></td> +<td>Private method to get the path of the debugger environment.</td> +</tr><tr> <td><a href="#Project.__getExecutablePaths">__getExecutablePaths</a></td> <td>Private method to build all full path of an executable file from the environment.</td> </tr><tr> @@ -234,6 +240,22 @@ <dd> list of projects (list of string) </dd> +</dl><a NAME="Project.__getDebugEnvironment" ID="Project.__getDebugEnvironment"></a> +<h4>Project.__getDebugEnvironment</h4> +<b>__getDebugEnvironment</b>(<i>language=""</i>) +<p> + Private method to get the path of the debugger environment. +</p><dl> +<dt><i>language</i></dt> +<dd> +Python variant to get the debugger environment + for (string, one of '', 'Python2' or 'Python3') +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +path of the debugger environment (string) +</dd> </dl><a NAME="Project.__getExecutablePaths" ID="Project.__getExecutablePaths"></a> <h4>Project.__getExecutablePaths</h4> <b>__getExecutablePaths</b>(<i>file</i>) @@ -643,5 +665,76 @@ </table> <div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="QProcess" ID="QProcess"></a> +<h2>QProcess</h2> +<p> + Class transforming the call arguments in case of gnome-terminal. +</p> +<h3>Derived from</h3> +QProcessPyQt +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#QProcess.start">start</a></td> +<td>Starts the given program (cmd) in a new process, if none is already running, passing the command line arguments in argss.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr> +<td><a href="#QProcess.startDetached">startDetached</a></td> +<td>Starts the given program (cmd) in a new process, if none is already running, passing the command line arguments in argss.</td> +</tr> +</table> +<a NAME="QProcess.start" ID="QProcess.start"></a> +<h4>QProcess.start</h4> +<b>start</b>(<i>cmd, args=[], mode=QProcessPyQt.ReadWrite</i>) +<p> + Starts the given program (cmd) in a new process, if none is already + running, passing the command line arguments in argss. +</p><dl> +<dt><i>cmd</i></dt> +<dd> +start the given program cmd (string) +</dd><dt><i>args=</i></dt> +<dd> +list of parameters (list of strings) +</dd><dt><i>mode=</i></dt> +<dd> +access mode (QIODevice.OpenMode) +</dd> +</dl><a NAME="QProcess.startDetached" ID="QProcess.startDetached"></a> +<h4>QProcess.startDetached (static)</h4> +<b>startDetached</b>(<i>args=[], path=''</i>) +<p> + Starts the given program (cmd) in a new process, if none is already + running, passing the command line arguments in argss. +</p><dl> +<dt><i>cmd</i></dt> +<dd> +start the given program cmd (string) +</dd><dt><i>args=</i></dt> +<dd> +list of parameters (list of strings) +</dd><dt><i>path=</i></dt> +<dd> +new working directory (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +tuple of successful start and process id (boolean, integer) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> <hr /> </body></html> \ No newline at end of file
--- a/ProjectPyramid/FormSelectionDialog.py Sat Sep 28 13:34:57 2013 +0200 +++ b/ProjectPyramid/FormSelectionDialog.py Sun Oct 27 22:43:17 2013 +0100 @@ -7,6 +7,8 @@ Module implementing a dialog to select the template type. """ +from __future__ import unicode_literals # __IGNORE_WARNING__ + from PyQt4.QtCore import pyqtSlot from PyQt4.QtGui import QDialog, QDialogButtonBox @@ -23,7 +25,7 @@ @param parent reference to the parent widget (QWidget) """ - super().__init__(parent) + super(FormSelectionDialog, self).__init__(parent) self.setupUi(self) self.__templates = {
--- a/ProjectPyramid/Project.py Sat Sep 28 13:34:57 2013 +0200 +++ b/ProjectPyramid/Project.py Sun Oct 27 22:43:17 2013 +0100 @@ -7,12 +7,21 @@ Module implementing the Pyramid project support. """ +from __future__ import unicode_literals # __IGNORE_WARNING__ + +try: + import configparser +except ImportError: + str = unicode # __IGNORE_WARNING__ + import ConfigParser as configparser # __IGNORE_WARNING__ + import os -import configparser import re +import sys -from PyQt4.QtCore import QObject, QFileInfo, QProcess, QTimer, QUrl +from PyQt4.QtCore import QObject, QFileInfo, QTimer, QUrl from PyQt4.QtGui import QMenu, QDialog, QInputDialog, QDesktopServices, QLineEdit +from PyQt4.QtCore import QProcess as QProcessPyQt from E5Gui.E5Application import e5App from E5Gui import E5MessageBox, E5FileDialog @@ -20,6 +29,7 @@ from .PyramidDialog import PyramidDialog +import Preferences import Utilities from Globals import isWindowsPlatform import UI.PixmapCache @@ -32,6 +42,41 @@ pass +class QProcess(QProcessPyQt): + """ + Class transforming the call arguments in case of gnome-terminal. + """ + def start(self, cmd, args=[], mode=QProcessPyQt.ReadWrite): + """ + Starts the given program (cmd) in a new process, if none is already + running, passing the command line arguments in argss. + + @param cmd start the given program cmd (string) + @keyparam args list of parameters (list of strings) + @keyparam mode access mode (QIODevice.OpenMode) + """ + if cmd.endswith('gnome-terminal') and args[0] == '-e': + args = ['-e', ' '.join(args[1:])] + + super(QProcess, self).start(cmd, args, mode) + + @staticmethod + def startDetached(cmd, args=[], path=''): + """ + Starts the given program (cmd) in a new process, if none is already + running, passing the command line arguments in argss. + + @param cmd start the given program cmd (string) + @keyparam args list of parameters (list of strings) + @keyparam path new working directory (string) + @return tuple of successful start and process id (boolean, integer) + """ + if cmd.endswith('gnome-terminal') and args[0] == '-e': + args = ['-e', ' '.join(args[1:])] + + return QProcessPyQt.startDetached(cmd, args, path) + + class Project(QObject): """ Class implementing the Pyramid project support. @@ -43,7 +88,7 @@ @param plugin reference to the plugin object @param parent parent (QObject) """ - super().__init__(parent) + super(Project, self).__init__(parent) self.__plugin = plugin self.__ui = parent @@ -519,24 +564,30 @@ if fullCmd != cmd: variants.append(variant) else: - try: - fullCmds = Utilities.getExecutablePaths(cmd) - except AttributeError: - fullCmds = self.__getExecutablePaths(cmd) - for fullCmd in fullCmds: + if isWindowsPlatform(): + debugEnv = self.__getDebugEnvironment(variant) + fullCmd = os.path.join(debugEnv, "Scripts", cmd) + if variant.lower() in fullCmd.lower(): + variants.append(variant) + else: try: - f = open(fullCmd, 'r', encoding='utf-8') - l0 = f.readline() - f.close() - except (IOError, OSError): - l0 = "" - if variant.lower() in l0.lower() or \ - "{0}.".format(variant[-1]) in l0 or \ - (variant == "Python2" and \ - "python3" not in l0.lower() and \ - "python" in l0.lower()): - variants.append(variant) - break + fullCmds = Utilities.getExecutablePaths(cmd) + except AttributeError: + fullCmds = self.__getExecutablePaths(cmd) + for fullCmd in fullCmds: + try: + f = open(fullCmd, 'r', encoding='utf-8') + l0 = f.readline() + f.close() + except (IOError, OSError): + l0 = "" + if variant.lower() in l0.lower() or \ + "{0}.".format(variant[-1]) in l0 or \ + (variant == "Python2" and \ + "python3" not in l0.lower() and \ + "python" in l0.lower()): + variants.append(variant) + break return variants @@ -559,7 +610,28 @@ if virtEnv and not os.path.exists(virtEnv): virtEnv = "" return virtEnv - + + def __getDebugEnvironment(self, language=""): + """ + Private method to get the path of the debugger environment. + + @param language Python variant to get the debugger environment + for (string, one of '', 'Python2' or 'Python3') + @return path of the debugger environment (string) + """ + if not language: + language = self.__e5project.getProjectLanguage() + if language == "Python3": + debugEnv = Preferences.getDebugger("Python3Interpreter") + elif language == "Python2": + debugEnv = Preferences.getDebugger("PythonInterpreter") + else: + debugEnv = sys.executable + debugEnv = os.path.dirname(debugEnv) + if debugEnv and not os.path.exists(debugEnv): + debugEnv = sys.exec_prefix + return debugEnv + def getPyramidCommand(self, cmd, language=""): """ Public method to build a Pyramid command. @@ -570,17 +642,20 @@ @return full pyramid command (string) """ virtualEnv = self.__getVirtualEnvironment(language) - if virtualEnv: - if isWindowsPlatform(): - cmd = os.path.join(virtualEnv, "Scripts", cmd) - else: - fullCmd = os.path.join(virtualEnv, "bin", cmd) - if not os.path.exists(fullCmd): - fullCmd = os.path.join(virtualEnv, "local", "bin", cmd) - if not os.path.exists(fullCmd): - # fall back to just cmd - fullCmd = cmd - cmd = fullCmd + if isWindowsPlatform() and not virtualEnv: + virtualEnv = self.__getDebugEnvironment(language) + if isWindowsPlatform(): + cmd = os.path.join(virtualEnv, "Scripts", cmd + '.exe') + else: + fullCmds = [ + os.path.join(virtualEnv, "bin", cmd), + os.path.join(virtualEnv, "local", "bin", cmd), + Utilities.getExecutablePath(cmd), + cmd # fall back to just cmd + ] + for cmd in fullCmds: + if os.path.exists(cmd): + break return cmd def getPythonCommand(self): @@ -589,25 +664,29 @@ @return python command (string) """ - python = "python" + language = self.__e5project.getProjectLanguage() + pythonExe = "python" if isWindowsPlatform(): - python += ".exe" + pythonExe += ".exe" else: - language = self.__e5project.getProjectLanguage() if language == "Python3": - python = "python3" + pythonExe = "python3" elif language == "Python2": - python = "python2" + pythonExe = "python2" virtualEnv = self.__getVirtualEnvironment() + if isWindowsPlatform() and not virtualEnv: + virtualEnv = self.__getDebugEnvironment(language) if virtualEnv: if isWindowsPlatform(): - python = os.path.join(virtualEnv, "Scripts", python) + python = os.path.join(virtualEnv, "Scripts", pythonExe) if not os.path.exists(python): - python = os.path.join(virtualEnv, python) + python = os.path.join(virtualEnv, pythonExe) else: - python = os.path.join(virtualEnv, "bin", python) + python = os.path.join(virtualEnv, "bin", pythonExe) if not os.path.exists(python): python = python[:-1] # omit the version character + else: + python = pythonExe return python @@ -643,6 +722,8 @@ """ if not self.__pyramidVersion: cmd = self.getPyramidCommand("pcreate") + if isWindowsPlatform(): + cmd = os.path.join(os.path.dirname(cmd), "pcreate-script.py") try: f = open(cmd, 'r', encoding="utf-8") lines = f.read().splitlines() @@ -800,10 +881,17 @@ if self.__currentProject is None: self.__e5project.pdata["TRANSLATIONPATTERN"] = [] else: + lowerProject = self.__project().lower() config = configparser.ConfigParser() config.read(os.path.join(self.__projectPath(), "setup.cfg")) - outputDir = config.get("init_catalog", "output_dir") - domain = config.get("init_catalog", "domain") + try: + outputDir = config.get("init_catalog", "output_dir") + except (configparser.NoOptionError, configparser.NoSectionError): + outputDir = '{0}/locale'.format(lowerProject) + try: + domain = config.get("init_catalog", "domain") + except (configparser.NoOptionError, configparser.NoSectionError): + domain = lowerProject self.__e5project.pdata["TRANSLATIONPATTERN"] = [ os.path.join(project, outputDir, "%language%", "LC_MESSAGES", "{0}.po".format(domain)) @@ -909,7 +997,10 @@ config = configparser.ConfigParser() config.read(os.path.join(projectPath, "development.ini")) - port = config.get("server:main", "port", fallback="6543") + try: + port = config.get("server:main", "port") + except (configparser.NoOptionError, configparser.NoSectionError): + port = "8080" url = QUrl("http://localhost:{0}".format(port)) res = QDesktopServices.openUrl(url) if not res: @@ -979,6 +1070,8 @@ res = dia.startProcess(cmd, args, wd) if res: dia.exec_() + initCmd = self.__getInitDbCommand() + self.initializeDbAct.setEnabled(os.path.exists(initCmd)) ################################################################## ## slots below implement distribution functions @@ -1164,8 +1257,13 @@ @return extracted locale (string) or None """ if self.__e5project.pdata["TRANSLATIONPATTERN"]: - pattern = self.__e5project.pdata["TRANSLATIONPATTERN"][0]\ - .replace("%language%", "(.*?)") + # On Windows, path typically contains backslashes. This leads + # to an invalid seach pattern '...\(' because the opening bracked + # will be escaped. + pattern = self.__e5project.pdata["TRANSLATIONPATTERN"][0] + pattern = os.path.normpath(pattern) + pattern = pattern.replace("%language%", "(.*?)") + pattern = pattern.replace('\\', '\\\\') match = re.search(pattern, filename) if match is not None: loc = match.group(1) @@ -1221,6 +1319,28 @@ self.trUtf8('No current Pyramid project selected or no Pyramid project' ' created yet. Aborting...')) return + + config = configparser.ConfigParser() + config.read(os.path.join(projectPath, "setup.cfg")) + try: + potFile = config.get("extract_messages", "output_file") + except configparser.NoSectionError: + E5MessageBox.warning(self.__ui, + title, + self.trUtf8('No setup.cfg found or no "extract_messages"' + ' section found in setup.cfg.')) + return + except configparser.NoOptionError: + E5MessageBox.warning(self.__ui, + title, + self.trUtf8('No "output_file" option found in setup.cfg.')) + return + + try: + path = os.path.join(projectPath, os.path.dirname(potFile)) + os.makedirs(path) + except OSError: + pass cmd = self.getPythonCommand() args = [] @@ -1232,25 +1352,8 @@ res = dia.startProcess(cmd, args, projectPath) if res: dia.exec_() + self.__e5project.appendFile(os.path.join(projectPath, potFile)) - config = configparser.ConfigParser() - config.read(os.path.join(projectPath, "setup.cfg")) - potFile = config.get("extract_messages", "output_file") - if potFile: - self.__e5project.appendFile(os.path.join(projectPath, potFile)) - else: - try: - lowerProject = self.__project().lower() - except PyramidNoProjectSelectedException: - E5MessageBox.warning(self.__ui, - title, - self.trUtf8('No current Pyramid project selected or no Pyramid' - ' project created yet. Aborting...')) - return - - self.__e5project.appendFile(os.path.join( - projectPath, lowerProject, "locale", "%s.pot" % lowerProject)) - def __projectLanguageAdded(self, code): """ Private slot handling the addition of a new language. @@ -1280,7 +1383,7 @@ if res: dia.exec_() - langFile = self.__e4project.pdata["TRANSLATIONPATTERN"][0]\ + langFile = self.__e5project.pdata["TRANSLATIONPATTERN"][0]\ .replace("%language%", code) self.__e5project.appendFile(langFile)
--- a/ProjectPyramid/PyramidDialog.py Sat Sep 28 13:34:57 2013 +0200 +++ b/ProjectPyramid/PyramidDialog.py Sun Oct 27 22:43:17 2013 +0100 @@ -7,6 +7,12 @@ Module implementing a dialog starting a process and showing its output. """ +from __future__ import unicode_literals # __IGNORE_WARNING__ +try: + str = unicode +except (NameError): + pass + import os from PyQt4.QtCore import QProcess, QTimer, pyqtSlot, Qt, QCoreApplication @@ -43,7 +49,7 @@ (string) @keyparam parent parent widget (QWidget) """ - super().__init__(parent) + super(PyramidDialog, self).__init__(parent) self.setupUi(self) self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) @@ -289,4 +295,4 @@ self.intercept = False evt.accept() return - super().keyPressEvent(evt) + super(PyramidDialog, self).keyPressEvent(evt)
--- a/ProjectPyramid/PyramidRoutesDialog.py Sat Sep 28 13:34:57 2013 +0200 +++ b/ProjectPyramid/PyramidRoutesDialog.py Sun Oct 27 22:43:17 2013 +0100 @@ -7,6 +7,12 @@ Module implementing a dialog showing the available routes. """ +from __future__ import unicode_literals # __IGNORE_WARNING__ +try: + str = unicode +except (NameError): + pass + import os from PyQt4.QtCore import QProcess, QTimer, pyqtSlot, Qt, QCoreApplication @@ -30,7 +36,7 @@ @param project reference to the project object (ProjectPyramid.Project.Project) @param parent reference to the parent widget (QWidget) """ - super().__init__(parent) + super(PyramidRoutesDialog, self).__init__(parent) self.setupUi(self) self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) @@ -241,4 +247,4 @@ self.intercept = False evt.accept() return - super().keyPressEvent(evt) + super(PyramidRoutesDialog, self).keyPressEvent(evt)
--- a/ProjectPyramid/i18n/pyramid_de.ts Sat Sep 28 13:34:57 2013 +0200 +++ b/ProjectPyramid/i18n/pyramid_de.ts Sun Oct 27 22:43:17 2013 +0100 @@ -48,17 +48,17 @@ <translation>Pyramid Projekterstellung simulieren</translation> </message> <message> - <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="53"/> + <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="59"/> <source>The pcreate command did not finish within 30s.</source> <translation>Das pcreate Kommando endete nicht innerhalb von 30s.</translation> </message> <message> - <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="56"/> + <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="62"/> <source>Could not start the pcreate executable.</source> <translation>Der pcreate Prozess konnte nicht gestartet werden.</translation> </message> <message> - <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="64"/> + <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="70"/> <source>Process Generation Error</source> <translation>Fehler bei der Prozessgenerierung</translation> </message> @@ -81,17 +81,17 @@ <translation>Wähle die zu erzeugenden Dateiformate für die Distribution an</translation> </message> <message> - <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="54"/> + <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="60"/> <source>The python setup.py command did not finish within 30s.</source> <translation>Das python setup.py Kommando endete nicht innerhalb von 30s.</translation> </message> <message> - <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="57"/> + <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="63"/> <source>Could not start the pcreate executable.</source> <translation>Der pcreate Prozess konnte nicht gestartet werden.</translation> </message> <message> - <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="68"/> + <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="74"/> <source>Process Generation Error</source> <translation>Fehler bei der Prozessgenerierung</translation> </message> @@ -124,22 +124,22 @@ <translation>Zeigt den Text des ausgewählten Templates</translation> </message> <message> - <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="30"/> + <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="32"/> <source>Standard HTML 5 template</source> <translation>Standard HTML 5 Template</translation> </message> <message> - <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="99"/> + <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="101"/> <source>Mako template with sections</source> <translation>Mako Template mit Abschnitten</translation> </message> <message> - <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="42"/> + <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="44"/> <source>Standard HTML template</source> <translation>Standard HTML Template</translation> </message> <message> - <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="55"/> + <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="57"/> <source>Chameleon template</source> <translation>Chameleon Template</translation> </message> @@ -147,482 +147,492 @@ <context> <name>Project</name> <message> - <location filename="../../ProjectPyramid/Project.py" line="65"/> + <location filename="../../ProjectPyramid/Project.py" line="110"/> <source>Current Pyramid Project</source> <translation>Aktuelles Pyramid Projekt</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="69"/> + <location filename="../../ProjectPyramid/Project.py" line="114"/> <source>Selects the current Pyramid project</source> <translation>Wählt das aktuelle Pyramid Projekt aus</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="71"/> + <location filename="../../ProjectPyramid/Project.py" line="116"/> <source><b>Current Pyramid Project</b><p>Selects the Pyramid project. Used for multi-project Pyramid projects to switch between the projects.</p></source> <translation><b>Aktuelles Pyramid Projekt</b><p>Wählt das Pyramid Projekt aus. Wird bei Multiprojekt Pyramid Projekten eingesetzt, um zwischen den Projekten umzuschalten.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="698"/> + <location filename="../../ProjectPyramid/Project.py" line="779"/> <source>Create Pyramid Project</source> <translation>Pyramid Projekt erstellen</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="83"/> + <location filename="../../ProjectPyramid/Project.py" line="128"/> <source>Create Pyramid &Project</source> <translation>Pyramid &Projekt erstellen</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="87"/> + <location filename="../../ProjectPyramid/Project.py" line="132"/> <source>Creates a new Pyramid project</source> <translation>Erstellt ein neues Pyramid Projekt</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="89"/> + <location filename="../../ProjectPyramid/Project.py" line="134"/> <source><b>Create Pyramid Project</b><p>Creates a new Pyramid project using "pcreate".</p></source> <translation><b>Pyramid Projekt erstellen</b><p>Erstellt ein neues Pyramid Projekt mittels "pcreate".</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="849"/> + <location filename="../../ProjectPyramid/Project.py" line="937"/> <source>Run Server</source> <translation>Server starten</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="100"/> + <location filename="../../ProjectPyramid/Project.py" line="145"/> <source>Run &Server</source> <translation>&Server starten</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="104"/> + <location filename="../../ProjectPyramid/Project.py" line="149"/> <source>Starts the Pyramid Web server</source> <translation>Startet den Pyramid Web Server</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="106"/> + <location filename="../../ProjectPyramid/Project.py" line="151"/> <source><b>Run Server</b><p>Starts the Pyramid Web server using "pserve --reload development.ini".</p></source> <translation><b>Server starten</b><p>Startet den Pyramid Web Server mittels "pserve --reload development.ini".</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="114"/> + <location filename="../../ProjectPyramid/Project.py" line="159"/> <source>Run Server with Logging</source> <translation>Server mit Logging starten</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="114"/> + <location filename="../../ProjectPyramid/Project.py" line="159"/> <source>Run Server with &Logging</source> <translation>Server mit &Logging starten</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="118"/> + <location filename="../../ProjectPyramid/Project.py" line="163"/> <source>Starts the Pyramid Web server with logging</source> <translation>Startet den Pyramid Web Server mit Logging</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="120"/> + <location filename="../../ProjectPyramid/Project.py" line="165"/> <source><b>Run Server with Logging</b><p>Starts the Pyramid Web server with logging using "pserve --log-file=server.log --reload development.ini".</p></source> <translation><b>Server mit Logging starten</b><p>Startet den Pyramid Web Server mit Logging mittels "pserve --log-file=server.log --reload development.ini".</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="916"/> + <location filename="../../ProjectPyramid/Project.py" line="1007"/> <source>Run Web-Browser</source> <translation>Web-Browser starten</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="128"/> + <location filename="../../ProjectPyramid/Project.py" line="173"/> <source>Run &Web-Browser</source> <translation>Web-&Browser starten</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="132"/> + <location filename="../../ProjectPyramid/Project.py" line="177"/> <source>Starts the default Web-Browser with the URL of the Pyramid Web server</source> <translation>Startet den Standard Web-Browser mit der URL des Pyramid Web-Servers</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="134"/> + <location filename="../../ProjectPyramid/Project.py" line="179"/> <source><b>Run Web-Browser</b><p>Starts the default Web-Browser with the URL of the Pyramid Web server.</p></source> <translation><b>Web-Browser starten</b><p>Startet den Standard Web-Browser mit der URL des Pyramid Web-Servers.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="931"/> + <location filename="../../ProjectPyramid/Project.py" line="1022"/> <source>Start Pyramid Python Console</source> <translation>Starte Pyramid Python Konsole</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="142"/> + <location filename="../../ProjectPyramid/Project.py" line="187"/> <source>Start Pyramid &Python Console</source> <translation>Starte Pyramid &Python Konsole</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="146"/> + <location filename="../../ProjectPyramid/Project.py" line="191"/> <source>Starts an interactive Python interpreter</source> <translation>Startet einen interaktiven Python Interpreter</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="148"/> + <location filename="../../ProjectPyramid/Project.py" line="193"/> <source><b>Start Pyramid Python Console</b><p>Starts an interactive Python interpreter.</p></source> <translation><b>Starte Pyramid Python Konsole</b><p>Startet einen interaktiven Python Interpreter</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="962"/> + <location filename="../../ProjectPyramid/Project.py" line="1053"/> <source>Setup Development Environment</source> <translation>Entwicklungsumgebung einrichten</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="159"/> + <location filename="../../ProjectPyramid/Project.py" line="204"/> <source>Setup &Development Environment</source> <translation>Entwicklungs&umgebung einrichten</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="163"/> + <location filename="../../ProjectPyramid/Project.py" line="208"/> <source>Setup the Pyramid project in development mode</source> <translation>Richtet das Pyramid Projekt im Entwicklungsmodus ein</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="165"/> + <location filename="../../ProjectPyramid/Project.py" line="210"/> <source><b>Setup Development Environment</b><p>Setup the Pyramid project in development mode using "python setup.py develop".</p></source> <translation><b>Entwicklungsumgebung einrichten</b><p>Richtet das Pyramid Projekt im Entwicklungsmodus mittels "python setup.py develop" ein.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1043"/> + <location filename="../../ProjectPyramid/Project.py" line="1136"/> <source>Initialize Database</source> <translation>Datenbank initialisieren</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="177"/> + <location filename="../../ProjectPyramid/Project.py" line="222"/> <source>Initialize &Database</source> <translation>&Datenbank initialisieren</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="181"/> + <location filename="../../ProjectPyramid/Project.py" line="226"/> <source>Initializes (or re-initializes) the database of the current Pyramid project</source> <translation>Initialisiert (oder reinitialisiert) die Datenbank des aktuellen Pyramid Projektes</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="184"/> + <location filename="../../ProjectPyramid/Project.py" line="229"/> <source><b>Initialize Database</b><p>Initializes (or re-initializes) the database of the current Pyramid project.</p></source> <translation><b>Datenbank initialisieren</b><p>Initialisiert (oder reinitialisiert) die Datenbank des aktuellen Pyramid Projektes.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1081"/> + <location filename="../../ProjectPyramid/Project.py" line="1174"/> <source>Show Matching Views</source> <translation>Passende Ansichten anzeigen</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="196"/> + <location filename="../../ProjectPyramid/Project.py" line="241"/> <source>Show Matching &Views</source> <translation>Passende &Ansichten anzeigen</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="200"/> + <location filename="../../ProjectPyramid/Project.py" line="245"/> <source>Show views matching a given URL</source> <translation>Zeigt Ansichten zu einer gegebenen URL an</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="202"/> + <location filename="../../ProjectPyramid/Project.py" line="247"/> <source><b>Show Matching Views</b><p>Show views matching a given URL.</p></source> <translation><b>Passende Ansichten anzeigen</b><p>Zeigt Ansichten zu einer gegebenen URL an.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1104"/> + <location filename="../../ProjectPyramid/Project.py" line="1197"/> <source>Show Routes</source> <translation>Routen anzeigen</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="209"/> + <location filename="../../ProjectPyramid/Project.py" line="254"/> <source>Show &Routes</source> <translation>&Routen anzeigen</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="213"/> + <location filename="../../ProjectPyramid/Project.py" line="258"/> <source>Show all URL dispatch routes used by a Pyramid application</source> <translation>Zeigt alle durch eine Pyramid Anwendung verwendete URL Routen an</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="215"/> + <location filename="../../ProjectPyramid/Project.py" line="260"/> <source><b>Show Routes</b><p>Show all URL dispatch routes used by a Pyramid application in the order in which they are evaluated.</p></source> <translation><b>Routen anzeigen</b><p>Zeigt alle durch eine Pyramid Anwendung verwendete URL Routen in der Reihenfolge ihrer Auswertung an.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1125"/> + <location filename="../../ProjectPyramid/Project.py" line="1218"/> <source>Show Tween Objects</source> <translation>Tween Objekte anzeigen</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="223"/> + <location filename="../../ProjectPyramid/Project.py" line="268"/> <source>Show &Tween Objects</source> <translation>&Tween Objekte anzeigen</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="227"/> + <location filename="../../ProjectPyramid/Project.py" line="272"/> <source>Show all implicit and explicit tween objects used by a Pyramid application</source> <translation>Zeigt alle von einer Pyramid Anwendung verwendeten impliziten und expliziten Tween Objekte an</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="229"/> + <location filename="../../ProjectPyramid/Project.py" line="274"/> <source><b>Show Tween Objects</b><p>Show all implicit and explicit tween objects used by a Pyramid application.</p></source> <translation><b>Tween Objekte anzeigen</b><p>Zeigt alle von einer Pyramid Anwendung verwendeten impliziten und expliziten Tween Objekte an.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="241"/> + <location filename="../../ProjectPyramid/Project.py" line="286"/> <source>Build Distribution</source> <translation>Distribution erzeugen</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="241"/> + <location filename="../../ProjectPyramid/Project.py" line="286"/> <source>Build &Distribution</source> <translation>&Distribution erzeugen</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="245"/> + <location filename="../../ProjectPyramid/Project.py" line="290"/> <source>Builds a distribution file for the Pyramid project</source> <translation>Erzeugt Dateien zur Distribution eines Pyramid Projektes</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="247"/> + <location filename="../../ProjectPyramid/Project.py" line="292"/> <source><b>Build Distribution</b><p>Builds a distribution file for the Pyramid project using "python setup.py sdist".</p></source> <translation><b>Distribution erzeugen</b><p>Erzeugt Dateien zur Distribution eines Pyramid Projektes mittels "python setup.py sdist".</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="259"/> + <location filename="../../ProjectPyramid/Project.py" line="304"/> <source>Documentation</source> <translation>Dokumentation</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="259"/> + <location filename="../../ProjectPyramid/Project.py" line="304"/> <source>D&ocumentation</source> <translation>D&okumentation</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="263"/> + <location filename="../../ProjectPyramid/Project.py" line="308"/> <source>Shows the help viewer with the Pyramid documentation</source> <translation>Zeigt die Hilfeanzeige mit der Pyramid Dokumentation</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="265"/> + <location filename="../../ProjectPyramid/Project.py" line="310"/> <source><b>Documentation</b><p>Shows the help viewer with the Pyramid documentation.</p></source> <translation><b>Dokumentation</b><p>Zeigt die Hilfeanzeige mit der Pyramid Dokumentation.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="621"/> + <location filename="../../ProjectPyramid/Project.py" line="700"/> <source>About Pyramid</source> <translation>Über Pyramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="276"/> + <location filename="../../ProjectPyramid/Project.py" line="321"/> <source>About P&yramid</source> <translation>Über P&yramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="280"/> + <location filename="../../ProjectPyramid/Project.py" line="325"/> <source>Shows some information about Pyramid</source> <translation>Zeigt einige Informationen über Pyramid an</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="282"/> + <location filename="../../ProjectPyramid/Project.py" line="327"/> <source><b>About Pyramid</b><p>Shows some information about Pyramid.</p></source> <translation><b>Über Pyramid</b><p>Zeigt einige Informationen über Pyramid an.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="297"/> + <location filename="../../ProjectPyramid/Project.py" line="342"/> <source>P&yramid</source> <translation>P&yramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="352"/> + <location filename="../../ProjectPyramid/Project.py" line="397"/> <source>New template...</source> <translation>Neues Template...</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="361"/> + <location filename="../../ProjectPyramid/Project.py" line="406"/> <source>Extract Messages</source> <translation>Texte extrahieren</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="363"/> + <location filename="../../ProjectPyramid/Project.py" line="408"/> <source>Compile All Catalogs</source> <translation>Alle Kataloge übersetzen</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="365"/> + <location filename="../../ProjectPyramid/Project.py" line="410"/> <source>Compile Selected Catalogs</source> <translation>Ausgewählte Kataloge übersetzen</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="368"/> + <location filename="../../ProjectPyramid/Project.py" line="413"/> <source>Update All Catalogs</source> <translation>Alle Kataloge aktualisieren</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="370"/> + <location filename="../../ProjectPyramid/Project.py" line="415"/> <source>Update Selected Catalogs</source> <translation>Ausgewählte Kataloge aktualisieren</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="413"/> + <location filename="../../ProjectPyramid/Project.py" line="458"/> <source>Chameleon Templates (*.pt);;Chameleon Text Templates (*.txt);;Mako Templates (*.mako);;Mako Templates (*.mak);;HTML Files (*.html);;HTML Files (*.htm);;All Files (*)</source> <translation>Chameleon Templates (*.pt);;Chameleon Text Templates (*.txt);;Mako Templates (*.mako);;Mako Templates (*.mak);;HTML Dateien (*.html);;HTML Dateien (*.htm);;Alle Dateien (*)</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="449"/> + <location filename="../../ProjectPyramid/Project.py" line="494"/> <source>New Form</source> <translation>Neues Formular</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="436"/> + <location filename="../../ProjectPyramid/Project.py" line="481"/> <source>The file already exists! Overwrite it?</source> <translation>Die Datei existiert bereits. Überschreiben?</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="449"/> + <location filename="../../ProjectPyramid/Project.py" line="494"/> <source><p>The new form file <b>{0}</b> could not be created.<br/>Problem: {1}</p></source> <translation><p>Die neue Formulardatei <b>{0}</b> konnte nicht erstellt werden.<br/>Problem: {1}</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="756"/> + <location filename="../../ProjectPyramid/Project.py" line="837"/> <source>Select Pyramid Project</source> <translation>Pyramid Projekt auswählen</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="756"/> + <location filename="../../ProjectPyramid/Project.py" line="837"/> <source>Select the Pyramid project to work with.</source> <translation>Wähle das Pyramid Projekt aus, mit dem gearbeitet werden soll.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="794"/> + <location filename="../../ProjectPyramid/Project.py" line="875"/> <source>None</source> <translation>keines</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="797"/> + <location filename="../../ProjectPyramid/Project.py" line="878"/> <source>&Current Pyramid Project ({0})</source> <translation>&Aktuelles Pyramid Projekt ({0})</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1404"/> + <location filename="../../ProjectPyramid/Project.py" line="1507"/> <source>No current Pyramid project selected or no Pyramid project created yet. Aborting...</source> <translation>Kein aktuelles Pyramid Projekt ausgewählt oder noch keines erstellt. Abbruch...</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1449"/> + <location filename="../../ProjectPyramid/Project.py" line="1552"/> <source>Process Generation Error</source> <translation>Fehler bei der Prozessgenerierung</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="876"/> + <location filename="../../ProjectPyramid/Project.py" line="964"/> <source>The Pyramid server could not be started.</source> <translation>Der Pyramid Server konnte nicht gestartet werden.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="916"/> + <location filename="../../ProjectPyramid/Project.py" line="1007"/> <source>Could not start the web-browser for the URL "{0}".</source> <translation>Der Web-Browser konnte nicht für die URL "{0}" gestartet werden.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="950"/> + <location filename="../../ProjectPyramid/Project.py" line="1041"/> <source>The Pyramid Shell process could not be started.</source> <translation>Der Pyramid Konsolenprozess konnte nicht gestartet werden.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="977"/> + <location filename="../../ProjectPyramid/Project.py" line="1068"/> <source>Pyramid development environment setup successfully.</source> <translation>Die Pyramid Entwicklungsumgebung wurde erfolgreich eingerichtet.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="991"/> + <location filename="../../ProjectPyramid/Project.py" line="1084"/> <source>Build Distribution File</source> <translation>Distributionsdateien erzeugen</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1013"/> + <location filename="../../ProjectPyramid/Project.py" line="1106"/> <source>Python distribution file built successfully.</source> <translation>Python Distributionsdateien erfolgreich erzeugt.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1057"/> + <location filename="../../ProjectPyramid/Project.py" line="1150"/> <source>Database initialized successfully.</source> <translation>Datenbank erfolgreich initialisiert.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1081"/> + <location filename="../../ProjectPyramid/Project.py" line="1174"/> <source>Enter the URL to be matched:</source> <translation>Gib die zu überprüfende URL ein:</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1215"/> + <location filename="../../ProjectPyramid/Project.py" line="1313"/> <source>Extract messages</source> <translation>Texte extrahieren</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1230"/> + <location filename="../../ProjectPyramid/Project.py" line="1350"/> <source> Messages extracted successfully.</source> <translation>Texte erfolgreich extrahiert.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1277"/> + <location filename="../../ProjectPyramid/Project.py" line="1380"/> <source> Message catalog initialized successfully.</source> <translation> Textkatalog erfolgreich initialisiert.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1326"/> + <location filename="../../ProjectPyramid/Project.py" line="1429"/> <source>Compiling message catalogs</source> <translation>Übersetze Textkataloge</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1355"/> + <location filename="../../ProjectPyramid/Project.py" line="1458"/> <source> Message catalogs compiled successfully.</source> <translation> Textkataloge erfolgreich übersetzt.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1424"/> + <location filename="../../ProjectPyramid/Project.py" line="1527"/> <source>No locales detected. Aborting...</source> <translation>Keine Sprachen erkannt. Abbruch...</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1400"/> + <location filename="../../ProjectPyramid/Project.py" line="1503"/> <source>Updating message catalogs</source> <translation>Aktualisiere Textkataloge</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1429"/> + <location filename="../../ProjectPyramid/Project.py" line="1532"/> <source> Message catalogs updated successfully.</source> <translation> Textkataloge erfolgreich aktualisiert.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1260"/> + <location filename="../../ProjectPyramid/Project.py" line="1363"/> <source>Initializing message catalog for '{0}'</source> <translation>Initialisiere Textkatalog für '{0}'</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="621"/> + <location filename="../../ProjectPyramid/Project.py" line="700"/> <source><p>Pyramid is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.</p><p><table><tr><td>Version:</td><td>{0}</td></tr><tr><td>URL:</td><td><a href="{1}">{1}</a></td></tr></table></p></source> <translation><p>Pyramid ist ein Python Web-Framework, das eine schnelle Entwicklung und ein klares, pragmatisches Design fördert.</p><table><tr><td>Version:</td><td>{0}</td></tr><tr><td>URL:</td><td><a href="{1}">{1}</a></td></tr></table></p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="336"/> + <location filename="../../ProjectPyramid/Project.py" line="381"/> <source>Open with {0}</source> <translation>Mit [0} öffnen</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1449"/> + <location filename="../../ProjectPyramid/Project.py" line="1552"/> <source>The translations editor process ({0}) could not be started.</source> <translation>Der Prozess für den Übersetzungseditor ({0}) konnte nicht gestartet werden.</translation> </message> + <message> + <location filename="../../ProjectPyramid/Project.py" line="1328"/> + <source>No setup.cfg found or no "extract_messages" section found in setup.cfg.</source> + <translation>Keine setup.cfg gefunden bzw. keine Sektion "extract_messages" in setup.cfg vorhanden.</translation> + </message> + <message> + <location filename="../../ProjectPyramid/Project.py" line="1334"/> + <source>No "output_file" option found in setup.cfg.</source> + <translation>Keine Option "output_file" in setup.cfg vorhanden.</translation> + </message> </context> <context> <name>ProjectPyramidPlugin</name> <message> - <location filename="../../PluginProjectPyramid.py" line="386"/> + <location filename="../../PluginProjectPyramid.py" line="388"/> <source>Pyramid</source> <translation>Pyramid</translation> </message> <message> - <location filename="../../PluginProjectPyramid.py" line="162"/> + <location filename="../../PluginProjectPyramid.py" line="164"/> <source>eric5 version is too old, {0}, {1} or newer needed.</source> <translation>Die eric5 Version ist zu alt; {0}, {1} oder neuer wird benötigt.</translation> </message> @@ -685,12 +695,12 @@ <translation>Alt+K</translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidDialog.py" line="162"/> + <location filename="../../ProjectPyramid/PyramidDialog.py" line="168"/> <source>Process Generation Error</source> <translation>Fehler bei der Prozessgenerierung</translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidDialog.py" line="162"/> + <location filename="../../ProjectPyramid/PyramidDialog.py" line="168"/> <source>The process {0} could not be started. Ensure, that it is in the search path.</source> <translation>Der Prozess {0} konnte nicht gestartet werden. Bitte stellen sie sicher, dass er sich im Suchpfad befindet.</translation> </message> @@ -773,27 +783,27 @@ <translation>Gib die URL für die Pyramid Dokumentation ein</translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="61"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="63"/> <source>Plain Python</source> <translation>Normales Python</translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="62"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="64"/> <source>IPython</source> <translation>IPython</translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="63"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="65"/> <source>bpython</source> <translation>bpython</translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="117"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="119"/> <source>Select Virtual Environment for Python 3</source> <translation>Wähle die virtuelle Umgebung für Python 3</translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="135"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="137"/> <source>Select Virtual Environment for Python 2</source> <translation>Wähle die virtuelle Umgebung für Python 2</translation> </message> @@ -803,7 +813,7 @@ <translation>Konsole</translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="149"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="151"/> <source>Translations Editor</source> <translation>Übersetzungseditor</translation> </message> @@ -818,7 +828,7 @@ <translation>Wähle den Übersetzungseditor über einen Auswahldialog aus</translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="149"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="151"/> <source>All Files (*)</source> <translation>Alle Dateien (*)</translation> </message> @@ -876,22 +886,22 @@ <translation>Alt+K</translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="96"/> + <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="102"/> <source>No routes found.</source> <translation>Keine Routen gefunden.</translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="129"/> + <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="135"/> <source>Getting routes...</source> <translation>Ermittle Routen...</translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="158"/> + <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="164"/> <source>Process Generation Error</source> <translation>Fehler bei der Prozessgenerierung</translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="158"/> + <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="164"/> <source>The process {0} could not be started. Ensure, that it is in the search path.</source> <translation>Der Prozess {0} konnte nicht gestartet werden. Bitte stellen sie sicher, dass er sich im Suchpfad befindet.</translation> </message>
--- a/ProjectPyramid/i18n/pyramid_en.ts Sat Sep 28 13:34:57 2013 +0200 +++ b/ProjectPyramid/i18n/pyramid_en.ts Sun Oct 27 22:43:17 2013 +0100 @@ -48,17 +48,17 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="53"/> + <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="59"/> <source>The pcreate command did not finish within 30s.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="56"/> + <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="62"/> <source>Could not start the pcreate executable.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="64"/> + <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="70"/> <source>Process Generation Error</source> <translation type="unfinished"></translation> </message> @@ -81,17 +81,17 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="54"/> + <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="60"/> <source>The python setup.py command did not finish within 30s.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="57"/> + <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="63"/> <source>Could not start the pcreate executable.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="68"/> + <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="74"/> <source>Process Generation Error</source> <translation type="unfinished"></translation> </message> @@ -124,22 +124,22 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="30"/> + <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="32"/> <source>Standard HTML 5 template</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="99"/> + <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="101"/> <source>Mako template with sections</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="42"/> + <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="44"/> <source>Standard HTML template</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="55"/> + <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="57"/> <source>Chameleon template</source> <translation type="unfinished"></translation> </message> @@ -147,479 +147,489 @@ <context> <name>Project</name> <message> - <location filename="../../ProjectPyramid/Project.py" line="65"/> + <location filename="../../ProjectPyramid/Project.py" line="110"/> <source>Current Pyramid Project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="69"/> + <location filename="../../ProjectPyramid/Project.py" line="114"/> <source>Selects the current Pyramid project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="71"/> + <location filename="../../ProjectPyramid/Project.py" line="116"/> <source><b>Current Pyramid Project</b><p>Selects the Pyramid project. Used for multi-project Pyramid projects to switch between the projects.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="698"/> + <location filename="../../ProjectPyramid/Project.py" line="779"/> <source>Create Pyramid Project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="83"/> + <location filename="../../ProjectPyramid/Project.py" line="128"/> <source>Create Pyramid &Project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="87"/> + <location filename="../../ProjectPyramid/Project.py" line="132"/> <source>Creates a new Pyramid project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="89"/> + <location filename="../../ProjectPyramid/Project.py" line="134"/> <source><b>Create Pyramid Project</b><p>Creates a new Pyramid project using "pcreate".</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="849"/> + <location filename="../../ProjectPyramid/Project.py" line="937"/> <source>Run Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="100"/> + <location filename="../../ProjectPyramid/Project.py" line="145"/> <source>Run &Server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="104"/> + <location filename="../../ProjectPyramid/Project.py" line="149"/> <source>Starts the Pyramid Web server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="106"/> + <location filename="../../ProjectPyramid/Project.py" line="151"/> <source><b>Run Server</b><p>Starts the Pyramid Web server using "pserve --reload development.ini".</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="114"/> + <location filename="../../ProjectPyramid/Project.py" line="159"/> <source>Run Server with Logging</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="114"/> + <location filename="../../ProjectPyramid/Project.py" line="159"/> <source>Run Server with &Logging</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="118"/> + <location filename="../../ProjectPyramid/Project.py" line="163"/> <source>Starts the Pyramid Web server with logging</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="120"/> + <location filename="../../ProjectPyramid/Project.py" line="165"/> <source><b>Run Server with Logging</b><p>Starts the Pyramid Web server with logging using "pserve --log-file=server.log --reload development.ini".</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="916"/> + <location filename="../../ProjectPyramid/Project.py" line="1007"/> <source>Run Web-Browser</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="128"/> + <location filename="../../ProjectPyramid/Project.py" line="173"/> <source>Run &Web-Browser</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="132"/> + <location filename="../../ProjectPyramid/Project.py" line="177"/> <source>Starts the default Web-Browser with the URL of the Pyramid Web server</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="134"/> + <location filename="../../ProjectPyramid/Project.py" line="179"/> <source><b>Run Web-Browser</b><p>Starts the default Web-Browser with the URL of the Pyramid Web server.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="931"/> + <location filename="../../ProjectPyramid/Project.py" line="1022"/> <source>Start Pyramid Python Console</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="142"/> + <location filename="../../ProjectPyramid/Project.py" line="187"/> <source>Start Pyramid &Python Console</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="146"/> + <location filename="../../ProjectPyramid/Project.py" line="191"/> <source>Starts an interactive Python interpreter</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="148"/> + <location filename="../../ProjectPyramid/Project.py" line="193"/> <source><b>Start Pyramid Python Console</b><p>Starts an interactive Python interpreter.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="962"/> + <location filename="../../ProjectPyramid/Project.py" line="1053"/> <source>Setup Development Environment</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="159"/> + <location filename="../../ProjectPyramid/Project.py" line="204"/> <source>Setup &Development Environment</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="163"/> + <location filename="../../ProjectPyramid/Project.py" line="208"/> <source>Setup the Pyramid project in development mode</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="165"/> + <location filename="../../ProjectPyramid/Project.py" line="210"/> <source><b>Setup Development Environment</b><p>Setup the Pyramid project in development mode using "python setup.py develop".</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1043"/> + <location filename="../../ProjectPyramid/Project.py" line="1136"/> <source>Initialize Database</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="177"/> + <location filename="../../ProjectPyramid/Project.py" line="222"/> <source>Initialize &Database</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="181"/> + <location filename="../../ProjectPyramid/Project.py" line="226"/> <source>Initializes (or re-initializes) the database of the current Pyramid project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="184"/> + <location filename="../../ProjectPyramid/Project.py" line="229"/> <source><b>Initialize Database</b><p>Initializes (or re-initializes) the database of the current Pyramid project.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1081"/> + <location filename="../../ProjectPyramid/Project.py" line="1174"/> <source>Show Matching Views</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="196"/> + <location filename="../../ProjectPyramid/Project.py" line="241"/> <source>Show Matching &Views</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="200"/> + <location filename="../../ProjectPyramid/Project.py" line="245"/> <source>Show views matching a given URL</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="202"/> + <location filename="../../ProjectPyramid/Project.py" line="247"/> <source><b>Show Matching Views</b><p>Show views matching a given URL.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1104"/> + <location filename="../../ProjectPyramid/Project.py" line="1197"/> <source>Show Routes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="209"/> + <location filename="../../ProjectPyramid/Project.py" line="254"/> <source>Show &Routes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="213"/> + <location filename="../../ProjectPyramid/Project.py" line="258"/> <source>Show all URL dispatch routes used by a Pyramid application</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="215"/> + <location filename="../../ProjectPyramid/Project.py" line="260"/> <source><b>Show Routes</b><p>Show all URL dispatch routes used by a Pyramid application in the order in which they are evaluated.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1125"/> + <location filename="../../ProjectPyramid/Project.py" line="1218"/> <source>Show Tween Objects</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="223"/> + <location filename="../../ProjectPyramid/Project.py" line="268"/> <source>Show &Tween Objects</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="227"/> + <location filename="../../ProjectPyramid/Project.py" line="272"/> <source>Show all implicit and explicit tween objects used by a Pyramid application</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="229"/> + <location filename="../../ProjectPyramid/Project.py" line="274"/> <source><b>Show Tween Objects</b><p>Show all implicit and explicit tween objects used by a Pyramid application.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="241"/> + <location filename="../../ProjectPyramid/Project.py" line="286"/> <source>Build Distribution</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="241"/> + <location filename="../../ProjectPyramid/Project.py" line="286"/> <source>Build &Distribution</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="245"/> + <location filename="../../ProjectPyramid/Project.py" line="290"/> <source>Builds a distribution file for the Pyramid project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="247"/> + <location filename="../../ProjectPyramid/Project.py" line="292"/> <source><b>Build Distribution</b><p>Builds a distribution file for the Pyramid project using "python setup.py sdist".</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="259"/> + <location filename="../../ProjectPyramid/Project.py" line="304"/> <source>Documentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="259"/> + <location filename="../../ProjectPyramid/Project.py" line="304"/> <source>D&ocumentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="263"/> + <location filename="../../ProjectPyramid/Project.py" line="308"/> <source>Shows the help viewer with the Pyramid documentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="265"/> + <location filename="../../ProjectPyramid/Project.py" line="310"/> <source><b>Documentation</b><p>Shows the help viewer with the Pyramid documentation.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="621"/> + <location filename="../../ProjectPyramid/Project.py" line="700"/> <source>About Pyramid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="276"/> + <location filename="../../ProjectPyramid/Project.py" line="321"/> <source>About P&yramid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="280"/> + <location filename="../../ProjectPyramid/Project.py" line="325"/> <source>Shows some information about Pyramid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="282"/> + <location filename="../../ProjectPyramid/Project.py" line="327"/> <source><b>About Pyramid</b><p>Shows some information about Pyramid.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="297"/> + <location filename="../../ProjectPyramid/Project.py" line="342"/> <source>P&yramid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="352"/> + <location filename="../../ProjectPyramid/Project.py" line="397"/> <source>New template...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="361"/> + <location filename="../../ProjectPyramid/Project.py" line="406"/> <source>Extract Messages</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="363"/> + <location filename="../../ProjectPyramid/Project.py" line="408"/> <source>Compile All Catalogs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="365"/> + <location filename="../../ProjectPyramid/Project.py" line="410"/> <source>Compile Selected Catalogs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="368"/> + <location filename="../../ProjectPyramid/Project.py" line="413"/> <source>Update All Catalogs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="370"/> + <location filename="../../ProjectPyramid/Project.py" line="415"/> <source>Update Selected Catalogs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="413"/> + <location filename="../../ProjectPyramid/Project.py" line="458"/> <source>Chameleon Templates (*.pt);;Chameleon Text Templates (*.txt);;Mako Templates (*.mako);;Mako Templates (*.mak);;HTML Files (*.html);;HTML Files (*.htm);;All Files (*)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="449"/> + <location filename="../../ProjectPyramid/Project.py" line="494"/> <source>New Form</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="436"/> + <location filename="../../ProjectPyramid/Project.py" line="481"/> <source>The file already exists! Overwrite it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="449"/> + <location filename="../../ProjectPyramid/Project.py" line="494"/> <source><p>The new form file <b>{0}</b> could not be created.<br/>Problem: {1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="756"/> + <location filename="../../ProjectPyramid/Project.py" line="837"/> <source>Select Pyramid Project</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="756"/> + <location filename="../../ProjectPyramid/Project.py" line="837"/> <source>Select the Pyramid project to work with.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="794"/> + <location filename="../../ProjectPyramid/Project.py" line="875"/> <source>None</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="797"/> + <location filename="../../ProjectPyramid/Project.py" line="878"/> <source>&Current Pyramid Project ({0})</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1404"/> + <location filename="../../ProjectPyramid/Project.py" line="1507"/> <source>No current Pyramid project selected or no Pyramid project created yet. Aborting...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1449"/> + <location filename="../../ProjectPyramid/Project.py" line="1552"/> <source>Process Generation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="876"/> + <location filename="../../ProjectPyramid/Project.py" line="964"/> <source>The Pyramid server could not be started.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="916"/> + <location filename="../../ProjectPyramid/Project.py" line="1007"/> <source>Could not start the web-browser for the URL "{0}".</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="950"/> + <location filename="../../ProjectPyramid/Project.py" line="1041"/> <source>The Pyramid Shell process could not be started.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="977"/> + <location filename="../../ProjectPyramid/Project.py" line="1068"/> <source>Pyramid development environment setup successfully.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="991"/> + <location filename="../../ProjectPyramid/Project.py" line="1084"/> <source>Build Distribution File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1013"/> + <location filename="../../ProjectPyramid/Project.py" line="1106"/> <source>Python distribution file built successfully.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1057"/> + <location filename="../../ProjectPyramid/Project.py" line="1150"/> <source>Database initialized successfully.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1081"/> + <location filename="../../ProjectPyramid/Project.py" line="1174"/> <source>Enter the URL to be matched:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1215"/> + <location filename="../../ProjectPyramid/Project.py" line="1313"/> <source>Extract messages</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1230"/> + <location filename="../../ProjectPyramid/Project.py" line="1350"/> <source> Messages extracted successfully.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1277"/> + <location filename="../../ProjectPyramid/Project.py" line="1380"/> <source> Message catalog initialized successfully.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1326"/> + <location filename="../../ProjectPyramid/Project.py" line="1429"/> <source>Compiling message catalogs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1355"/> + <location filename="../../ProjectPyramid/Project.py" line="1458"/> <source> Message catalogs compiled successfully.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1424"/> + <location filename="../../ProjectPyramid/Project.py" line="1527"/> <source>No locales detected. Aborting...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1400"/> + <location filename="../../ProjectPyramid/Project.py" line="1503"/> <source>Updating message catalogs</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1429"/> + <location filename="../../ProjectPyramid/Project.py" line="1532"/> <source> Message catalogs updated successfully.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1260"/> + <location filename="../../ProjectPyramid/Project.py" line="1363"/> <source>Initializing message catalog for '{0}'</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="621"/> + <location filename="../../ProjectPyramid/Project.py" line="700"/> <source><p>Pyramid is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.</p><p><table><tr><td>Version:</td><td>{0}</td></tr><tr><td>URL:</td><td><a href="{1}">{1}</a></td></tr></table></p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="336"/> + <location filename="../../ProjectPyramid/Project.py" line="381"/> <source>Open with {0}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1449"/> + <location filename="../../ProjectPyramid/Project.py" line="1552"/> <source>The translations editor process ({0}) could not be started.</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../../ProjectPyramid/Project.py" line="1328"/> + <source>No setup.cfg found or no "extract_messages" section found in setup.cfg.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ProjectPyramid/Project.py" line="1334"/> + <source>No "output_file" option found in setup.cfg.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ProjectPyramidPlugin</name> <message> - <location filename="../../PluginProjectPyramid.py" line="386"/> + <location filename="../../PluginProjectPyramid.py" line="388"/> <source>Pyramid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../PluginProjectPyramid.py" line="162"/> + <location filename="../../PluginProjectPyramid.py" line="164"/> <source>eric5 version is too old, {0}, {1} or newer needed.</source> <translation type="unfinished"></translation> </message> @@ -682,12 +692,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidDialog.py" line="162"/> + <location filename="../../ProjectPyramid/PyramidDialog.py" line="168"/> <source>Process Generation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidDialog.py" line="162"/> + <location filename="../../ProjectPyramid/PyramidDialog.py" line="168"/> <source>The process {0} could not be started. Ensure, that it is in the search path.</source> <translation type="unfinished"></translation> </message> @@ -770,27 +780,27 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="61"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="63"/> <source>Plain Python</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="62"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="64"/> <source>IPython</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="63"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="65"/> <source>bpython</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="117"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="119"/> <source>Select Virtual Environment for Python 3</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="135"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="137"/> <source>Select Virtual Environment for Python 2</source> <translation type="unfinished"></translation> </message> @@ -800,7 +810,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="149"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="151"/> <source>Translations Editor</source> <translation type="unfinished"></translation> </message> @@ -815,7 +825,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="149"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="151"/> <source>All Files (*)</source> <translation type="unfinished"></translation> </message> @@ -873,22 +883,22 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="96"/> + <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="102"/> <source>No routes found.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="129"/> + <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="135"/> <source>Getting routes...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="158"/> + <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="164"/> <source>Process Generation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="158"/> + <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="164"/> <source>The process {0} could not be started. Ensure, that it is in the search path.</source> <translation type="unfinished"></translation> </message>
--- a/ProjectPyramid/i18n/pyramid_es.ts Sat Sep 28 13:34:57 2013 +0200 +++ b/ProjectPyramid/i18n/pyramid_es.ts Sun Oct 27 22:43:17 2013 +0100 @@ -48,17 +48,17 @@ <translation>Simular creación de proyecto Piramid</translation> </message> <message> - <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="53"/> + <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="59"/> <source>The pcreate command did not finish within 30s.</source> <translation>El comando pcreate no ha terminado en 30s o menos.</translation> </message> <message> - <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="56"/> + <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="62"/> <source>Could not start the pcreate executable.</source> <translation>No se ha podido iniciar el ejecutable de pcreate.</translation> </message> <message> - <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="64"/> + <location filename="../../ProjectPyramid/CreateParametersDialog.py" line="70"/> <source>Process Generation Error</source> <translation>Error de Generación de Proceso</translation> </message> @@ -81,17 +81,17 @@ <translation>Comprobar los formatos de archivo de distribución que deberían ser generados</translation> </message> <message> - <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="54"/> + <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="60"/> <source>The python setup.py command did not finish within 30s.</source> <translation>El comando python setup.py no ha terminado en 30s o menos.</translation> </message> <message> - <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="57"/> + <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="63"/> <source>Could not start the pcreate executable.</source> <translation>No se ha podido iniciar el ejecutable de pcreate.</translation> </message> <message> - <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="68"/> + <location filename="../../ProjectPyramid/DistributionTypeSelectionDialog.py" line="74"/> <source>Process Generation Error</source> <translation>Error de Generación de Proceso</translation> </message> @@ -124,22 +124,22 @@ <translation>Muestra el texto de la plantilla seleccionada</translation> </message> <message> - <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="30"/> + <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="32"/> <source>Standard HTML 5 template</source> <translation>Plantilla Estándar HTML 5</translation> </message> <message> - <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="99"/> + <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="101"/> <source>Mako template with sections</source> <translation>Plantilla Mako con secciones</translation> </message> <message> - <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="42"/> + <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="44"/> <source>Standard HTML template</source> <translation>Plantilla Estándar HTML</translation> </message> <message> - <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="55"/> + <location filename="../../ProjectPyramid/FormSelectionDialog.py" line="57"/> <source>Chameleon template</source> <translation>Plantilla Chameleon</translation> </message> @@ -147,332 +147,332 @@ <context> <name>Project</name> <message> - <location filename="../../ProjectPyramid/Project.py" line="65"/> + <location filename="../../ProjectPyramid/Project.py" line="110"/> <source>Current Pyramid Project</source> <translation>Proyecto Pyramid Actual</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="69"/> + <location filename="../../ProjectPyramid/Project.py" line="114"/> <source>Selects the current Pyramid project</source> <translation>Selecciona el proyecto Piramid actual</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="71"/> + <location filename="../../ProjectPyramid/Project.py" line="116"/> <source><b>Current Pyramid Project</b><p>Selects the Pyramid project. Used for multi-project Pyramid projects to switch between the projects.</p></source> <translation><b>Proyecto Pyramid Actual</b><p>Seleciona el proyecto Pyramid. Se utiliza en proyectos Pyramid multi-proyecto Pyramid projects para cambiar entre proyectos.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="698"/> + <location filename="../../ProjectPyramid/Project.py" line="779"/> <source>Create Pyramid Project</source> <translation>Crear Proyecto Pyramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="83"/> + <location filename="../../ProjectPyramid/Project.py" line="128"/> <source>Create Pyramid &Project</source> <translation>Crear &Proyecto Pyramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="87"/> + <location filename="../../ProjectPyramid/Project.py" line="132"/> <source>Creates a new Pyramid project</source> <translation>Crea un nuevo proyecto Pyramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="89"/> + <location filename="../../ProjectPyramid/Project.py" line="134"/> <source><b>Create Pyramid Project</b><p>Creates a new Pyramid project using "pcreate".</p></source> <translation><b>Crear Proyecto Pyramid </b><p>Crea un nuevo proyecto Pyramid usando "pcreate".</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="849"/> + <location filename="../../ProjectPyramid/Project.py" line="937"/> <source>Run Server</source> <translation>Lanzar Servidor</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="100"/> + <location filename="../../ProjectPyramid/Project.py" line="145"/> <source>Run &Server</source> <translation>Lanzar &Servidor</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="104"/> + <location filename="../../ProjectPyramid/Project.py" line="149"/> <source>Starts the Pyramid Web server</source> <translation>Inicia el servidor Web de Pyramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="106"/> + <location filename="../../ProjectPyramid/Project.py" line="151"/> <source><b>Run Server</b><p>Starts the Pyramid Web server using "pserve --reload development.ini".</p></source> <translation><b>Lanzar Servidor</b><p>Inicia el servidor Web de Pyramid usando "pserve --reload development.ini".</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="114"/> + <location filename="../../ProjectPyramid/Project.py" line="159"/> <source>Run Server with Logging</source> <translation>Lanzar Servidor con Log</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="114"/> + <location filename="../../ProjectPyramid/Project.py" line="159"/> <source>Run Server with &Logging</source> <translation>Lanzar Servidor con &Log</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="118"/> + <location filename="../../ProjectPyramid/Project.py" line="163"/> <source>Starts the Pyramid Web server with logging</source> <translation>Inicia el servidor Web de Pyramid con log</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="120"/> + <location filename="../../ProjectPyramid/Project.py" line="165"/> <source><b>Run Server with Logging</b><p>Starts the Pyramid Web server with logging using "pserve --log-file=server.log --reload development.ini".</p></source> <translation><b>Lanzar Servidor con Log</b><p>Inicia el servidor Web de Pyramid con log usando "pserve --log-file=server.log --reload development.ini".</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="916"/> + <location filename="../../ProjectPyramid/Project.py" line="1007"/> <source>Run Web-Browser</source> <translation>Lanzar Navegador Web</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="128"/> + <location filename="../../ProjectPyramid/Project.py" line="173"/> <source>Run &Web-Browser</source> <translation>Lanzar Navegador &Web</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="132"/> + <location filename="../../ProjectPyramid/Project.py" line="177"/> <source>Starts the default Web-Browser with the URL of the Pyramid Web server</source> <translation>Inicia el Navegador Web por defecto con la URL del servidor Web de Pyramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="134"/> + <location filename="../../ProjectPyramid/Project.py" line="179"/> <source><b>Run Web-Browser</b><p>Starts the default Web-Browser with the URL of the Pyramid Web server.</p></source> <translation><b>Lanzar Navegador Web</b><p>Inicia el Navegador Web por defecto con la URL del servidor Web de Pyramid.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="931"/> + <location filename="../../ProjectPyramid/Project.py" line="1022"/> <source>Start Pyramid Python Console</source> <translation>Iniciar Consola Python de Pyramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="142"/> + <location filename="../../ProjectPyramid/Project.py" line="187"/> <source>Start Pyramid &Python Console</source> <translation>Iniciar Consola &Python de Pyramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="146"/> + <location filename="../../ProjectPyramid/Project.py" line="191"/> <source>Starts an interactive Python interpreter</source> <translation>Inicia un intérprete interactivo de Python</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="148"/> + <location filename="../../ProjectPyramid/Project.py" line="193"/> <source><b>Start Pyramid Python Console</b><p>Starts an interactive Python interpreter.</p></source> <translation><b>Iniciar Consola Python de Pyramid</b><p>Inicia un intérprete interactivo de Python.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="962"/> + <location filename="../../ProjectPyramid/Project.py" line="1053"/> <source>Setup Development Environment</source> <translation>Configurar Entorno de Desarrollo</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="159"/> + <location filename="../../ProjectPyramid/Project.py" line="204"/> <source>Setup &Development Environment</source> <translation>Configurar Entorno de &Desarrollo</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="163"/> + <location filename="../../ProjectPyramid/Project.py" line="208"/> <source>Setup the Pyramid project in development mode</source> <translation>Configurar el proyecto Pyramid en modo de desarrollo</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="165"/> + <location filename="../../ProjectPyramid/Project.py" line="210"/> <source><b>Setup Development Environment</b><p>Setup the Pyramid project in development mode using "python setup.py develop".</p></source> <translation><b>Configurar Entorno de Desarrollo</b><p>Configurar el proyecto Pyramid en modo de desarrollo usando "python setup.py develop".</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1043"/> + <location filename="../../ProjectPyramid/Project.py" line="1136"/> <source>Initialize Database</source> <translation>Inicializar Base de Datos</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="177"/> + <location filename="../../ProjectPyramid/Project.py" line="222"/> <source>Initialize &Database</source> <translation>Inicializar Base de &Datos</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="181"/> + <location filename="../../ProjectPyramid/Project.py" line="226"/> <source>Initializes (or re-initializes) the database of the current Pyramid project</source> <translation>Inicializa (o reinicializa) la base de datos del proyecto Pyramid actual</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="184"/> + <location filename="../../ProjectPyramid/Project.py" line="229"/> <source><b>Initialize Database</b><p>Initializes (or re-initializes) the database of the current Pyramid project.</p></source> <translation><b>Inicializar Base de Datos</b><p>Inicializa (o reinicializa) la base de datos del proyecto Pyramid actual.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1081"/> + <location filename="../../ProjectPyramid/Project.py" line="1174"/> <source>Show Matching Views</source> <translation>Mostrar Vistas Concordantes</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="196"/> + <location filename="../../ProjectPyramid/Project.py" line="241"/> <source>Show Matching &Views</source> <translation>Mostrar &Vistas Concordantes</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="200"/> + <location filename="../../ProjectPyramid/Project.py" line="245"/> <source>Show views matching a given URL</source> <translation>Mostrar vistas que concuerdan con una URL dada</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="202"/> + <location filename="../../ProjectPyramid/Project.py" line="247"/> <source><b>Show Matching Views</b><p>Show views matching a given URL.</p></source> <translation><b>Mostrar Vistas Concordantes</b><p>Mostrar vistas que concuerdan con una URL dada.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1104"/> + <location filename="../../ProjectPyramid/Project.py" line="1197"/> <source>Show Routes</source> <translation>Mostrar Rutas</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="209"/> + <location filename="../../ProjectPyramid/Project.py" line="254"/> <source>Show &Routes</source> <translation>Mostrar &Rutas</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="213"/> + <location filename="../../ProjectPyramid/Project.py" line="258"/> <source>Show all URL dispatch routes used by a Pyramid application</source> <translation>Mostrar todas las rutas URL de despacho usadas por una aplicación Pyramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="215"/> + <location filename="../../ProjectPyramid/Project.py" line="260"/> <source><b>Show Routes</b><p>Show all URL dispatch routes used by a Pyramid application in the order in which they are evaluated.</p></source> <translation><b>Mostrar Rutas</b><p>Mostrar todas las rutas URL de despacho usadas por una aplicación Pyramid en el orden en que son evaluadas.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1125"/> + <location filename="../../ProjectPyramid/Project.py" line="1218"/> <source>Show Tween Objects</source> <translation>Mostrar Objetos Gemelos</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="223"/> + <location filename="../../ProjectPyramid/Project.py" line="268"/> <source>Show &Tween Objects</source> <translation>Mos&trar Objetos Gemelos</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="227"/> + <location filename="../../ProjectPyramid/Project.py" line="272"/> <source>Show all implicit and explicit tween objects used by a Pyramid application</source> <translation>Mostrar todos los objetos gemelos implícitos y explícitos usados por una aplicación Pyramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="229"/> + <location filename="../../ProjectPyramid/Project.py" line="274"/> <source><b>Show Tween Objects</b><p>Show all implicit and explicit tween objects used by a Pyramid application.</p></source> <translation><b>Mostrar Objetos Gemelos</b><p>Mostrar todos los objetos gemelos implícitos y explícitos usados por una aplicación Pyramid.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="241"/> + <location filename="../../ProjectPyramid/Project.py" line="286"/> <source>Build Distribution</source> <translation>Construir Distribución</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="241"/> + <location filename="../../ProjectPyramid/Project.py" line="286"/> <source>Build &Distribution</source> <translation>Construir &Distribución</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="245"/> + <location filename="../../ProjectPyramid/Project.py" line="290"/> <source>Builds a distribution file for the Pyramid project</source> <translation>Construye un archivo de distribución para el proyecto Pyramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="247"/> + <location filename="../../ProjectPyramid/Project.py" line="292"/> <source><b>Build Distribution</b><p>Builds a distribution file for the Pyramid project using "python setup.py sdist".</p></source> <translation><b>Construir Distribución</b><p>Construye un archivo de distribución para el proyecto Pyramid usando "python setup.py sdist".</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="259"/> + <location filename="../../ProjectPyramid/Project.py" line="304"/> <source>Documentation</source> <translation>Documentación</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="259"/> + <location filename="../../ProjectPyramid/Project.py" line="304"/> <source>D&ocumentation</source> <translation>D&ocumentación</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="263"/> + <location filename="../../ProjectPyramid/Project.py" line="308"/> <source>Shows the help viewer with the Pyramid documentation</source> <translation>Muestra el visor de ayuda con la documentación de Pyramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="265"/> + <location filename="../../ProjectPyramid/Project.py" line="310"/> <source><b>Documentation</b><p>Shows the help viewer with the Pyramid documentation.</p></source> <translation><b>Documentación</b><p>Muestra el visor de ayuda con la documentación de Pyramid.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="621"/> + <location filename="../../ProjectPyramid/Project.py" line="700"/> <source>About Pyramid</source> <translation>Acerca de Pyramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="276"/> + <location filename="../../ProjectPyramid/Project.py" line="321"/> <source>About P&yramid</source> <translation>Acerca de P&yramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="280"/> + <location filename="../../ProjectPyramid/Project.py" line="325"/> <source>Shows some information about Pyramid</source> <translation>Muestra información sobre Pyramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="282"/> + <location filename="../../ProjectPyramid/Project.py" line="327"/> <source><b>About Pyramid</b><p>Shows some information about Pyramid.</p></source> <translation><b>Acerca de Pyramid</b><p>Muestra información acerca de Pyramid.</p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="297"/> + <location filename="../../ProjectPyramid/Project.py" line="342"/> <source>P&yramid</source> <translation>P&yramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="352"/> + <location filename="../../ProjectPyramid/Project.py" line="397"/> <source>New template...</source> <translation>Nueva Plantilla...</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="361"/> + <location filename="../../ProjectPyramid/Project.py" line="406"/> <source>Extract Messages</source> <translation>Extraer Mensajes</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="363"/> + <location filename="../../ProjectPyramid/Project.py" line="408"/> <source>Compile All Catalogs</source> <translation>Compilar Todos los Catálogos</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="365"/> + <location filename="../../ProjectPyramid/Project.py" line="410"/> <source>Compile Selected Catalogs</source> <translation>Compilar Catálogos Seleccionados</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="368"/> + <location filename="../../ProjectPyramid/Project.py" line="413"/> <source>Update All Catalogs</source> <translation>Actualizar Todos los Catálogos</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="370"/> + <location filename="../../ProjectPyramid/Project.py" line="415"/> <source>Update Selected Catalogs</source> <translation>Actualizar Catálogos Seleccionados</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="413"/> + <location filename="../../ProjectPyramid/Project.py" line="458"/> <source>Chameleon Templates (*.pt);;Chameleon Text Templates (*.txt);;Mako Templates (*.mako);;Mako Templates (*.mak);;HTML Files (*.html);;HTML Files (*.htm);;All Files (*)</source> <translation>Plantillas Chameleon (*.pt);;Plantillas de Texto Chameleon (*.txt);;Plantillas Mako (*.mako);;Plantillas Mako (*.mak);;Archivos HTML (*.html);;Archivos HTML (*.htm);;Todos los Archivos (*)</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="449"/> + <location filename="../../ProjectPyramid/Project.py" line="494"/> <source>New Form</source> <translation>Nuevo Formulario</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="436"/> + <location filename="../../ProjectPyramid/Project.py" line="481"/> <source>The file already exists! Overwrite it?</source> <translation>¡El archivo ya existe!¿Sobreescribirlo?</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="449"/> + <location filename="../../ProjectPyramid/Project.py" line="494"/> <source><p>The new form file <b>{0}</b> could not be created.<br/>Problem: {1}</p></source> <translation><p>No ha podido crearse el nuevo archivo de formulario <b>{0}</b>.<br/>Problema: {1}</p></translation> </message> @@ -482,150 +482,160 @@ <translation type="obsolete"><p>Pyramid es un framework Web de alto nivel para Python que promueve desarrollo rápido, y diseño pragmático y limpio.</p><p>URL: <a href="{0}">{0}</a></p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="756"/> + <location filename="../../ProjectPyramid/Project.py" line="837"/> <source>Select Pyramid Project</source> <translation>Seleccionar Proyecto Pyramid</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="756"/> + <location filename="../../ProjectPyramid/Project.py" line="837"/> <source>Select the Pyramid project to work with.</source> <translation>Seleccionar el proyecto Pyramid con el que trabajar.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="794"/> + <location filename="../../ProjectPyramid/Project.py" line="875"/> <source>None</source> <translation>Ninguno</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="797"/> + <location filename="../../ProjectPyramid/Project.py" line="878"/> <source>&Current Pyramid Project ({0})</source> <translation>Proyecto Pyramid A&ctual ({0})</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1404"/> + <location filename="../../ProjectPyramid/Project.py" line="1507"/> <source>No current Pyramid project selected or no Pyramid project created yet. Aborting...</source> <translation>No se ha seleccionado proyecto Pyramid actual o no hay creado todavía ningún proyecto Pyramid. Abortando...</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1449"/> + <location filename="../../ProjectPyramid/Project.py" line="1552"/> <source>Process Generation Error</source> <translation>Error de Generación de Proceso</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="876"/> + <location filename="../../ProjectPyramid/Project.py" line="964"/> <source>The Pyramid server could not be started.</source> <translation>No se ha podido iniciar el servidor de Pyramid.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="916"/> + <location filename="../../ProjectPyramid/Project.py" line="1007"/> <source>Could not start the web-browser for the URL "{0}".</source> <translation>No se ha podido inicialr el navegador web para la URL "{0}".</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="950"/> + <location filename="../../ProjectPyramid/Project.py" line="1041"/> <source>The Pyramid Shell process could not be started.</source> <translation>No se ha podido iniciar el proceso Shell de Pyramid.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="977"/> + <location filename="../../ProjectPyramid/Project.py" line="1068"/> <source>Pyramid development environment setup successfully.</source> <translation>Entorno de desarrollo de Pyramid configurado con éxito.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="991"/> + <location filename="../../ProjectPyramid/Project.py" line="1084"/> <source>Build Distribution File</source> <translation>Construir Archivo de Distribución</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1013"/> + <location filename="../../ProjectPyramid/Project.py" line="1106"/> <source>Python distribution file built successfully.</source> <translation>Archivo de distribución Python construido con éxito.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1057"/> + <location filename="../../ProjectPyramid/Project.py" line="1150"/> <source>Database initialized successfully.</source> <translation>Base de Datos inicializada con éxito.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1081"/> + <location filename="../../ProjectPyramid/Project.py" line="1174"/> <source>Enter the URL to be matched:</source> <translation>Introducir la URL a ser concordada:</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1215"/> + <location filename="../../ProjectPyramid/Project.py" line="1313"/> <source>Extract messages</source> <translation>Extraer mensajes</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1230"/> + <location filename="../../ProjectPyramid/Project.py" line="1350"/> <source> Messages extracted successfully.</source> <translation>Mensajes extraídos con éxito.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1277"/> + <location filename="../../ProjectPyramid/Project.py" line="1380"/> <source> Message catalog initialized successfully.</source> <translation>Catálogo de Mensajes inicializado con éxito.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1326"/> + <location filename="../../ProjectPyramid/Project.py" line="1429"/> <source>Compiling message catalogs</source> <translation>Compilando catálogos de mensajes</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1355"/> + <location filename="../../ProjectPyramid/Project.py" line="1458"/> <source> Message catalogs compiled successfully.</source> <translation>Catálogo de Mensajes compilado con éxito.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1424"/> + <location filename="../../ProjectPyramid/Project.py" line="1527"/> <source>No locales detected. Aborting...</source> <translation>No se han detectado traducciones. Abortando...</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1400"/> + <location filename="../../ProjectPyramid/Project.py" line="1503"/> <source>Updating message catalogs</source> <translation>Actualizando catálogos de mensajes</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1429"/> + <location filename="../../ProjectPyramid/Project.py" line="1532"/> <source> Message catalogs updated successfully.</source> <translation>Catálogo de Mensajes actualizado con éxito.</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1260"/> + <location filename="../../ProjectPyramid/Project.py" line="1363"/> <source>Initializing message catalog for '{0}'</source> <translation>Inicializando catálogo de mensajes para '{0}'</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="621"/> + <location filename="../../ProjectPyramid/Project.py" line="700"/> <source><p>Pyramid is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.</p><p><table><tr><td>Version:</td><td>{0}</td></tr><tr><td>URL:</td><td><a href="{1}">{1}</a></td></tr></table></p></source> <translation><p>Pyramid es un framework Web de alto nivel para Python que promueve desarrollo rápido, y diseño pragmático y limpio.</p><p><table><tr><td>Versión:</td><td>{0}</td></tr><tr><td>URL:</td><td><a href="{1}">{1}</a></td></tr></table></p></translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="336"/> + <location filename="../../ProjectPyramid/Project.py" line="381"/> <source>Open with {0}</source> <translation>Abrir con {0}</translation> </message> <message> - <location filename="../../ProjectPyramid/Project.py" line="1449"/> + <location filename="../../ProjectPyramid/Project.py" line="1552"/> <source>The translations editor process ({0}) could not be started.</source> <translation>El proceso de edición de traducciones ({0}) no ha podido ser iniciado.</translation> </message> + <message> + <location filename="../../ProjectPyramid/Project.py" line="1328"/> + <source>No setup.cfg found or no "extract_messages" section found in setup.cfg.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ProjectPyramid/Project.py" line="1334"/> + <source>No "output_file" option found in setup.cfg.</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ProjectPyramidPlugin</name> <message> - <location filename="../../PluginProjectPyramid.py" line="386"/> + <location filename="../../PluginProjectPyramid.py" line="388"/> <source>Pyramid</source> <translation></translation> </message> <message> - <location filename="../../PluginProjectPyramid.py" line="162"/> + <location filename="../../PluginProjectPyramid.py" line="164"/> <source>eric5 version is too old, {0}, {1} or newer needed.</source> <translation>La versión de eric5 es demasiado antigua, {0}, es necesaria {1} o más reciente .</translation> </message> @@ -688,12 +698,12 @@ <translation>Alt+P</translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidDialog.py" line="162"/> + <location filename="../../ProjectPyramid/PyramidDialog.py" line="168"/> <source>Process Generation Error</source> <translation>Error de Generación de Proceso</translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidDialog.py" line="162"/> + <location filename="../../ProjectPyramid/PyramidDialog.py" line="168"/> <source>The process {0} could not be started. Ensure, that it is in the search path.</source> <translation>No se ha podido iniciar el proceso {0}. Asegúrese de que está en la ruta de búsqueda.</translation> </message> @@ -776,27 +786,27 @@ <translation>Introducir la URL de la documentación de Pyramid</translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="61"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="63"/> <source>Plain Python</source> <translation>Python normal</translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="62"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="64"/> <source>IPython</source> <translation>IPython</translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="63"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="65"/> <source>bpython</source> <translation>bpython</translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="117"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="119"/> <source>Select Virtual Environment for Python 3</source> <translation>Seleccionar Entorno Virtual para Python 3</translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="135"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="137"/> <source>Select Virtual Environment for Python 2</source> <translation>Seleccionar Entorno Virtual para Python 2</translation> </message> @@ -806,7 +816,7 @@ <translation>Comando de Consola</translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="149"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="151"/> <source>Translations Editor</source> <translation>Editor de Traducciones</translation> </message> @@ -821,7 +831,7 @@ <translation>Seleccionar el editor de traducciones vía un diálogo de selección de archivo</translation> </message> <message> - <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="149"/> + <location filename="../../ProjectPyramid/ConfigurationPage/PyramidPage.py" line="151"/> <source>All Files (*)</source> <translation>Todos los Archivos (*)</translation> </message> @@ -879,22 +889,22 @@ <translation>Alt+P</translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="96"/> + <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="102"/> <source>No routes found.</source> <translation>No se han hallado rutas.</translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="129"/> + <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="135"/> <source>Getting routes...</source> <translation>Obteniendo rutas...</translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="158"/> + <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="164"/> <source>Process Generation Error</source> <translation>Error de Generación de Proceso</translation> </message> <message> - <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="158"/> + <location filename="../../ProjectPyramid/PyramidRoutesDialog.py" line="164"/> <source>The process {0} could not be started. Ensure, that it is in the search path.</source> <translation>No se ha podido iniciar el proceso {0}. Asegúrese de que está en la ruta de búsqueda.</translation> </message>