Mercurial > p > roundup > code
changeset 7401:6ebc9f6f5d8e
update locale files
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Wed, 24 May 2023 20:35:53 -0400 |
| parents | d364ef1d66c2 |
| children | bca4eaffb212 |
| files | locale/de.po locale/en.po locale/es.po locale/fr.po locale/hu.po locale/it.po locale/ja.po locale/lt.po locale/nb.po locale/roundup.pot locale/ru.po locale/zh_CN.po locale/zh_TW.po |
| diffstat | 13 files changed, 11288 insertions(+), 10113 deletions(-) [+] |
line wrap: on
line diff
--- a/locale/de.po Wed May 24 15:05:09 2023 -0400 +++ b/locale/de.po Wed May 24 20:35:53 2023 -0400 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Roundup 2.3.0\n" "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-03-03 17:28-0500\n" +"POT-Creation-Date: 2023-05-24 20:34-0400\n" "PO-Revision-Date: 2016-04-11 09:13+0200\n" "Last-Translator: Tobias Herp <tobias.herp@gmx.de>\n" "Language-Team: German Translators <roundup-devel@lists.sourceforge.net>\n" @@ -30,19 +30,39 @@ msgid "You may not retire the admin or anonymous user" msgstr "Sie können den Administrator oder den Gast-Benutzer nicht löschen" -#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 -#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 +#: ../roundup/admin.py:117 +msgid "Have 'display designator' show protected fields: creator. NYI" +msgstr "" + +#: ../roundup/admin.py:120 +msgid "Set indexer to use when running 'reindex' NYI" +msgstr "" + +#: ../roundup/admin.py:123 +msgid "Force reopening of tracker when running each command." +msgstr "" + +#: ../roundup/admin.py:125 +msgid "Show retired items in table, list etc. NYI" +msgstr "" + +#: ../roundup/admin.py:126 +msgid "Enable verbose output: tracing, descriptions..." +msgstr "" + +#: ../roundup/admin.py:138 ../roundup/admin.py:993 ../roundup/admin.py:1601 +#: ../roundup/admin.py:1633 ../roundup/admin.py:138:993 :1601:1633 #, python-format msgid "no such class \"%(classname)s\"" msgstr "Die Klasse \"%(classname)s\" existiert nicht" # ../roundup/admin.py:93 :97 -#: ../roundup/admin.py:124 +#: ../roundup/admin.py:150 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "Der Parameter \"%(arg)s\" entspricht nicht dem Format Eigenschaft=Wert" -#: ../roundup/admin.py:137 +#: ../roundup/admin.py:163 #, python-format msgid "" "Problem: %(message)s\n" @@ -51,7 +71,7 @@ "Problem: %(message)s\n" "\n" -#: ../roundup/admin.py:138 +#: ../roundup/admin.py:164 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -100,12 +120,12 @@ " roundup-admin help <Befehl> -- Hilfe zu einem Befehl anzeigen\n" " roundup-admin help all -- sämtliche Hilfen anzeigen\n" -#: ../roundup/admin.py:165 +#: ../roundup/admin.py:191 #, fuzzy msgid "Commands: " msgstr "Befehle:" -#: ../roundup/admin.py:172 +#: ../roundup/admin.py:198 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -113,7 +133,7 @@ "Befehle können abgekürzt werden, solange sie eindeutig bleiben, \n" "z.B. l == li == lis == list." -#: ../roundup/admin.py:201 +#: ../roundup/admin.py:227 #, fuzzy msgid "" "\n" @@ -240,12 +260,315 @@ "\n" "Befehlshilfe:\n" -#: ../roundup/admin.py:264 +#: ../roundup/admin.py:290 #, python-format msgid "%s:" msgstr "%s:" -#: ../roundup/admin.py:271 +# ../roundup/admin.py:336 :382 +#: ../roundup/admin.py:395 ../roundup/admin.py:1185 +#: ../roundup/admin.py:395:1185 +msgid "Templates:" +msgstr "Vorlagen:" + +# ../roundup/admin.py:339 :393 +#: ../roundup/admin.py:398 ../roundup/admin.py:1195 +#: ../roundup/admin.py:398:1195 +msgid "Back ends:" +msgstr "Datenbanken:" + +#: ../roundup/admin.py:415 +msgid "" +"Usage: commit\n" +" Commit changes made to the database during an interactive session.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" using this command.\n" +"\n" +" One-off commands on the command-line are automatically committed if\n" +" they are successful.\n" +" " +msgstr "" +"Verwendung: commit\n" +" Speichern der Datenbank-Änderungen.\n" +"\n" +" Falls die Datenbank Transaktionen unterstützt, werden Änderungen\n" +" während einer Bearbeitungs-Session erst nach einem \"commit\" an " +"die\n" +" Datenbank übermittelt.\n" +"\n" +" Einzelbefehle über die Kommandozeile werden sofort in die Datenbank\n" +" geschrieben.\n" +" " + +#: ../roundup/admin.py:430 +msgid "" +"Usage: create classname property=value ...\n" +" Create a new entry of a given class.\n" +"\n" +" This creates a new entry of the given class using the property\n" +" name=value arguments provided on the command line after the \"create" +"\"\n" +" command.\n" +" " +msgstr "" +"Verwendung: create Klassenname Eigenschaft=Wert ...\n" +" Erstellt einen neuen Eintrag der angegebenen Klasse.\n" +"\n" +" Ein neuer Eintrag der Klasse wird erstellt, und die Eigenschaften\n" +" werden mit den Werten initialisiert\n" +" " + +# ../roundup/admin.py:358 :483 :562 :612 :682 :703 :731 :802 :869 :940 :988 +# :1010 :1037 :1098 :1156 +#: ../roundup/admin.py:438 ../roundup/admin.py:512 ../roundup/admin.py:545 +#: ../roundup/admin.py:663 ../roundup/admin.py:749 ../roundup/admin.py:807 +#: ../roundup/admin.py:852 ../roundup/admin.py:977 ../roundup/admin.py:1020 +#: ../roundup/admin.py:1158 ../roundup/admin.py:1285 ../roundup/admin.py:1371 +#: ../roundup/admin.py:1482 ../roundup/admin.py:1591 ../roundup/admin.py:1623 +#: ../roundup/admin.py:1738 ../roundup/admin.py:1792 ../roundup/admin.py:1837 +#: ../roundup/admin.py:438:512 :1020:1158:1285 :1371:1482 :1591:1623 :1738:1792 +#: :1837 :545:663 :749:807 :852:977 +msgid "Not enough arguments supplied" +msgstr "Zu wenig Parameter übergeben" + +#: ../roundup/admin.py:458 +#, python-format +msgid "%(propname)s (Password): " +msgstr "%(propname)s (Passwort):" + +#: ../roundup/admin.py:461 +#, python-format +msgid " %(propname)s (Again): " +msgstr " %(propname)s (Wiederholen):" + +#: ../roundup/admin.py:465 +msgid "Sorry, try again..." +msgstr "Bitte erneut versuchen..." + +#: ../roundup/admin.py:470 +#, python-format +msgid "%(propname)s (%(proptype)s): " +msgstr "%(propname)s (%(proptype)s): " + +#: ../roundup/admin.py:489 +#, python-format +msgid "you must provide the \"%(propname)s\" property." +msgstr "Sie müssen einen Wert für \"%(propname)s\" angeben." + +#: ../roundup/admin.py:501 +#, fuzzy +msgid "" +"Usage: display designator[,designator]*\n" +"\n" +" Show the property values for the given node(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This lists the properties and their associated values\n" +" for the given node.\n" +" " +msgstr "" +"Verwendung: display Bezeichner[,Bezeichner]*\n" +" Zeigt alle Eigenschaften eines oder mehrerer Eintrage an.\n" +"\n" +" Der Befehl zeigt die Eigenschaften und ihre Werte des\n" +" gewählten Eintrags an.\n" +" " + +#: ../roundup/admin.py:528 +#, python-format +msgid "%(key)s: %(value)s" +msgstr "%(key)s: %(value)s" + +#. grab the directory to export to +#: ../roundup/admin.py:531 +msgid "" +"Usage: export [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files.\n" +" To exclude the files (e.g. for the msg or file class),\n" +" use the exporttables command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +"Verwendung: export [Klasse[,Klasse]] Exportverzeichnis\n" +" Exportiert die Datenbank in ein Verzeichnis mit CSV-Dateien.\n" +" Um die im Dateisystem abgelegten Daten fortzulassen (z. B.\n" +" die Klassen msg und file), verwenden Sie \"exporttables\".\n" +"\n" +" Wenn Sie Klassennamen übergeben, wird der Export auf diese " +"beschränkt\n" +" bzw. (wenn der ersten Klasse ein '-' vorgestellt wird) diese " +"fortgelassen.\n" +"\n" +" Die Daten werden als kommagetrennte Dateien in das angegebene\n" +" Exportverzeichnis geschrieben.\n" +" " + +#: ../roundup/admin.py:638 +msgid "" +"Usage: exporttables [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files, excluding the\n" +" files below $TRACKER_HOME/db/files/ (which can be archived " +"separately).\n" +" To include the files, use the export command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +"Verwendung: exporttables [Klasse[,Klasse]] Exportverzeichnis\n" +" Exportiert die Datenbank in ein Verzeichnis mit CSV-Dateien,\n" +" unter Fortlassung der im Dateisystem unter $TRACKER_HOME/db/files\n" +" abgelegten Daten; um diese mitzuexportieren, verwenden Sie \"export" +"\".\n" +"\n" +" Wenn Sie Klassennamen übergeben, wird der Export auf diese " +"beschränkt\n" +" bzw. (wenn der ersten Klasse ein '-' vorgestellt wird) diese " +"fortgelassen.\n" +"\n" +" Die Daten werden als kommagetrennte Dateien in das angegebene\n" +" Exportverzeichnis geschrieben.\n" +" " + +#: ../roundup/admin.py:653 +#, fuzzy +msgid "" +"Usage: filter classname propname=value ...\n" +" Find the nodes of the given class with a given property value.\n" +"\n" +" Find the nodes of the given class with a given property value.\n" +" Multiple values can be specified by separating them with commas.\n" +" If property is a string, all values must match. I.E. it's an\n" +" 'and' operation. If the property is a link/multilink any value\n" +" matches. I.E. an 'or' operation.\n" +" " +msgstr "" +"Verwendung: find Klassenname Eigenschaft=Wert ...\n" +" Findet Einträge, welche die angegebene Verlinkung aufweisen.\n" +"\n" +" Findet sämtliche Einträge einer Klasse, bei welchen die Link-\n" +" Eigenschaft den angegebenen Wert enthält. Der Wert kann entweder\n" +" als ID oder als Bezeichner (\"msg23\") spezifiziert werden.\n" +" " + +# ../roundup/admin.py:631 :669 :822 :834 :888 +#: ../roundup/admin.py:696 +#, fuzzy, python-format +msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." +msgstr "Die Klasse \"%(classname)s\" hat keine Eigenschaft \"%(propname)s\"" + +# ../roundup/admin.py:631 :669 :822 :834 :888 +#: ../roundup/admin.py:734 ../roundup/admin.py:795 ../roundup/admin.py:1305 +#: ../roundup/admin.py:1317 ../roundup/admin.py:1857 +#: ../roundup/admin.py:734:795 :1305:1317:1857 +#, python-format +msgid "%(classname)s has no property \"%(propname)s\"" +msgstr "Die Klasse \"%(classname)s\" hat keine Eigenschaft \"%(propname)s\"" + +#: ../roundup/admin.py:741 +msgid "" +"Usage: find classname propname=value ...\n" +" Find the nodes of the given class with a given link property value.\n" +"\n" +" Find the nodes of the given class with a given link property value.\n" +" The value may be either the nodeid of the linked node, or its key\n" +" value.\n" +" " +msgstr "" +"Verwendung: find Klassenname Eigenschaft=Wert ...\n" +" Findet Einträge, welche die angegebene Verlinkung aufweisen.\n" +"\n" +" Findet sämtliche Einträge einer Klasse, bei welchen die Link-\n" +" Eigenschaft den angegebenen Wert enthält. Der Wert kann entweder\n" +" als ID oder als Bezeichner (\"msg23\") spezifiziert werden.\n" +" " + +#: ../roundup/admin.py:802 +#, fuzzy +msgid "" +"Usage: genconfig <filename>\n" +" Generate a new tracker config file (ini style) with default\n" +" values in <filename>.\n" +" " +msgstr "" +"Verwendung: genconfig <filename>\n" +" Schreibt eine neue Tracker-Konfiguration (im \".ini\"-Format) mit \n" +" Standardwerten in die Datei <filename>.\n" +" " + +#: ../roundup/admin.py:820 +#, python-format +msgid "" +"Changing option\n" +" 'password_pbkdf2_default_rounds'\n" +"from old default of %(old_number)s to new default of %(new_number)s." +msgstr "" + +#: ../roundup/admin.py:831 +#, python-format +msgid "" +"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" +"than %s." +msgstr "" + +#: ../roundup/admin.py:842 +#, fuzzy +msgid "" +"Usage: get property designator[,designator]*\n" +" Get the given property of one or more designator(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Retrieves the property value of the nodes specified\n" +" by the designators.\n" +" " +msgstr "" +"Verwendung: get Eigenschaft Bezeichner[,Bezeichner]*\n" +" Gibt die Eigenschaft eines oder mehrerer Einträge zurück.\n" +"\n" +" Diese Funktion zeigt Ihnen die Werte einer bestimmten\n" +" Eigenschaft der gewünschten Einträge an.\n" +" " + +# ../roundup/admin.py:516 :531 +#: ../roundup/admin.py:886 ../roundup/admin.py:904 ../roundup/admin.py:886:904 +#, python-format +msgid "property %s is not of type Multilink or Link so -d flag does not apply." +msgstr "" +"Die Eigenschaft %s ist kein Multilink oder Link; die Option -d wird deshalb " +"hier nicht ausgewertet." + +# ../roundup/admin.py:539 :951 :1000 :1022 +#: ../roundup/admin.py:914 ../roundup/admin.py:995 ../roundup/admin.py:1635 +#: ../roundup/admin.py:914:995:1635 +#, python-format +msgid "no such %(classname)s node \"%(nodeid)s\"" +msgstr "" +"Es existiert kein Eintrag der Klasse %(classname)s mit der ID \"%(nodeid)s\"" + +#: ../roundup/admin.py:917 +#, python-format +msgid "no such %(classname)s property \"%(propname)s\"" +msgstr "" +"Die Eigenschaft \"%(propname)s\" ist für die Klasse \"%(classname)s\" nicht " +"definiert" + +#: ../roundup/admin.py:925 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -265,22 +588,124 @@ " all -- sämtlichen Hilfetext anzeigen\n" " " -#: ../roundup/admin.py:293 +#: ../roundup/admin.py:947 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "Zum Thema \"%(topic)s\" existiert leider kein Hilfetext" -# ../roundup/admin.py:336 :382 -#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 -msgid "Templates:" -msgstr "Vorlagen:" - -# ../roundup/admin.py:339 :393 -#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 -msgid "Back ends:" -msgstr "Datenbanken:" - -#: ../roundup/admin.py:414 +#: ../roundup/admin.py:964 +msgid "" +"Usage: history designator [skipquiet]\n" +" Show the history entries of a designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Lists the journal entries viewable by the user for the\n" +" node identified by the designator. If skipquiet is the\n" +" second argument, journal entries for quiet properties\n" +" are not shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1000 +msgid "" +"Usage: import import_dir\n" +" Import a database from the directory containing CSV files,\n" +" two per class to import.\n" +"\n" +" The files used in the import are:\n" +"\n" +" <class>.csv\n" +" This must define the same properties as the class (including\n" +" having a \"header\" line with those property names.)\n" +" <class>-journals.csv\n" +" This defines the journals for the items being imported.\n" +"\n" +" The imported nodes will have the same nodeid as defined in the\n" +" import file, thus replacing any existing content.\n" +"\n" +" The new nodes are added to the existing database - if you want to\n" +" create a new database using the imported data, then create a new\n" +" database (or, tediously, retire all the old data.)\n" +" " +msgstr "" +"Verwendung: import Importverzeichnis\n" +" Importiert Datensätze aus einem Verzeichnis mit CSV-Dateien\n" +"\n" +" Folgende Dateien werden beim Import verwendet:\n" +"\n" +" <Klasse>.csv\n" +" In dieser Datei sind die Daten zu den Einträgen einer Klasse.\n" +" Für sämtliche Eigenschaften der Klasse muss eine Spalte \n" +" exisitieren. In der ersten Zeile stehen die Eigenschaftsnamen.\n" +" <Klasse>-journals.csv\n" +" In dieser Datei wird der Bearbeitungs-Verlauf der Einträge\n" +" beschrieben.\n" +"\n" +" Importierte Einträge übernehmen die IDs, welche in den Dateien\n" +" definiert sind. Existierende Einträge mit denselben IDs werden\n" +" überschrieben.\n" +" Die Einträge werden in die existierende Datenbank geschrieben.\n" +" Falls eine neue, leere Datenbank verwendet werden soll, so müssen\n" +" Sie diese zuerst erstellen (oder sämtliche bestehenden Inhalte \n" +" verbergen).\n" +" " + +#: ../roundup/admin.py:1079 +msgid "" +"Usage: importtables export_dir\n" +"\n" +" This imports the database tables exported using exporttables.\n" +" " +msgstr "" + +#. password +#: ../roundup/admin.py:1086 +msgid "" +"Usage: initialise [adminpw]\n" +" Initialise a new Roundup tracker.\n" +"\n" +" The administrator details will be set at this step.\n" +"\n" +" Execute the tracker's initialisation function dbinit.init()\n" +" " +msgstr "" +"Verwendung: initialise [Admin-Passwort]\n" +" Initialisieren eines neuen Roundup-Trackers.\n" +"\n" +" Der Administrator-Benutzer wird eingerichtet.\n" +"\n" +" Die Funktion dbinit.init() wird aufgerufen\n" +" " + +#: ../roundup/admin.py:1100 +msgid "Admin Password: " +msgstr "Administratorpasswort: " + +#: ../roundup/admin.py:1101 +msgid " Confirm: " +msgstr " Wiederholen: " + +#: ../roundup/admin.py:1105 +msgid "Instance home does not exist" +msgstr "Tracker-Verzeichnis existiert nicht" + +#: ../roundup/admin.py:1109 +msgid "Instance has not been installed" +msgstr "Tracker-Instanz wurde nicht installiert" + +#: ../roundup/admin.py:1115 +msgid "" +"WARNING: The database is already initialised!\n" +"If you re-initialise it, you will lose all the data!\n" +"Erase it? Y/N: " +msgstr "" +"WARNUNG: Die Datenbank ist schon initialisiert!\n" +"Eine erneute Initialisierung löscht sämtliche Daten!\n" +"Wirklich löschen? Y/N: " + +#: ../roundup/admin.py:1135 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -333,25 +758,12 @@ " Siehe auch unter dem Hilfethema \"initopts\".\n" " " -# ../roundup/admin.py:358 :483 :562 :612 :682 :703 :731 :802 :869 :940 :988 -# :1010 :1037 :1098 :1156 -#: ../roundup/admin.py:437 ../roundup/admin.py:568 ../roundup/admin.py:671 -#: ../roundup/admin.py:764 ../roundup/admin.py:822 ../roundup/admin.py:908 -#: ../roundup/admin.py:967 ../roundup/admin.py:994 ../roundup/admin.py:1021 -#: ../roundup/admin.py:1098 ../roundup/admin.py:1193 ../roundup/admin.py:1279 -#: ../roundup/admin.py:1340 ../roundup/admin.py:1367 ../roundup/admin.py:1403 -#: ../roundup/admin.py:1531 ../roundup/admin.py:1615 -#: ../roundup/admin.py:437:568 :1021:1098:1193 :1279:1340 :1367:1403 :1531:1615 -#: :671:764 :822:908 :967:994 -msgid "Not enough arguments supplied" -msgstr "Zu wenig Parameter übergeben" - -#: ../roundup/admin.py:443 +#: ../roundup/admin.py:1164 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "Das angegebene Tracker-Verzeichnis \"%(parent)s\" existiert nicht" -#: ../roundup/admin.py:452 +#: ../roundup/admin.py:1173 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -362,22 +774,22 @@ "installiert zu sein! Eine erneute Installation löscht sämtliche Daten!\n" "Wirklich löschen? Y/N: " -#: ../roundup/admin.py:465 +#: ../roundup/admin.py:1186 #, fuzzy msgid "Select template" msgstr "Vorlagensatz auswählen [classic]:" -#: ../roundup/admin.py:475 +#: ../roundup/admin.py:1196 #, fuzzy msgid "Select backend" msgstr "Datenbank auswählen [anydbm]" -#: ../roundup/admin.py:486 +#: ../roundup/admin.py:1207 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "Fehler in der Konfiguration: \"%s\"" -#: ../roundup/admin.py:517 +#: ../roundup/admin.py:1238 #, fuzzy, python-format msgid "" "\n" @@ -389,11 +801,11 @@ " Sie sollten nun die Konfigurationsdatei des Trackers bearbeiten:\n" " %(config_file)s" -#: ../roundup/admin.py:527 +#: ../roundup/admin.py:1248 msgid " ... at a minimum, you must set following options:" msgstr " ... passen sie zumindest folgende Optionen an:" -#: ../roundup/admin.py:532 +#: ../roundup/admin.py:1253 #, python-format msgid "" "\n" @@ -419,140 +831,402 @@ " Anschließend MÜSSEN Sie \"roundup-admin initialise\" ausführen.\n" "---------------------------------------------------------------------------\n" -#: ../roundup/admin.py:563 -#, fuzzy +#: ../roundup/admin.py:1270 msgid "" -"Usage: genconfig <filename>\n" -" Generate a new tracker config file (ini style) with default\n" -" values in <filename>.\n" -" " -msgstr "" -"Verwendung: genconfig <filename>\n" -" Schreibt eine neue Tracker-Konfiguration (im \".ini\"-Format) mit \n" -" Standardwerten in die Datei <filename>.\n" +"Usage: list classname [property]\n" +" List the instances of a class.\n" +"\n" +" Lists all instances of the given class. If the property is not\n" +" specified, the \"label\" property is used. The label property is\n" +" tried in order: the key, \"name\", \"title\" and then the first\n" +" property, alphabetically.\n" +"\n" +" With -c, -S or -s print a list of item id's if no property\n" +" specified. If property specified, print list of that property\n" +" for every class instance.\n" " " - -#: ../roundup/admin.py:581 -#, python-format -msgid "" -"Changing option\n" -" 'password_pbkdf2_default_rounds'\n" -"from old default of %(old_number)s to new default of %(new_number)s." -msgstr "" - -#: ../roundup/admin.py:593 -#, python-format -msgid "" -"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" -"than %s." -msgstr "" - -#: ../roundup/admin.py:604 +msgstr "" +"Usage: list Klassenname [Eigenschaft]\n" +" Listet sämtliche Einträge einer Klasse auf.\n" +"\n" +" Es werden sämtliche Einträge der Klasse ausgegeben. Wird keine\n" +" Eigenschaft angegeben, so wird ein Bezeichner aus der folgenden\n" +" Liste generiert, mit absteigender Priorität:\n" +" Schlüsselfeld, ein Feld namens \"name\" oder \"title\". Falls\n" +" auch diese Felder nicht existieren, wird das \n" +" erste Feld alphabetisch sortiert angezeigt.\n" +"\n" +" Mit den Optionen -c, -S or -s wird eine Liste von IDs ausgegeben,\n" +" falls keine Eigenschaft angegeben wird. Sonst werden die Werte\n" +" dieser Eigenschaften sämtlicher Instanzen dieser Klasse " +"aufgelistet.\n" +" " + +#: ../roundup/admin.py:1283 +msgid "Too many arguments supplied" +msgstr "Sie haben zuviele Argumente übergeben" + +#: ../roundup/admin.py:1319 +#, python-format +msgid "%(nodeid)4s: %(value)s" +msgstr "%(nodeid)4s: %(value)s" + +#: ../roundup/admin.py:1323 #, fuzzy msgid "" -"Usage: updateconfig <filename>\n" -" Generate an updated tracker config file (ini style) in\n" -" <filename>. Use current settings from existing roundup\n" -" tracker in tracker home.\n" +"Usage: migrate\n" +"\n" +" Update a tracker's database to be compatible with the Roundup\n" +" codebase.\n" +"\n" +" You should run the \"migrate\" command for your tracker once\n" +" you've installed the latest codebase.\n" +"\n" +" Do this before you use the web, command-line or mail interface\n" +" and before any users access the tracker.\n" +"\n" +" This command will respond with either \"Tracker updated\" (if\n" +" you've not previously run it on an RDBMS backend) or \"No\n" +" migration action required\" (if you have run it, or have used\n" +" another interface to the tracker, or possibly because you are\n" +" using anydbm).\n" +"\n" +" It's safe to run this even if it's not required, so just get\n" +" into the habit.\n" " " msgstr "" -"Verwendung: genconfig <filename>\n" -" Schreibt eine neue Tracker-Konfiguration (im \".ini\"-Format) mit \n" -" Standardwerten in die Datei <filename>.\n" +"Verwendung: migrate\n" +" Aktualisiert die Datenbank eines Trackers, um sie mit dem aktuellen\n" +" Roundup-Code kompatibel zu machen\n" +"\n" +" Sie sollten \"migrate\" einmalig ausführen, wenn Sie auf die " +"neueste Roundup-Version aktualisiert haben.\n" +"\n" +" Tun Sie das, bevor Sie per Web (Internet-Browser), Kommandozeile\n" +" oder Mail auf den Tracker zugreifen.\n" +"\n" +" Das Kommando wird anschließend \"Tracker aktualisiert\" antworten\n" +" (sofern Sie es nicht schon vorher ausgeführt haben) oder\n" +" \"Keine Migration notwendig\" (wenn Sie es schon ausgeführt hatten,\n" +" oder ein anderes Datenbank-Backend verwendet haben, oder\n" +" vielleicht weil Sie anydbm verwenden.\n" +"\n" +" Es kann nicht schaden, dieses Kommando auszuführen, selbst wenn\n" +" es nicht nötig ist; also gewöhnen Sie es sich einfach an.\n" " " -#. password -#: ../roundup/admin.py:612 +#: ../roundup/admin.py:1344 +#, python-format +msgid "Tracker updated to schema version %s." +msgstr "" + +#: ../roundup/admin.py:1348 +#, fuzzy, python-format +msgid "No migration action required. At schema version %s." +msgstr "Keine Migration notwendig" + +#: ../roundup/admin.py:1353 msgid "" -"Usage: initialise [adminpw]\n" -" Initialise a new Roundup tracker.\n" -"\n" -" The administrator details will be set at this step.\n" -"\n" -" Execute the tracker's initialisation function dbinit.init()\n" +"Usage: pack period | date\n" +"\n" +" Remove journal entries older than a period of time specified or\n" +" before a certain date.\n" +"\n" +" A period is specified using the suffixes \"y\", \"m\", and \"d\". " +"The\n" +" suffix \"w\" (for \"week\") means 7 days.\n" +"\n" +" \"3y\" means three years\n" +" \"2y 1m\" means two years and one month\n" +" \"1m 25d\" means one month and 25 days\n" +" \"2w 3d\" means two weeks and three days\n" +"\n" +" Date format is \"YYYY-MM-DD\" eg:\n" +" 2001-01-01\n" +"\n" " " msgstr "" -"Verwendung: initialise [Admin-Passwort]\n" -" Initialisieren eines neuen Roundup-Trackers.\n" -"\n" -" Der Administrator-Benutzer wird eingerichtet.\n" -"\n" -" Die Funktion dbinit.init() wird aufgerufen\n" +"Verwendung: pack Periode | Datum\n" +" Entfernt den Bearbeitungsverlauf ab einem gewissen Datum.\n" +"\n" +" Das Datum kann als rückläufige Periode spezifiziert werden:\n" +" \"y\", \"m\", and \"d\". wobei \"w\" (Woche) für 7 Tage " +"steht.\n" +"\n" +" Beispiele:\n" +" \"3y\" steht für 3 Jahre\n" +" \"2y 1m\" steht für 2 Jahre und ein Monat\n" +" \"1m 25d\" steht für 1 Monat und 25 Tage\n" +" \"2w 3d\" steht für 2 Wochen und 3 Tage\n" +"\n" +" Das Datumsformat lautet \"JJJJ-MM-TT\", z.B:\n" +" 2001-06-27\n" +"\n" " " -#: ../roundup/admin.py:626 -msgid "Admin Password: " -msgstr "Administratorpasswort: " - -#: ../roundup/admin.py:627 -msgid " Confirm: " -msgstr " Wiederholen: " - -#: ../roundup/admin.py:631 -msgid "Instance home does not exist" -msgstr "Tracker-Verzeichnis existiert nicht" - -#: ../roundup/admin.py:635 -msgid "Instance has not been installed" -msgstr "Tracker-Instanz wurde nicht installiert" - -#: ../roundup/admin.py:641 +#: ../roundup/admin.py:1381 +msgid "Invalid format" +msgstr "Ungültiges Format" + +#: ../roundup/admin.py:1392 +msgid "" +"Usage: perftest [mode] [arguments]*\n" +"\n" +" Time operations in Roundup. Supported arguments:\n" +"\n" +" [password] [rounds=<integer>] [scheme=<scheme>]\n" +"\n" +" 'password' is the default mode. The tracker's config.ini\n" +" setting for 'password_pbkdf2_default_rounds' is the default\n" +" value for 'rounds'. On the command line, 'rounds' can include\n" +" thousands separator of ',' or '.'. 'scheme' is the default\n" +" coded into Roundup. List supported schemes by using 'scheme='.\n" +"\n" +" " +msgstr "" + +#: ../roundup/admin.py:1425 +msgid "Invalid 'rounds'. Must be larger than 999." +msgstr "" + +#: ../roundup/admin.py:1429 +#, python-format +msgid "Invalid 'rounds'. It must be an integer not: %s" +msgstr "" + +#: ../roundup/admin.py:1456 +msgid "scheme does not support rounds." +msgstr "" + +#: ../roundup/admin.py:1459 +#, python-format +msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" +msgstr "" + +#: ../roundup/admin.py:1465 msgid "" -"WARNING: The database is already initialised!\n" -"If you re-initialise it, you will lose all the data!\n" -"Erase it? Y/N: " -msgstr "" -"WARNUNG: Die Datenbank ist schon initialisiert!\n" -"Eine erneute Initialisierung löscht sämtliche Daten!\n" -"Wirklich löschen? Y/N: " - -#: ../roundup/admin.py:661 +"Usage: pragma setting=value | 'list'\n" +" Set internal admin settings to a value. E.G.\n" +"\n" +" pragma verbose=True\n" +" pragma verbose=yes\n" +" pragma verbose=on\n" +" pragma verbose=1\n" +"\n" +" will turn on verbose mode for roundup-admin.\n" +"\n" +" pragma list\n" +"\n" +" will show all settings and their current values. If verbose\n" +" is enabled hidden settings and descriptions will be shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1489 +#, python-format +msgid "Argument must be setting=value, was given: %s." +msgstr "" + +#: ../roundup/admin.py:1492 +msgid "Current settings and values (NYI - not yet implemented):" +msgstr "" + +#: ../roundup/admin.py:1505 +#, fuzzy, python-format +msgid "Unknown setting %s." +msgstr "Benutzername unbekannt" + +#: ../roundup/admin.py:1514 +#, python-format +msgid "Incorrect value for boolean setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1521 +#, python-format +msgid "Incorrect value for integer setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1527 +#, python-format +msgid "Internal error: pragma can not handle values of type: %s" +msgstr "" + +#: ../roundup/admin.py:1537 #, fuzzy msgid "" -"Usage: get property designator[,designator]*\n" -" Get the given property of one or more designator(s).\n" +"Usage: reindex [classname|classname:#-#|designator]*\n" +" Re-generate a tracker's search indexes.\n" +"\n" +" This will re-generate the search indexes for a tracker.\n" +" This will typically happen automatically.\n" +"\n" +" You can incrementally reindex using an argument like:\n" +"\n" +" reindex issue:23-1000\n" +"\n" +" to reindex issue class items 23-1000. Missing items\n" +" are reported but do not stop indexing of the range.\n" +" " +msgstr "" +"Verwendung: reindex [Klasse|Bezeichner]*\n" +" Der Volltext-Index eines Trackers wird neu erstellt.\n" +"\n" +" Der Volltext-Index wird neu generiert. Dies geschieht \n" +" normalerweise automatisch.\n" +" " + +#: ../roundup/admin.py:1560 +#, python-format +msgid "no such item \"%(designator)s\"" +msgstr "Der Eintrag \"%(designator)s\" existiert nicht" + +#: ../roundup/admin.py:1570 +#, fuzzy, python-format +msgid "no such item \"%(class)s%(id)s\"" +msgstr "Der Eintrag \"%(designator)s\" existiert nicht" + +#: ../roundup/admin.py:1582 +#, fuzzy +msgid "" +"Usage: restore designator[,designator]*\n" +" Restore the retired node specified by designator.\n" "\n" " A designator is a classname and a nodeid concatenated,\n" " eg. bug1, user10, ...\n" "\n" -" Retrieves the property value of the nodes specified\n" -" by the designators.\n" +" The given nodes will become available for users again.\n" " " msgstr "" -"Verwendung: get Eigenschaft Bezeichner[,Bezeichner]*\n" -" Gibt die Eigenschaft eines oder mehrerer Einträge zurück.\n" -"\n" -" Diese Funktion zeigt Ihnen die Werte einer bestimmten\n" -" Eigenschaft der gewünschten Einträge an.\n" +"Verwendung: restore Bezeichner[,Bezeichner]*\n" +" Ein oder mehrere verborgene Einträge werden wiederhergestellt.\n" +"\n" +" Ein verborgener Eintrag wird wiederhergestellt und ist danach\n" +" für die Benutzer wieder sichtbar.\n" " " -# ../roundup/admin.py:516 :531 -#: ../roundup/admin.py:705 ../roundup/admin.py:723 ../roundup/admin.py:705:723 -#, python-format -msgid "property %s is not of type Multilink or Link so -d flag does not apply." -msgstr "" -"Die Eigenschaft %s ist kein Multilink oder Link; die Option -d wird deshalb " -"hier nicht ausgewertet." - # ../roundup/admin.py:539 :951 :1000 :1022 -#: ../roundup/admin.py:733 ../roundup/admin.py:1297 ../roundup/admin.py:1352 -#: ../roundup/admin.py:733:1297:1352 -#, python-format -msgid "no such %(classname)s node \"%(nodeid)s\"" +#: ../roundup/admin.py:1607 +#, fuzzy +msgid "no such %(classname)s node \" % (nodeid)s\"" msgstr "" "Es existiert kein Eintrag der Klasse %(classname)s mit der ID \"%(nodeid)s\"" -#: ../roundup/admin.py:736 -#, python-format -msgid "no such %(classname)s property \"%(propname)s\"" -msgstr "" -"Die Eigenschaft \"%(propname)s\" ist für die Klasse \"%(classname)s\" nicht " -"definiert" - -#: ../roundup/admin.py:744 +#: ../roundup/admin.py:1613 #, fuzzy msgid "" -"Usage: set items property=value property=value ...\n" +"Usage: retire designator[,designator]*\n" +" Retire the node specified by designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This action indicates that a particular node is not to be retrieved\n" +" by the list or find commands, and its key value may be re-used.\n" +" " +msgstr "" +"Verwendung: retire Bezeichner[,Bezeichner]*\n" +" Verbirgt einen oder mehrere Einträge.\n" +"\n" +" Das Verbergen eines Eintrags bewirkt, dass dieser bei einer Suche\n" +" nicht mehr angezeigt wird. Der Schlüssel des verborgenen Eintrags\n" +" kann zudem wiederverwendet werden.\n" +" " + +#: ../roundup/admin.py:1641 +msgid "" +"Usage: rollback\n" +" Undo all changes that are pending commit to the database.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" manually. This command undoes all those changes, so a commit\n" +" immediately after would make no changes to the database.\n" +" " +msgstr "" +"Verwendung: rollback\n" +" Sämtliche nicht gespeicherte Änderungen werden verworfen.\n" +"\n" +" Falls die Datenbank Transaktionen unterstützt, werden dadurch\n" +" sämtliche noch nicht gespeicherte Änderungen (siehe \"commit\")\n" +" verworfen.\n" +" " + +#: ../roundup/admin.py:1654 +msgid "" +"Usage: security [Role name]\n" +"\n" +" Display the Permissions available to one or all Roles.\n" +" Also validates that any properties defined in a\n" +" permission are valid.\n" +"\n" +" Run this after changing your permissions to catch\n" +" typos.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1668 +#, fuzzy, python-format +msgid "No such Role \"%(role)s\"\n" +msgstr "Die Rolle \"%(role)s\" existiert nicht " + +#: ../roundup/admin.py:1674 +#, fuzzy, python-format +msgid "New Web users get the Roles \"%(role)s\"\n" +msgstr "Neue Web-Benutzer erhalten die Rollen \"%(role)s\"" + +#: ../roundup/admin.py:1677 +#, fuzzy, python-format +msgid "New Web users get the Role \"%(role)s\"\n" +msgstr "Neue Web-Benutzer erhalten die Rolle \"%(role)s\"" + +#: ../roundup/admin.py:1681 +#, fuzzy, python-format +msgid "New Email users get the Roles \"%(role)s\"\n" +msgstr "Neue E-Mail-Benutzer erhalten die Rollen \"%(role)s\"" + +#: ../roundup/admin.py:1683 +#, fuzzy, python-format +msgid "New Email users get the Role \"%(role)s\"\n" +msgstr "Neue E-Mail-Benutzer erhalten die Rolle \"%(role)s\"" + +#: ../roundup/admin.py:1686 +#, fuzzy, python-format +msgid "Role \"%(name)s\":\n" +msgstr "Rolle \"%(name)s\":" + +#: ../roundup/admin.py:1692 +#, fuzzy +msgid " %(description)s (%(name)s for \"%(klass)s\"" +msgstr "%(description)s (%(name)s einzig für \"%(klass)s\")" + +#: ../roundup/admin.py:1692 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" +msgstr "" +" %(description)s (%(name)s für \"%(klass)s\": ausschließlich %(properties)s)" + +#: ../roundup/admin.py:1705 +#, python-format +msgid "" +"\n" +" **Invalid properties for %(class)s: %(props)s\n" +"\n" +msgstr "" + +#: ../roundup/admin.py:1711 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" +msgstr "%(description)s (%(name)s einzig für \"%(klass)s\")" + +#: ../roundup/admin.py:1714 +#, fuzzy, python-format +msgid " %(description)s (%(name)s)\n" +msgstr " %(description)s (%(name)s)" + +#: ../roundup/admin.py:1718 +#, fuzzy +msgid "" +"Usage: set items property=value [property=value ...]\n" " Set the given properties of one or more items(s).\n" "\n" " The items are specified as a class or as a comma-separated\n" @@ -586,60 +1260,7 @@ "(\"1,2,3\").\n" " " -#: ../roundup/admin.py:812 -#, fuzzy -msgid "" -"Usage: filter classname propname=value ...\n" -" Find the nodes of the given class with a given property value.\n" -"\n" -" Find the nodes of the given class with a given property value.\n" -" Multiple values can be specified by separating them with commas.\n" -" If property is a string, all values must match. I.E. it's an\n" -" 'and' operation. If the property is a link/multilink any value\n" -" matches. I.E. an 'or' operation.\n" -" " -msgstr "" -"Verwendung: find Klassenname Eigenschaft=Wert ...\n" -" Findet Einträge, welche die angegebene Verlinkung aufweisen.\n" -"\n" -" Findet sämtliche Einträge einer Klasse, bei welchen die Link-\n" -" Eigenschaft den angegebenen Wert enthält. Der Wert kann entweder\n" -" als ID oder als Bezeichner (\"msg23\") spezifiziert werden.\n" -" " - -# ../roundup/admin.py:631 :669 :822 :834 :888 -#: ../roundup/admin.py:855 -#, fuzzy, python-format -msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." -msgstr "Die Klasse \"%(classname)s\" hat keine Eigenschaft \"%(propname)s\"" - -# ../roundup/admin.py:631 :669 :822 :834 :888 -#: ../roundup/admin.py:893 ../roundup/admin.py:954 ../roundup/admin.py:1118 -#: ../roundup/admin.py:1130 ../roundup/admin.py:1213 -#: ../roundup/admin.py:893:954 :1118:1130:1213 -#, python-format -msgid "%(classname)s has no property \"%(propname)s\"" -msgstr "Die Klasse \"%(classname)s\" hat keine Eigenschaft \"%(propname)s\"" - -#: ../roundup/admin.py:900 -msgid "" -"Usage: find classname propname=value ...\n" -" Find the nodes of the given class with a given link property value.\n" -"\n" -" Find the nodes of the given class with a given link property value.\n" -" The value may be either the nodeid of the linked node, or its key\n" -" value.\n" -" " -msgstr "" -"Verwendung: find Klassenname Eigenschaft=Wert ...\n" -" Findet Einträge, welche die angegebene Verlinkung aufweisen.\n" -"\n" -" Findet sämtliche Einträge einer Klasse, bei welchen die Link-\n" -" Eigenschaft den angegebenen Wert enthält. Der Wert kann entweder\n" -" als ID oder als Bezeichner (\"msg23\") spezifiziert werden.\n" -" " - -#: ../roundup/admin.py:961 +#: ../roundup/admin.py:1786 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -653,135 +1274,17 @@ " Zeigt sämtliche Eigenschaften der Klasse auf.\n" " " -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1802 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s (Schlüsseleigenschaft)" -#: ../roundup/admin.py:980 +#: ../roundup/admin.py:1805 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:983 -#, fuzzy -msgid "" -"Usage: display designator[,designator]*\n" -"\n" -" Show the property values for the given node(s).\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This lists the properties and their associated values\n" -" for the given node.\n" -" " -msgstr "" -"Verwendung: display Bezeichner[,Bezeichner]*\n" -" Zeigt alle Eigenschaften eines oder mehrerer Eintrage an.\n" -"\n" -" Der Befehl zeigt die Eigenschaften und ihre Werte des\n" -" gewählten Eintrags an.\n" -" " - -#: ../roundup/admin.py:1010 -#, python-format -msgid "%(key)s: %(value)s" -msgstr "%(key)s: %(value)s" - -#: ../roundup/admin.py:1013 -msgid "" -"Usage: create classname property=value ...\n" -" Create a new entry of a given class.\n" -"\n" -" This creates a new entry of the given class using the property\n" -" name=value arguments provided on the command line after the \"create" -"\"\n" -" command.\n" -" " -msgstr "" -"Verwendung: create Klassenname Eigenschaft=Wert ...\n" -" Erstellt einen neuen Eintrag der angegebenen Klasse.\n" -"\n" -" Ein neuer Eintrag der Klasse wird erstellt, und die Eigenschaften\n" -" werden mit den Werten initialisiert\n" -" " - -#: ../roundup/admin.py:1041 -#, python-format -msgid "%(propname)s (Password): " -msgstr "%(propname)s (Passwort):" - -#: ../roundup/admin.py:1044 -#, python-format -msgid " %(propname)s (Again): " -msgstr " %(propname)s (Wiederholen):" - -#: ../roundup/admin.py:1048 -msgid "Sorry, try again..." -msgstr "Bitte erneut versuchen..." - -#: ../roundup/admin.py:1052 -#, python-format -msgid "%(propname)s (%(proptype)s): " -msgstr "%(propname)s (%(proptype)s): " - -#: ../roundup/admin.py:1071 -#, python-format -msgid "you must provide the \"%(propname)s\" property." -msgstr "Sie müssen einen Wert für \"%(propname)s\" angeben." - -#: ../roundup/admin.py:1083 -msgid "" -"Usage: list classname [property]\n" -" List the instances of a class.\n" -"\n" -" Lists all instances of the given class. If the property is not\n" -" specified, the \"label\" property is used. The label property is\n" -" tried in order: the key, \"name\", \"title\" and then the first\n" -" property, alphabetically.\n" -"\n" -" With -c, -S or -s print a list of item id's if no property\n" -" specified. If property specified, print list of that property\n" -" for every class instance.\n" -" " -msgstr "" -"Usage: list Klassenname [Eigenschaft]\n" -" Listet sämtliche Einträge einer Klasse auf.\n" -"\n" -" Es werden sämtliche Einträge der Klasse ausgegeben. Wird keine\n" -" Eigenschaft angegeben, so wird ein Bezeichner aus der folgenden\n" -" Liste generiert, mit absteigender Priorität:\n" -" Schlüsselfeld, ein Feld namens \"name\" oder \"title\". Falls\n" -" auch diese Felder nicht existieren, wird das \n" -" erste Feld alphabetisch sortiert angezeigt.\n" -"\n" -" Mit den Optionen -c, -S or -s wird eine Liste von IDs ausgegeben,\n" -" falls keine Eigenschaft angegeben wird. Sonst werden die Werte\n" -" dieser Eigenschaften sämtlicher Instanzen dieser Klasse " -"aufgelistet.\n" -" " - -#: ../roundup/admin.py:1096 -msgid "Too many arguments supplied" -msgstr "Sie haben zuviele Argumente übergeben" - -#: ../roundup/admin.py:1132 -#, python-format -msgid "%(nodeid)4s: %(value)s" -msgstr "%(nodeid)4s: %(value)s" - -#: ../roundup/admin.py:1136 -msgid "" -"Usage: templates [trace_search]\n" -" List templates and their installed directories.\n" -"\n" -" With trace_search also list all directories that are\n" -" searched for templates.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1164 +#: ../roundup/admin.py:1808 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -844,487 +1347,69 @@ "\n" " " -#: ../roundup/admin.py:1208 +#: ../roundup/admin.py:1852 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "\"%(spec)s\" entspricht nicht dem Format Eigenschaft:Breite" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1874 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1266 -msgid "" -"Usage: history designator [skipquiet]\n" -" Show the history entries of a designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" Lists the journal entries viewable by the user for the\n" -" node identified by the designator. If skipquiet is the\n" -" second argument, journal entries for quiet properties\n" -" are not shown.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1302 +#: ../roundup/admin.py:1910 msgid "" -"Usage: commit\n" -" Commit changes made to the database during an interactive session.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" using this command.\n" -"\n" -" One-off commands on the command-line are automatically committed if\n" -" they are successful.\n" -" " -msgstr "" -"Verwendung: commit\n" -" Speichern der Datenbank-Änderungen.\n" -"\n" -" Falls die Datenbank Transaktionen unterstützt, werden Änderungen\n" -" während einer Bearbeitungs-Session erst nach einem \"commit\" an " -"die\n" -" Datenbank übermittelt.\n" -"\n" -" Einzelbefehle über die Kommandozeile werden sofort in die Datenbank\n" -" geschrieben.\n" +"Usage: templates [trace_search]\n" +" List templates and their installed directories.\n" +"\n" +" With trace_search also list all directories that are\n" +" searched for templates.\n" " " - -#: ../roundup/admin.py:1317 -msgid "" -"Usage: rollback\n" -" Undo all changes that are pending commit to the database.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" manually. This command undoes all those changes, so a commit\n" -" immediately after would make no changes to the database.\n" -" " -msgstr "" -"Verwendung: rollback\n" -" Sämtliche nicht gespeicherte Änderungen werden verworfen.\n" -"\n" -" Falls die Datenbank Transaktionen unterstützt, werden dadurch\n" -" sämtliche noch nicht gespeicherte Änderungen (siehe \"commit\")\n" -" verworfen.\n" -" " - -#: ../roundup/admin.py:1330 -#, fuzzy -msgid "" -"Usage: retire designator[,designator]*\n" -" Retire the node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This action indicates that a particular node is not to be retrieved\n" -" by the list or find commands, and its key value may be re-used.\n" -" " -msgstr "" -"Verwendung: retire Bezeichner[,Bezeichner]*\n" -" Verbirgt einen oder mehrere Einträge.\n" -"\n" -" Das Verbergen eines Eintrags bewirkt, dass dieser bei einer Suche\n" -" nicht mehr angezeigt wird. Der Schlüssel des verborgenen Eintrags\n" -" kann zudem wiederverwendet werden.\n" -" " - -#: ../roundup/admin.py:1358 +msgstr "" + +#: ../roundup/admin.py:1938 #, fuzzy msgid "" -"Usage: restore designator[,designator]*\n" -" Restore the retired node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" The given nodes will become available for users again.\n" -" " -msgstr "" -"Verwendung: restore Bezeichner[,Bezeichner]*\n" -" Ein oder mehrere verborgene Einträge werden wiederhergestellt.\n" -"\n" -" Ein verborgener Eintrag wird wiederhergestellt und ist danach\n" -" für die Benutzer wieder sichtbar.\n" -" " - -# ../roundup/admin.py:539 :951 :1000 :1022 -#: ../roundup/admin.py:1383 -#, fuzzy -msgid "no such %(classname)s node \" % (nodeid)s\"" -msgstr "" -"Es existiert kein Eintrag der Klasse %(classname)s mit der ID \"%(nodeid)s\"" - -#. grab the directory to export to -#: ../roundup/admin.py:1389 -msgid "" -"Usage: export [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files.\n" -" To exclude the files (e.g. for the msg or file class),\n" -" use the exporttables command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" -"Verwendung: export [Klasse[,Klasse]] Exportverzeichnis\n" -" Exportiert die Datenbank in ein Verzeichnis mit CSV-Dateien.\n" -" Um die im Dateisystem abgelegten Daten fortzulassen (z. B.\n" -" die Klassen msg und file), verwenden Sie \"exporttables\".\n" -"\n" -" Wenn Sie Klassennamen übergeben, wird der Export auf diese " -"beschränkt\n" -" bzw. (wenn der ersten Klasse ein '-' vorgestellt wird) diese " -"fortgelassen.\n" -"\n" -" Die Daten werden als kommagetrennte Dateien in das angegebene\n" -" Exportverzeichnis geschrieben.\n" -" " - -#: ../roundup/admin.py:1496 -msgid "" -"Usage: exporttables [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files, excluding the\n" -" files below $TRACKER_HOME/db/files/ (which can be archived " -"separately).\n" -" To include the files, use the export command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" -"Verwendung: exporttables [Klasse[,Klasse]] Exportverzeichnis\n" -" Exportiert die Datenbank in ein Verzeichnis mit CSV-Dateien,\n" -" unter Fortlassung der im Dateisystem unter $TRACKER_HOME/db/files\n" -" abgelegten Daten; um diese mitzuexportieren, verwenden Sie \"export" -"\".\n" -"\n" -" Wenn Sie Klassennamen übergeben, wird der Export auf diese " -"beschränkt\n" -" bzw. (wenn der ersten Klasse ein '-' vorgestellt wird) diese " -"fortgelassen.\n" -"\n" -" Die Daten werden als kommagetrennte Dateien in das angegebene\n" -" Exportverzeichnis geschrieben.\n" +"Usage: updateconfig <filename>\n" +" Generate an updated tracker config file (ini style) in\n" +" <filename>. Use current settings from existing roundup\n" +" tracker in tracker home.\n" " " - -#: ../roundup/admin.py:1511 -msgid "" -"Usage: import import_dir\n" -" Import a database from the directory containing CSV files,\n" -" two per class to import.\n" -"\n" -" The files used in the import are:\n" -"\n" -" <class>.csv\n" -" This must define the same properties as the class (including\n" -" having a \"header\" line with those property names.)\n" -" <class>-journals.csv\n" -" This defines the journals for the items being imported.\n" -"\n" -" The imported nodes will have the same nodeid as defined in the\n" -" import file, thus replacing any existing content.\n" -"\n" -" The new nodes are added to the existing database - if you want to\n" -" create a new database using the imported data, then create a new\n" -" database (or, tediously, retire all the old data.)\n" -" " -msgstr "" -"Verwendung: import Importverzeichnis\n" -" Importiert Datensätze aus einem Verzeichnis mit CSV-Dateien\n" -"\n" -" Folgende Dateien werden beim Import verwendet:\n" -"\n" -" <Klasse>.csv\n" -" In dieser Datei sind die Daten zu den Einträgen einer Klasse.\n" -" Für sämtliche Eigenschaften der Klasse muss eine Spalte \n" -" exisitieren. In der ersten Zeile stehen die Eigenschaftsnamen.\n" -" <Klasse>-journals.csv\n" -" In dieser Datei wird der Bearbeitungs-Verlauf der Einträge\n" -" beschrieben.\n" -"\n" -" Importierte Einträge übernehmen die IDs, welche in den Dateien\n" -" definiert sind. Existierende Einträge mit denselben IDs werden\n" -" überschrieben.\n" -" Die Einträge werden in die existierende Datenbank geschrieben.\n" -" Falls eine neue, leere Datenbank verwendet werden soll, so müssen\n" -" Sie diese zuerst erstellen (oder sämtliche bestehenden Inhalte \n" -" verbergen).\n" -" " - -#: ../roundup/admin.py:1590 -msgid "" -"Usage: importtables export_dir\n" -"\n" -" This imports the database tables exported using exporttables.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1597 -msgid "" -"Usage: pack period | date\n" -"\n" -" Remove journal entries older than a period of time specified or\n" -" before a certain date.\n" -"\n" -" A period is specified using the suffixes \"y\", \"m\", and \"d\". " -"The\n" -" suffix \"w\" (for \"week\") means 7 days.\n" -"\n" -" \"3y\" means three years\n" -" \"2y 1m\" means two years and one month\n" -" \"1m 25d\" means one month and 25 days\n" -" \"2w 3d\" means two weeks and three days\n" -"\n" -" Date format is \"YYYY-MM-DD\" eg:\n" -" 2001-01-01\n" -"\n" -" " -msgstr "" -"Verwendung: pack Periode | Datum\n" -" Entfernt den Bearbeitungsverlauf ab einem gewissen Datum.\n" -"\n" -" Das Datum kann als rückläufige Periode spezifiziert werden:\n" -" \"y\", \"m\", and \"d\". wobei \"w\" (Woche) für 7 Tage " -"steht.\n" -"\n" -" Beispiele:\n" -" \"3y\" steht für 3 Jahre\n" -" \"2y 1m\" steht für 2 Jahre und ein Monat\n" -" \"1m 25d\" steht für 1 Monat und 25 Tage\n" -" \"2w 3d\" steht für 2 Wochen und 3 Tage\n" -"\n" -" Das Datumsformat lautet \"JJJJ-MM-TT\", z.B:\n" -" 2001-06-27\n" -"\n" +msgstr "" +"Verwendung: genconfig <filename>\n" +" Schreibt eine neue Tracker-Konfiguration (im \".ini\"-Format) mit \n" +" Standardwerten in die Datei <filename>.\n" " " -#: ../roundup/admin.py:1625 -msgid "Invalid format" -msgstr "Ungültiges Format" - -#: ../roundup/admin.py:1638 -msgid "" -"Usage: reindex [classname|designator]*\n" -" Re-generate a tracker's search indexes.\n" -"\n" -" This will re-generate the search indexes for a tracker.\n" -" This will typically happen automatically.\n" -" " -msgstr "" -"Verwendung: reindex [Klasse|Bezeichner]*\n" -" Der Volltext-Index eines Trackers wird neu erstellt.\n" -"\n" -" Der Volltext-Index wird neu generiert. Dies geschieht \n" -" normalerweise automatisch.\n" -" " - -#: ../roundup/admin.py:1652 -#, python-format -msgid "no such item \"%(designator)s\"" -msgstr "Der Eintrag \"%(designator)s\" existiert nicht" - -#: ../roundup/admin.py:1662 -#, fuzzy -msgid "" -"Usage: security [Role name]\n" -"\n" -" Display the Permissions available to one or all Roles.\n" -" " -msgstr "" -"Verwendung: security [Rollenname]\n" -" Zeigt die Berechtigungen einer oder aller Rollen an.\n" -" " - -#: ../roundup/admin.py:1671 -#, fuzzy, python-format -msgid "No such Role \"%(role)s\"\n" -msgstr "Die Rolle \"%(role)s\" existiert nicht " - -#: ../roundup/admin.py:1677 -#, fuzzy, python-format -msgid "New Web users get the Roles \"%(role)s\"\n" -msgstr "Neue Web-Benutzer erhalten die Rollen \"%(role)s\"" - -#: ../roundup/admin.py:1680 -#, fuzzy, python-format -msgid "New Web users get the Role \"%(role)s\"\n" -msgstr "Neue Web-Benutzer erhalten die Rolle \"%(role)s\"" - -#: ../roundup/admin.py:1684 -#, fuzzy, python-format -msgid "New Email users get the Roles \"%(role)s\"\n" -msgstr "Neue E-Mail-Benutzer erhalten die Rollen \"%(role)s\"" - -#: ../roundup/admin.py:1686 -#, fuzzy, python-format -msgid "New Email users get the Role \"%(role)s\"\n" -msgstr "Neue E-Mail-Benutzer erhalten die Rolle \"%(role)s\"" - -#: ../roundup/admin.py:1689 -#, fuzzy, python-format -msgid "Role \"%(name)s\":\n" -msgstr "Rolle \"%(name)s\":" - -#: ../roundup/admin.py:1695 -#, fuzzy -msgid " %(description)s (%(name)s for \"%(klass)s\"" -msgstr "%(description)s (%(name)s einzig für \"%(klass)s\")" - -#: ../roundup/admin.py:1695 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" -msgstr "" -" %(description)s (%(name)s für \"%(klass)s\": ausschließlich %(properties)s)" - -#: ../roundup/admin.py:1708 -#, python-format -msgid "" -"\n" -" **Invalid properties for %(class)s: %(props)s\n" -"\n" -msgstr "" - -#: ../roundup/admin.py:1714 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" -msgstr "%(description)s (%(name)s einzig für \"%(klass)s\")" - -#: ../roundup/admin.py:1717 -#, fuzzy, python-format -msgid " %(description)s (%(name)s)\n" -msgstr " %(description)s (%(name)s)" - -#: ../roundup/admin.py:1721 -#, fuzzy -msgid "" -"Usage: migrate\n" -"\n" -" Update a tracker's database to be compatible with the Roundup\n" -" codebase.\n" -"\n" -" You should run the \"migrate\" command for your tracker once\n" -" you've installed the latest codebase.\n" -"\n" -" Do this before you use the web, command-line or mail interface\n" -" and before any users access the tracker.\n" -"\n" -" This command will respond with either \"Tracker updated\" (if\n" -" you've not previously run it on an RDBMS backend) or \"No\n" -" migration action required\" (if you have run it, or have used\n" -" another interface to the tracker, or possibly because you are\n" -" using anydbm).\n" -"\n" -" It's safe to run this even if it's not required, so just get\n" -" into the habit.\n" -" " -msgstr "" -"Verwendung: migrate\n" -" Aktualisiert die Datenbank eines Trackers, um sie mit dem aktuellen\n" -" Roundup-Code kompatibel zu machen\n" -"\n" -" Sie sollten \"migrate\" einmalig ausführen, wenn Sie auf die " -"neueste Roundup-Version aktualisiert haben.\n" -"\n" -" Tun Sie das, bevor Sie per Web (Internet-Browser), Kommandozeile\n" -" oder Mail auf den Tracker zugreifen.\n" -"\n" -" Das Kommando wird anschließend \"Tracker aktualisiert\" antworten\n" -" (sofern Sie es nicht schon vorher ausgeführt haben) oder\n" -" \"Keine Migration notwendig\" (wenn Sie es schon ausgeführt hatten,\n" -" oder ein anderes Datenbank-Backend verwendet haben, oder\n" -" vielleicht weil Sie anydbm verwenden.\n" -"\n" -" Es kann nicht schaden, dieses Kommando auszuführen, selbst wenn\n" -" es nicht nötig ist; also gewöhnen Sie es sich einfach an.\n" -" " - -#: ../roundup/admin.py:1742 -#, python-format -msgid "Tracker updated to schema version %s." -msgstr "" - -#: ../roundup/admin.py:1746 -#, fuzzy, python-format -msgid "No migration action required. At schema version %s." -msgstr "Keine Migration notwendig" - -#: ../roundup/admin.py:1751 -msgid "" -"Usage: perftest [mode] [arguments]*\n" -"\n" -" Time operations in Roundup. Supported arguments:\n" -"\n" -" [password] [rounds=<integer>] [scheme=<scheme>]\n" -"\n" -" 'password' is the default mode. The tracker's config.ini\n" -" setting for 'password_pbkdf2_default_rounds' is the default\n" -" value for 'rounds'. On the command line, 'rounds' can include\n" -" thousands separator of ',' or '.'. 'scheme' is the default\n" -" coded into Roundup. List supported schemes by using 'scheme='.\n" -"\n" -" " -msgstr "" - -#: ../roundup/admin.py:1785 -msgid "Invalid 'rounds'. Must be larger than 999." -msgstr "" - -#: ../roundup/admin.py:1789 -#, python-format -msgid "Invalid 'rounds'. It must be an integer not: %s" -msgstr "" - -#: ../roundup/admin.py:1816 -msgid "scheme does not support rounds." -msgstr "" - -#: ../roundup/admin.py:1819 -#, python-format -msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" -msgstr "" - -#: ../roundup/admin.py:1847 +# ../roundup/cgi/actions.py:546 :556 +#: ../roundup/admin.py:1946 ../roundup/cgi/actions.py:886 +#: ../roundup/cgi/actions.py:897 ../roundup/cgi/actions.py:1099 +#: ../roundup/cgi/actions.py:1113 ../roundup/cgi/actions.py:886:897 :1099:1113 +#, python-format +msgid "Error: %s" +msgstr "Fehler: %s" + +#: ../roundup/admin.py:1974 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "Der Befehl \"%(command)s\" existiert nicht (siehe \"help commands\")" -#: ../roundup/admin.py:1853 +#: ../roundup/admin.py:1980 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "Zur Abkürzung \"%(command)s\" passen mehrere Befehle: %(list)s" -#: ../roundup/admin.py:1862 +#: ../roundup/admin.py:1996 msgid "Enter tracker home: " msgstr "Tracker-Verzeichnis: " -# ../roundup/admin.py:1263 :1269 :1289 -#: ../roundup/admin.py:1871 ../roundup/admin.py:1877 ../roundup/admin.py:1914 -#: ../roundup/admin.py:1871:1877:1914 -#, python-format -msgid "Error: %(message)s" -msgstr "Fehler: %(message)s" - -#: ../roundup/admin.py:1887 ../roundup/admin.py:1891 -#: ../roundup/admin.py:1887:1891 +#: ../roundup/admin.py:2023 ../roundup/admin.py:2027 +#: ../roundup/admin.py:2023:2027 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "Fehler: Die Tracker-Instanz konnte nicht geöffnet werden: %(message)s" -#: ../roundup/admin.py:1927 +#: ../roundup/admin.py:2060 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1333,15 +1418,15 @@ "Roundup %s ist bereit.\n" "Schreiben Sie \"help\", um zur Hilfe zu gelangen." -#: ../roundup/admin.py:1932 +#: ../roundup/admin.py:2065 msgid "Note: command history and editing not available" msgstr "Bemerkung: Befehlsverlauf/-bearbeitung möglicherweise nicht verfügbar" -#: ../roundup/admin.py:1938 +#: ../roundup/admin.py:2071 msgid "exit..." msgstr "beenden..." -#: ../roundup/admin.py:1951 +#: ../roundup/admin.py:2084 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "Es gibt noch ungespeicherte Änderungen. Änderungen speichern (y/N)?" @@ -1379,7 +1464,7 @@ #: ../roundup/backends/back_anydbm.py:1422 #: ../roundup/backends/back_anydbm.py:1440 #: ../roundup/backends/back_anydbm.py:1487 -#: ../roundup/backends/back_anydbm.py:2117 +#: ../roundup/backends/back_anydbm.py:2113 #: ../roundup/backends/back_anydbm.py:871:884 #: ../roundup/backends/rdbms_common.py:1708 #: ../roundup/backends/rdbms_common.py:1955 @@ -1388,7 +1473,7 @@ #: ../roundup/backends/rdbms_common.py:2267 #: ../roundup/backends/rdbms_common.py:3219 #: ../roundup/backends/rdbms_common.py:1708:1955 :1158:1193 :1422:1440:1487 -#: :2117 :2194:2214 :2267:3219 +#: :2113 :2194:2214 :2267:3219 msgid "Database open read-only" msgstr "Datenbank nur zum Lesen geöffnet" @@ -1642,14 +1727,6 @@ msgid "Edit Error: %s" msgstr "Fehler bei der Bearbeitung: %s" -# ../roundup/cgi/actions.py:546 :556 -#: ../roundup/cgi/actions.py:886 ../roundup/cgi/actions.py:897 -#: ../roundup/cgi/actions.py:1099 ../roundup/cgi/actions.py:1113 -#: ../roundup/cgi/actions.py:886:897 :1099:1113 -#, python-format -msgid "Error: %s" -msgstr "Fehler: %s" - #: ../roundup/cgi/actions.py:931 msgid "" "Invalid One Time Key!\n" @@ -1908,8 +1985,8 @@ "Admistratoren wurden benachrichtigt.</p>\n" "</body></html>" -#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 -#: ../roundup/cgi/client.py:670:1570 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:670:1567 msgid "Required Header Missing" msgstr "" @@ -1918,138 +1995,138 @@ msgid "Client is not allowed to use Rest Interface." msgstr "Gast-Benutzer sind nicht berechtigt, das Web-Interface zu benutzen." -#: ../roundup/cgi/client.py:921 +#: ../roundup/cgi/client.py:918 msgid "Form Error: " msgstr "Formular-Fehler: " -#: ../roundup/cgi/client.py:1011 +#: ../roundup/cgi/client.py:1008 #, python-format msgid "Unrecognized charset: %r" msgstr "Zeichensatz nicht erkannt: %r" -#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 -#: ../roundup/cgi/client.py:1264:2250 +#: ../roundup/cgi/client.py:1261 ../roundup/cgi/client.py:2247 +#: ../roundup/cgi/client.py:1261:2247 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1279 +#: ../roundup/cgi/client.py:1276 msgid "Anonymous users are not allowed to use the web interface" msgstr "Gast-Benutzer sind nicht berechtigt, das Web-Interface zu benutzen." -#: ../roundup/cgi/client.py:1430 +#: ../roundup/cgi/client.py:1427 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1434 +#: ../roundup/cgi/client.py:1431 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1463 +#: ../roundup/cgi/client.py:1460 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1467 +#: ../roundup/cgi/client.py:1464 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1475 +#: ../roundup/cgi/client.py:1472 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" -#: ../roundup/cgi/client.py:1480 +#: ../roundup/cgi/client.py:1477 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "Ungültiger Benutzername" -#: ../roundup/cgi/client.py:1495 +#: ../roundup/cgi/client.py:1492 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" -#: ../roundup/cgi/client.py:1500 +#: ../roundup/cgi/client.py:1497 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "Ungültiger Benutzername" -#: ../roundup/cgi/client.py:1514 +#: ../roundup/cgi/client.py:1511 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1520 +#: ../roundup/cgi/client.py:1517 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1539 +#: ../roundup/cgi/client.py:1536 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1544 +#: ../roundup/cgi/client.py:1541 #, fuzzy, python-format msgid "Invalid HOST %s" msgstr "Ungültige Anforderung" -#: ../roundup/cgi/client.py:1552 +#: ../roundup/cgi/client.py:1549 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1553 +#: ../roundup/cgi/client.py:1550 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:1564 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1608 +#: ../roundup/cgi/client.py:1605 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 -#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 +#: ../roundup/cgi/client.py:1607 ../roundup/cgi/client.py:1634 +#: ../roundup/cgi/client.py:1651 ../roundup/cgi/client.py:1607:1634:1651 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1614 +#: ../roundup/cgi/client.py:1611 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1626 +#: ../roundup/cgi/client.py:1623 #, python-format msgid "" "Csrf mismatch user: current user %(user)s != stored user %(stored)s, current " "session, stored session: %(cur_sess)s,%(stor_sess)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1644 +#: ../roundup/cgi/client.py:1641 #, python-format msgid "" "Csrf mismatch user: current session %(curr_sess)s != stored session " "%(stor_sess)s, current user/stored user is: %(user)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1838 +#: ../roundup/cgi/client.py:1835 msgid "You are not allowed to view this file." msgstr "Sie sind nicht berechtigt, diese Seite anzuzeigen." -#: ../roundup/cgi/client.py:2127 +#: ../roundup/cgi/client.py:2124 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "%(starttag)sBenötigte Zeit: %(seconds)fs%(endtag)s\n" -#: ../roundup/cgi/client.py:2131 +#: ../roundup/cgi/client.py:2128 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " @@ -2058,7 +2135,7 @@ "%(starttag)sCache benutzt: %(cache_hits)d, verfehlt: %(cache_misses)d. " "Einträge laden: %(get_items)fs; filtern: %(filtering)fs.%(endtag)s\n" -#: ../roundup/cgi/client.py:2669 +#: ../roundup/cgi/client.py:2666 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2262,16 +2339,16 @@ msgid "<option %svalue=\"-1\">- no selection -</option>" msgstr "<option %svalue=\"-1\">- nichts ausgewählt -</option>" -#: ../roundup/cgi/timestamp.py:19 +#: ../roundup/cgi/timestamp.py:23 msgid "Form is corrupted." msgstr "" -#: ../roundup/cgi/timestamp.py:28 +#: ../roundup/cgi/timestamp.py:32 #, python-format msgid "Form is corrupted, missing: %s." msgstr "" -#: ../roundup/cgi/timestamp.py:30 +#: ../roundup/cgi/timestamp.py:34 msgid "Responding to form too quickly." msgstr "" @@ -2427,54 +2504,54 @@ msgid "in %s" msgstr "in %s" -#: ../roundup/hyperdb.py:119 +#: ../roundup/hyperdb.py:120 #, fuzzy, python-format msgid "property %(property)s: %(errormsg)s" msgstr "Eigenschaft %s: %s" -#: ../roundup/hyperdb.py:148 +#: ../roundup/hyperdb.py:149 #, fuzzy, python-format msgid "property %(property)s: %(value)r is an invalid date (%(errormsg)s)" msgstr "Eigenschaft %s: %r ist kein gültiges Datum (%s)" -#: ../roundup/hyperdb.py:171 +#: ../roundup/hyperdb.py:172 #, fuzzy, python-format msgid "" "property %(property)s: %(value)r is an invalid date interval (%(errormsg)s)" msgstr "Eigenschaft %s: %r ist kein gültiges Datumsintervall (%s)" -#: ../roundup/hyperdb.py:428 +#: ../roundup/hyperdb.py:429 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a number" msgstr "Eigenschaft %s: %r ist keine Zahl" -#: ../roundup/hyperdb.py:442 +#: ../roundup/hyperdb.py:443 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not an integer" msgstr "Eigenschaft %s: %r ist keine Zahl" -#: ../roundup/hyperdb.py:464 +#: ../roundup/hyperdb.py:465 #, python-format msgid "\"%s\" not a node designator" msgstr "\"%s\" ist kein gültiger Bezeichner" -#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 -#: ../roundup/hyperdb.py:1493:1501 +#: ../roundup/hyperdb.py:1494 ../roundup/hyperdb.py:1502 +#: ../roundup/hyperdb.py:1494:1502 #, python-format msgid "Not a property name: %s" msgstr "Keine Eigenschaft: %s" -#: ../roundup/hyperdb.py:1978 +#: ../roundup/hyperdb.py:1979 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "Der Wert \"%(value)s\" ist nicht in der Liste für \"%(propname)s\"" -#: ../roundup/hyperdb.py:1984 +#: ../roundup/hyperdb.py:1985 #, python-format msgid "you may only enter ID values for property %s" msgstr "Sie können für die Eigenschaft %s nur IDs eingeben" -#: ../roundup/hyperdb.py:2019 +#: ../roundup/hyperdb.py:2020 #, fuzzy, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "%r ist keine Eigenschaft von %s" @@ -2806,117 +2883,117 @@ msgid "Method %(m)s not allowed. Allowed: %(a)s" msgstr "" -#: ../roundup/rest.py:1097 +#: ../roundup/rest.py:1101 #, fuzzy, python-format msgid "Invalid attribute %s" msgstr "Ungültiger Benutzername" -#: ../roundup/rest.py:2090 +#: ../roundup/rest.py:2094 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2125 +#: ../roundup/rest.py:2129 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2305 +#: ../roundup/rest.py:2309 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " "supported versions." msgstr "" -#: ../roundup/roundupdb.py:139 +#: ../roundup/roundupdb.py:140 #, python-format msgid "Username '%s' already exists." msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "files" msgstr "Dateien" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "messages" msgstr "Kommentare" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "nosy" msgstr "Interessenten" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "superseder" msgstr "ersetzt durch" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "title" msgstr "Titel" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "assignedto" msgstr "zugewiesen" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "keyword" msgstr "Schlagwort" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "priority" msgstr "Priorität" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "status" msgstr "Status" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "activity" msgstr "Aktivität" #. following properties are common for all hyperdb classes #. they are listed here to keep things in one place -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "actor" msgstr "Akteur" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creation" msgstr "Erstellungsdatum" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creator" msgstr "Ersteller" -#: ../roundup/roundupdb.py:425 +#: ../roundup/roundupdb.py:426 #, python-format msgid "No key for \"%(adr)s\" in keyring" msgstr "" -#: ../roundup/roundupdb.py:503 +#: ../roundup/roundupdb.py:504 #, python-format msgid "New submission from %(authname)s%(authaddr)s:" msgstr "Neue Nachricht von %(authname)s%(authaddr)s:" -#: ../roundup/roundupdb.py:506 +#: ../roundup/roundupdb.py:507 #, python-format msgid "%(authname)s%(authaddr)s added the comment:" msgstr "%(authname)s%(authaddr)s merkte an:" -#: ../roundup/roundupdb.py:509 +#: ../roundup/roundupdb.py:510 #, python-format msgid "Change by %(authname)s%(authaddr)s:" msgstr "Änderung von %(authname)s%(authaddr)s:" -#: ../roundup/roundupdb.py:528 +#: ../roundup/roundupdb.py:529 #, python-format msgid "File '%(filename)s' not attached - you can download it from %(link)s." msgstr "" "Die Datei '%(filename)s' ist nicht beigefügt - Sie können Sie unter\n" "%(link)s herunterladen." -#: ../roundup/roundupdb.py:903 +#: ../roundup/roundupdb.py:904 #, python-format msgid "" "\n" @@ -2931,12 +3008,12 @@ "Vorher:\n" "%(old)s" -#: ../roundup/scripts/roundup_demo.py:49 +#: ../roundup/scripts/roundup_demo.py:156 #, python-format msgid "Enter directory path to create demo tracker [%s]: " msgstr "Verzeichnis für Tracker-Demo eingeben [%s]: " -#: ../roundup/scripts/roundup_demo.py:54 +#: ../roundup/scripts/roundup_demo.py:162 #, python-format msgid "" "Enter tracker template to use (one of (%(template_list)s)) " @@ -3033,24 +3110,24 @@ msgid "User %(user)s doesn't exist" msgstr "Der Benutzer %(user)s existiert nicht" -#: ../roundup/scripts/roundup_server.py:805 +#: ../roundup/scripts/roundup_server.py:809 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "" "Der Multiprozessmodus \"%s\" ist nicht verfügbar, Einprozessmodus aktiviert" -#: ../roundup/scripts/roundup_server.py:832 +#: ../roundup/scripts/roundup_server.py:837 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "Start des Servers auf Port %s schlug fehl. Port bereits verwendet." -#: ../roundup/scripts/roundup_server.py:836 +#: ../roundup/scripts/roundup_server.py:841 #, fuzzy, python-format msgid "" "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s" msgstr "Start des Servers auf Port %s schlug fehl. Port bereits verwendet." -#: ../roundup/scripts/roundup_server.py:915 +#: ../roundup/scripts/roundup_server.py:920 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -3066,7 +3143,7 @@ " Zudem müssen Sie die Logfile-Option aktivieren.\n" " \"roundup-server -c help\" zeigt eine weitere Hilfe zum Thema." -#: ../roundup/scripts/roundup_server.py:922 +#: ../roundup/scripts/roundup_server.py:927 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -3080,7 +3157,7 @@ " die Prozess-ID in die Datei PIDDatei.\n" " Die Option -l muss dann auch angegeben werden." -#: ../roundup/scripts/roundup_server.py:929 +#: ../roundup/scripts/roundup_server.py:934 #, fuzzy, python-format msgid "" "\n" @@ -3101,6 +3178,8 @@ " -N log client machine names instead of IP addresses (much " "slower)\n" " -i <fname> set tracker index template\n" +" -m <children> maximum number of children to spawn in fork multiprocess " +"mode\n" " -s enable SSL\n" " -L http request logging uses python logging (roundup.http)\n" " -e <fname> PEM file containing SSL key and certificate\n" @@ -3200,21 +3279,21 @@ " URLs Probleme bereiten könnten. Am besten verwenden Sie nur Buchstaben, \n" " Zahlen und \"-_\".\n" -#: ../roundup/scripts/roundup_server.py:1105 +#: ../roundup/scripts/roundup_server.py:1111 msgid "Instances must be name=home" msgstr "Instanzen müssen als Tracker-Name=Tracker-Verzeichnis angegeben werden" -#: ../roundup/scripts/roundup_server.py:1119 +#: ../roundup/scripts/roundup_server.py:1125 #, python-format msgid "Configuration saved to %s" msgstr "Konfiguration in der Datei %s gespeichert" -#: ../roundup/scripts/roundup_server.py:1137 +#: ../roundup/scripts/roundup_server.py:1143 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "" "Auf diesem Betriebssystem kann der Server nicht als Hintergrundprozess laufen" -#: ../roundup/scripts/roundup_server.py:1157 +#: ../roundup/scripts/roundup_server.py:1163 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "Der Roundup-Server wurde unter %(HOST)s:%(PORT)s gestartet" @@ -5700,6 +5779,21 @@ msgid "Password" msgstr "Passwort" +#, fuzzy +#~ msgid "" +#~ "Usage: security [Role name]\n" +#~ "\n" +#~ " Display the Permissions available to one or all Roles.\n" +#~ " " +#~ msgstr "" +#~ "Verwendung: security [Rollenname]\n" +#~ " Zeigt die Berechtigungen einer oder aller Rollen an.\n" +#~ " " + +# ../roundup/admin.py:1263 :1269 :1289 +#~ msgid "Error: %(message)s" +#~ msgstr "Fehler: %(message)s" + #~ msgid "Tracker updated" #~ msgstr "Tracker aktualisiert"
--- a/locale/en.po Wed May 24 15:05:09 2023 -0400 +++ b/locale/en.po Wed May 24 20:35:53 2023 -0400 @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Roundup 2.3.0\n" "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-03-03 17:28-0500\n" +"POT-Creation-Date: 2023-05-24 20:34-0400\n" "PO-Revision-Date: 2004-11-20 13:47+0200\n" "Last-Translator: Not applicable\n" "Language-Team: English\n" @@ -30,25 +30,45 @@ msgid "You may not retire the admin or anonymous user" msgstr "" -#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 -#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 +#: ../roundup/admin.py:117 +msgid "Have 'display designator' show protected fields: creator. NYI" +msgstr "" + +#: ../roundup/admin.py:120 +msgid "Set indexer to use when running 'reindex' NYI" +msgstr "" + +#: ../roundup/admin.py:123 +msgid "Force reopening of tracker when running each command." +msgstr "" + +#: ../roundup/admin.py:125 +msgid "Show retired items in table, list etc. NYI" +msgstr "" + +#: ../roundup/admin.py:126 +msgid "Enable verbose output: tracing, descriptions..." +msgstr "" + +#: ../roundup/admin.py:138 ../roundup/admin.py:993 ../roundup/admin.py:1601 +#: ../roundup/admin.py:1633 ../roundup/admin.py:138:993 :1601:1633 #, python-format msgid "no such class \"%(classname)s\"" msgstr "" -#: ../roundup/admin.py:124 +#: ../roundup/admin.py:150 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "" -#: ../roundup/admin.py:137 +#: ../roundup/admin.py:163 #, python-format msgid "" "Problem: %(message)s\n" "\n" msgstr "" -#: ../roundup/admin.py:138 +#: ../roundup/admin.py:164 #, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -76,17 +96,17 @@ " roundup-admin help all -- all available help\n" msgstr "" -#: ../roundup/admin.py:165 +#: ../roundup/admin.py:191 msgid "Commands: " msgstr "" -#: ../roundup/admin.py:172 +#: ../roundup/admin.py:198 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." msgstr "" -#: ../roundup/admin.py:201 +#: ../roundup/admin.py:227 msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -153,12 +173,224 @@ "Command help:\n" msgstr "" -#: ../roundup/admin.py:264 +#: ../roundup/admin.py:290 #, python-format msgid "%s:" msgstr "" -#: ../roundup/admin.py:271 +#: ../roundup/admin.py:395 ../roundup/admin.py:1185 +#: ../roundup/admin.py:395:1185 +msgid "Templates:" +msgstr "" + +#: ../roundup/admin.py:398 ../roundup/admin.py:1195 +#: ../roundup/admin.py:398:1195 +msgid "Back ends:" +msgstr "" + +#: ../roundup/admin.py:415 +msgid "" +"Usage: commit\n" +" Commit changes made to the database during an interactive session.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" using this command.\n" +"\n" +" One-off commands on the command-line are automatically committed if\n" +" they are successful.\n" +" " +msgstr "" + +#: ../roundup/admin.py:430 +msgid "" +"Usage: create classname property=value ...\n" +" Create a new entry of a given class.\n" +"\n" +" This creates a new entry of the given class using the property\n" +" name=value arguments provided on the command line after the \"create" +"\"\n" +" command.\n" +" " +msgstr "" + +#: ../roundup/admin.py:438 ../roundup/admin.py:512 ../roundup/admin.py:545 +#: ../roundup/admin.py:663 ../roundup/admin.py:749 ../roundup/admin.py:807 +#: ../roundup/admin.py:852 ../roundup/admin.py:977 ../roundup/admin.py:1020 +#: ../roundup/admin.py:1158 ../roundup/admin.py:1285 ../roundup/admin.py:1371 +#: ../roundup/admin.py:1482 ../roundup/admin.py:1591 ../roundup/admin.py:1623 +#: ../roundup/admin.py:1738 ../roundup/admin.py:1792 ../roundup/admin.py:1837 +#: ../roundup/admin.py:438:512 :1020:1158:1285 :1371:1482 :1591:1623 :1738:1792 +#: :1837 :545:663 :749:807 :852:977 +msgid "Not enough arguments supplied" +msgstr "" + +#: ../roundup/admin.py:458 +#, python-format +msgid "%(propname)s (Password): " +msgstr "" + +#: ../roundup/admin.py:461 +#, python-format +msgid " %(propname)s (Again): " +msgstr "" + +#: ../roundup/admin.py:465 +msgid "Sorry, try again..." +msgstr "" + +#: ../roundup/admin.py:470 +#, python-format +msgid "%(propname)s (%(proptype)s): " +msgstr "" + +#: ../roundup/admin.py:489 +#, python-format +msgid "you must provide the \"%(propname)s\" property." +msgstr "" + +#: ../roundup/admin.py:501 +msgid "" +"Usage: display designator[,designator]*\n" +"\n" +" Show the property values for the given node(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This lists the properties and their associated values\n" +" for the given node.\n" +" " +msgstr "" + +#: ../roundup/admin.py:528 +#, python-format +msgid "%(key)s: %(value)s" +msgstr "" + +#. grab the directory to export to +#: ../roundup/admin.py:531 +msgid "" +"Usage: export [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files.\n" +" To exclude the files (e.g. for the msg or file class),\n" +" use the exporttables command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" + +#: ../roundup/admin.py:638 +msgid "" +"Usage: exporttables [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files, excluding the\n" +" files below $TRACKER_HOME/db/files/ (which can be archived " +"separately).\n" +" To include the files, use the export command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" + +#: ../roundup/admin.py:653 +msgid "" +"Usage: filter classname propname=value ...\n" +" Find the nodes of the given class with a given property value.\n" +"\n" +" Find the nodes of the given class with a given property value.\n" +" Multiple values can be specified by separating them with commas.\n" +" If property is a string, all values must match. I.E. it's an\n" +" 'and' operation. If the property is a link/multilink any value\n" +" matches. I.E. an 'or' operation.\n" +" " +msgstr "" + +#: ../roundup/admin.py:696 +#, python-format +msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." +msgstr "" + +#: ../roundup/admin.py:734 ../roundup/admin.py:795 ../roundup/admin.py:1305 +#: ../roundup/admin.py:1317 ../roundup/admin.py:1857 +#: ../roundup/admin.py:734:795 :1305:1317:1857 +#, python-format +msgid "%(classname)s has no property \"%(propname)s\"" +msgstr "" + +#: ../roundup/admin.py:741 +msgid "" +"Usage: find classname propname=value ...\n" +" Find the nodes of the given class with a given link property value.\n" +"\n" +" Find the nodes of the given class with a given link property value.\n" +" The value may be either the nodeid of the linked node, or its key\n" +" value.\n" +" " +msgstr "" + +#: ../roundup/admin.py:802 +msgid "" +"Usage: genconfig <filename>\n" +" Generate a new tracker config file (ini style) with default\n" +" values in <filename>.\n" +" " +msgstr "" + +#: ../roundup/admin.py:820 +#, python-format +msgid "" +"Changing option\n" +" 'password_pbkdf2_default_rounds'\n" +"from old default of %(old_number)s to new default of %(new_number)s." +msgstr "" + +#: ../roundup/admin.py:831 +#, python-format +msgid "" +"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" +"than %s." +msgstr "" + +#: ../roundup/admin.py:842 +msgid "" +"Usage: get property designator[,designator]*\n" +" Get the given property of one or more designator(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Retrieves the property value of the nodes specified\n" +" by the designators.\n" +" " +msgstr "" + +#: ../roundup/admin.py:886 ../roundup/admin.py:904 ../roundup/admin.py:886:904 +#, python-format +msgid "property %s is not of type Multilink or Link so -d flag does not apply." +msgstr "" + +#: ../roundup/admin.py:914 ../roundup/admin.py:995 ../roundup/admin.py:1635 +#: ../roundup/admin.py:914:995:1635 +#, python-format +msgid "no such %(classname)s node \"%(nodeid)s\"" +msgstr "" + +#: ../roundup/admin.py:917 +#, python-format +msgid "no such %(classname)s property \"%(propname)s\"" +msgstr "" + +#: ../roundup/admin.py:925 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -170,20 +402,93 @@ " " msgstr "" -#: ../roundup/admin.py:293 +#: ../roundup/admin.py:947 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "" -#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 -msgid "Templates:" -msgstr "" - -#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 -msgid "Back ends:" -msgstr "" - -#: ../roundup/admin.py:414 +#: ../roundup/admin.py:964 +msgid "" +"Usage: history designator [skipquiet]\n" +" Show the history entries of a designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Lists the journal entries viewable by the user for the\n" +" node identified by the designator. If skipquiet is the\n" +" second argument, journal entries for quiet properties\n" +" are not shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1000 +msgid "" +"Usage: import import_dir\n" +" Import a database from the directory containing CSV files,\n" +" two per class to import.\n" +"\n" +" The files used in the import are:\n" +"\n" +" <class>.csv\n" +" This must define the same properties as the class (including\n" +" having a \"header\" line with those property names.)\n" +" <class>-journals.csv\n" +" This defines the journals for the items being imported.\n" +"\n" +" The imported nodes will have the same nodeid as defined in the\n" +" import file, thus replacing any existing content.\n" +"\n" +" The new nodes are added to the existing database - if you want to\n" +" create a new database using the imported data, then create a new\n" +" database (or, tediously, retire all the old data.)\n" +" " +msgstr "" + +#: ../roundup/admin.py:1079 +msgid "" +"Usage: importtables export_dir\n" +"\n" +" This imports the database tables exported using exporttables.\n" +" " +msgstr "" + +#. password +#: ../roundup/admin.py:1086 +msgid "" +"Usage: initialise [adminpw]\n" +" Initialise a new Roundup tracker.\n" +"\n" +" The administrator details will be set at this step.\n" +"\n" +" Execute the tracker's initialisation function dbinit.init()\n" +" " +msgstr "" + +#: ../roundup/admin.py:1100 +msgid "Admin Password: " +msgstr "" + +#: ../roundup/admin.py:1101 +msgid " Confirm: " +msgstr "" + +#: ../roundup/admin.py:1105 +msgid "Instance home does not exist" +msgstr "" + +#: ../roundup/admin.py:1109 +msgid "Instance has not been installed" +msgstr "" + +#: ../roundup/admin.py:1115 +msgid "" +"WARNING: The database is already initialised!\n" +"If you re-initialise it, you will lose all the data!\n" +"Erase it? Y/N: " +msgstr "" + +#: ../roundup/admin.py:1135 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -209,23 +514,12 @@ " " msgstr "" -#: ../roundup/admin.py:437 ../roundup/admin.py:568 ../roundup/admin.py:671 -#: ../roundup/admin.py:764 ../roundup/admin.py:822 ../roundup/admin.py:908 -#: ../roundup/admin.py:967 ../roundup/admin.py:994 ../roundup/admin.py:1021 -#: ../roundup/admin.py:1098 ../roundup/admin.py:1193 ../roundup/admin.py:1279 -#: ../roundup/admin.py:1340 ../roundup/admin.py:1367 ../roundup/admin.py:1403 -#: ../roundup/admin.py:1531 ../roundup/admin.py:1615 -#: ../roundup/admin.py:437:568 :1021:1098:1193 :1279:1340 :1367:1403 :1531:1615 -#: :671:764 :822:908 :967:994 -msgid "Not enough arguments supplied" -msgstr "" - -#: ../roundup/admin.py:443 +#: ../roundup/admin.py:1164 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "" -#: ../roundup/admin.py:452 +#: ../roundup/admin.py:1173 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -233,20 +527,20 @@ "Erase it? Y/N: " msgstr "" -#: ../roundup/admin.py:465 +#: ../roundup/admin.py:1186 msgid "Select template" msgstr "" -#: ../roundup/admin.py:475 +#: ../roundup/admin.py:1196 msgid "Select backend" msgstr "" -#: ../roundup/admin.py:486 +#: ../roundup/admin.py:1207 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "" -#: ../roundup/admin.py:517 +#: ../roundup/admin.py:1238 #, python-format msgid "" "\n" @@ -255,11 +549,11 @@ " %(config_file)s" msgstr "" -#: ../roundup/admin.py:527 +#: ../roundup/admin.py:1248 msgid " ... at a minimum, you must set following options:" msgstr "" -#: ../roundup/admin.py:532 +#: ../roundup/admin.py:1253 #, python-format msgid "" "\n" @@ -276,105 +570,315 @@ "---------------------------------------------------------------------------\n" msgstr "" -#: ../roundup/admin.py:563 +#: ../roundup/admin.py:1270 msgid "" -"Usage: genconfig <filename>\n" -" Generate a new tracker config file (ini style) with default\n" -" values in <filename>.\n" +"Usage: list classname [property]\n" +" List the instances of a class.\n" +"\n" +" Lists all instances of the given class. If the property is not\n" +" specified, the \"label\" property is used. The label property is\n" +" tried in order: the key, \"name\", \"title\" and then the first\n" +" property, alphabetically.\n" +"\n" +" With -c, -S or -s print a list of item id's if no property\n" +" specified. If property specified, print list of that property\n" +" for every class instance.\n" " " msgstr "" -#: ../roundup/admin.py:581 -#, python-format +#: ../roundup/admin.py:1283 +msgid "Too many arguments supplied" +msgstr "" + +#: ../roundup/admin.py:1319 +#, python-format +msgid "%(nodeid)4s: %(value)s" +msgstr "" + +#: ../roundup/admin.py:1323 msgid "" -"Changing option\n" -" 'password_pbkdf2_default_rounds'\n" -"from old default of %(old_number)s to new default of %(new_number)s." -msgstr "" - -#: ../roundup/admin.py:593 -#, python-format +"Usage: migrate\n" +"\n" +" Update a tracker's database to be compatible with the Roundup\n" +" codebase.\n" +"\n" +" You should run the \"migrate\" command for your tracker once\n" +" you've installed the latest codebase.\n" +"\n" +" Do this before you use the web, command-line or mail interface\n" +" and before any users access the tracker.\n" +"\n" +" This command will respond with either \"Tracker updated\" (if\n" +" you've not previously run it on an RDBMS backend) or \"No\n" +" migration action required\" (if you have run it, or have used\n" +" another interface to the tracker, or possibly because you are\n" +" using anydbm).\n" +"\n" +" It's safe to run this even if it's not required, so just get\n" +" into the habit.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1344 +#, python-format +msgid "Tracker updated to schema version %s." +msgstr "" + +#: ../roundup/admin.py:1348 +#, python-format +msgid "No migration action required. At schema version %s." +msgstr "" + +#: ../roundup/admin.py:1353 msgid "" -"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" -"than %s." -msgstr "" - -#: ../roundup/admin.py:604 -msgid "" -"Usage: updateconfig <filename>\n" -" Generate an updated tracker config file (ini style) in\n" -" <filename>. Use current settings from existing roundup\n" -" tracker in tracker home.\n" +"Usage: pack period | date\n" +"\n" +" Remove journal entries older than a period of time specified or\n" +" before a certain date.\n" +"\n" +" A period is specified using the suffixes \"y\", \"m\", and \"d\". " +"The\n" +" suffix \"w\" (for \"week\") means 7 days.\n" +"\n" +" \"3y\" means three years\n" +" \"2y 1m\" means two years and one month\n" +" \"1m 25d\" means one month and 25 days\n" +" \"2w 3d\" means two weeks and three days\n" +"\n" +" Date format is \"YYYY-MM-DD\" eg:\n" +" 2001-01-01\n" +"\n" " " msgstr "" -#. password -#: ../roundup/admin.py:612 +#: ../roundup/admin.py:1381 +msgid "Invalid format" +msgstr "" + +#: ../roundup/admin.py:1392 msgid "" -"Usage: initialise [adminpw]\n" -" Initialise a new Roundup tracker.\n" +"Usage: perftest [mode] [arguments]*\n" +"\n" +" Time operations in Roundup. Supported arguments:\n" +"\n" +" [password] [rounds=<integer>] [scheme=<scheme>]\n" +"\n" +" 'password' is the default mode. The tracker's config.ini\n" +" setting for 'password_pbkdf2_default_rounds' is the default\n" +" value for 'rounds'. On the command line, 'rounds' can include\n" +" thousands separator of ',' or '.'. 'scheme' is the default\n" +" coded into Roundup. List supported schemes by using 'scheme='.\n" "\n" -" The administrator details will be set at this step.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1425 +msgid "Invalid 'rounds'. Must be larger than 999." +msgstr "" + +#: ../roundup/admin.py:1429 +#, python-format +msgid "Invalid 'rounds'. It must be an integer not: %s" +msgstr "" + +#: ../roundup/admin.py:1456 +msgid "scheme does not support rounds." +msgstr "" + +#: ../roundup/admin.py:1459 +#, python-format +msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" +msgstr "" + +#: ../roundup/admin.py:1465 +msgid "" +"Usage: pragma setting=value | 'list'\n" +" Set internal admin settings to a value. E.G.\n" "\n" -" Execute the tracker's initialisation function dbinit.init()\n" +" pragma verbose=True\n" +" pragma verbose=yes\n" +" pragma verbose=on\n" +" pragma verbose=1\n" +"\n" +" will turn on verbose mode for roundup-admin.\n" +"\n" +" pragma list\n" +"\n" +" will show all settings and their current values. If verbose\n" +" is enabled hidden settings and descriptions will be shown.\n" " " msgstr "" -#: ../roundup/admin.py:626 -msgid "Admin Password: " -msgstr "" - -#: ../roundup/admin.py:627 -msgid " Confirm: " -msgstr "" - -#: ../roundup/admin.py:631 -msgid "Instance home does not exist" -msgstr "" - -#: ../roundup/admin.py:635 -msgid "Instance has not been installed" -msgstr "" - -#: ../roundup/admin.py:641 +#: ../roundup/admin.py:1489 +#, python-format +msgid "Argument must be setting=value, was given: %s." +msgstr "" + +#: ../roundup/admin.py:1492 +msgid "Current settings and values (NYI - not yet implemented):" +msgstr "" + +#: ../roundup/admin.py:1505 +#, python-format +msgid "Unknown setting %s." +msgstr "" + +#: ../roundup/admin.py:1514 +#, python-format +msgid "Incorrect value for boolean setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1521 +#, python-format +msgid "Incorrect value for integer setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1527 +#, python-format +msgid "Internal error: pragma can not handle values of type: %s" +msgstr "" + +#: ../roundup/admin.py:1537 msgid "" -"WARNING: The database is already initialised!\n" -"If you re-initialise it, you will lose all the data!\n" -"Erase it? Y/N: " -msgstr "" - -#: ../roundup/admin.py:661 +"Usage: reindex [classname|classname:#-#|designator]*\n" +" Re-generate a tracker's search indexes.\n" +"\n" +" This will re-generate the search indexes for a tracker.\n" +" This will typically happen automatically.\n" +"\n" +" You can incrementally reindex using an argument like:\n" +"\n" +" reindex issue:23-1000\n" +"\n" +" to reindex issue class items 23-1000. Missing items\n" +" are reported but do not stop indexing of the range.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1560 +#, python-format +msgid "no such item \"%(designator)s\"" +msgstr "" + +#: ../roundup/admin.py:1570 +#, python-format +msgid "no such item \"%(class)s%(id)s\"" +msgstr "" + +#: ../roundup/admin.py:1582 msgid "" -"Usage: get property designator[,designator]*\n" -" Get the given property of one or more designator(s).\n" +"Usage: restore designator[,designator]*\n" +" Restore the retired node specified by designator.\n" "\n" " A designator is a classname and a nodeid concatenated,\n" " eg. bug1, user10, ...\n" "\n" -" Retrieves the property value of the nodes specified\n" -" by the designators.\n" +" The given nodes will become available for users again.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1607 +msgid "no such %(classname)s node \" % (nodeid)s\"" +msgstr "" + +#: ../roundup/admin.py:1613 +msgid "" +"Usage: retire designator[,designator]*\n" +" Retire the node specified by designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This action indicates that a particular node is not to be retrieved\n" +" by the list or find commands, and its key value may be re-used.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1641 +msgid "" +"Usage: rollback\n" +" Undo all changes that are pending commit to the database.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" manually. This command undoes all those changes, so a commit\n" +" immediately after would make no changes to the database.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1654 +msgid "" +"Usage: security [Role name]\n" +"\n" +" Display the Permissions available to one or all Roles.\n" +" Also validates that any properties defined in a\n" +" permission are valid.\n" +"\n" +" Run this after changing your permissions to catch\n" +" typos.\n" " " msgstr "" -#: ../roundup/admin.py:705 ../roundup/admin.py:723 ../roundup/admin.py:705:723 -#, python-format -msgid "property %s is not of type Multilink or Link so -d flag does not apply." -msgstr "" - -#: ../roundup/admin.py:733 ../roundup/admin.py:1297 ../roundup/admin.py:1352 -#: ../roundup/admin.py:733:1297:1352 -#, python-format -msgid "no such %(classname)s node \"%(nodeid)s\"" -msgstr "" - -#: ../roundup/admin.py:736 -#, python-format -msgid "no such %(classname)s property \"%(propname)s\"" -msgstr "" - -#: ../roundup/admin.py:744 +#: ../roundup/admin.py:1668 +#, python-format +msgid "No such Role \"%(role)s\"\n" +msgstr "" + +#: ../roundup/admin.py:1674 +#, python-format +msgid "New Web users get the Roles \"%(role)s\"\n" +msgstr "" + +#: ../roundup/admin.py:1677 +#, python-format +msgid "New Web users get the Role \"%(role)s\"\n" +msgstr "" + +#: ../roundup/admin.py:1681 +#, python-format +msgid "New Email users get the Roles \"%(role)s\"\n" +msgstr "" + +#: ../roundup/admin.py:1683 +#, python-format +msgid "New Email users get the Role \"%(role)s\"\n" +msgstr "" + +#: ../roundup/admin.py:1686 +#, python-format +msgid "Role \"%(name)s\":\n" +msgstr "" + +#: ../roundup/admin.py:1692 +msgid " %(description)s (%(name)s for \"%(klass)s\"" +msgstr "" + +#: ../roundup/admin.py:1692 +#, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" +msgstr "" + +#: ../roundup/admin.py:1705 +#, python-format msgid "" -"Usage: set items property=value property=value ...\n" +"\n" +" **Invalid properties for %(class)s: %(props)s\n" +"\n" +msgstr "" + +#: ../roundup/admin.py:1711 +#, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" +msgstr "" + +#: ../roundup/admin.py:1714 +#, python-format +msgid " %(description)s (%(name)s)\n" +msgstr "" + +#: ../roundup/admin.py:1718 +msgid "" +"Usage: set items property=value [property=value ...]\n" " Set the given properties of one or more items(s).\n" "\n" " The items are specified as a class or as a comma-separated\n" @@ -393,43 +897,7 @@ " " msgstr "" -#: ../roundup/admin.py:812 -msgid "" -"Usage: filter classname propname=value ...\n" -" Find the nodes of the given class with a given property value.\n" -"\n" -" Find the nodes of the given class with a given property value.\n" -" Multiple values can be specified by separating them with commas.\n" -" If property is a string, all values must match. I.E. it's an\n" -" 'and' operation. If the property is a link/multilink any value\n" -" matches. I.E. an 'or' operation.\n" -" " -msgstr "" - -#: ../roundup/admin.py:855 -#, python-format -msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." -msgstr "" - -#: ../roundup/admin.py:893 ../roundup/admin.py:954 ../roundup/admin.py:1118 -#: ../roundup/admin.py:1130 ../roundup/admin.py:1213 -#: ../roundup/admin.py:893:954 :1118:1130:1213 -#, python-format -msgid "%(classname)s has no property \"%(propname)s\"" -msgstr "" - -#: ../roundup/admin.py:900 -msgid "" -"Usage: find classname propname=value ...\n" -" Find the nodes of the given class with a given link property value.\n" -"\n" -" Find the nodes of the given class with a given link property value.\n" -" The value may be either the nodeid of the linked node, or its key\n" -" value.\n" -" " -msgstr "" - -#: ../roundup/admin.py:961 +#: ../roundup/admin.py:1786 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -438,107 +906,17 @@ " " msgstr "" -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1802 #, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "" -#: ../roundup/admin.py:980 +#: ../roundup/admin.py:1805 #, python-format msgid "%(key)s: %(value)s\n" msgstr "" -#: ../roundup/admin.py:983 -msgid "" -"Usage: display designator[,designator]*\n" -"\n" -" Show the property values for the given node(s).\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This lists the properties and their associated values\n" -" for the given node.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1010 -#, python-format -msgid "%(key)s: %(value)s" -msgstr "" - -#: ../roundup/admin.py:1013 -msgid "" -"Usage: create classname property=value ...\n" -" Create a new entry of a given class.\n" -"\n" -" This creates a new entry of the given class using the property\n" -" name=value arguments provided on the command line after the \"create" -"\"\n" -" command.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1041 -#, python-format -msgid "%(propname)s (Password): " -msgstr "" - -#: ../roundup/admin.py:1044 -#, python-format -msgid " %(propname)s (Again): " -msgstr "" - -#: ../roundup/admin.py:1048 -msgid "Sorry, try again..." -msgstr "" - -#: ../roundup/admin.py:1052 -#, python-format -msgid "%(propname)s (%(proptype)s): " -msgstr "" - -#: ../roundup/admin.py:1071 -#, python-format -msgid "you must provide the \"%(propname)s\" property." -msgstr "" - -#: ../roundup/admin.py:1083 -msgid "" -"Usage: list classname [property]\n" -" List the instances of a class.\n" -"\n" -" Lists all instances of the given class. If the property is not\n" -" specified, the \"label\" property is used. The label property is\n" -" tried in order: the key, \"name\", \"title\" and then the first\n" -" property, alphabetically.\n" -"\n" -" With -c, -S or -s print a list of item id's if no property\n" -" specified. If property specified, print list of that property\n" -" for every class instance.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1096 -msgid "Too many arguments supplied" -msgstr "" - -#: ../roundup/admin.py:1132 -#, python-format -msgid "%(nodeid)4s: %(value)s" -msgstr "" - -#: ../roundup/admin.py:1136 -msgid "" -"Usage: templates [trace_search]\n" -" List templates and their installed directories.\n" -"\n" -" With trace_search also list all directories that are\n" -" searched for templates.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1164 +#: ../roundup/admin.py:1808 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -570,368 +948,78 @@ " " msgstr "" -#: ../roundup/admin.py:1208 +#: ../roundup/admin.py:1852 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1874 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1266 -msgid "" -"Usage: history designator [skipquiet]\n" -" Show the history entries of a designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" Lists the journal entries viewable by the user for the\n" -" node identified by the designator. If skipquiet is the\n" -" second argument, journal entries for quiet properties\n" -" are not shown.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1302 -msgid "" -"Usage: commit\n" -" Commit changes made to the database during an interactive session.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" using this command.\n" -"\n" -" One-off commands on the command-line are automatically committed if\n" -" they are successful.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1317 -msgid "" -"Usage: rollback\n" -" Undo all changes that are pending commit to the database.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" manually. This command undoes all those changes, so a commit\n" -" immediately after would make no changes to the database.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1330 -msgid "" -"Usage: retire designator[,designator]*\n" -" Retire the node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This action indicates that a particular node is not to be retrieved\n" -" by the list or find commands, and its key value may be re-used.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1358 -msgid "" -"Usage: restore designator[,designator]*\n" -" Restore the retired node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" The given nodes will become available for users again.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1383 -msgid "no such %(classname)s node \" % (nodeid)s\"" -msgstr "" - -#. grab the directory to export to -#: ../roundup/admin.py:1389 +#: ../roundup/admin.py:1910 msgid "" -"Usage: export [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files.\n" -" To exclude the files (e.g. for the msg or file class),\n" -" use the exporttables command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1496 -msgid "" -"Usage: exporttables [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files, excluding the\n" -" files below $TRACKER_HOME/db/files/ (which can be archived " -"separately).\n" -" To include the files, use the export command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1511 -msgid "" -"Usage: import import_dir\n" -" Import a database from the directory containing CSV files,\n" -" two per class to import.\n" -"\n" -" The files used in the import are:\n" +"Usage: templates [trace_search]\n" +" List templates and their installed directories.\n" "\n" -" <class>.csv\n" -" This must define the same properties as the class (including\n" -" having a \"header\" line with those property names.)\n" -" <class>-journals.csv\n" -" This defines the journals for the items being imported.\n" -"\n" -" The imported nodes will have the same nodeid as defined in the\n" -" import file, thus replacing any existing content.\n" -"\n" -" The new nodes are added to the existing database - if you want to\n" -" create a new database using the imported data, then create a new\n" -" database (or, tediously, retire all the old data.)\n" -" " -msgstr "" - -#: ../roundup/admin.py:1590 -msgid "" -"Usage: importtables export_dir\n" -"\n" -" This imports the database tables exported using exporttables.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1597 -msgid "" -"Usage: pack period | date\n" -"\n" -" Remove journal entries older than a period of time specified or\n" -" before a certain date.\n" -"\n" -" A period is specified using the suffixes \"y\", \"m\", and \"d\". " -"The\n" -" suffix \"w\" (for \"week\") means 7 days.\n" -"\n" -" \"3y\" means three years\n" -" \"2y 1m\" means two years and one month\n" -" \"1m 25d\" means one month and 25 days\n" -" \"2w 3d\" means two weeks and three days\n" -"\n" -" Date format is \"YYYY-MM-DD\" eg:\n" -" 2001-01-01\n" -"\n" +" With trace_search also list all directories that are\n" +" searched for templates.\n" " " msgstr "" -#: ../roundup/admin.py:1625 -msgid "Invalid format" -msgstr "" - -#: ../roundup/admin.py:1638 -msgid "" -"Usage: reindex [classname|designator]*\n" -" Re-generate a tracker's search indexes.\n" -"\n" -" This will re-generate the search indexes for a tracker.\n" -" This will typically happen automatically.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1652 -#, python-format -msgid "no such item \"%(designator)s\"" -msgstr "" - -#: ../roundup/admin.py:1662 -msgid "" -"Usage: security [Role name]\n" -"\n" -" Display the Permissions available to one or all Roles.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1671 -#, python-format -msgid "No such Role \"%(role)s\"\n" -msgstr "" - -#: ../roundup/admin.py:1677 -#, python-format -msgid "New Web users get the Roles \"%(role)s\"\n" -msgstr "" - -#: ../roundup/admin.py:1680 -#, python-format -msgid "New Web users get the Role \"%(role)s\"\n" -msgstr "" - -#: ../roundup/admin.py:1684 -#, python-format -msgid "New Email users get the Roles \"%(role)s\"\n" -msgstr "" - -#: ../roundup/admin.py:1686 -#, python-format -msgid "New Email users get the Role \"%(role)s\"\n" -msgstr "" - -#: ../roundup/admin.py:1689 -#, python-format -msgid "Role \"%(name)s\":\n" -msgstr "" - -#: ../roundup/admin.py:1695 -msgid " %(description)s (%(name)s for \"%(klass)s\"" -msgstr "" - -#: ../roundup/admin.py:1695 -#, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" -msgstr "" - -#: ../roundup/admin.py:1708 -#, python-format +#: ../roundup/admin.py:1938 msgid "" -"\n" -" **Invalid properties for %(class)s: %(props)s\n" -"\n" -msgstr "" - -#: ../roundup/admin.py:1714 -#, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" -msgstr "" - -#: ../roundup/admin.py:1717 -#, python-format -msgid " %(description)s (%(name)s)\n" -msgstr "" - -#: ../roundup/admin.py:1721 -msgid "" -"Usage: migrate\n" -"\n" -" Update a tracker's database to be compatible with the Roundup\n" -" codebase.\n" -"\n" -" You should run the \"migrate\" command for your tracker once\n" -" you've installed the latest codebase.\n" -"\n" -" Do this before you use the web, command-line or mail interface\n" -" and before any users access the tracker.\n" -"\n" -" This command will respond with either \"Tracker updated\" (if\n" -" you've not previously run it on an RDBMS backend) or \"No\n" -" migration action required\" (if you have run it, or have used\n" -" another interface to the tracker, or possibly because you are\n" -" using anydbm).\n" -"\n" -" It's safe to run this even if it's not required, so just get\n" -" into the habit.\n" +"Usage: updateconfig <filename>\n" +" Generate an updated tracker config file (ini style) in\n" +" <filename>. Use current settings from existing roundup\n" +" tracker in tracker home.\n" " " msgstr "" -#: ../roundup/admin.py:1742 -#, python-format -msgid "Tracker updated to schema version %s." -msgstr "" - -#: ../roundup/admin.py:1746 -#, python-format -msgid "No migration action required. At schema version %s." -msgstr "" - -#: ../roundup/admin.py:1751 -msgid "" -"Usage: perftest [mode] [arguments]*\n" -"\n" -" Time operations in Roundup. Supported arguments:\n" -"\n" -" [password] [rounds=<integer>] [scheme=<scheme>]\n" -"\n" -" 'password' is the default mode. The tracker's config.ini\n" -" setting for 'password_pbkdf2_default_rounds' is the default\n" -" value for 'rounds'. On the command line, 'rounds' can include\n" -" thousands separator of ',' or '.'. 'scheme' is the default\n" -" coded into Roundup. List supported schemes by using 'scheme='.\n" -"\n" -" " -msgstr "" - -#: ../roundup/admin.py:1785 -msgid "Invalid 'rounds'. Must be larger than 999." -msgstr "" - -#: ../roundup/admin.py:1789 -#, python-format -msgid "Invalid 'rounds'. It must be an integer not: %s" -msgstr "" - -#: ../roundup/admin.py:1816 -msgid "scheme does not support rounds." -msgstr "" - -#: ../roundup/admin.py:1819 -#, python-format -msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" -msgstr "" - -#: ../roundup/admin.py:1847 +#: ../roundup/admin.py:1946 ../roundup/cgi/actions.py:886 +#: ../roundup/cgi/actions.py:897 ../roundup/cgi/actions.py:1099 +#: ../roundup/cgi/actions.py:1113 ../roundup/cgi/actions.py:886:897 :1099:1113 +#, python-format +msgid "Error: %s" +msgstr "" + +#: ../roundup/admin.py:1974 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "" -#: ../roundup/admin.py:1853 +#: ../roundup/admin.py:1980 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "" -#: ../roundup/admin.py:1862 +#: ../roundup/admin.py:1996 msgid "Enter tracker home: " msgstr "" -#: ../roundup/admin.py:1871 ../roundup/admin.py:1877 ../roundup/admin.py:1914 -#: ../roundup/admin.py:1871:1877:1914 -#, python-format -msgid "Error: %(message)s" -msgstr "" - -#: ../roundup/admin.py:1887 ../roundup/admin.py:1891 -#: ../roundup/admin.py:1887:1891 +#: ../roundup/admin.py:2023 ../roundup/admin.py:2027 +#: ../roundup/admin.py:2023:2027 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "" -#: ../roundup/admin.py:1927 +#: ../roundup/admin.py:2060 #, python-format msgid "" "Roundup %s ready for input.\n" "Type \"help\" for help." msgstr "" -#: ../roundup/admin.py:1932 +#: ../roundup/admin.py:2065 msgid "Note: command history and editing not available" msgstr "" -#: ../roundup/admin.py:1938 +#: ../roundup/admin.py:2071 msgid "exit..." msgstr "" -#: ../roundup/admin.py:1951 +#: ../roundup/admin.py:2084 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "" @@ -965,7 +1053,7 @@ #: ../roundup/backends/back_anydbm.py:1422 #: ../roundup/backends/back_anydbm.py:1440 #: ../roundup/backends/back_anydbm.py:1487 -#: ../roundup/backends/back_anydbm.py:2117 +#: ../roundup/backends/back_anydbm.py:2113 #: ../roundup/backends/back_anydbm.py:871:884 #: ../roundup/backends/rdbms_common.py:1708 #: ../roundup/backends/rdbms_common.py:1955 @@ -974,7 +1062,7 @@ #: ../roundup/backends/rdbms_common.py:2267 #: ../roundup/backends/rdbms_common.py:3219 #: ../roundup/backends/rdbms_common.py:1708:1955 :1158:1193 :1422:1440:1487 -#: :2117 :2194:2214 :2267:3219 +#: :2113 :2194:2214 :2267:3219 msgid "Database open read-only" msgstr "" @@ -1215,13 +1303,6 @@ msgid "Edit Error: %s" msgstr "" -#: ../roundup/cgi/actions.py:886 ../roundup/cgi/actions.py:897 -#: ../roundup/cgi/actions.py:1099 ../roundup/cgi/actions.py:1113 -#: ../roundup/cgi/actions.py:886:897 :1099:1113 -#, python-format -msgid "Error: %s" -msgstr "" - #: ../roundup/cgi/actions.py:931 msgid "" "Invalid One Time Key!\n" @@ -1455,8 +1536,8 @@ "</body></html>" msgstr "" -#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 -#: ../roundup/cgi/client.py:670:1570 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:670:1567 msgid "Required Header Missing" msgstr "" @@ -1464,145 +1545,145 @@ msgid "Client is not allowed to use Rest Interface." msgstr "" -#: ../roundup/cgi/client.py:921 +#: ../roundup/cgi/client.py:918 msgid "Form Error: " msgstr "" -#: ../roundup/cgi/client.py:1011 +#: ../roundup/cgi/client.py:1008 #, python-format msgid "Unrecognized charset: %r" msgstr "" -#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 -#: ../roundup/cgi/client.py:1264:2250 +#: ../roundup/cgi/client.py:1261 ../roundup/cgi/client.py:2247 +#: ../roundup/cgi/client.py:1261:2247 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1279 +#: ../roundup/cgi/client.py:1276 msgid "Anonymous users are not allowed to use the web interface" msgstr "" -#: ../roundup/cgi/client.py:1430 +#: ../roundup/cgi/client.py:1427 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1434 +#: ../roundup/cgi/client.py:1431 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1463 +#: ../roundup/cgi/client.py:1460 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1467 +#: ../roundup/cgi/client.py:1464 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1475 +#: ../roundup/cgi/client.py:1472 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" -#: ../roundup/cgi/client.py:1480 +#: ../roundup/cgi/client.py:1477 #, python-format msgid "Invalid Referer: %s" msgstr "" -#: ../roundup/cgi/client.py:1495 +#: ../roundup/cgi/client.py:1492 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" -#: ../roundup/cgi/client.py:1500 +#: ../roundup/cgi/client.py:1497 #, python-format msgid "Invalid Origin %s" msgstr "" -#: ../roundup/cgi/client.py:1514 +#: ../roundup/cgi/client.py:1511 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1520 +#: ../roundup/cgi/client.py:1517 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1539 +#: ../roundup/cgi/client.py:1536 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1544 +#: ../roundup/cgi/client.py:1541 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1552 +#: ../roundup/cgi/client.py:1549 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1553 +#: ../roundup/cgi/client.py:1550 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:1564 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1608 +#: ../roundup/cgi/client.py:1605 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 -#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 +#: ../roundup/cgi/client.py:1607 ../roundup/cgi/client.py:1634 +#: ../roundup/cgi/client.py:1651 ../roundup/cgi/client.py:1607:1634:1651 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1614 +#: ../roundup/cgi/client.py:1611 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1626 +#: ../roundup/cgi/client.py:1623 #, python-format msgid "" "Csrf mismatch user: current user %(user)s != stored user %(stored)s, current " "session, stored session: %(cur_sess)s,%(stor_sess)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1644 +#: ../roundup/cgi/client.py:1641 #, python-format msgid "" "Csrf mismatch user: current session %(curr_sess)s != stored session " "%(stor_sess)s, current user/stored user is: %(user)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1838 +#: ../roundup/cgi/client.py:1835 msgid "You are not allowed to view this file." msgstr "" -#: ../roundup/cgi/client.py:2127 +#: ../roundup/cgi/client.py:2124 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2131 +#: ../roundup/cgi/client.py:2128 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " "items: %(get_items)f secs. Filtering: %(filtering)f secs.%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2669 +#: ../roundup/cgi/client.py:2666 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -1789,16 +1870,16 @@ msgid "<option %svalue=\"-1\">- no selection -</option>" msgstr "" -#: ../roundup/cgi/timestamp.py:19 +#: ../roundup/cgi/timestamp.py:23 msgid "Form is corrupted." msgstr "" -#: ../roundup/cgi/timestamp.py:28 +#: ../roundup/cgi/timestamp.py:32 #, python-format msgid "Form is corrupted, missing: %s." msgstr "" -#: ../roundup/cgi/timestamp.py:30 +#: ../roundup/cgi/timestamp.py:34 msgid "Responding to form too quickly." msgstr "" @@ -1945,54 +2026,54 @@ msgid "in %s" msgstr "" -#: ../roundup/hyperdb.py:119 +#: ../roundup/hyperdb.py:120 #, python-format msgid "property %(property)s: %(errormsg)s" msgstr "" -#: ../roundup/hyperdb.py:148 +#: ../roundup/hyperdb.py:149 #, python-format msgid "property %(property)s: %(value)r is an invalid date (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:171 +#: ../roundup/hyperdb.py:172 #, python-format msgid "" "property %(property)s: %(value)r is an invalid date interval (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:428 +#: ../roundup/hyperdb.py:429 #, python-format msgid "property %(property)s: %(value)r is not a number" msgstr "" -#: ../roundup/hyperdb.py:442 +#: ../roundup/hyperdb.py:443 #, python-format msgid "property %(property)s: %(value)r is not an integer" msgstr "" -#: ../roundup/hyperdb.py:464 +#: ../roundup/hyperdb.py:465 #, python-format msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 -#: ../roundup/hyperdb.py:1493:1501 +#: ../roundup/hyperdb.py:1494 ../roundup/hyperdb.py:1502 +#: ../roundup/hyperdb.py:1494:1502 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1978 +#: ../roundup/hyperdb.py:1979 #, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "" -#: ../roundup/hyperdb.py:1984 +#: ../roundup/hyperdb.py:1985 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2019 +#: ../roundup/hyperdb.py:2020 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" @@ -2235,115 +2316,115 @@ msgid "Method %(m)s not allowed. Allowed: %(a)s" msgstr "" -#: ../roundup/rest.py:1097 +#: ../roundup/rest.py:1101 #, python-format msgid "Invalid attribute %s" msgstr "" -#: ../roundup/rest.py:2090 +#: ../roundup/rest.py:2094 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2125 +#: ../roundup/rest.py:2129 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2305 +#: ../roundup/rest.py:2309 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " "supported versions." msgstr "" -#: ../roundup/roundupdb.py:139 +#: ../roundup/roundupdb.py:140 #, python-format msgid "Username '%s' already exists." msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "files" msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "messages" msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "nosy" msgstr "" -#: ../roundup/roundupdb.py:223 -msgid "superseder" -msgstr "" - -#: ../roundup/roundupdb.py:223 -msgid "title" -msgstr "" - #: ../roundup/roundupdb.py:224 -msgid "assignedto" -msgstr "" - -#: ../roundup/roundupdb.py:224 -msgid "keyword" +msgid "superseder" msgstr "" #: ../roundup/roundupdb.py:224 +msgid "title" +msgstr "" + +#: ../roundup/roundupdb.py:225 +msgid "assignedto" +msgstr "" + +#: ../roundup/roundupdb.py:225 +msgid "keyword" +msgstr "" + +#: ../roundup/roundupdb.py:225 msgid "priority" msgstr "" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "status" msgstr "" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "activity" msgstr "" #. following properties are common for all hyperdb classes #. they are listed here to keep things in one place -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "actor" msgstr "" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creation" msgstr "" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creator" msgstr "" -#: ../roundup/roundupdb.py:425 +#: ../roundup/roundupdb.py:426 #, python-format msgid "No key for \"%(adr)s\" in keyring" msgstr "" -#: ../roundup/roundupdb.py:503 +#: ../roundup/roundupdb.py:504 #, python-format msgid "New submission from %(authname)s%(authaddr)s:" msgstr "" -#: ../roundup/roundupdb.py:506 +#: ../roundup/roundupdb.py:507 #, python-format msgid "%(authname)s%(authaddr)s added the comment:" msgstr "" -#: ../roundup/roundupdb.py:509 +#: ../roundup/roundupdb.py:510 #, python-format msgid "Change by %(authname)s%(authaddr)s:" msgstr "" -#: ../roundup/roundupdb.py:528 +#: ../roundup/roundupdb.py:529 #, python-format msgid "File '%(filename)s' not attached - you can download it from %(link)s." msgstr "" -#: ../roundup/roundupdb.py:903 +#: ../roundup/roundupdb.py:904 #, python-format msgid "" "\n" @@ -2353,12 +2434,12 @@ "%(old)s" msgstr "" -#: ../roundup/scripts/roundup_demo.py:49 +#: ../roundup/scripts/roundup_demo.py:156 #, python-format msgid "Enter directory path to create demo tracker [%s]: " msgstr "" -#: ../roundup/scripts/roundup_demo.py:54 +#: ../roundup/scripts/roundup_demo.py:162 #, python-format msgid "" "Enter tracker template to use (one of (%(template_list)s)) " @@ -2446,23 +2527,23 @@ msgid "User %(user)s doesn't exist" msgstr "" -#: ../roundup/scripts/roundup_server.py:805 +#: ../roundup/scripts/roundup_server.py:809 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "" -#: ../roundup/scripts/roundup_server.py:832 +#: ../roundup/scripts/roundup_server.py:837 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "" -#: ../roundup/scripts/roundup_server.py:836 +#: ../roundup/scripts/roundup_server.py:841 #, python-format msgid "" "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s" msgstr "" -#: ../roundup/scripts/roundup_server.py:915 +#: ../roundup/scripts/roundup_server.py:920 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -2472,7 +2553,7 @@ " specifics." msgstr "" -#: ../roundup/scripts/roundup_server.py:922 +#: ../roundup/scripts/roundup_server.py:927 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2481,7 +2562,7 @@ " specified if -d is used." msgstr "" -#: ../roundup/scripts/roundup_server.py:929 +#: ../roundup/scripts/roundup_server.py:934 #, python-format msgid "" "\n" @@ -2502,6 +2583,8 @@ " -N log client machine names instead of IP addresses (much " "slower)\n" " -i <fname> set tracker index template\n" +" -m <children> maximum number of children to spawn in fork multiprocess " +"mode\n" " -s enable SSL\n" " -L http request logging uses python logging (roundup.http)\n" " -e <fname> PEM file containing SSL key and certificate\n" @@ -2548,20 +2631,20 @@ " any url-unsafe characters like spaces, as these confuse IE.\n" msgstr "" -#: ../roundup/scripts/roundup_server.py:1105 +#: ../roundup/scripts/roundup_server.py:1111 msgid "Instances must be name=home" msgstr "" -#: ../roundup/scripts/roundup_server.py:1119 +#: ../roundup/scripts/roundup_server.py:1125 #, python-format msgid "Configuration saved to %s" msgstr "" -#: ../roundup/scripts/roundup_server.py:1137 +#: ../roundup/scripts/roundup_server.py:1143 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "" -#: ../roundup/scripts/roundup_server.py:1157 +#: ../roundup/scripts/roundup_server.py:1163 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr ""
--- a/locale/es.po Wed May 24 15:05:09 2023 -0400 +++ b/locale/es.po Wed May 24 20:35:53 2023 -0400 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Roundup 2.3.0\n" "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-03-03 17:28-0500\n" +"POT-Creation-Date: 2023-05-24 20:34-0400\n" "PO-Revision-Date: 2013-10-31 10:45+0100\n" "Last-Translator: Ramiro Morales <rm0@gmx.net>\n" "Language-Team: Spanish Translators <roundup-devel@lists.sourceforge.net>\n" @@ -28,20 +28,40 @@ msgid "You may not retire the admin or anonymous user" msgstr "Ni el usuario admin ni el usuario annimo pueden ser retirados" +#: ../roundup/admin.py:117 +msgid "Have 'display designator' show protected fields: creator. NYI" +msgstr "" + +#: ../roundup/admin.py:120 +msgid "Set indexer to use when running 'reindex' NYI" +msgstr "" + +#: ../roundup/admin.py:123 +msgid "Force reopening of tracker when running each command." +msgstr "" + +#: ../roundup/admin.py:125 +msgid "Show retired items in table, list etc. NYI" +msgstr "" + +#: ../roundup/admin.py:126 +msgid "Enable verbose output: tracing, descriptions..." +msgstr "" + # ../roundup/admin.py:85 :955 :1004 :1026 -#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 -#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 +#: ../roundup/admin.py:138 ../roundup/admin.py:993 ../roundup/admin.py:1601 +#: ../roundup/admin.py:1633 ../roundup/admin.py:138:993 :1601:1633 #, python-format msgid "no such class \"%(classname)s\"" msgstr "la clase \"%(classname)s\" no existe" # ../roundup/admin.py:95 :99 -#: ../roundup/admin.py:124 +#: ../roundup/admin.py:150 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "el argumento \"%(arg)s\" no es de la forma nombrepropiedad=valor" -#: ../roundup/admin.py:137 +#: ../roundup/admin.py:163 #, python-format msgid "" "Problem: %(message)s\n" @@ -50,7 +70,7 @@ "Problema: %(message)s\n" "\n" -#: ../roundup/admin.py:138 +#: ../roundup/admin.py:164 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -106,12 +126,12 @@ " roundup-admin help <comando> -- ayuda especfica a un comando\n" " roundup-admin help all -- toda la ayuda disponible\n" -#: ../roundup/admin.py:165 +#: ../roundup/admin.py:191 #, fuzzy msgid "Commands: " msgstr "Comandos:" -#: ../roundup/admin.py:172 +#: ../roundup/admin.py:198 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -119,7 +139,7 @@ "Los comandos pueden ser abreviados siempre y cuando la abreviacin\n" "coincida con slo un comando, ej. l == li == lis == list." -#: ../roundup/admin.py:201 +#: ../roundup/admin.py:227 #, fuzzy msgid "" "\n" @@ -265,12 +285,317 @@ "\n" "Ayuda sobre comandos:\n" -#: ../roundup/admin.py:264 +#: ../roundup/admin.py:290 #, python-format msgid "%s:" msgstr "%s:" -#: ../roundup/admin.py:271 +# ../roundup/admin.py:338 :387 +#: ../roundup/admin.py:395 ../roundup/admin.py:1185 +#: ../roundup/admin.py:395:1185 +msgid "Templates:" +msgstr "Plantillas:" + +# ../roundup/admin.py:341 :398 +#: ../roundup/admin.py:398 ../roundup/admin.py:1195 +#: ../roundup/admin.py:398:1195 +msgid "Back ends:" +msgstr "Motor de almacenamiento" + +#: ../roundup/admin.py:415 +msgid "" +"Usage: commit\n" +" Commit changes made to the database during an interactive session.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" using this command.\n" +"\n" +" One-off commands on the command-line are automatically committed if\n" +" they are successful.\n" +" " +msgstr "" +"Uso: commit\n" +" Almacena definitivamente cambios realizados a la base de datos\n" +" durante una sesin interactiva.\n" +"\n" +" Los cambios realizados durante una sesin interactiva no son\n" +" automticamente escritos en la base de datos - los mismos deben\n" +" ser escritos usando este comando\n" +"\n" +" Los comandos individuales ejecutados desde la lnea de comandos\n" +" son automticamente escritos si resultan exitosos.\n" +" " + +#: ../roundup/admin.py:430 +msgid "" +"Usage: create classname property=value ...\n" +" Create a new entry of a given class.\n" +"\n" +" This creates a new entry of the given class using the property\n" +" name=value arguments provided on the command line after the \"create" +"\"\n" +" command.\n" +" " +msgstr "" +"Uso: create nombreclase propiedad=valor ...\n" +" Crea una nueva entrada de una clase especificada.\n" +"\n" +" Crea una nueva entrada de la clase especificada usando los " +"argumentos\n" +" nombre=valor provistos en la lnea de comandos luego del comando\n" +" \"create\" para establecer valores de propiedad(es). " + +# ../roundup/admin.py:360 :442 :503 :582 :632 :688 :709 :737 :808 :875 :946 +# :994 :1016 :1043 :1106 :1173 +#: ../roundup/admin.py:438 ../roundup/admin.py:512 ../roundup/admin.py:545 +#: ../roundup/admin.py:663 ../roundup/admin.py:749 ../roundup/admin.py:807 +#: ../roundup/admin.py:852 ../roundup/admin.py:977 ../roundup/admin.py:1020 +#: ../roundup/admin.py:1158 ../roundup/admin.py:1285 ../roundup/admin.py:1371 +#: ../roundup/admin.py:1482 ../roundup/admin.py:1591 ../roundup/admin.py:1623 +#: ../roundup/admin.py:1738 ../roundup/admin.py:1792 ../roundup/admin.py:1837 +#: ../roundup/admin.py:438:512 :1020:1158:1285 :1371:1482 :1591:1623 :1738:1792 +#: :1837 :545:663 :749:807 :852:977 +msgid "Not enough arguments supplied" +msgstr "No se provey una cantidad suficiente de argumentos" + +#: ../roundup/admin.py:458 +#, python-format +msgid "%(propname)s (Password): " +msgstr "%(propname)s (Contrasea): " + +#: ../roundup/admin.py:461 +#, python-format +msgid " %(propname)s (Again): " +msgstr " %(propname)s (Nuevamente): " + +#: ../roundup/admin.py:465 +msgid "Sorry, try again..." +msgstr "Lo lamento, intente nuevamente..." + +#: ../roundup/admin.py:470 +#, python-format +msgid "%(propname)s (%(proptype)s): " +msgstr "%(propname)s (%(proptype)s): " + +#: ../roundup/admin.py:489 +#, python-format +msgid "you must provide the \"%(propname)s\" property." +msgstr "debe proveer la propiedad \"%(propname)s\"." + +#: ../roundup/admin.py:501 +#, fuzzy +msgid "" +"Usage: display designator[,designator]*\n" +"\n" +" Show the property values for the given node(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This lists the properties and their associated values\n" +" for the given node.\n" +" " +msgstr "" +"Uso: display designador[,designador]*\n" +" Muestra los valores de propiedades para el/los nodo(s) " +"especificado(s).\n" +" Lista las propiedades y sus valores asociados para el nodo " +"especificado.\n" +" " + +#: ../roundup/admin.py:528 +#, python-format +msgid "%(key)s: %(value)s" +msgstr "%(key)s: %(value)s" + +#. grab the directory to export to +#: ../roundup/admin.py:531 +msgid "" +"Usage: export [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files.\n" +" To exclude the files (e.g. for the msg or file class),\n" +" use the exporttables command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +"Uso: export [[-]clase[,clase]] dir_exportacin\n" +" Exporta la base de datos a ficheros de valores separados por comas.\n" +" Para excluir los ficheros (por ej. en las clases msg o file),\n" +" use el comando exporttables.\n" +"\n" +" Opcionalmente limita la exportacin slo a las clases especifica-\n" +" das o las excluye si el primer argumento comienza con '-'.\n" +"\n" +" Esta accin exporta los datos actuales desde la base de datos a\n" +" ficheros de valores separados por comas que se colocarn en el\n" +" directorio de destino especificado (dir_exportacin).\n" +" " + +#: ../roundup/admin.py:638 +msgid "" +"Usage: exporttables [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files, excluding the\n" +" files below $TRACKER_HOME/db/files/ (which can be archived " +"separately).\n" +" To include the files, use the export command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +"Uso: export [clase[,clase]] dir_exportacin\n" +" Exporta la base de datos a ficheros de valores separados por comas,\n" +" excluyendo los ficheros en $TRACKER_HOME/db/files/ (los cuales\n" +" pueden ser archivados por separado).\n" +"\n" +" Opcionalmente limita la exportacin slo a las clases especifica-\n" +" das o las excluye si el primer argumento comienza con '-'.\n" +"\n" +" Esta accin exporta los datos actuales desde la base de datos a\n" +" ficheros de valores separados por comas que se colocarn en el\n" +" directorio de destino especificado.\n" +" " + +#: ../roundup/admin.py:653 +#, fuzzy +msgid "" +"Usage: filter classname propname=value ...\n" +" Find the nodes of the given class with a given property value.\n" +"\n" +" Find the nodes of the given class with a given property value.\n" +" Multiple values can be specified by separating them with commas.\n" +" If property is a string, all values must match. I.E. it's an\n" +" 'and' operation. If the property is a link/multilink any value\n" +" matches. I.E. an 'or' operation.\n" +" " +msgstr "" +"Uso: find nombreclase nombreprop=valor ...\n" +" Busca los nodos de la clase especificada que poseen un cierto valor " +"de\n" +" propiedad.\n" +"\n" +" Busca los nodos de la clase especificada que poseen un cierto valor " +"de\n" +" propiedad. El valor puede ser el identificador de nodo del nodo\n" +" enlazado o su valor clave.\n" +" " + +# ../roundup/admin.py:675 :828 :840 :894 +#: ../roundup/admin.py:696 +#, fuzzy, python-format +msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." +msgstr "%(classname)s no posee la propiedad \"%(propname)s\"" + +# ../roundup/admin.py:675 :828 :840 :894 +#: ../roundup/admin.py:734 ../roundup/admin.py:795 ../roundup/admin.py:1305 +#: ../roundup/admin.py:1317 ../roundup/admin.py:1857 +#: ../roundup/admin.py:734:795 :1305:1317:1857 +#, python-format +msgid "%(classname)s has no property \"%(propname)s\"" +msgstr "%(classname)s no posee la propiedad \"%(propname)s\"" + +#: ../roundup/admin.py:741 +msgid "" +"Usage: find classname propname=value ...\n" +" Find the nodes of the given class with a given link property value.\n" +"\n" +" Find the nodes of the given class with a given link property value.\n" +" The value may be either the nodeid of the linked node, or its key\n" +" value.\n" +" " +msgstr "" +"Uso: find nombreclase nombreprop=valor ...\n" +" Busca los nodos de la clase especificada que poseen un cierto valor " +"de\n" +" propiedad.\n" +"\n" +" Busca los nodos de la clase especificada que poseen un cierto valor " +"de\n" +" propiedad. El valor puede ser el identificador de nodo del nodo\n" +" enlazado o su valor clave.\n" +" " + +#: ../roundup/admin.py:802 +#, fuzzy +msgid "" +"Usage: genconfig <filename>\n" +" Generate a new tracker config file (ini style) with default\n" +" values in <filename>.\n" +" " +msgstr "" +"Uso: genconfig <fichero>\n" +" Genera un nuevo fichero de configuracin de tracker (en formato " +"ini)\n" +" con valores por defecto en el fichero <fichero>.\n" +" " + +#: ../roundup/admin.py:820 +#, python-format +msgid "" +"Changing option\n" +" 'password_pbkdf2_default_rounds'\n" +"from old default of %(old_number)s to new default of %(new_number)s." +msgstr "" + +#: ../roundup/admin.py:831 +#, python-format +msgid "" +"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" +"than %s." +msgstr "" + +#: ../roundup/admin.py:842 +#, fuzzy +msgid "" +"Usage: get property designator[,designator]*\n" +" Get the given property of one or more designator(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Retrieves the property value of the nodes specified\n" +" by the designators.\n" +" " +msgstr "" +"Uso: get propiedad designador[,designador]*\n" +" Retorna la propiedad especificada de uno o mas designadores.\n" +"\n" +" Recupera el valor de la propiedad de los nodos especificados\n" +" por los designadores.\n" +" " + +# ../roundup/admin.py:536 :551 +#: ../roundup/admin.py:886 ../roundup/admin.py:904 ../roundup/admin.py:886:904 +#, python-format +msgid "property %s is not of type Multilink or Link so -d flag does not apply." +msgstr "" +"la propiededad %s no es de tipo Multilink o Link asi que el modificador -d " +"no puede usarse." + +# ../roundup/admin.py:559 :957 :1006 :1028 +#: ../roundup/admin.py:914 ../roundup/admin.py:995 ../roundup/admin.py:1635 +#: ../roundup/admin.py:914:995:1635 +#, python-format +msgid "no such %(classname)s node \"%(nodeid)s\"" +msgstr "no existe nodo de clase %(classname)s llamado \"%(nodeid)s\"" + +#: ../roundup/admin.py:917 +#, python-format +msgid "no such %(classname)s property \"%(propname)s\"" +msgstr "no existe propiedad de clase %(classname)s llamado \"%(propname)s\"" + +#: ../roundup/admin.py:925 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -290,22 +615,126 @@ " all -- toda la ayuda disponible\n" " " -#: ../roundup/admin.py:293 +#: ../roundup/admin.py:947 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "Lo siento, no hay ayuda para \"%(topic)s\"" -# ../roundup/admin.py:338 :387 -#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 -msgid "Templates:" -msgstr "Plantillas:" - -# ../roundup/admin.py:341 :398 -#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 -msgid "Back ends:" -msgstr "Motor de almacenamiento" - -#: ../roundup/admin.py:414 +#: ../roundup/admin.py:964 +msgid "" +"Usage: history designator [skipquiet]\n" +" Show the history entries of a designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Lists the journal entries viewable by the user for the\n" +" node identified by the designator. If skipquiet is the\n" +" second argument, journal entries for quiet properties\n" +" are not shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1000 +msgid "" +"Usage: import import_dir\n" +" Import a database from the directory containing CSV files,\n" +" two per class to import.\n" +"\n" +" The files used in the import are:\n" +"\n" +" <class>.csv\n" +" This must define the same properties as the class (including\n" +" having a \"header\" line with those property names.)\n" +" <class>-journals.csv\n" +" This defines the journals for the items being imported.\n" +"\n" +" The imported nodes will have the same nodeid as defined in the\n" +" import file, thus replacing any existing content.\n" +"\n" +" The new nodes are added to the existing database - if you want to\n" +" create a new database using the imported data, then create a new\n" +" database (or, tediously, retire all the old data.)\n" +" " +msgstr "" +"Uso: import dir_importacin\n" +" Importa una base de datos desde el directorio conteniendo ficheros\n" +" CSV, dos por cada clase a importar.\n" +"\n" +" Los ficheros usados en la importacin son:\n" +"\n" +" <clase>.csv\n" +" Este debe definir las mismas propiedades que la clase (esto\n" +" incluye la existencia de una lnea \"encabezado\" con los nombre\n" +" de dichas propiedades.)\n" +" <clase>-journals.csv\n" +" Este define los journals para los items que se estn importando.\n" +"\n" +" Los nodos importados tendrn los mismos ids que los nodos segn\n" +" se encontraban definidos en el fichero importado, por lo tanto\n" +" reemplazarn todo contenido preexistente.\n" +"\n" +" Los nuevos nodos son agregados a la base de datos existente - si\n" +" Ud. desea crear una base de datos nueva usando los datos\n" +" importados, entonces puede crear una nueva base de datos (o,\n" +" tediosamente, retirar toda los datos viejos.)\n" +" " + +#: ../roundup/admin.py:1079 +msgid "" +"Usage: importtables export_dir\n" +"\n" +" This imports the database tables exported using exporttables.\n" +" " +msgstr "" + +#. password +#: ../roundup/admin.py:1086 +msgid "" +"Usage: initialise [adminpw]\n" +" Initialise a new Roundup tracker.\n" +"\n" +" The administrator details will be set at this step.\n" +"\n" +" Execute the tracker's initialisation function dbinit.init()\n" +" " +msgstr "" +"Uso: initialise [contrasea-admin]\n" +" Inicializa un nuevo tracker Roundup.\n" +"\n" +" Es en este paso cuando se configuran los detalles del usuario\n" +" administrador.\n" +"\n" +" Ejecuta la funcin de inicializacin dbinit.init() del tracker\n" +" " + +#: ../roundup/admin.py:1100 +msgid "Admin Password: " +msgstr "Contrasea de administracin: " + +#: ../roundup/admin.py:1101 +msgid " Confirm: " +msgstr " Confirmar: " + +#: ../roundup/admin.py:1105 +msgid "Instance home does not exist" +msgstr "El directorio base de la instancia no existe" + +#: ../roundup/admin.py:1109 +msgid "Instance has not been installed" +msgstr "La instancia no ha sido instalada" + +#: ../roundup/admin.py:1115 +msgid "" +"WARNING: The database is already initialised!\n" +"If you re-initialise it, you will lose all the data!\n" +"Erase it? Y/N: " +msgstr "" +"ATENCIN: La base de datos ya ha sido inicializada!\n" +"Si la reinicializa, perder toda la informacin!\n" +"Eliminar la misma? Y/N: " + +#: ../roundup/admin.py:1135 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -361,27 +790,14 @@ " Vea tambin initopts help.\n" " " -# ../roundup/admin.py:360 :442 :503 :582 :632 :688 :709 :737 :808 :875 :946 -# :994 :1016 :1043 :1106 :1173 -#: ../roundup/admin.py:437 ../roundup/admin.py:568 ../roundup/admin.py:671 -#: ../roundup/admin.py:764 ../roundup/admin.py:822 ../roundup/admin.py:908 -#: ../roundup/admin.py:967 ../roundup/admin.py:994 ../roundup/admin.py:1021 -#: ../roundup/admin.py:1098 ../roundup/admin.py:1193 ../roundup/admin.py:1279 -#: ../roundup/admin.py:1340 ../roundup/admin.py:1367 ../roundup/admin.py:1403 -#: ../roundup/admin.py:1531 ../roundup/admin.py:1615 -#: ../roundup/admin.py:437:568 :1021:1098:1193 :1279:1340 :1367:1403 :1531:1615 -#: :671:764 :822:908 :967:994 -msgid "Not enough arguments supplied" -msgstr "No se provey una cantidad suficiente de argumentos" - -#: ../roundup/admin.py:443 +#: ../roundup/admin.py:1164 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "" "El directorio padre \"%(parent)s\" del directorio base de la instancia no " "existe" -#: ../roundup/admin.py:452 +#: ../roundup/admin.py:1173 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -392,22 +808,22 @@ "Si Ud. lo reinstala, perder toda la informacin relacionada al mismo!\n" "Elimino la misma? Y/N: " -#: ../roundup/admin.py:465 +#: ../roundup/admin.py:1186 #, fuzzy msgid "Select template" msgstr "Seleccione la plantilla [classic]: " -#: ../roundup/admin.py:475 +#: ../roundup/admin.py:1196 #, fuzzy msgid "Select backend" msgstr "Selecccione el motor de almacenamiento [anydbm]: " -#: ../roundup/admin.py:486 +#: ../roundup/admin.py:1207 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "Error en opciones de configuracin: \"%s\"" -#: ../roundup/admin.py:517 +#: ../roundup/admin.py:1238 #, python-format msgid "" "\n" @@ -420,11 +836,11 @@ " Ud. debe ahora editar el fichero de configuracin del tracker:\n" " %(config_file)s" -#: ../roundup/admin.py:527 +#: ../roundup/admin.py:1248 msgid " ... at a minimum, you must set following options:" msgstr " ... como mnimo, debe configurar las siguientes opciones:" -#: ../roundup/admin.py:532 +#: ../roundup/admin.py:1253 #, python-format msgid "" "\n" @@ -452,140 +868,384 @@ " completado los pasos arriba descriptos.\n" "---------------------------------------------------------------------------\n" -#: ../roundup/admin.py:563 -#, fuzzy +#: ../roundup/admin.py:1270 +msgid "" +"Usage: list classname [property]\n" +" List the instances of a class.\n" +"\n" +" Lists all instances of the given class. If the property is not\n" +" specified, the \"label\" property is used. The label property is\n" +" tried in order: the key, \"name\", \"title\" and then the first\n" +" property, alphabetically.\n" +"\n" +" With -c, -S or -s print a list of item id's if no property\n" +" specified. If property specified, print list of that property\n" +" for every class instance.\n" +" " +msgstr "" +"Uso: list nombreclase [propiedad]\n" +" Lista las instancias de una clase.\n" +"\n" +" Lista todas las instancias de la clase especificada. Si no se\n" +" especifica la propiedad, se usar la propiedad \"etiqueta\". La\n" +" propiedad etiqueta es obtenida siguiendo el siguiente orden:\n" +" \"name\", \"title\" y luego la primera propiedad en orden\n" +" alfabtico.\n" +"\n" +" Cuando se usa -c, -S o -s imprime una lista de ids de items si no\n" +" se ha especificado propiedad. Si se ha especificado propiedad,\n" +" imprime una lista de dicha propiedad para cada instancia de la " +"clase.\n" +" " + +#: ../roundup/admin.py:1283 +msgid "Too many arguments supplied" +msgstr "Demasiados argumentos" + +#: ../roundup/admin.py:1319 +#, python-format +msgid "%(nodeid)4s: %(value)s" +msgstr "%(nodeid)4s: %(value)s" + +#: ../roundup/admin.py:1323 msgid "" -"Usage: genconfig <filename>\n" -" Generate a new tracker config file (ini style) with default\n" -" values in <filename>.\n" +"Usage: migrate\n" +"\n" +" Update a tracker's database to be compatible with the Roundup\n" +" codebase.\n" +"\n" +" You should run the \"migrate\" command for your tracker once\n" +" you've installed the latest codebase.\n" +"\n" +" Do this before you use the web, command-line or mail interface\n" +" and before any users access the tracker.\n" +"\n" +" This command will respond with either \"Tracker updated\" (if\n" +" you've not previously run it on an RDBMS backend) or \"No\n" +" migration action required\" (if you have run it, or have used\n" +" another interface to the tracker, or possibly because you are\n" +" using anydbm).\n" +"\n" +" It's safe to run this even if it's not required, so just get\n" +" into the habit.\n" " " msgstr "" -"Uso: genconfig <fichero>\n" -" Genera un nuevo fichero de configuracin de tracker (en formato " -"ini)\n" -" con valores por defecto en el fichero <fichero>.\n" + +#: ../roundup/admin.py:1344 +#, python-format +msgid "Tracker updated to schema version %s." +msgstr "" + +#: ../roundup/admin.py:1348 +#, python-format +msgid "No migration action required. At schema version %s." +msgstr "" + +#: ../roundup/admin.py:1353 +msgid "" +"Usage: pack period | date\n" +"\n" +" Remove journal entries older than a period of time specified or\n" +" before a certain date.\n" +"\n" +" A period is specified using the suffixes \"y\", \"m\", and \"d\". " +"The\n" +" suffix \"w\" (for \"week\") means 7 days.\n" +"\n" +" \"3y\" means three years\n" +" \"2y 1m\" means two years and one month\n" +" \"1m 25d\" means one month and 25 days\n" +" \"2w 3d\" means two weeks and three days\n" +"\n" +" Date format is \"YYYY-MM-DD\" eg:\n" +" 2001-01-01\n" +"\n" " " - -#: ../roundup/admin.py:581 -#, python-format +msgstr "" +"Uso: pack perodo | fecha\n" +"\n" +" Elimina entradas de journal mas viejas que un perodo de tiempo\n" +" especificado o anteriores a cierta fecha.\n" +"\n" +" Un perodo se especifica usando los sufijos \"y\", \"m\", y \"d\".\n" +" El sufijo \"w\" (por \"week\") significa 7 das.\n" +"\n" +" \"3y\" significa tres aos\n" +" \"2y 1m\" significa dos aos y un mes\n" +" \"1m 25d\" significa un mes y 25 das\n" +" \"2w 3d\" significa dos semanas y tres das\n" +"\n" +" El formato de fecha es \"YYYY-MM-DD\" ej.:\n" +" 2001-01-01\n" +"\n" +" " + +#: ../roundup/admin.py:1381 +msgid "Invalid format" +msgstr "Formato invlido" + +#: ../roundup/admin.py:1392 msgid "" -"Changing option\n" -" 'password_pbkdf2_default_rounds'\n" -"from old default of %(old_number)s to new default of %(new_number)s." -msgstr "" - -#: ../roundup/admin.py:593 -#, python-format +"Usage: perftest [mode] [arguments]*\n" +"\n" +" Time operations in Roundup. Supported arguments:\n" +"\n" +" [password] [rounds=<integer>] [scheme=<scheme>]\n" +"\n" +" 'password' is the default mode. The tracker's config.ini\n" +" setting for 'password_pbkdf2_default_rounds' is the default\n" +" value for 'rounds'. On the command line, 'rounds' can include\n" +" thousands separator of ',' or '.'. 'scheme' is the default\n" +" coded into Roundup. List supported schemes by using 'scheme='.\n" +"\n" +" " +msgstr "" + +#: ../roundup/admin.py:1425 +msgid "Invalid 'rounds'. Must be larger than 999." +msgstr "" + +#: ../roundup/admin.py:1429 +#, python-format +msgid "Invalid 'rounds'. It must be an integer not: %s" +msgstr "" + +#: ../roundup/admin.py:1456 +msgid "scheme does not support rounds." +msgstr "" + +#: ../roundup/admin.py:1459 +#, python-format +msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" +msgstr "" + +#: ../roundup/admin.py:1465 msgid "" -"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" -"than %s." -msgstr "" - -#: ../roundup/admin.py:604 +"Usage: pragma setting=value | 'list'\n" +" Set internal admin settings to a value. E.G.\n" +"\n" +" pragma verbose=True\n" +" pragma verbose=yes\n" +" pragma verbose=on\n" +" pragma verbose=1\n" +"\n" +" will turn on verbose mode for roundup-admin.\n" +"\n" +" pragma list\n" +"\n" +" will show all settings and their current values. If verbose\n" +" is enabled hidden settings and descriptions will be shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1489 +#, python-format +msgid "Argument must be setting=value, was given: %s." +msgstr "" + +#: ../roundup/admin.py:1492 +msgid "Current settings and values (NYI - not yet implemented):" +msgstr "" + +#: ../roundup/admin.py:1505 +#, fuzzy, python-format +msgid "Unknown setting %s." +msgstr "Usuario desconocido" + +#: ../roundup/admin.py:1514 +#, python-format +msgid "Incorrect value for boolean setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1521 +#, python-format +msgid "Incorrect value for integer setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1527 +#, python-format +msgid "Internal error: pragma can not handle values of type: %s" +msgstr "" + +#: ../roundup/admin.py:1537 #, fuzzy msgid "" -"Usage: updateconfig <filename>\n" -" Generate an updated tracker config file (ini style) in\n" -" <filename>. Use current settings from existing roundup\n" -" tracker in tracker home.\n" -" " -msgstr "" -"Uso: genconfig <fichero>\n" -" Genera un nuevo fichero de configuracin de tracker (en formato " -"ini)\n" -" con valores por defecto en el fichero <fichero>.\n" -" " - -#. password -#: ../roundup/admin.py:612 -msgid "" -"Usage: initialise [adminpw]\n" -" Initialise a new Roundup tracker.\n" -"\n" -" The administrator details will be set at this step.\n" -"\n" -" Execute the tracker's initialisation function dbinit.init()\n" +"Usage: reindex [classname|classname:#-#|designator]*\n" +" Re-generate a tracker's search indexes.\n" +"\n" +" This will re-generate the search indexes for a tracker.\n" +" This will typically happen automatically.\n" +"\n" +" You can incrementally reindex using an argument like:\n" +"\n" +" reindex issue:23-1000\n" +"\n" +" to reindex issue class items 23-1000. Missing items\n" +" are reported but do not stop indexing of the range.\n" " " msgstr "" -"Uso: initialise [contrasea-admin]\n" -" Inicializa un nuevo tracker Roundup.\n" -"\n" -" Es en este paso cuando se configuran los detalles del usuario\n" -" administrador.\n" -"\n" -" Ejecuta la funcin de inicializacin dbinit.init() del tracker\n" +"Uso: reindex [nombreclase|designador]*\n" +" Regenera los ndices de bsqueda de un tracker.\n" +"\n" +" Este comando regenerar los ndices de bsqueda de un tracker.\n" +" Es un comando que por lo general se ejecuta automticamente.\n" " " -#: ../roundup/admin.py:626 -msgid "Admin Password: " -msgstr "Contrasea de administracin: " - -#: ../roundup/admin.py:627 -msgid " Confirm: " -msgstr " Confirmar: " - -#: ../roundup/admin.py:631 -msgid "Instance home does not exist" -msgstr "El directorio base de la instancia no existe" - -#: ../roundup/admin.py:635 -msgid "Instance has not been installed" -msgstr "La instancia no ha sido instalada" - -#: ../roundup/admin.py:641 -msgid "" -"WARNING: The database is already initialised!\n" -"If you re-initialise it, you will lose all the data!\n" -"Erase it? Y/N: " -msgstr "" -"ATENCIN: La base de datos ya ha sido inicializada!\n" -"Si la reinicializa, perder toda la informacin!\n" -"Eliminar la misma? Y/N: " - -#: ../roundup/admin.py:661 +#: ../roundup/admin.py:1560 +#, python-format +msgid "no such item \"%(designator)s\"" +msgstr "no existe un tem llamado \"%(designator)s\"" + +#: ../roundup/admin.py:1570 +#, fuzzy, python-format +msgid "no such item \"%(class)s%(id)s\"" +msgstr "no existe un tem llamado \"%(designator)s\"" + +#: ../roundup/admin.py:1582 #, fuzzy msgid "" -"Usage: get property designator[,designator]*\n" -" Get the given property of one or more designator(s).\n" +"Usage: restore designator[,designator]*\n" +" Restore the retired node specified by designator.\n" "\n" " A designator is a classname and a nodeid concatenated,\n" " eg. bug1, user10, ...\n" "\n" -" Retrieves the property value of the nodes specified\n" -" by the designators.\n" +" The given nodes will become available for users again.\n" " " msgstr "" -"Uso: get propiedad designador[,designador]*\n" -" Retorna la propiedad especificada de uno o mas designadores.\n" -"\n" -" Recupera el valor de la propiedad de los nodos especificados\n" -" por los designadores.\n" +"Uso: restore designador[,designador]*\n" +" Restaura el nodo retirado especificado por designador.\n" +"\n" +" Los nodos especificados volvern a estar nuevamente disponibles\n" +" para los usuarios.\n" " " -# ../roundup/admin.py:536 :551 -#: ../roundup/admin.py:705 ../roundup/admin.py:723 ../roundup/admin.py:705:723 -#, python-format -msgid "property %s is not of type Multilink or Link so -d flag does not apply." -msgstr "" -"la propiededad %s no es de tipo Multilink o Link asi que el modificador -d " -"no puede usarse." - # ../roundup/admin.py:559 :957 :1006 :1028 -#: ../roundup/admin.py:733 ../roundup/admin.py:1297 ../roundup/admin.py:1352 -#: ../roundup/admin.py:733:1297:1352 -#, python-format -msgid "no such %(classname)s node \"%(nodeid)s\"" +#: ../roundup/admin.py:1607 +#, fuzzy +msgid "no such %(classname)s node \" % (nodeid)s\"" msgstr "no existe nodo de clase %(classname)s llamado \"%(nodeid)s\"" -#: ../roundup/admin.py:736 -#, python-format -msgid "no such %(classname)s property \"%(propname)s\"" -msgstr "no existe propiedad de clase %(classname)s llamado \"%(propname)s\"" - -#: ../roundup/admin.py:744 +#: ../roundup/admin.py:1613 #, fuzzy msgid "" -"Usage: set items property=value property=value ...\n" +"Usage: retire designator[,designator]*\n" +" Retire the node specified by designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This action indicates that a particular node is not to be retrieved\n" +" by the list or find commands, and its key value may be re-used.\n" +" " +msgstr "" +"Uso: retire designador[,designador]*\n" +" Retira el nodo especificado por designador.\n" +"\n" +" Esta accin indica que un nodo particular no se obtendr cuando\n" +" se usen los comandos list y find, y que su valor clave podr ser\n" +" reusado.\n" +" " + +#: ../roundup/admin.py:1641 +msgid "" +"Usage: rollback\n" +" Undo all changes that are pending commit to the database.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" manually. This command undoes all those changes, so a commit\n" +" immediately after would make no changes to the database.\n" +" " +msgstr "" +"Uso: rollback\n" +" Deshace todos los cambios que estn pendientes de ser escritos\n" +" definitivamente en la base de datos.\n" +"\n" +" Los cambios hechos durante una sesin interactiva no son\n" +" automticamente escritos en la base de datos - los mismos deben\n" +" ser grabados manualmente. Este comando deshace todos dichos\n" +" cambios, de manera que un comando commit inmediatamente posterior\n" +" no introducira cambios en la base de datos.\n" +" " + +#: ../roundup/admin.py:1654 +msgid "" +"Usage: security [Role name]\n" +"\n" +" Display the Permissions available to one or all Roles.\n" +" Also validates that any properties defined in a\n" +" permission are valid.\n" +"\n" +" Run this after changing your permissions to catch\n" +" typos.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1668 +#, fuzzy, python-format +msgid "No such Role \"%(role)s\"\n" +msgstr "No existe un Rol llamado \"%(role)s\"" + +#: ../roundup/admin.py:1674 +#, fuzzy, python-format +msgid "New Web users get the Roles \"%(role)s\"\n" +msgstr "Los nuevos usuarios creados va Web obtiene los Roles \"%(role)s\"" + +#: ../roundup/admin.py:1677 +#, fuzzy, python-format +msgid "New Web users get the Role \"%(role)s\"\n" +msgstr "Los nuevos usuarios creados va Web obtienen el Rol \"%(role)s\"" + +#: ../roundup/admin.py:1681 +#, fuzzy, python-format +msgid "New Email users get the Roles \"%(role)s\"\n" +msgstr "" +"Los nuevos usuarios creados va e-mail obtienen los Roles \"%(role)s\"" + +#: ../roundup/admin.py:1683 +#, fuzzy, python-format +msgid "New Email users get the Role \"%(role)s\"\n" +msgstr "Los nuevos usuarios creados va e-mail obtienen el Rol \"%(role)s\"" + +#: ../roundup/admin.py:1686 +#, fuzzy, python-format +msgid "Role \"%(name)s\":\n" +msgstr "Rol \"%(name)s\":" + +#: ../roundup/admin.py:1692 +#, fuzzy +msgid " %(description)s (%(name)s for \"%(klass)s\"" +msgstr " %(description)s (%(name)s para \"%(klass)s\" solamente)" + +#: ../roundup/admin.py:1692 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" +msgstr "" +" %(description)s (%(name)s para \"%(klass)s\": %(properties)s solamente)" + +#: ../roundup/admin.py:1705 +#, python-format +msgid "" +"\n" +" **Invalid properties for %(class)s: %(props)s\n" +"\n" +msgstr "" + +#: ../roundup/admin.py:1711 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" +msgstr " %(description)s (%(name)s para \"%(klass)s\" solamente)" + +#: ../roundup/admin.py:1714 +#, fuzzy, python-format +msgid " %(description)s (%(name)s)\n" +msgstr " %(description)s (%(name)s)" + +#: ../roundup/admin.py:1718 +#, fuzzy +msgid "" +"Usage: set items property=value [property=value ...]\n" " Set the given properties of one or more items(s).\n" "\n" " The items are specified as a class or as a comma-separated\n" @@ -617,66 +1277,7 @@ " asociados como nmeros separados por comas (\"1,2,3\").\n" " " -#: ../roundup/admin.py:812 -#, fuzzy -msgid "" -"Usage: filter classname propname=value ...\n" -" Find the nodes of the given class with a given property value.\n" -"\n" -" Find the nodes of the given class with a given property value.\n" -" Multiple values can be specified by separating them with commas.\n" -" If property is a string, all values must match. I.E. it's an\n" -" 'and' operation. If the property is a link/multilink any value\n" -" matches. I.E. an 'or' operation.\n" -" " -msgstr "" -"Uso: find nombreclase nombreprop=valor ...\n" -" Busca los nodos de la clase especificada que poseen un cierto valor " -"de\n" -" propiedad.\n" -"\n" -" Busca los nodos de la clase especificada que poseen un cierto valor " -"de\n" -" propiedad. El valor puede ser el identificador de nodo del nodo\n" -" enlazado o su valor clave.\n" -" " - -# ../roundup/admin.py:675 :828 :840 :894 -#: ../roundup/admin.py:855 -#, fuzzy, python-format -msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." -msgstr "%(classname)s no posee la propiedad \"%(propname)s\"" - -# ../roundup/admin.py:675 :828 :840 :894 -#: ../roundup/admin.py:893 ../roundup/admin.py:954 ../roundup/admin.py:1118 -#: ../roundup/admin.py:1130 ../roundup/admin.py:1213 -#: ../roundup/admin.py:893:954 :1118:1130:1213 -#, python-format -msgid "%(classname)s has no property \"%(propname)s\"" -msgstr "%(classname)s no posee la propiedad \"%(propname)s\"" - -#: ../roundup/admin.py:900 -msgid "" -"Usage: find classname propname=value ...\n" -" Find the nodes of the given class with a given link property value.\n" -"\n" -" Find the nodes of the given class with a given link property value.\n" -" The value may be either the nodeid of the linked node, or its key\n" -" value.\n" -" " -msgstr "" -"Uso: find nombreclase nombreprop=valor ...\n" -" Busca los nodos de la clase especificada que poseen un cierto valor " -"de\n" -" propiedad.\n" -"\n" -" Busca los nodos de la clase especificada que poseen un cierto valor " -"de\n" -" propiedad. El valor puede ser el identificador de nodo del nodo\n" -" enlazado o su valor clave.\n" -" " - -#: ../roundup/admin.py:961 +#: ../roundup/admin.py:1786 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -690,135 +1291,17 @@ " Visualiza las propiedades para una cierta clase.\n" " " -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1802 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s (propiedad de clave)" -#: ../roundup/admin.py:980 +#: ../roundup/admin.py:1805 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:983 -#, fuzzy -msgid "" -"Usage: display designator[,designator]*\n" -"\n" -" Show the property values for the given node(s).\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This lists the properties and their associated values\n" -" for the given node.\n" -" " -msgstr "" -"Uso: display designador[,designador]*\n" -" Muestra los valores de propiedades para el/los nodo(s) " -"especificado(s).\n" -" Lista las propiedades y sus valores asociados para el nodo " -"especificado.\n" -" " - -#: ../roundup/admin.py:1010 -#, python-format -msgid "%(key)s: %(value)s" -msgstr "%(key)s: %(value)s" - -#: ../roundup/admin.py:1013 -msgid "" -"Usage: create classname property=value ...\n" -" Create a new entry of a given class.\n" -"\n" -" This creates a new entry of the given class using the property\n" -" name=value arguments provided on the command line after the \"create" -"\"\n" -" command.\n" -" " -msgstr "" -"Uso: create nombreclase propiedad=valor ...\n" -" Crea una nueva entrada de una clase especificada.\n" -"\n" -" Crea una nueva entrada de la clase especificada usando los " -"argumentos\n" -" nombre=valor provistos en la lnea de comandos luego del comando\n" -" \"create\" para establecer valores de propiedad(es). " - -#: ../roundup/admin.py:1041 -#, python-format -msgid "%(propname)s (Password): " -msgstr "%(propname)s (Contrasea): " - -#: ../roundup/admin.py:1044 -#, python-format -msgid " %(propname)s (Again): " -msgstr " %(propname)s (Nuevamente): " - -#: ../roundup/admin.py:1048 -msgid "Sorry, try again..." -msgstr "Lo lamento, intente nuevamente..." - -#: ../roundup/admin.py:1052 -#, python-format -msgid "%(propname)s (%(proptype)s): " -msgstr "%(propname)s (%(proptype)s): " - -#: ../roundup/admin.py:1071 -#, python-format -msgid "you must provide the \"%(propname)s\" property." -msgstr "debe proveer la propiedad \"%(propname)s\"." - -#: ../roundup/admin.py:1083 -msgid "" -"Usage: list classname [property]\n" -" List the instances of a class.\n" -"\n" -" Lists all instances of the given class. If the property is not\n" -" specified, the \"label\" property is used. The label property is\n" -" tried in order: the key, \"name\", \"title\" and then the first\n" -" property, alphabetically.\n" -"\n" -" With -c, -S or -s print a list of item id's if no property\n" -" specified. If property specified, print list of that property\n" -" for every class instance.\n" -" " -msgstr "" -"Uso: list nombreclase [propiedad]\n" -" Lista las instancias de una clase.\n" -"\n" -" Lista todas las instancias de la clase especificada. Si no se\n" -" especifica la propiedad, se usar la propiedad \"etiqueta\". La\n" -" propiedad etiqueta es obtenida siguiendo el siguiente orden:\n" -" \"name\", \"title\" y luego la primera propiedad en orden\n" -" alfabtico.\n" -"\n" -" Cuando se usa -c, -S o -s imprime una lista de ids de items si no\n" -" se ha especificado propiedad. Si se ha especificado propiedad,\n" -" imprime una lista de dicha propiedad para cada instancia de la " -"clase.\n" -" " - -#: ../roundup/admin.py:1096 -msgid "Too many arguments supplied" -msgstr "Demasiados argumentos" - -#: ../roundup/admin.py:1132 -#, python-format -msgid "%(nodeid)4s: %(value)s" -msgstr "%(nodeid)4s: %(value)s" - -#: ../roundup/admin.py:1136 -msgid "" -"Usage: templates [trace_search]\n" -" List templates and their installed directories.\n" -"\n" -" With trace_search also list all directories that are\n" -" searched for templates.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1164 +#: ../roundup/admin.py:1808 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -882,470 +1365,72 @@ " caracteres.\n" " " -#: ../roundup/admin.py:1208 +#: ../roundup/admin.py:1852 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "\"%(spec)s\" no es de la forma nombre:longitud" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1874 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1266 -msgid "" -"Usage: history designator [skipquiet]\n" -" Show the history entries of a designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" Lists the journal entries viewable by the user for the\n" -" node identified by the designator. If skipquiet is the\n" -" second argument, journal entries for quiet properties\n" -" are not shown.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1302 -msgid "" -"Usage: commit\n" -" Commit changes made to the database during an interactive session.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" using this command.\n" -"\n" -" One-off commands on the command-line are automatically committed if\n" -" they are successful.\n" -" " -msgstr "" -"Uso: commit\n" -" Almacena definitivamente cambios realizados a la base de datos\n" -" durante una sesin interactiva.\n" -"\n" -" Los cambios realizados durante una sesin interactiva no son\n" -" automticamente escritos en la base de datos - los mismos deben\n" -" ser escritos usando este comando\n" -"\n" -" Los comandos individuales ejecutados desde la lnea de comandos\n" -" son automticamente escritos si resultan exitosos.\n" -" " - -#: ../roundup/admin.py:1317 +#: ../roundup/admin.py:1910 msgid "" -"Usage: rollback\n" -" Undo all changes that are pending commit to the database.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" manually. This command undoes all those changes, so a commit\n" -" immediately after would make no changes to the database.\n" -" " -msgstr "" -"Uso: rollback\n" -" Deshace todos los cambios que estn pendientes de ser escritos\n" -" definitivamente en la base de datos.\n" -"\n" -" Los cambios hechos durante una sesin interactiva no son\n" -" automticamente escritos en la base de datos - los mismos deben\n" -" ser grabados manualmente. Este comando deshace todos dichos\n" -" cambios, de manera que un comando commit inmediatamente posterior\n" -" no introducira cambios en la base de datos.\n" +"Usage: templates [trace_search]\n" +" List templates and their installed directories.\n" +"\n" +" With trace_search also list all directories that are\n" +" searched for templates.\n" " " - -#: ../roundup/admin.py:1330 -#, fuzzy -msgid "" -"Usage: retire designator[,designator]*\n" -" Retire the node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This action indicates that a particular node is not to be retrieved\n" -" by the list or find commands, and its key value may be re-used.\n" -" " -msgstr "" -"Uso: retire designador[,designador]*\n" -" Retira el nodo especificado por designador.\n" -"\n" -" Esta accin indica que un nodo particular no se obtendr cuando\n" -" se usen los comandos list y find, y que su valor clave podr ser\n" -" reusado.\n" -" " - -#: ../roundup/admin.py:1358 +msgstr "" + +#: ../roundup/admin.py:1938 #, fuzzy msgid "" -"Usage: restore designator[,designator]*\n" -" Restore the retired node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" The given nodes will become available for users again.\n" -" " -msgstr "" -"Uso: restore designador[,designador]*\n" -" Restaura el nodo retirado especificado por designador.\n" -"\n" -" Los nodos especificados volvern a estar nuevamente disponibles\n" -" para los usuarios.\n" -" " - -# ../roundup/admin.py:559 :957 :1006 :1028 -#: ../roundup/admin.py:1383 -#, fuzzy -msgid "no such %(classname)s node \" % (nodeid)s\"" -msgstr "no existe nodo de clase %(classname)s llamado \"%(nodeid)s\"" - -#. grab the directory to export to -#: ../roundup/admin.py:1389 -msgid "" -"Usage: export [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files.\n" -" To exclude the files (e.g. for the msg or file class),\n" -" use the exporttables command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" -"Uso: export [[-]clase[,clase]] dir_exportacin\n" -" Exporta la base de datos a ficheros de valores separados por comas.\n" -" Para excluir los ficheros (por ej. en las clases msg o file),\n" -" use el comando exporttables.\n" -"\n" -" Opcionalmente limita la exportacin slo a las clases especifica-\n" -" das o las excluye si el primer argumento comienza con '-'.\n" -"\n" -" Esta accin exporta los datos actuales desde la base de datos a\n" -" ficheros de valores separados por comas que se colocarn en el\n" -" directorio de destino especificado (dir_exportacin).\n" -" " - -#: ../roundup/admin.py:1496 -msgid "" -"Usage: exporttables [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files, excluding the\n" -" files below $TRACKER_HOME/db/files/ (which can be archived " -"separately).\n" -" To include the files, use the export command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" +"Usage: updateconfig <filename>\n" +" Generate an updated tracker config file (ini style) in\n" +" <filename>. Use current settings from existing roundup\n" +" tracker in tracker home.\n" " " msgstr "" -"Uso: export [clase[,clase]] dir_exportacin\n" -" Exporta la base de datos a ficheros de valores separados por comas,\n" -" excluyendo los ficheros en $TRACKER_HOME/db/files/ (los cuales\n" -" pueden ser archivados por separado).\n" -"\n" -" Opcionalmente limita la exportacin slo a las clases especifica-\n" -" das o las excluye si el primer argumento comienza con '-'.\n" -"\n" -" Esta accin exporta los datos actuales desde la base de datos a\n" -" ficheros de valores separados por comas que se colocarn en el\n" -" directorio de destino especificado.\n" -" " - -#: ../roundup/admin.py:1511 -msgid "" -"Usage: import import_dir\n" -" Import a database from the directory containing CSV files,\n" -" two per class to import.\n" -"\n" -" The files used in the import are:\n" -"\n" -" <class>.csv\n" -" This must define the same properties as the class (including\n" -" having a \"header\" line with those property names.)\n" -" <class>-journals.csv\n" -" This defines the journals for the items being imported.\n" -"\n" -" The imported nodes will have the same nodeid as defined in the\n" -" import file, thus replacing any existing content.\n" -"\n" -" The new nodes are added to the existing database - if you want to\n" -" create a new database using the imported data, then create a new\n" -" database (or, tediously, retire all the old data.)\n" -" " -msgstr "" -"Uso: import dir_importacin\n" -" Importa una base de datos desde el directorio conteniendo ficheros\n" -" CSV, dos por cada clase a importar.\n" -"\n" -" Los ficheros usados en la importacin son:\n" -"\n" -" <clase>.csv\n" -" Este debe definir las mismas propiedades que la clase (esto\n" -" incluye la existencia de una lnea \"encabezado\" con los nombre\n" -" de dichas propiedades.)\n" -" <clase>-journals.csv\n" -" Este define los journals para los items que se estn importando.\n" -"\n" -" Los nodos importados tendrn los mismos ids que los nodos segn\n" -" se encontraban definidos en el fichero importado, por lo tanto\n" -" reemplazarn todo contenido preexistente.\n" -"\n" -" Los nuevos nodos son agregados a la base de datos existente - si\n" -" Ud. desea crear una base de datos nueva usando los datos\n" -" importados, entonces puede crear una nueva base de datos (o,\n" -" tediosamente, retirar toda los datos viejos.)\n" -" " - -#: ../roundup/admin.py:1590 -msgid "" -"Usage: importtables export_dir\n" -"\n" -" This imports the database tables exported using exporttables.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1597 -msgid "" -"Usage: pack period | date\n" -"\n" -" Remove journal entries older than a period of time specified or\n" -" before a certain date.\n" -"\n" -" A period is specified using the suffixes \"y\", \"m\", and \"d\". " -"The\n" -" suffix \"w\" (for \"week\") means 7 days.\n" -"\n" -" \"3y\" means three years\n" -" \"2y 1m\" means two years and one month\n" -" \"1m 25d\" means one month and 25 days\n" -" \"2w 3d\" means two weeks and three days\n" -"\n" -" Date format is \"YYYY-MM-DD\" eg:\n" -" 2001-01-01\n" -"\n" +"Uso: genconfig <fichero>\n" +" Genera un nuevo fichero de configuracin de tracker (en formato " +"ini)\n" +" con valores por defecto en el fichero <fichero>.\n" " " -msgstr "" -"Uso: pack perodo | fecha\n" -"\n" -" Elimina entradas de journal mas viejas que un perodo de tiempo\n" -" especificado o anteriores a cierta fecha.\n" -"\n" -" Un perodo se especifica usando los sufijos \"y\", \"m\", y \"d\".\n" -" El sufijo \"w\" (por \"week\") significa 7 das.\n" -"\n" -" \"3y\" significa tres aos\n" -" \"2y 1m\" significa dos aos y un mes\n" -" \"1m 25d\" significa un mes y 25 das\n" -" \"2w 3d\" significa dos semanas y tres das\n" -"\n" -" El formato de fecha es \"YYYY-MM-DD\" ej.:\n" -" 2001-01-01\n" -"\n" -" " - -#: ../roundup/admin.py:1625 -msgid "Invalid format" -msgstr "Formato invlido" - -#: ../roundup/admin.py:1638 -msgid "" -"Usage: reindex [classname|designator]*\n" -" Re-generate a tracker's search indexes.\n" -"\n" -" This will re-generate the search indexes for a tracker.\n" -" This will typically happen automatically.\n" -" " -msgstr "" -"Uso: reindex [nombreclase|designador]*\n" -" Regenera los ndices de bsqueda de un tracker.\n" -"\n" -" Este comando regenerar los ndices de bsqueda de un tracker.\n" -" Es un comando que por lo general se ejecuta automticamente.\n" -" " - -#: ../roundup/admin.py:1652 -#, python-format -msgid "no such item \"%(designator)s\"" -msgstr "no existe un tem llamado \"%(designator)s\"" - -#: ../roundup/admin.py:1662 -#, fuzzy -msgid "" -"Usage: security [Role name]\n" -"\n" -" Display the Permissions available to one or all Roles.\n" -" " -msgstr "" -"Uso: security [Nombre de rol]\n" -" Muestra los permisos disponibles para uno o todos los Roles.\n" -" " - -#: ../roundup/admin.py:1671 -#, fuzzy, python-format -msgid "No such Role \"%(role)s\"\n" -msgstr "No existe un Rol llamado \"%(role)s\"" - -#: ../roundup/admin.py:1677 -#, fuzzy, python-format -msgid "New Web users get the Roles \"%(role)s\"\n" -msgstr "Los nuevos usuarios creados va Web obtiene los Roles \"%(role)s\"" - -#: ../roundup/admin.py:1680 -#, fuzzy, python-format -msgid "New Web users get the Role \"%(role)s\"\n" -msgstr "Los nuevos usuarios creados va Web obtienen el Rol \"%(role)s\"" - -#: ../roundup/admin.py:1684 -#, fuzzy, python-format -msgid "New Email users get the Roles \"%(role)s\"\n" -msgstr "" -"Los nuevos usuarios creados va e-mail obtienen los Roles \"%(role)s\"" - -#: ../roundup/admin.py:1686 -#, fuzzy, python-format -msgid "New Email users get the Role \"%(role)s\"\n" -msgstr "Los nuevos usuarios creados va e-mail obtienen el Rol \"%(role)s\"" - -#: ../roundup/admin.py:1689 -#, fuzzy, python-format -msgid "Role \"%(name)s\":\n" -msgstr "Rol \"%(name)s\":" - -#: ../roundup/admin.py:1695 -#, fuzzy -msgid " %(description)s (%(name)s for \"%(klass)s\"" -msgstr " %(description)s (%(name)s para \"%(klass)s\" solamente)" - -#: ../roundup/admin.py:1695 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" -msgstr "" -" %(description)s (%(name)s para \"%(klass)s\": %(properties)s solamente)" - -#: ../roundup/admin.py:1708 -#, python-format -msgid "" -"\n" -" **Invalid properties for %(class)s: %(props)s\n" -"\n" -msgstr "" - -#: ../roundup/admin.py:1714 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" -msgstr " %(description)s (%(name)s para \"%(klass)s\" solamente)" - -#: ../roundup/admin.py:1717 -#, fuzzy, python-format -msgid " %(description)s (%(name)s)\n" -msgstr " %(description)s (%(name)s)" - -#: ../roundup/admin.py:1721 -msgid "" -"Usage: migrate\n" -"\n" -" Update a tracker's database to be compatible with the Roundup\n" -" codebase.\n" -"\n" -" You should run the \"migrate\" command for your tracker once\n" -" you've installed the latest codebase.\n" -"\n" -" Do this before you use the web, command-line or mail interface\n" -" and before any users access the tracker.\n" -"\n" -" This command will respond with either \"Tracker updated\" (if\n" -" you've not previously run it on an RDBMS backend) or \"No\n" -" migration action required\" (if you have run it, or have used\n" -" another interface to the tracker, or possibly because you are\n" -" using anydbm).\n" -"\n" -" It's safe to run this even if it's not required, so just get\n" -" into the habit.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1742 -#, python-format -msgid "Tracker updated to schema version %s." -msgstr "" - -#: ../roundup/admin.py:1746 -#, python-format -msgid "No migration action required. At schema version %s." -msgstr "" - -#: ../roundup/admin.py:1751 -msgid "" -"Usage: perftest [mode] [arguments]*\n" -"\n" -" Time operations in Roundup. Supported arguments:\n" -"\n" -" [password] [rounds=<integer>] [scheme=<scheme>]\n" -"\n" -" 'password' is the default mode. The tracker's config.ini\n" -" setting for 'password_pbkdf2_default_rounds' is the default\n" -" value for 'rounds'. On the command line, 'rounds' can include\n" -" thousands separator of ',' or '.'. 'scheme' is the default\n" -" coded into Roundup. List supported schemes by using 'scheme='.\n" -"\n" -" " -msgstr "" - -#: ../roundup/admin.py:1785 -msgid "Invalid 'rounds'. Must be larger than 999." -msgstr "" - -#: ../roundup/admin.py:1789 -#, python-format -msgid "Invalid 'rounds'. It must be an integer not: %s" -msgstr "" - -#: ../roundup/admin.py:1816 -msgid "scheme does not support rounds." -msgstr "" - -#: ../roundup/admin.py:1819 -#, python-format -msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" -msgstr "" - -#: ../roundup/admin.py:1847 + +# ../roundup/cgi/actions.py:579 :590 :761 :780 +#: ../roundup/admin.py:1946 ../roundup/cgi/actions.py:886 +#: ../roundup/cgi/actions.py:897 ../roundup/cgi/actions.py:1099 +#: ../roundup/cgi/actions.py:1113 ../roundup/cgi/actions.py:886:897 :1099:1113 +#, python-format +msgid "Error: %s" +msgstr "Error: %s" + +#: ../roundup/admin.py:1974 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "" "Comando desconocido \"%(command)s\" (tipee \"help commands\" para obtener " "una lista)" -#: ../roundup/admin.py:1853 +#: ../roundup/admin.py:1980 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "Coinciden mas de un comando \"%(command)s\": %(list)s" -#: ../roundup/admin.py:1862 +#: ../roundup/admin.py:1996 msgid "Enter tracker home: " msgstr "Ingrese directorio base del tracker: " -# ../roundup/admin.py:1296 :1302 :1322 -#: ../roundup/admin.py:1871 ../roundup/admin.py:1877 ../roundup/admin.py:1914 -#: ../roundup/admin.py:1871:1877:1914 -#, python-format -msgid "Error: %(message)s" -msgstr "Error: %(message)s" - -#: ../roundup/admin.py:1887 ../roundup/admin.py:1891 -#: ../roundup/admin.py:1887:1891 +#: ../roundup/admin.py:2023 ../roundup/admin.py:2027 +#: ../roundup/admin.py:2023:2027 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "Error: No se pudo abrir el tracker: %(message)s" -#: ../roundup/admin.py:1927 +#: ../roundup/admin.py:2060 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1354,15 +1439,15 @@ "Roundup %s listo para comandos.\n" "Tipee \"help\" para ayuda." -#: ../roundup/admin.py:1932 +#: ../roundup/admin.py:2065 msgid "Note: command history and editing not available" msgstr "Nota: historia y edicin de comandos no disponible" -#: ../roundup/admin.py:1938 +#: ../roundup/admin.py:2071 msgid "exit..." msgstr "salir..." -#: ../roundup/admin.py:1951 +#: ../roundup/admin.py:2084 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "Hay cambios sin guardar. Debo guardar los mismos (y/N)? " @@ -1396,7 +1481,7 @@ #: ../roundup/backends/back_anydbm.py:1422 #: ../roundup/backends/back_anydbm.py:1440 #: ../roundup/backends/back_anydbm.py:1487 -#: ../roundup/backends/back_anydbm.py:2117 +#: ../roundup/backends/back_anydbm.py:2113 #: ../roundup/backends/back_anydbm.py:871:884 #: ../roundup/backends/rdbms_common.py:1708 #: ../roundup/backends/rdbms_common.py:1955 @@ -1405,7 +1490,7 @@ #: ../roundup/backends/rdbms_common.py:2267 #: ../roundup/backends/rdbms_common.py:3219 #: ../roundup/backends/rdbms_common.py:1708:1955 :1158:1193 :1422:1440:1487 -#: :2117 :2194:2214 :2267:3219 +#: :2113 :2194:2214 :2267:3219 msgid "Database open read-only" msgstr "" @@ -1656,14 +1741,6 @@ msgid "Edit Error: %s" msgstr "Error de edicin: %s" -# ../roundup/cgi/actions.py:579 :590 :761 :780 -#: ../roundup/cgi/actions.py:886 ../roundup/cgi/actions.py:897 -#: ../roundup/cgi/actions.py:1099 ../roundup/cgi/actions.py:1113 -#: ../roundup/cgi/actions.py:886:897 :1099:1113 -#, python-format -msgid "Error: %s" -msgstr "Error: %s" - #: ../roundup/cgi/actions.py:931 msgid "" "Invalid One Time Key!\n" @@ -1922,8 +1999,8 @@ "p>\n" "</body></html>" -#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 -#: ../roundup/cgi/client.py:670:1570 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:670:1567 msgid "Required Header Missing" msgstr "" @@ -1932,140 +2009,140 @@ msgid "Client is not allowed to use Rest Interface." msgstr "Los usuarios anonimos no tienen permitido usar esta interfaz Web" -#: ../roundup/cgi/client.py:921 +#: ../roundup/cgi/client.py:918 msgid "Form Error: " msgstr "Error de formulario" -#: ../roundup/cgi/client.py:1011 +#: ../roundup/cgi/client.py:1008 #, python-format msgid "Unrecognized charset: %r" msgstr "Conjunto de caracteres desconocido: %r" -#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 -#: ../roundup/cgi/client.py:1264:2250 +#: ../roundup/cgi/client.py:1261 ../roundup/cgi/client.py:2247 +#: ../roundup/cgi/client.py:1261:2247 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1279 +#: ../roundup/cgi/client.py:1276 msgid "Anonymous users are not allowed to use the web interface" msgstr "Los usuarios anonimos no tienen permitido usar esta interfaz Web" -#: ../roundup/cgi/client.py:1430 +#: ../roundup/cgi/client.py:1427 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1434 +#: ../roundup/cgi/client.py:1431 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1463 +#: ../roundup/cgi/client.py:1460 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1467 +#: ../roundup/cgi/client.py:1464 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1475 +#: ../roundup/cgi/client.py:1472 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" # ../roundup/cgi/actions.py:891 :895 -#: ../roundup/cgi/client.py:1480 +#: ../roundup/cgi/client.py:1477 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "nombre de usuario contrasea invlidos" -#: ../roundup/cgi/client.py:1495 +#: ../roundup/cgi/client.py:1492 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" # ../roundup/cgi/actions.py:891 :895 -#: ../roundup/cgi/client.py:1500 +#: ../roundup/cgi/client.py:1497 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "nombre de usuario contrasea invlidos" -#: ../roundup/cgi/client.py:1514 +#: ../roundup/cgi/client.py:1511 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1520 +#: ../roundup/cgi/client.py:1517 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1539 +#: ../roundup/cgi/client.py:1536 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1544 +#: ../roundup/cgi/client.py:1541 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1552 +#: ../roundup/cgi/client.py:1549 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1553 +#: ../roundup/cgi/client.py:1550 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:1564 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1608 +#: ../roundup/cgi/client.py:1605 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 -#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 +#: ../roundup/cgi/client.py:1607 ../roundup/cgi/client.py:1634 +#: ../roundup/cgi/client.py:1651 ../roundup/cgi/client.py:1607:1634:1651 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1614 +#: ../roundup/cgi/client.py:1611 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1626 +#: ../roundup/cgi/client.py:1623 #, python-format msgid "" "Csrf mismatch user: current user %(user)s != stored user %(stored)s, current " "session, stored session: %(cur_sess)s,%(stor_sess)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1644 +#: ../roundup/cgi/client.py:1641 #, python-format msgid "" "Csrf mismatch user: current session %(curr_sess)s != stored session " "%(stor_sess)s, current user/stored user is: %(user)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1838 +#: ../roundup/cgi/client.py:1835 msgid "You are not allowed to view this file." msgstr "Ud. no tiene permitido ver este fichero" -#: ../roundup/cgi/client.py:2127 +#: ../roundup/cgi/client.py:2124 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "%(starttag)sTiempo transcurrido: %(seconds)fs%(endtag)s\n" -#: ../roundup/cgi/client.py:2131 +#: ../roundup/cgi/client.py:2128 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " @@ -2074,7 +2151,7 @@ "%(starttag)sAciertos Cache: %(cache_hits)d, no aciertos %(cache_misses)d. " "Cargando items: %(get_items)f secs. Filtrado: %(filtering)f secs.%(endtag)s\n" -#: ../roundup/cgi/client.py:2669 +#: ../roundup/cgi/client.py:2666 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2280,16 +2357,16 @@ msgid "<option %svalue=\"-1\">- no selection -</option>" msgstr "<option %svalue=\"-1\">- sin seleccin -</option>" -#: ../roundup/cgi/timestamp.py:19 +#: ../roundup/cgi/timestamp.py:23 msgid "Form is corrupted." msgstr "" -#: ../roundup/cgi/timestamp.py:28 +#: ../roundup/cgi/timestamp.py:32 #, python-format msgid "Form is corrupted, missing: %s." msgstr "" -#: ../roundup/cgi/timestamp.py:30 +#: ../roundup/cgi/timestamp.py:34 msgid "Responding to form too quickly." msgstr "" @@ -2446,60 +2523,60 @@ msgid "in %s" msgstr "en %s" -#: ../roundup/hyperdb.py:119 +#: ../roundup/hyperdb.py:120 #, fuzzy, python-format msgid "property %(property)s: %(errormsg)s" msgstr "Error: %s: %s" -#: ../roundup/hyperdb.py:148 +#: ../roundup/hyperdb.py:149 #, python-format msgid "property %(property)s: %(value)r is an invalid date (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:171 +#: ../roundup/hyperdb.py:172 #, python-format msgid "" "property %(property)s: %(value)r is an invalid date interval (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:428 +#: ../roundup/hyperdb.py:429 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a number" msgstr "" "propiedad \"%(propname)s\": \"%(value)s\" no se encuentra en este momento en " "la lista" -#: ../roundup/hyperdb.py:442 +#: ../roundup/hyperdb.py:443 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not an integer" msgstr "" "propiedad \"%(propname)s\": \"%(value)s\" no se encuentra en este momento en " "la lista" -#: ../roundup/hyperdb.py:464 +#: ../roundup/hyperdb.py:465 #, python-format msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 -#: ../roundup/hyperdb.py:1493:1501 +#: ../roundup/hyperdb.py:1494 ../roundup/hyperdb.py:1502 +#: ../roundup/hyperdb.py:1494:1502 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1978 +#: ../roundup/hyperdb.py:1979 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "" "propiedad \"%(propname)s\": \"%(value)s\" no se encuentra en este momento en " "la lista" -#: ../roundup/hyperdb.py:1984 +#: ../roundup/hyperdb.py:1985 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2019 +#: ../roundup/hyperdb.py:2020 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" @@ -2827,115 +2904,115 @@ msgstr "" # ../roundup/cgi/actions.py:891 :895 -#: ../roundup/rest.py:1097 +#: ../roundup/rest.py:1101 #, fuzzy, python-format msgid "Invalid attribute %s" msgstr "nombre de usuario contrasea invlidos" -#: ../roundup/rest.py:2090 +#: ../roundup/rest.py:2094 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2125 +#: ../roundup/rest.py:2129 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2305 +#: ../roundup/rest.py:2309 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " "supported versions." msgstr "" -#: ../roundup/roundupdb.py:139 +#: ../roundup/roundupdb.py:140 #, python-format msgid "Username '%s' already exists." msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "files" msgstr "ficheros" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "messages" msgstr "mensajes" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "nosy" msgstr "interesados" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "superseder" msgstr "reemplazado por" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "title" msgstr "ttulo" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "assignedto" msgstr "asignadoa" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "keyword" msgstr "Palabra clave" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "priority" msgstr "prioridad" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "status" msgstr "estado" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "activity" msgstr "actividad" #. following properties are common for all hyperdb classes #. they are listed here to keep things in one place -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "actor" msgstr "ltimoactor" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creation" msgstr "creacin" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creator" msgstr "creador" -#: ../roundup/roundupdb.py:425 +#: ../roundup/roundupdb.py:426 #, python-format msgid "No key for \"%(adr)s\" in keyring" msgstr "" -#: ../roundup/roundupdb.py:503 +#: ../roundup/roundupdb.py:504 #, python-format msgid "New submission from %(authname)s%(authaddr)s:" msgstr "Nuevo aporte de %(authname)s%(authaddr)s:" -#: ../roundup/roundupdb.py:506 +#: ../roundup/roundupdb.py:507 #, python-format msgid "%(authname)s%(authaddr)s added the comment:" msgstr "%(authname)s%(authaddr)s agreg el comentario:" -#: ../roundup/roundupdb.py:509 +#: ../roundup/roundupdb.py:510 #, python-format msgid "Change by %(authname)s%(authaddr)s:" msgstr "Modificacin de %(authname)s%(authaddr)s:" -#: ../roundup/roundupdb.py:528 +#: ../roundup/roundupdb.py:529 #, python-format msgid "File '%(filename)s' not attached - you can download it from %(link)s." msgstr "Fichero '%(filename)s' no anexado - puede descargarlo de %(link)s." -#: ../roundup/roundupdb.py:903 +#: ../roundup/roundupdb.py:904 #, python-format msgid "" "\n" @@ -2950,13 +3027,13 @@ "Antes:\n" "%(old)s" -#: ../roundup/scripts/roundup_demo.py:49 +#: ../roundup/scripts/roundup_demo.py:156 #, python-format msgid "Enter directory path to create demo tracker [%s]: " msgstr "" "Ingrese la ruta al directorio en el que se crear el tracker demo [%s]: " -#: ../roundup/scripts/roundup_demo.py:54 +#: ../roundup/scripts/roundup_demo.py:162 #, python-format msgid "" "Enter tracker template to use (one of (%(template_list)s)) " @@ -3050,24 +3127,24 @@ msgid "User %(user)s doesn't exist" msgstr "El usuario %(user)s no existe" -#: ../roundup/scripts/roundup_server.py:805 +#: ../roundup/scripts/roundup_server.py:809 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "" "El modo multiproceso \"%s\" no est disponible, conmutado a proceso simple" -#: ../roundup/scripts/roundup_server.py:832 +#: ../roundup/scripts/roundup_server.py:837 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "Imposible asociarse al puerto %s, el mismo ya est en uso." -#: ../roundup/scripts/roundup_server.py:836 +#: ../roundup/scripts/roundup_server.py:841 #, fuzzy, python-format msgid "" "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s" msgstr "Imposible asociarse al puerto %s, el mismo ya est en uso." -#: ../roundup/scripts/roundup_server.py:915 +#: ../roundup/scripts/roundup_server.py:920 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -3089,7 +3166,7 @@ "para\n" " Servicios Web." -#: ../roundup/scripts/roundup_server.py:922 +#: ../roundup/scripts/roundup_server.py:927 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -3104,7 +3181,7 @@ " PID del servidor en el fichero especificado por PIDfile.\n" " La opcin -l *debe* ser especificada si se usa la opcin -d." -#: ../roundup/scripts/roundup_server.py:929 +#: ../roundup/scripts/roundup_server.py:934 #, fuzzy, python-format msgid "" "\n" @@ -3125,6 +3202,8 @@ " -N log client machine names instead of IP addresses (much " "slower)\n" " -i <fname> set tracker index template\n" +" -m <children> maximum number of children to spawn in fork multiprocess " +"mode\n" " -s enable SSL\n" " -L http request logging uses python logging (roundup.http)\n" " -e <fname> PEM file containing SSL key and certificate\n" @@ -3237,22 +3316,22 @@ " caracteres tales como espacios, dado que los mismos confunden a Internet " "Explorer.\n" -#: ../roundup/scripts/roundup_server.py:1105 +#: ../roundup/scripts/roundup_server.py:1111 msgid "Instances must be name=home" msgstr "Las Instancias debe ser de la forma nombre=directorio base" -#: ../roundup/scripts/roundup_server.py:1119 +#: ../roundup/scripts/roundup_server.py:1125 #, python-format msgid "Configuration saved to %s" msgstr "Configuracin guardada en %s" -#: ../roundup/scripts/roundup_server.py:1137 +#: ../roundup/scripts/roundup_server.py:1143 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "" "Lo siento, no puede ejecutar el servidor como un demonio en este Sistema " "Operativo" -#: ../roundup/scripts/roundup_server.py:1157 +#: ../roundup/scripts/roundup_server.py:1163 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "servidor Roundup iniciado en %(HOST)s:%(PORT)s" @@ -5744,6 +5823,21 @@ msgstr "Contrasea para Login" #, fuzzy +#~ msgid "" +#~ "Usage: security [Role name]\n" +#~ "\n" +#~ " Display the Permissions available to one or all Roles.\n" +#~ " " +#~ msgstr "" +#~ "Uso: security [Nombre de rol]\n" +#~ " Muestra los permisos disponibles para uno o todos los Roles.\n" +#~ " " + +# ../roundup/admin.py:1296 :1302 :1322 +#~ msgid "Error: %(message)s" +#~ msgstr "Error: %(message)s" + +#, fuzzy #~ msgid "Tracker updated" #~ msgstr "Directorio base del tracker"
--- a/locale/fr.po Wed May 24 15:05:09 2023 -0400 +++ b/locale/fr.po Wed May 24 20:35:53 2023 -0400 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Roundup 2.3.0\n" "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-03-03 17:28-0500\n" +"POT-Creation-Date: 2023-05-24 20:34-0400\n" "PO-Revision-Date: 2013-10-31 12:19+0100\n" "Last-Translator: Stephane Raimbault <stephane.raimbault@gmail.com>\n" "Language-Team: GNOME French Team <gnomefr@traduc.org>\n" @@ -31,22 +31,42 @@ msgid "You may not retire the admin or anonymous user" msgstr "Vous ne pouvez pas abandonner les utilisateurs admin ou anonyme" +#: ../roundup/admin.py:117 +msgid "Have 'display designator' show protected fields: creator. NYI" +msgstr "" + +#: ../roundup/admin.py:120 +msgid "Set indexer to use when running 'reindex' NYI" +msgstr "" + +#: ../roundup/admin.py:123 +msgid "Force reopening of tracker when running each command." +msgstr "" + +#: ../roundup/admin.py:125 +msgid "Show retired items in table, list etc. NYI" +msgstr "" + +#: ../roundup/admin.py:126 +msgid "Enable verbose output: tracing, descriptions..." +msgstr "" + # ../roundup/admin.py:85 :979 :1028 :1050 # ../roundup/admin.py:1052 ../roundup/admin.py:85:981 :1030:1052 -#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 -#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 +#: ../roundup/admin.py:138 ../roundup/admin.py:993 ../roundup/admin.py:1601 +#: ../roundup/admin.py:1633 ../roundup/admin.py:138:993 :1601:1633 #, python-format msgid "no such class \"%(classname)s\"" msgstr "aucune classe nomme %(classname)s" # ../roundup/admin.py:95 :99 # ../roundup/admin.py:95 ../roundup/admin.py:99 ../roundup/admin.py:95:99 -#: ../roundup/admin.py:124 +#: ../roundup/admin.py:150 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "l'argument %(arg)s n'est pas au format nom-de-proprit=valeur" -#: ../roundup/admin.py:137 +#: ../roundup/admin.py:163 #, python-format msgid "" "Problem: %(message)s\n" @@ -55,7 +75,7 @@ "Problme: %(message)s\n" "\n" -#: ../roundup/admin.py:138 +#: ../roundup/admin.py:164 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -111,12 +131,12 @@ " roundup-admin help <commande> -- l'aide sur une commande\n" " roundup-admin help all -- toute l'aide disponible\n" -#: ../roundup/admin.py:165 +#: ../roundup/admin.py:191 #, fuzzy msgid "Commands: " msgstr "Commandes:" -#: ../roundup/admin.py:172 +#: ../roundup/admin.py:198 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -125,7 +145,7 @@ "o l'abrviation ne correspond qu' une seule commande,\n" "par ex.: l == li == lis == list." -#: ../roundup/admin.py:201 +#: ../roundup/admin.py:227 #, fuzzy msgid "" "\n" @@ -264,12 +284,320 @@ "\n" "Aide sur les commandes:\n" -#: ../roundup/admin.py:264 +#: ../roundup/admin.py:290 #, python-format msgid "%s:" msgstr "%s:" -#: ../roundup/admin.py:271 +# ../roundup/admin.py:338 :394 +# ../roundup/admin.py:340 ../roundup/admin.py:396 ../roundup/admin.py:340:396 +#: ../roundup/admin.py:395 ../roundup/admin.py:1185 +#: ../roundup/admin.py:395:1185 +msgid "Templates:" +msgstr "Modles:" + +# ../roundup/admin.py:341 :405 +# ../roundup/admin.py:343 ../roundup/admin.py:407 ../roundup/admin.py:343:407 +#: ../roundup/admin.py:398 ../roundup/admin.py:1195 +#: ../roundup/admin.py:398:1195 +msgid "Back ends:" +msgstr "Moteurs de stockage:" + +#: ../roundup/admin.py:415 +msgid "" +"Usage: commit\n" +" Commit changes made to the database during an interactive session.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" using this command.\n" +"\n" +" One-off commands on the command-line are automatically committed if\n" +" they are successful.\n" +" " +msgstr "" +"Utilisation: commit\n" +" Valide les changements apports la base de donnes lors d'une\n" +" session interactive.\n" +"\n" +" Les changements effectus lors d'une session interactive ne\n" +" sont pas automatiquement enregistrs dans la base de donnes -\n" +" ils doivent tre valids par cette commande.\n" +"\n" +" Les commandes one-off en ligne de commande sont\n" +" automatiquement valides si elles russissent.\n" +" " + +#: ../roundup/admin.py:430 +msgid "" +"Usage: create classname property=value ...\n" +" Create a new entry of a given class.\n" +"\n" +" This creates a new entry of the given class using the property\n" +" name=value arguments provided on the command line after the \"create" +"\"\n" +" command.\n" +" " +msgstr "" +"Utilisation: create nom-de-classe proprit=valeur ...\n" +" Cre une nouvelle entre d'une classe donne.\n" +"\n" +" Cette commande cre une nouvelle entre d'une classe indique\n" +" en utilisant les proprits nom=valeur donnes en\n" +" arguments de la ligne de commande, aprs la commande\n" +" create.\n" +" " + +# ../roundup/admin.py:367 :464 :525 :604 :654 :712 :733 :761 :832 :899 :970 +# :1018 :1040 :1067 :1134 :1204 +# ../roundup/admin.py:1207 ../roundup/admin.py:369:466 :1020:1042 :1069:1136 +# :1207 :527:606 :656:714 :735:763 :834:901:972 +#: ../roundup/admin.py:438 ../roundup/admin.py:512 ../roundup/admin.py:545 +#: ../roundup/admin.py:663 ../roundup/admin.py:749 ../roundup/admin.py:807 +#: ../roundup/admin.py:852 ../roundup/admin.py:977 ../roundup/admin.py:1020 +#: ../roundup/admin.py:1158 ../roundup/admin.py:1285 ../roundup/admin.py:1371 +#: ../roundup/admin.py:1482 ../roundup/admin.py:1591 ../roundup/admin.py:1623 +#: ../roundup/admin.py:1738 ../roundup/admin.py:1792 ../roundup/admin.py:1837 +#: ../roundup/admin.py:438:512 :1020:1158:1285 :1371:1482 :1591:1623 :1738:1792 +#: :1837 :545:663 :749:807 :852:977 +msgid "Not enough arguments supplied" +msgstr "Pas suffisamment d'arguments fournis" + +#: ../roundup/admin.py:458 +#, python-format +msgid "%(propname)s (Password): " +msgstr "%(propname)s (mot de passe): " + +#: ../roundup/admin.py:461 +#, python-format +msgid " %(propname)s (Again): " +msgstr " %(propname)s ( nouveau): " + +#: ../roundup/admin.py:465 +msgid "Sorry, try again..." +msgstr "Dsol, essayez nouveau..." + +#: ../roundup/admin.py:470 +#, python-format +msgid "%(propname)s (%(proptype)s): " +msgstr "%(propname)s (%(proptype)s): " + +#: ../roundup/admin.py:489 +#, python-format +msgid "you must provide the \"%(propname)s\" property." +msgstr "vous devez renseigner la proprit %(propname)s." + +#: ../roundup/admin.py:501 +#, fuzzy +msgid "" +"Usage: display designator[,designator]*\n" +"\n" +" Show the property values for the given node(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This lists the properties and their associated values\n" +" for the given node.\n" +" " +msgstr "" +"Utilisation: display indicateur[,indicateur]*\n" +" Affiche les valeurs des proprits des noeuds indiqus.\n" +"\n" +" Cette commande numre les proprits et leurs valeurs du ou\n" +" des noeuds indiqus.\n" +" " + +#: ../roundup/admin.py:528 +#, python-format +msgid "%(key)s: %(value)s" +msgstr "%(key)s: %(value)s" + +#. grab the directory to export to +#: ../roundup/admin.py:531 +#, fuzzy +msgid "" +"Usage: export [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files.\n" +" To exclude the files (e.g. for the msg or file class),\n" +" use the exporttables command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +"Utilisation: export [classe[,classe]] rpertoire-d'exportation\n" +" Exporte la base de donnes vers des fichiers dans un format\n" +" aux valeurs spares par des double-points.\n" +"\n" +" Limite ventuellement l'exportation aux classes indiques.\n" +"\n" +" Cette action exporte les donnes actuelles de la base de donnes,\n" +" vers des fichiers placs dans le rpertoire dsign, et dans un \n" +" format aux valeurs spares par des doubles-points.\n" +" " + +#: ../roundup/admin.py:638 +#, fuzzy +msgid "" +"Usage: exporttables [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files, excluding the\n" +" files below $TRACKER_HOME/db/files/ (which can be archived " +"separately).\n" +" To include the files, use the export command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +"Utilisation: export [classe[,classe]] rpertoire-d'exportation\n" +" Exporte la base de donnes vers des fichiers dans un format\n" +" aux valeurs spares par des double-points.\n" +"\n" +" Limite ventuellement l'exportation aux classes indiques.\n" +"\n" +" Cette action exporte les donnes actuelles de la base de donnes,\n" +" vers des fichiers placs dans le rpertoire dsign, et dans un \n" +" format aux valeurs spares par des doubles-points.\n" +" " + +#: ../roundup/admin.py:653 +#, fuzzy +msgid "" +"Usage: filter classname propname=value ...\n" +" Find the nodes of the given class with a given property value.\n" +"\n" +" Find the nodes of the given class with a given property value.\n" +" Multiple values can be specified by separating them with commas.\n" +" If property is a string, all values must match. I.E. it's an\n" +" 'and' operation. If the property is a link/multilink any value\n" +" matches. I.E. an 'or' operation.\n" +" " +msgstr "" +"Utilisation: find nom-de-classe proprit=valeur ...\n" +" Recherche les noeuds de la classe indique, ayant une proprit de\n" +" lien donne.\n" +"\n" +" Recherche les noeuds de la classe indique, ayant une proprit de\n" +" lien donne. La valeur peut tre soit l'identificateur de noeud du\n" +" noeud li, ou sa valeur de cl.\n" +" " + +# ../roundup/admin.py:699 :852 :864 :918 +# ../roundup/admin.py:920 ../roundup/admin.py:701:854 :866:920 +#: ../roundup/admin.py:696 +#, fuzzy, python-format +msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." +msgstr "%(classname)s n'a pas de proprit %(propname)s" + +# ../roundup/admin.py:699 :852 :864 :918 +# ../roundup/admin.py:920 ../roundup/admin.py:701:854 :866:920 +#: ../roundup/admin.py:734 ../roundup/admin.py:795 ../roundup/admin.py:1305 +#: ../roundup/admin.py:1317 ../roundup/admin.py:1857 +#: ../roundup/admin.py:734:795 :1305:1317:1857 +#, python-format +msgid "%(classname)s has no property \"%(propname)s\"" +msgstr "%(classname)s n'a pas de proprit %(propname)s" + +#: ../roundup/admin.py:741 +msgid "" +"Usage: find classname propname=value ...\n" +" Find the nodes of the given class with a given link property value.\n" +"\n" +" Find the nodes of the given class with a given link property value.\n" +" The value may be either the nodeid of the linked node, or its key\n" +" value.\n" +" " +msgstr "" +"Utilisation: find nom-de-classe proprit=valeur ...\n" +" Recherche les noeuds de la classe indique, ayant une proprit de\n" +" lien donne.\n" +"\n" +" Recherche les noeuds de la classe indique, ayant une proprit de\n" +" lien donne. La valeur peut tre soit l'identificateur de noeud du\n" +" noeud li, ou sa valeur de cl.\n" +" " + +#: ../roundup/admin.py:802 +#, fuzzy +msgid "" +"Usage: genconfig <filename>\n" +" Generate a new tracker config file (ini style) with default\n" +" values in <filename>.\n" +" " +msgstr "" +"Utilisation: genconfig <nomfichier>\n" +" Gnre un nouveau fichier de configuration du pisteur\n" +" (au format ini) avec des valeurs par dfaut dans\n" +" <nomfichier>" + +#: ../roundup/admin.py:820 +#, python-format +msgid "" +"Changing option\n" +" 'password_pbkdf2_default_rounds'\n" +"from old default of %(old_number)s to new default of %(new_number)s." +msgstr "" + +#: ../roundup/admin.py:831 +#, python-format +msgid "" +"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" +"than %s." +msgstr "" + +#: ../roundup/admin.py:842 +#, fuzzy +msgid "" +"Usage: get property designator[,designator]*\n" +" Get the given property of one or more designator(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Retrieves the property value of the nodes specified\n" +" by the designators.\n" +" " +msgstr "" +"Utilisation: get property indicateur[,indicateur]*\n" +" Retourne la proprit demande d'un ou plusieurs indicateurs.\n" +"\n" +" Retourne la valeur de la proprit des noeuds spcifis par\n" +" les indicateurs.\n" +" " + +# ../roundup/admin.py:558 :573 +# ../roundup/admin.py:560 ../roundup/admin.py:575 ../roundup/admin.py:560:575 +#: ../roundup/admin.py:886 ../roundup/admin.py:904 ../roundup/admin.py:886:904 +#, python-format +msgid "property %s is not of type Multilink or Link so -d flag does not apply." +msgstr "" +"la proprit %s n'est pas de type Multilien ou Lien et donc l'option -d ne " +"s'applique pas." + +# ../roundup/admin.py:581 :981 :1030 :1052 +# ../roundup/admin.py:1054 ../roundup/admin.py:583:983 :1032:1054 +#: ../roundup/admin.py:914 ../roundup/admin.py:995 ../roundup/admin.py:1635 +#: ../roundup/admin.py:914:995:1635 +#, python-format +msgid "no such %(classname)s node \"%(nodeid)s\"" +msgstr "le noeud %(nodeid)s de classe %(classname)s n'existe pas" + +#: ../roundup/admin.py:917 +#, python-format +msgid "no such %(classname)s property \"%(propname)s\"" +msgstr "" +"la proprit %(propname)s n'existe pas pour la classe %(classname)s" + +#: ../roundup/admin.py:925 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -289,24 +617,126 @@ " all -- toute l'aide disponible\n" " " -#: ../roundup/admin.py:293 +#: ../roundup/admin.py:947 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "Dsol, aucune aide n'est disponible au sujet de %(topic)s" -# ../roundup/admin.py:338 :394 -# ../roundup/admin.py:340 ../roundup/admin.py:396 ../roundup/admin.py:340:396 -#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 -msgid "Templates:" -msgstr "Modles:" - -# ../roundup/admin.py:341 :405 -# ../roundup/admin.py:343 ../roundup/admin.py:407 ../roundup/admin.py:343:407 -#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 -msgid "Back ends:" -msgstr "Moteurs de stockage:" - -#: ../roundup/admin.py:414 +#: ../roundup/admin.py:964 +msgid "" +"Usage: history designator [skipquiet]\n" +" Show the history entries of a designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Lists the journal entries viewable by the user for the\n" +" node identified by the designator. If skipquiet is the\n" +" second argument, journal entries for quiet properties\n" +" are not shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1000 +msgid "" +"Usage: import import_dir\n" +" Import a database from the directory containing CSV files,\n" +" two per class to import.\n" +"\n" +" The files used in the import are:\n" +"\n" +" <class>.csv\n" +" This must define the same properties as the class (including\n" +" having a \"header\" line with those property names.)\n" +" <class>-journals.csv\n" +" This defines the journals for the items being imported.\n" +"\n" +" The imported nodes will have the same nodeid as defined in the\n" +" import file, thus replacing any existing content.\n" +"\n" +" The new nodes are added to the existing database - if you want to\n" +" create a new database using the imported data, then create a new\n" +" database (or, tediously, retire all the old data.)\n" +" " +msgstr "" +"Utilisation: import rpertoire-d'importation\n" +" Importe une base de donnes partir d'un rpertoire contenant des\n" +" fichiers, d'un format aux valeurs spares par des doubles points,\n" +" deux par classe importer.\n" +"\n" +" Les fichiers utiliss lors de l'importation sont:\n" +"\n" +" <classe>.csv\n" +" Celui-ci dfinit les mmes proprits que la classe (avec\n" +" une ligne header donnant ces noms de proprits).\n" +" <classe>-journals.csv\n" +" Celui-ci dfinit les journaux pour les lments imports.\n" +"\n" +" Les noeuds imports auront les mmes identificateurs de noeuds\n" +" (nodeid) que ceux dfinis dans le fichier d'importation,\n" +" remplaant ds lors tout contenu existant.\n" +"\n" +" Les nouveaux noeuds sont ajouts la base de donnes - si, en\n" +" fait, vous dsirez crer une nouvelle base de donnes avec les\n" +" donnes importes, crez plutt une nouvelle base de donnes (ou,\n" +" plus pniblement, abandonnez toutes les anciennes donnes).\n" +" " + +#: ../roundup/admin.py:1079 +msgid "" +"Usage: importtables export_dir\n" +"\n" +" This imports the database tables exported using exporttables.\n" +" " +msgstr "" + +#. password +#: ../roundup/admin.py:1086 +msgid "" +"Usage: initialise [adminpw]\n" +" Initialise a new Roundup tracker.\n" +"\n" +" The administrator details will be set at this step.\n" +"\n" +" Execute the tracker's initialisation function dbinit.init()\n" +" " +msgstr "" +"Utilisation: initialise [adminpw]\n" +" Initialise un nouveau pisteur Roundup.\n" +"\n" +" Les dtails au sujet de l'administrateur sont dfinis au cours\n" +" de cette tape.\n" +"\n" +" Excute la fonction d'initialisation dbinit.init() du pisteur.\n" +" " + +#: ../roundup/admin.py:1100 +msgid "Admin Password: " +msgstr "Mot de passe administrateur: " + +#: ../roundup/admin.py:1101 +msgid " Confirm: " +msgstr " Confirmez: " + +#: ../roundup/admin.py:1105 +msgid "Instance home does not exist" +msgstr "Le rpertoire racine de l'instance n'existe pas" + +#: ../roundup/admin.py:1109 +msgid "Instance has not been installed" +msgstr "L'instance n'a pas t installe" + +#: ../roundup/admin.py:1115 +msgid "" +"WARNING: The database is already initialised!\n" +"If you re-initialise it, you will lose all the data!\n" +"Erase it? Y/N: " +msgstr "" +"ATTENTION: la base de donnes est dj initialise!\n" +"Si vous la rinitialisez, vous perdrez toutes les donnes!\n" +"Supprimez la base de donnes (Y/N)? " + +#: ../roundup/admin.py:1135 #, fuzzy msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" @@ -361,27 +791,12 @@ " Consultez galement l'aide sur initopts.\n" " " -# ../roundup/admin.py:367 :464 :525 :604 :654 :712 :733 :761 :832 :899 :970 -# :1018 :1040 :1067 :1134 :1204 -# ../roundup/admin.py:1207 ../roundup/admin.py:369:466 :1020:1042 :1069:1136 -# :1207 :527:606 :656:714 :735:763 :834:901:972 -#: ../roundup/admin.py:437 ../roundup/admin.py:568 ../roundup/admin.py:671 -#: ../roundup/admin.py:764 ../roundup/admin.py:822 ../roundup/admin.py:908 -#: ../roundup/admin.py:967 ../roundup/admin.py:994 ../roundup/admin.py:1021 -#: ../roundup/admin.py:1098 ../roundup/admin.py:1193 ../roundup/admin.py:1279 -#: ../roundup/admin.py:1340 ../roundup/admin.py:1367 ../roundup/admin.py:1403 -#: ../roundup/admin.py:1531 ../roundup/admin.py:1615 -#: ../roundup/admin.py:437:568 :1021:1098:1193 :1279:1340 :1367:1403 :1531:1615 -#: :671:764 :822:908 :967:994 -msgid "Not enough arguments supplied" -msgstr "Pas suffisamment d'arguments fournis" - -#: ../roundup/admin.py:443 +#: ../roundup/admin.py:1164 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "Le rpertoire parent %(parent)s de l'instance de base n'existe pas" -#: ../roundup/admin.py:452 +#: ../roundup/admin.py:1173 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -393,22 +808,22 @@ "Si vous le rinstallez, vous perdrez toutes les donnes!\n" "Supprimer le pisteur (Y/N)? " -#: ../roundup/admin.py:465 +#: ../roundup/admin.py:1186 #, fuzzy msgid "Select template" msgstr "Slection du modle [classic]: " -#: ../roundup/admin.py:475 +#: ../roundup/admin.py:1196 #, fuzzy msgid "Select backend" msgstr "Slection du moteur de stockage [anydbm]: " -#: ../roundup/admin.py:486 +#: ../roundup/admin.py:1207 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "Erreur dans les paramtres de la configuration: %s" -#: ../roundup/admin.py:517 +#: ../roundup/admin.py:1238 #, python-format msgid "" "\n" @@ -421,11 +836,11 @@ " Vous devez maintenant modifier le fichier de configuration du pisteur:\n" " %(config_file)s" -#: ../roundup/admin.py:527 +#: ../roundup/admin.py:1248 msgid " ... at a minimum, you must set following options:" msgstr " ou au minimum, vous devez dfinir les options suivantes:" -#: ../roundup/admin.py:532 +#: ../roundup/admin.py:1253 #, python-format msgid "" "\n" @@ -457,141 +872,389 @@ " que vous avez ralis les tapes prcdentes.\n" "---------------------------------------------------------------------------\n" -#: ../roundup/admin.py:563 -#, fuzzy +#: ../roundup/admin.py:1270 +msgid "" +"Usage: list classname [property]\n" +" List the instances of a class.\n" +"\n" +" Lists all instances of the given class. If the property is not\n" +" specified, the \"label\" property is used. The label property is\n" +" tried in order: the key, \"name\", \"title\" and then the first\n" +" property, alphabetically.\n" +"\n" +" With -c, -S or -s print a list of item id's if no property\n" +" specified. If property specified, print list of that property\n" +" for every class instance.\n" +" " +msgstr "" +"Utilisation: list nom-de-classe [proprit]\n" +" Liste toutes les instances d'une classe.\n" +"\n" +" numre toutes les instances d'une classe donne. Si la\n" +" proprit n'est pas indique, la proprit label est\n" +" utilise. Cette proprit tiquette est dtermine selon\n" +" l'ordre suivant: la cl, les proprits name, title\n" +" et la premire proprit par ordre alphabtique.\n" +"\n" +" Avec les options -c, -S ou -s, affiche une liste des\n" +" identificateurs d'lments si aucune proprit n'est indique.\n" +" Si une proprit est indique, affiche une liste de cette\n" +" proprit pour chaque instance de cette classe.\n" +" " + +#: ../roundup/admin.py:1283 +msgid "Too many arguments supplied" +msgstr "Trop d'arguments fournis" + +#: ../roundup/admin.py:1319 +#, python-format +msgid "%(nodeid)4s: %(value)s" +msgstr "%(nodeid)4s: %(value)s" + +#: ../roundup/admin.py:1323 msgid "" -"Usage: genconfig <filename>\n" -" Generate a new tracker config file (ini style) with default\n" -" values in <filename>.\n" +"Usage: migrate\n" +"\n" +" Update a tracker's database to be compatible with the Roundup\n" +" codebase.\n" +"\n" +" You should run the \"migrate\" command for your tracker once\n" +" you've installed the latest codebase.\n" +"\n" +" Do this before you use the web, command-line or mail interface\n" +" and before any users access the tracker.\n" +"\n" +" This command will respond with either \"Tracker updated\" (if\n" +" you've not previously run it on an RDBMS backend) or \"No\n" +" migration action required\" (if you have run it, or have used\n" +" another interface to the tracker, or possibly because you are\n" +" using anydbm).\n" +"\n" +" It's safe to run this even if it's not required, so just get\n" +" into the habit.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1344 +#, python-format +msgid "Tracker updated to schema version %s." +msgstr "" + +#: ../roundup/admin.py:1348 +#, python-format +msgid "No migration action required. At schema version %s." +msgstr "" + +#: ../roundup/admin.py:1353 +msgid "" +"Usage: pack period | date\n" +"\n" +" Remove journal entries older than a period of time specified or\n" +" before a certain date.\n" +"\n" +" A period is specified using the suffixes \"y\", \"m\", and \"d\". " +"The\n" +" suffix \"w\" (for \"week\") means 7 days.\n" +"\n" +" \"3y\" means three years\n" +" \"2y 1m\" means two years and one month\n" +" \"1m 25d\" means one month and 25 days\n" +" \"2w 3d\" means two weeks and three days\n" +"\n" +" Date format is \"YYYY-MM-DD\" eg:\n" +" 2001-01-01\n" +"\n" " " msgstr "" -"Utilisation: genconfig <nomfichier>\n" -" Gnre un nouveau fichier de configuration du pisteur\n" -" (au format ini) avec des valeurs par dfaut dans\n" -" <nomfichier>" - -#: ../roundup/admin.py:581 -#, python-format +"Utilisation: pack priode | date\n" +"\n" +" Efface les entres de journaux antrieures une priode ou \n" +" une date donne.\n" +"\n" +" Une priode est indique en utilisant les suffixes y (pour\n" +" year - anne), m (pour month - mois), et d\n" +" (pour day - jour).\n" +"\n" +" Le suffixe w (pour week - semaine) signifie 7 jours.\n" +"\n" +" 3y signifie 3 ans\n" +" 2y 1m signifie 2 ans et un mois\n" +" 1m 25d signifie un an et 25 jours\n" +" 2w 3d signifie 2 semaines et 3 jours\n" +"\n" +" Le format de date est AAAA-MM-JJ, par exemple:\n" +" 2001-01-01\n" +"\n" +" " + +#: ../roundup/admin.py:1381 +msgid "Invalid format" +msgstr "Format non valide" + +#: ../roundup/admin.py:1392 msgid "" -"Changing option\n" -" 'password_pbkdf2_default_rounds'\n" -"from old default of %(old_number)s to new default of %(new_number)s." -msgstr "" - -#: ../roundup/admin.py:593 -#, python-format +"Usage: perftest [mode] [arguments]*\n" +"\n" +" Time operations in Roundup. Supported arguments:\n" +"\n" +" [password] [rounds=<integer>] [scheme=<scheme>]\n" +"\n" +" 'password' is the default mode. The tracker's config.ini\n" +" setting for 'password_pbkdf2_default_rounds' is the default\n" +" value for 'rounds'. On the command line, 'rounds' can include\n" +" thousands separator of ',' or '.'. 'scheme' is the default\n" +" coded into Roundup. List supported schemes by using 'scheme='.\n" +"\n" +" " +msgstr "" + +#: ../roundup/admin.py:1425 +msgid "Invalid 'rounds'. Must be larger than 999." +msgstr "" + +#: ../roundup/admin.py:1429 +#, python-format +msgid "Invalid 'rounds'. It must be an integer not: %s" +msgstr "" + +#: ../roundup/admin.py:1456 +msgid "scheme does not support rounds." +msgstr "" + +#: ../roundup/admin.py:1459 +#, python-format +msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" +msgstr "" + +#: ../roundup/admin.py:1465 msgid "" -"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" -"than %s." -msgstr "" - -#: ../roundup/admin.py:604 +"Usage: pragma setting=value | 'list'\n" +" Set internal admin settings to a value. E.G.\n" +"\n" +" pragma verbose=True\n" +" pragma verbose=yes\n" +" pragma verbose=on\n" +" pragma verbose=1\n" +"\n" +" will turn on verbose mode for roundup-admin.\n" +"\n" +" pragma list\n" +"\n" +" will show all settings and their current values. If verbose\n" +" is enabled hidden settings and descriptions will be shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1489 +#, python-format +msgid "Argument must be setting=value, was given: %s." +msgstr "" + +#: ../roundup/admin.py:1492 +msgid "Current settings and values (NYI - not yet implemented):" +msgstr "" + +#: ../roundup/admin.py:1505 +#, fuzzy, python-format +msgid "Unknown setting %s." +msgstr "Nom d'utilisateur inconnu" + +#: ../roundup/admin.py:1514 +#, python-format +msgid "Incorrect value for boolean setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1521 +#, python-format +msgid "Incorrect value for integer setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1527 +#, python-format +msgid "Internal error: pragma can not handle values of type: %s" +msgstr "" + +#: ../roundup/admin.py:1537 #, fuzzy msgid "" -"Usage: updateconfig <filename>\n" -" Generate an updated tracker config file (ini style) in\n" -" <filename>. Use current settings from existing roundup\n" -" tracker in tracker home.\n" -" " -msgstr "" -"Utilisation: genconfig <nomfichier>\n" -" Gnre un nouveau fichier de configuration du pisteur\n" -" (au format ini) avec des valeurs par dfaut dans\n" -" <nomfichier>" - -#. password -#: ../roundup/admin.py:612 -msgid "" -"Usage: initialise [adminpw]\n" -" Initialise a new Roundup tracker.\n" -"\n" -" The administrator details will be set at this step.\n" -"\n" -" Execute the tracker's initialisation function dbinit.init()\n" +"Usage: reindex [classname|classname:#-#|designator]*\n" +" Re-generate a tracker's search indexes.\n" +"\n" +" This will re-generate the search indexes for a tracker.\n" +" This will typically happen automatically.\n" +"\n" +" You can incrementally reindex using an argument like:\n" +"\n" +" reindex issue:23-1000\n" +"\n" +" to reindex issue class items 23-1000. Missing items\n" +" are reported but do not stop indexing of the range.\n" " " msgstr "" -"Utilisation: initialise [adminpw]\n" -" Initialise un nouveau pisteur Roundup.\n" -"\n" -" Les dtails au sujet de l'administrateur sont dfinis au cours\n" -" de cette tape.\n" -"\n" -" Excute la fonction d'initialisation dbinit.init() du pisteur.\n" +"Utilisation: reindex [classname|designator]*\n" +" Regnre les index de recherche d'un pisteur.\n" +"\n" +" Cette commande regnrera les index de recherche d'un pisteur.\n" +" Cette opration est normalement effectuer automatiquement.\n" " " -#: ../roundup/admin.py:626 -msgid "Admin Password: " -msgstr "Mot de passe administrateur: " - -#: ../roundup/admin.py:627 -msgid " Confirm: " -msgstr " Confirmez: " - -#: ../roundup/admin.py:631 -msgid "Instance home does not exist" -msgstr "Le rpertoire racine de l'instance n'existe pas" - -#: ../roundup/admin.py:635 -msgid "Instance has not been installed" -msgstr "L'instance n'a pas t installe" - -#: ../roundup/admin.py:641 -msgid "" -"WARNING: The database is already initialised!\n" -"If you re-initialise it, you will lose all the data!\n" -"Erase it? Y/N: " -msgstr "" -"ATTENTION: la base de donnes est dj initialise!\n" -"Si vous la rinitialisez, vous perdrez toutes les donnes!\n" -"Supprimez la base de donnes (Y/N)? " - -#: ../roundup/admin.py:661 +#: ../roundup/admin.py:1560 +#, python-format +msgid "no such item \"%(designator)s\"" +msgstr "pas d'lment %(designator)s" + +#: ../roundup/admin.py:1570 +#, fuzzy, python-format +msgid "no such item \"%(class)s%(id)s\"" +msgstr "pas d'lment %(designator)s" + +#: ../roundup/admin.py:1582 #, fuzzy msgid "" -"Usage: get property designator[,designator]*\n" -" Get the given property of one or more designator(s).\n" +"Usage: restore designator[,designator]*\n" +" Restore the retired node specified by designator.\n" "\n" " A designator is a classname and a nodeid concatenated,\n" " eg. bug1, user10, ...\n" "\n" -" Retrieves the property value of the nodes specified\n" -" by the designators.\n" -" " -msgstr "" -"Utilisation: get property indicateur[,indicateur]*\n" -" Retourne la proprit demande d'un ou plusieurs indicateurs.\n" -"\n" -" Retourne la valeur de la proprit des noeuds spcifis par\n" -" les indicateurs.\n" +" The given nodes will become available for users again.\n" " " - -# ../roundup/admin.py:558 :573 -# ../roundup/admin.py:560 ../roundup/admin.py:575 ../roundup/admin.py:560:575 -#: ../roundup/admin.py:705 ../roundup/admin.py:723 ../roundup/admin.py:705:723 -#, python-format -msgid "property %s is not of type Multilink or Link so -d flag does not apply." -msgstr "" -"la proprit %s n'est pas de type Multilien ou Lien et donc l'option -d ne " -"s'applique pas." +msgstr "" +"Utilisaiton: restore indicateur[,indicateur]*\n" +" Restaure le ou les noeuds retirs, indiqus par le ou les\n" +" indicateurs.\n" +"\n" +" Les noeuds indiqus seront nouveau acessibles aux\n" +" utilisateurs.\n" +" " # ../roundup/admin.py:581 :981 :1030 :1052 # ../roundup/admin.py:1054 ../roundup/admin.py:583:983 :1032:1054 -#: ../roundup/admin.py:733 ../roundup/admin.py:1297 ../roundup/admin.py:1352 -#: ../roundup/admin.py:733:1297:1352 -#, python-format -msgid "no such %(classname)s node \"%(nodeid)s\"" +#: ../roundup/admin.py:1607 +#, fuzzy +msgid "no such %(classname)s node \" % (nodeid)s\"" msgstr "le noeud %(nodeid)s de classe %(classname)s n'existe pas" -#: ../roundup/admin.py:736 -#, python-format -msgid "no such %(classname)s property \"%(propname)s\"" -msgstr "" -"la proprit %(propname)s n'existe pas pour la classe %(classname)s" - -#: ../roundup/admin.py:744 +#: ../roundup/admin.py:1613 #, fuzzy msgid "" -"Usage: set items property=value property=value ...\n" +"Usage: retire designator[,designator]*\n" +" Retire the node specified by designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This action indicates that a particular node is not to be retrieved\n" +" by the list or find commands, and its key value may be re-used.\n" +" " +msgstr "" +"Utilisation: retire indicateur[,indicateur]*\n" +" Retire le noeud indiqu par l'indicateur.\n" +"\n" +" Cette action indique qu'un noeud particulier ne doit plus tre\n" +" trouv par les commandes list ou find, et que sa\n" +" valeur de cl peut tre r-utilise.\n" +" " + +#: ../roundup/admin.py:1641 +msgid "" +"Usage: rollback\n" +" Undo all changes that are pending commit to the database.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" manually. This command undoes all those changes, so a commit\n" +" immediately after would make no changes to the database.\n" +" " +msgstr "" +"Utlisation: rollback\n" +" Annule tous les changements en attente de validation pour la base\n" +" de donnes.\n" +"\n" +" Les changements effectus lors d'une session interactive ne\n" +" sont pas automatiquement enregistrs dans la base de donnes -\n" +" ils doivent tre valids manuellement. Cette commande annule\n" +" tout ces changements, de telle manire qu'une validation\n" +" effectue immdiatement n'apporterait aucun changement la\n" +" base de donnes.\n" +" " + +#: ../roundup/admin.py:1654 +msgid "" +"Usage: security [Role name]\n" +"\n" +" Display the Permissions available to one or all Roles.\n" +" Also validates that any properties defined in a\n" +" permission are valid.\n" +"\n" +" Run this after changing your permissions to catch\n" +" typos.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1668 +#, fuzzy, python-format +msgid "No such Role \"%(role)s\"\n" +msgstr "Ce rle %(role)s n'existe pas" + +#: ../roundup/admin.py:1674 +#, fuzzy, python-format +msgid "New Web users get the Roles \"%(role)s\"\n" +msgstr "Les nouveaux utilisateurs Web ont les rles %(role)s" + +#: ../roundup/admin.py:1677 +#, fuzzy, python-format +msgid "New Web users get the Role \"%(role)s\"\n" +msgstr "Les nouveaux utilisateurs Web ont le rle %(role)s" + +#: ../roundup/admin.py:1681 +#, fuzzy, python-format +msgid "New Email users get the Roles \"%(role)s\"\n" +msgstr "Les nouveaux utilisateurs Courriel ont les rles %(role)s" + +#: ../roundup/admin.py:1683 +#, fuzzy, python-format +msgid "New Email users get the Role \"%(role)s\"\n" +msgstr "Les nouveaux utilisateurs Courriel ont le rle %(role)s" + +#: ../roundup/admin.py:1686 +#, fuzzy, python-format +msgid "Role \"%(name)s\":\n" +msgstr "Rle %(name)s:" + +#: ../roundup/admin.py:1692 +#, fuzzy +msgid " %(description)s (%(name)s for \"%(klass)s\"" +msgstr " %(description)s (%(name)s pour %(klass)s uniquement)" + +#: ../roundup/admin.py:1692 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" +msgstr "" +" %(description)s (%(name)s pour %(klass)s: %(properties)s uniquement)" + +#: ../roundup/admin.py:1705 +#, python-format +msgid "" +"\n" +" **Invalid properties for %(class)s: %(props)s\n" +"\n" +msgstr "" + +#: ../roundup/admin.py:1711 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" +msgstr " %(description)s (%(name)s pour %(klass)s uniquement)" + +#: ../roundup/admin.py:1714 +#, fuzzy, python-format +msgid " %(description)s (%(name)s)\n" +msgstr " %(description)s (%(name)s)" + +#: ../roundup/admin.py:1718 +#, fuzzy +msgid "" +"Usage: set items property=value [property=value ...]\n" " Set the given properties of one or more items(s).\n" "\n" " The items are specified as a class or as a comma-separated\n" @@ -623,64 +1286,7 @@ " ce lien sont indiqus comme des nombres spars par des\n" " virgules (par ex. 1,2,3)." -#: ../roundup/admin.py:812 -#, fuzzy -msgid "" -"Usage: filter classname propname=value ...\n" -" Find the nodes of the given class with a given property value.\n" -"\n" -" Find the nodes of the given class with a given property value.\n" -" Multiple values can be specified by separating them with commas.\n" -" If property is a string, all values must match. I.E. it's an\n" -" 'and' operation. If the property is a link/multilink any value\n" -" matches. I.E. an 'or' operation.\n" -" " -msgstr "" -"Utilisation: find nom-de-classe proprit=valeur ...\n" -" Recherche les noeuds de la classe indique, ayant une proprit de\n" -" lien donne.\n" -"\n" -" Recherche les noeuds de la classe indique, ayant une proprit de\n" -" lien donne. La valeur peut tre soit l'identificateur de noeud du\n" -" noeud li, ou sa valeur de cl.\n" -" " - -# ../roundup/admin.py:699 :852 :864 :918 -# ../roundup/admin.py:920 ../roundup/admin.py:701:854 :866:920 -#: ../roundup/admin.py:855 -#, fuzzy, python-format -msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." -msgstr "%(classname)s n'a pas de proprit %(propname)s" - -# ../roundup/admin.py:699 :852 :864 :918 -# ../roundup/admin.py:920 ../roundup/admin.py:701:854 :866:920 -#: ../roundup/admin.py:893 ../roundup/admin.py:954 ../roundup/admin.py:1118 -#: ../roundup/admin.py:1130 ../roundup/admin.py:1213 -#: ../roundup/admin.py:893:954 :1118:1130:1213 -#, python-format -msgid "%(classname)s has no property \"%(propname)s\"" -msgstr "%(classname)s n'a pas de proprit %(propname)s" - -#: ../roundup/admin.py:900 -msgid "" -"Usage: find classname propname=value ...\n" -" Find the nodes of the given class with a given link property value.\n" -"\n" -" Find the nodes of the given class with a given link property value.\n" -" The value may be either the nodeid of the linked node, or its key\n" -" value.\n" -" " -msgstr "" -"Utilisation: find nom-de-classe proprit=valeur ...\n" -" Recherche les noeuds de la classe indique, ayant une proprit de\n" -" lien donne.\n" -"\n" -" Recherche les noeuds de la classe indique, ayant une proprit de\n" -" lien donne. La valeur peut tre soit l'identificateur de noeud du\n" -" noeud li, ou sa valeur de cl.\n" -" " - -#: ../roundup/admin.py:961 +#: ../roundup/admin.py:1786 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -694,136 +1300,17 @@ " Cette commande numre les proprits de la classe nomme.\n" " " -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1802 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s (proprit cl)" -#: ../roundup/admin.py:980 +#: ../roundup/admin.py:1805 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:983 -#, fuzzy -msgid "" -"Usage: display designator[,designator]*\n" -"\n" -" Show the property values for the given node(s).\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This lists the properties and their associated values\n" -" for the given node.\n" -" " -msgstr "" -"Utilisation: display indicateur[,indicateur]*\n" -" Affiche les valeurs des proprits des noeuds indiqus.\n" -"\n" -" Cette commande numre les proprits et leurs valeurs du ou\n" -" des noeuds indiqus.\n" -" " - -#: ../roundup/admin.py:1010 -#, python-format -msgid "%(key)s: %(value)s" -msgstr "%(key)s: %(value)s" - -#: ../roundup/admin.py:1013 -msgid "" -"Usage: create classname property=value ...\n" -" Create a new entry of a given class.\n" -"\n" -" This creates a new entry of the given class using the property\n" -" name=value arguments provided on the command line after the \"create" -"\"\n" -" command.\n" -" " -msgstr "" -"Utilisation: create nom-de-classe proprit=valeur ...\n" -" Cre une nouvelle entre d'une classe donne.\n" -"\n" -" Cette commande cre une nouvelle entre d'une classe indique\n" -" en utilisant les proprits nom=valeur donnes en\n" -" arguments de la ligne de commande, aprs la commande\n" -" create.\n" -" " - -#: ../roundup/admin.py:1041 -#, python-format -msgid "%(propname)s (Password): " -msgstr "%(propname)s (mot de passe): " - -#: ../roundup/admin.py:1044 -#, python-format -msgid " %(propname)s (Again): " -msgstr " %(propname)s ( nouveau): " - -#: ../roundup/admin.py:1048 -msgid "Sorry, try again..." -msgstr "Dsol, essayez nouveau..." - -#: ../roundup/admin.py:1052 -#, python-format -msgid "%(propname)s (%(proptype)s): " -msgstr "%(propname)s (%(proptype)s): " - -#: ../roundup/admin.py:1071 -#, python-format -msgid "you must provide the \"%(propname)s\" property." -msgstr "vous devez renseigner la proprit %(propname)s." - -#: ../roundup/admin.py:1083 -msgid "" -"Usage: list classname [property]\n" -" List the instances of a class.\n" -"\n" -" Lists all instances of the given class. If the property is not\n" -" specified, the \"label\" property is used. The label property is\n" -" tried in order: the key, \"name\", \"title\" and then the first\n" -" property, alphabetically.\n" -"\n" -" With -c, -S or -s print a list of item id's if no property\n" -" specified. If property specified, print list of that property\n" -" for every class instance.\n" -" " -msgstr "" -"Utilisation: list nom-de-classe [proprit]\n" -" Liste toutes les instances d'une classe.\n" -"\n" -" numre toutes les instances d'une classe donne. Si la\n" -" proprit n'est pas indique, la proprit label est\n" -" utilise. Cette proprit tiquette est dtermine selon\n" -" l'ordre suivant: la cl, les proprits name, title\n" -" et la premire proprit par ordre alphabtique.\n" -"\n" -" Avec les options -c, -S ou -s, affiche une liste des\n" -" identificateurs d'lments si aucune proprit n'est indique.\n" -" Si une proprit est indique, affiche une liste de cette\n" -" proprit pour chaque instance de cette classe.\n" -" " - -#: ../roundup/admin.py:1096 -msgid "Too many arguments supplied" -msgstr "Trop d'arguments fournis" - -#: ../roundup/admin.py:1132 -#, python-format -msgid "%(nodeid)4s: %(value)s" -msgstr "%(nodeid)4s: %(value)s" - -#: ../roundup/admin.py:1136 -msgid "" -"Usage: templates [trace_search]\n" -" List templates and their installed directories.\n" -"\n" -" With trace_search also list all directories that are\n" -" searched for templates.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1164 +#: ../roundup/admin.py:1808 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -885,472 +1372,70 @@ " donnera une colonne Name large de 4 caractres.\n" " " -#: ../roundup/admin.py:1208 +#: ../roundup/admin.py:1852 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "%(spec)s ne correspond pas au format nom:largeur" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1874 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1266 -msgid "" -"Usage: history designator [skipquiet]\n" -" Show the history entries of a designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" Lists the journal entries viewable by the user for the\n" -" node identified by the designator. If skipquiet is the\n" -" second argument, journal entries for quiet properties\n" -" are not shown.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1302 -msgid "" -"Usage: commit\n" -" Commit changes made to the database during an interactive session.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" using this command.\n" -"\n" -" One-off commands on the command-line are automatically committed if\n" -" they are successful.\n" -" " -msgstr "" -"Utilisation: commit\n" -" Valide les changements apports la base de donnes lors d'une\n" -" session interactive.\n" -"\n" -" Les changements effectus lors d'une session interactive ne\n" -" sont pas automatiquement enregistrs dans la base de donnes -\n" -" ils doivent tre valids par cette commande.\n" -"\n" -" Les commandes one-off en ligne de commande sont\n" -" automatiquement valides si elles russissent.\n" -" " - -#: ../roundup/admin.py:1317 -msgid "" -"Usage: rollback\n" -" Undo all changes that are pending commit to the database.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" manually. This command undoes all those changes, so a commit\n" -" immediately after would make no changes to the database.\n" -" " -msgstr "" -"Utlisation: rollback\n" -" Annule tous les changements en attente de validation pour la base\n" -" de donnes.\n" -"\n" -" Les changements effectus lors d'une session interactive ne\n" -" sont pas automatiquement enregistrs dans la base de donnes -\n" -" ils doivent tre valids manuellement. Cette commande annule\n" -" tout ces changements, de telle manire qu'une validation\n" -" effectue immdiatement n'apporterait aucun changement la\n" -" base de donnes.\n" -" " - -#: ../roundup/admin.py:1330 -#, fuzzy +#: ../roundup/admin.py:1910 msgid "" -"Usage: retire designator[,designator]*\n" -" Retire the node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This action indicates that a particular node is not to be retrieved\n" -" by the list or find commands, and its key value may be re-used.\n" -" " -msgstr "" -"Utilisation: retire indicateur[,indicateur]*\n" -" Retire le noeud indiqu par l'indicateur.\n" -"\n" -" Cette action indique qu'un noeud particulier ne doit plus tre\n" -" trouv par les commandes list ou find, et que sa\n" -" valeur de cl peut tre r-utilise.\n" -" " - -#: ../roundup/admin.py:1358 -#, fuzzy -msgid "" -"Usage: restore designator[,designator]*\n" -" Restore the retired node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" The given nodes will become available for users again.\n" -" " -msgstr "" -"Utilisaiton: restore indicateur[,indicateur]*\n" -" Restaure le ou les noeuds retirs, indiqus par le ou les\n" -" indicateurs.\n" -"\n" -" Les noeuds indiqus seront nouveau acessibles aux\n" -" utilisateurs.\n" +"Usage: templates [trace_search]\n" +" List templates and their installed directories.\n" +"\n" +" With trace_search also list all directories that are\n" +" searched for templates.\n" " " - -# ../roundup/admin.py:581 :981 :1030 :1052 -# ../roundup/admin.py:1054 ../roundup/admin.py:583:983 :1032:1054 -#: ../roundup/admin.py:1383 -#, fuzzy -msgid "no such %(classname)s node \" % (nodeid)s\"" -msgstr "le noeud %(nodeid)s de classe %(classname)s n'existe pas" - -#. grab the directory to export to -#: ../roundup/admin.py:1389 -#, fuzzy -msgid "" -"Usage: export [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files.\n" -" To exclude the files (e.g. for the msg or file class),\n" -" use the exporttables command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" -"Utilisation: export [classe[,classe]] rpertoire-d'exportation\n" -" Exporte la base de donnes vers des fichiers dans un format\n" -" aux valeurs spares par des double-points.\n" -"\n" -" Limite ventuellement l'exportation aux classes indiques.\n" -"\n" -" Cette action exporte les donnes actuelles de la base de donnes,\n" -" vers des fichiers placs dans le rpertoire dsign, et dans un \n" -" format aux valeurs spares par des doubles-points.\n" -" " - -#: ../roundup/admin.py:1496 +msgstr "" + +#: ../roundup/admin.py:1938 #, fuzzy msgid "" -"Usage: exporttables [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files, excluding the\n" -" files below $TRACKER_HOME/db/files/ (which can be archived " -"separately).\n" -" To include the files, use the export command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" -"Utilisation: export [classe[,classe]] rpertoire-d'exportation\n" -" Exporte la base de donnes vers des fichiers dans un format\n" -" aux valeurs spares par des double-points.\n" -"\n" -" Limite ventuellement l'exportation aux classes indiques.\n" -"\n" -" Cette action exporte les donnes actuelles de la base de donnes,\n" -" vers des fichiers placs dans le rpertoire dsign, et dans un \n" -" format aux valeurs spares par des doubles-points.\n" -" " - -#: ../roundup/admin.py:1511 -msgid "" -"Usage: import import_dir\n" -" Import a database from the directory containing CSV files,\n" -" two per class to import.\n" -"\n" -" The files used in the import are:\n" -"\n" -" <class>.csv\n" -" This must define the same properties as the class (including\n" -" having a \"header\" line with those property names.)\n" -" <class>-journals.csv\n" -" This defines the journals for the items being imported.\n" -"\n" -" The imported nodes will have the same nodeid as defined in the\n" -" import file, thus replacing any existing content.\n" -"\n" -" The new nodes are added to the existing database - if you want to\n" -" create a new database using the imported data, then create a new\n" -" database (or, tediously, retire all the old data.)\n" -" " -msgstr "" -"Utilisation: import rpertoire-d'importation\n" -" Importe une base de donnes partir d'un rpertoire contenant des\n" -" fichiers, d'un format aux valeurs spares par des doubles points,\n" -" deux par classe importer.\n" -"\n" -" Les fichiers utiliss lors de l'importation sont:\n" -"\n" -" <classe>.csv\n" -" Celui-ci dfinit les mmes proprits que la classe (avec\n" -" une ligne header donnant ces noms de proprits).\n" -" <classe>-journals.csv\n" -" Celui-ci dfinit les journaux pour les lments imports.\n" -"\n" -" Les noeuds imports auront les mmes identificateurs de noeuds\n" -" (nodeid) que ceux dfinis dans le fichier d'importation,\n" -" remplaant ds lors tout contenu existant.\n" -"\n" -" Les nouveaux noeuds sont ajouts la base de donnes - si, en\n" -" fait, vous dsirez crer une nouvelle base de donnes avec les\n" -" donnes importes, crez plutt une nouvelle base de donnes (ou,\n" -" plus pniblement, abandonnez toutes les anciennes donnes).\n" -" " - -#: ../roundup/admin.py:1590 -msgid "" -"Usage: importtables export_dir\n" -"\n" -" This imports the database tables exported using exporttables.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1597 -msgid "" -"Usage: pack period | date\n" -"\n" -" Remove journal entries older than a period of time specified or\n" -" before a certain date.\n" -"\n" -" A period is specified using the suffixes \"y\", \"m\", and \"d\". " -"The\n" -" suffix \"w\" (for \"week\") means 7 days.\n" -"\n" -" \"3y\" means three years\n" -" \"2y 1m\" means two years and one month\n" -" \"1m 25d\" means one month and 25 days\n" -" \"2w 3d\" means two weeks and three days\n" -"\n" -" Date format is \"YYYY-MM-DD\" eg:\n" -" 2001-01-01\n" -"\n" -" " -msgstr "" -"Utilisation: pack priode | date\n" -"\n" -" Efface les entres de journaux antrieures une priode ou \n" -" une date donne.\n" -"\n" -" Une priode est indique en utilisant les suffixes y (pour\n" -" year - anne), m (pour month - mois), et d\n" -" (pour day - jour).\n" -"\n" -" Le suffixe w (pour week - semaine) signifie 7 jours.\n" -"\n" -" 3y signifie 3 ans\n" -" 2y 1m signifie 2 ans et un mois\n" -" 1m 25d signifie un an et 25 jours\n" -" 2w 3d signifie 2 semaines et 3 jours\n" -"\n" -" Le format de date est AAAA-MM-JJ, par exemple:\n" -" 2001-01-01\n" -"\n" -" " - -#: ../roundup/admin.py:1625 -msgid "Invalid format" -msgstr "Format non valide" - -#: ../roundup/admin.py:1638 -msgid "" -"Usage: reindex [classname|designator]*\n" -" Re-generate a tracker's search indexes.\n" -"\n" -" This will re-generate the search indexes for a tracker.\n" -" This will typically happen automatically.\n" -" " -msgstr "" -"Utilisation: reindex [classname|designator]*\n" -" Regnre les index de recherche d'un pisteur.\n" -"\n" -" Cette commande regnrera les index de recherche d'un pisteur.\n" -" Cette opration est normalement effectuer automatiquement.\n" +"Usage: updateconfig <filename>\n" +" Generate an updated tracker config file (ini style) in\n" +" <filename>. Use current settings from existing roundup\n" +" tracker in tracker home.\n" " " - -#: ../roundup/admin.py:1652 -#, python-format -msgid "no such item \"%(designator)s\"" -msgstr "pas d'lment %(designator)s" - -#: ../roundup/admin.py:1662 -#, fuzzy -msgid "" -"Usage: security [Role name]\n" -"\n" -" Display the Permissions available to one or all Roles.\n" -" " -msgstr "" -"Utilisation: security [nom-de-rle]\n" -" Affiche les permissions disponible pour un ou plusieurs rles.\n" -" " - -#: ../roundup/admin.py:1671 -#, fuzzy, python-format -msgid "No such Role \"%(role)s\"\n" -msgstr "Ce rle %(role)s n'existe pas" - -#: ../roundup/admin.py:1677 -#, fuzzy, python-format -msgid "New Web users get the Roles \"%(role)s\"\n" -msgstr "Les nouveaux utilisateurs Web ont les rles %(role)s" - -#: ../roundup/admin.py:1680 -#, fuzzy, python-format -msgid "New Web users get the Role \"%(role)s\"\n" -msgstr "Les nouveaux utilisateurs Web ont le rle %(role)s" - -#: ../roundup/admin.py:1684 -#, fuzzy, python-format -msgid "New Email users get the Roles \"%(role)s\"\n" -msgstr "Les nouveaux utilisateurs Courriel ont les rles %(role)s" - -#: ../roundup/admin.py:1686 -#, fuzzy, python-format -msgid "New Email users get the Role \"%(role)s\"\n" -msgstr "Les nouveaux utilisateurs Courriel ont le rle %(role)s" - -#: ../roundup/admin.py:1689 -#, fuzzy, python-format -msgid "Role \"%(name)s\":\n" -msgstr "Rle %(name)s:" - -#: ../roundup/admin.py:1695 -#, fuzzy -msgid " %(description)s (%(name)s for \"%(klass)s\"" -msgstr " %(description)s (%(name)s pour %(klass)s uniquement)" - -#: ../roundup/admin.py:1695 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" -msgstr "" -" %(description)s (%(name)s pour %(klass)s: %(properties)s uniquement)" - -#: ../roundup/admin.py:1708 -#, python-format -msgid "" -"\n" -" **Invalid properties for %(class)s: %(props)s\n" -"\n" -msgstr "" - -#: ../roundup/admin.py:1714 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" -msgstr " %(description)s (%(name)s pour %(klass)s uniquement)" - -#: ../roundup/admin.py:1717 -#, fuzzy, python-format -msgid " %(description)s (%(name)s)\n" -msgstr " %(description)s (%(name)s)" - -#: ../roundup/admin.py:1721 -msgid "" -"Usage: migrate\n" -"\n" -" Update a tracker's database to be compatible with the Roundup\n" -" codebase.\n" -"\n" -" You should run the \"migrate\" command for your tracker once\n" -" you've installed the latest codebase.\n" -"\n" -" Do this before you use the web, command-line or mail interface\n" -" and before any users access the tracker.\n" -"\n" -" This command will respond with either \"Tracker updated\" (if\n" -" you've not previously run it on an RDBMS backend) or \"No\n" -" migration action required\" (if you have run it, or have used\n" -" another interface to the tracker, or possibly because you are\n" -" using anydbm).\n" -"\n" -" It's safe to run this even if it's not required, so just get\n" -" into the habit.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1742 -#, python-format -msgid "Tracker updated to schema version %s." -msgstr "" - -#: ../roundup/admin.py:1746 -#, python-format -msgid "No migration action required. At schema version %s." -msgstr "" - -#: ../roundup/admin.py:1751 -msgid "" -"Usage: perftest [mode] [arguments]*\n" -"\n" -" Time operations in Roundup. Supported arguments:\n" -"\n" -" [password] [rounds=<integer>] [scheme=<scheme>]\n" -"\n" -" 'password' is the default mode. The tracker's config.ini\n" -" setting for 'password_pbkdf2_default_rounds' is the default\n" -" value for 'rounds'. On the command line, 'rounds' can include\n" -" thousands separator of ',' or '.'. 'scheme' is the default\n" -" coded into Roundup. List supported schemes by using 'scheme='.\n" -"\n" -" " -msgstr "" - -#: ../roundup/admin.py:1785 -msgid "Invalid 'rounds'. Must be larger than 999." -msgstr "" - -#: ../roundup/admin.py:1789 -#, python-format -msgid "Invalid 'rounds'. It must be an integer not: %s" -msgstr "" - -#: ../roundup/admin.py:1816 -msgid "scheme does not support rounds." -msgstr "" - -#: ../roundup/admin.py:1819 -#, python-format -msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" -msgstr "" - -#: ../roundup/admin.py:1847 +msgstr "" +"Utilisation: genconfig <nomfichier>\n" +" Gnre un nouveau fichier de configuration du pisteur\n" +" (au format ini) avec des valeurs par dfaut dans\n" +" <nomfichier>" + +# ../roundup/cgi/actions.py:596 :607 :778 :797 +# ../roundup/cgi/actions.py:596:607 :778:797 +#: ../roundup/admin.py:1946 ../roundup/cgi/actions.py:886 +#: ../roundup/cgi/actions.py:897 ../roundup/cgi/actions.py:1099 +#: ../roundup/cgi/actions.py:1113 ../roundup/cgi/actions.py:886:897 :1099:1113 +#, python-format +msgid "Error: %s" +msgstr "Erreur: %s" + +#: ../roundup/admin.py:1974 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "Commande inconnue %(command)s (help commands pour la liste)" -#: ../roundup/admin.py:1853 +#: ../roundup/admin.py:1980 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "Plusieurs commandes correspondent %(command)s: %(list)s" -#: ../roundup/admin.py:1862 +#: ../roundup/admin.py:1996 msgid "Enter tracker home: " msgstr "Saisissez le rpertoire racine du pisteur: " -# ../roundup/admin.py:1332 :1338 :1358 -# ../roundup/admin.py:1335:1341:1361 -#: ../roundup/admin.py:1871 ../roundup/admin.py:1877 ../roundup/admin.py:1914 -#: ../roundup/admin.py:1871:1877:1914 -#, python-format -msgid "Error: %(message)s" -msgstr "Erreur: %(message)s" - -#: ../roundup/admin.py:1887 ../roundup/admin.py:1891 -#: ../roundup/admin.py:1887:1891 +#: ../roundup/admin.py:2023 ../roundup/admin.py:2027 +#: ../roundup/admin.py:2023:2027 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "Erreur: impossible d'ouvrir le pisteur, %(message)s" -#: ../roundup/admin.py:1927 +#: ../roundup/admin.py:2060 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1359,15 +1444,15 @@ "Roundup %s est prt pour la saisie.\n" "Saisissez help pour l'aide." -#: ../roundup/admin.py:1932 +#: ../roundup/admin.py:2065 msgid "Note: command history and editing not available" msgstr "Note: l'historique et l'dition des commandes n'est pas disponible" -#: ../roundup/admin.py:1938 +#: ../roundup/admin.py:2071 msgid "exit..." msgstr "sortie..." -#: ../roundup/admin.py:1951 +#: ../roundup/admin.py:2084 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "Des changements n'ont pas t enregistrs, les valider (y/N)?" @@ -1401,7 +1486,7 @@ #: ../roundup/backends/back_anydbm.py:1422 #: ../roundup/backends/back_anydbm.py:1440 #: ../roundup/backends/back_anydbm.py:1487 -#: ../roundup/backends/back_anydbm.py:2117 +#: ../roundup/backends/back_anydbm.py:2113 #: ../roundup/backends/back_anydbm.py:871:884 #: ../roundup/backends/rdbms_common.py:1708 #: ../roundup/backends/rdbms_common.py:1955 @@ -1410,7 +1495,7 @@ #: ../roundup/backends/rdbms_common.py:2267 #: ../roundup/backends/rdbms_common.py:3219 #: ../roundup/backends/rdbms_common.py:1708:1955 :1158:1193 :1422:1440:1487 -#: :2117 :2194:2214 :2267:3219 +#: :2113 :2194:2214 :2267:3219 msgid "Database open read-only" msgstr "" @@ -1666,15 +1751,6 @@ msgid "Edit Error: %s" msgstr "Erreur de modification: %s" -# ../roundup/cgi/actions.py:596 :607 :778 :797 -# ../roundup/cgi/actions.py:596:607 :778:797 -#: ../roundup/cgi/actions.py:886 ../roundup/cgi/actions.py:897 -#: ../roundup/cgi/actions.py:1099 ../roundup/cgi/actions.py:1113 -#: ../roundup/cgi/actions.py:886:897 :1099:1113 -#, python-format -msgid "Error: %s" -msgstr "Erreur: %s" - #: ../roundup/cgi/actions.py:931 msgid "" "Invalid One Time Key!\n" @@ -1935,8 +2011,8 @@ "Les administrateurs du pisteur ont t notifis du problme.</p>\n" "</body></html>" -#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 -#: ../roundup/cgi/client.py:670:1570 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:670:1567 msgid "Required Header Missing" msgstr "" @@ -1946,143 +2022,143 @@ msgstr "" "Les utilisateurs anonymes ne sont pas autoriss utiliser l'interface Web" -#: ../roundup/cgi/client.py:921 +#: ../roundup/cgi/client.py:918 msgid "Form Error: " msgstr "Erreur de formulaire: " -#: ../roundup/cgi/client.py:1011 +#: ../roundup/cgi/client.py:1008 #, python-format msgid "Unrecognized charset: %r" msgstr "Jeu de caractres non reconnu: %r" -#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 -#: ../roundup/cgi/client.py:1264:2250 +#: ../roundup/cgi/client.py:1261 ../roundup/cgi/client.py:2247 +#: ../roundup/cgi/client.py:1261:2247 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1279 +#: ../roundup/cgi/client.py:1276 msgid "Anonymous users are not allowed to use the web interface" msgstr "" "Les utilisateurs anonymes ne sont pas autoriss utiliser l'interface Web" -#: ../roundup/cgi/client.py:1430 +#: ../roundup/cgi/client.py:1427 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1434 +#: ../roundup/cgi/client.py:1431 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1463 +#: ../roundup/cgi/client.py:1460 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1467 +#: ../roundup/cgi/client.py:1464 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1475 +#: ../roundup/cgi/client.py:1472 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" # ../roundup/cgi/actions.py:930 :934 # ../roundup/cgi/actions.py:930:934 -#: ../roundup/cgi/client.py:1480 +#: ../roundup/cgi/client.py:1477 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "Tentative de connexion non valide" -#: ../roundup/cgi/client.py:1495 +#: ../roundup/cgi/client.py:1492 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" # ../roundup/cgi/actions.py:930 :934 # ../roundup/cgi/actions.py:930:934 -#: ../roundup/cgi/client.py:1500 +#: ../roundup/cgi/client.py:1497 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "Tentative de connexion non valide" -#: ../roundup/cgi/client.py:1514 +#: ../roundup/cgi/client.py:1511 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1520 +#: ../roundup/cgi/client.py:1517 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1539 +#: ../roundup/cgi/client.py:1536 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1544 +#: ../roundup/cgi/client.py:1541 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1552 +#: ../roundup/cgi/client.py:1549 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1553 +#: ../roundup/cgi/client.py:1550 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:1564 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1608 +#: ../roundup/cgi/client.py:1605 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 -#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 +#: ../roundup/cgi/client.py:1607 ../roundup/cgi/client.py:1634 +#: ../roundup/cgi/client.py:1651 ../roundup/cgi/client.py:1607:1634:1651 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1614 +#: ../roundup/cgi/client.py:1611 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1626 +#: ../roundup/cgi/client.py:1623 #, python-format msgid "" "Csrf mismatch user: current user %(user)s != stored user %(stored)s, current " "session, stored session: %(cur_sess)s,%(stor_sess)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1644 +#: ../roundup/cgi/client.py:1641 #, python-format msgid "" "Csrf mismatch user: current session %(curr_sess)s != stored session " "%(stor_sess)s, current user/stored user is: %(user)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1838 +#: ../roundup/cgi/client.py:1835 msgid "You are not allowed to view this file." msgstr "Vous n'tes pas autoris voir ce fichier" -#: ../roundup/cgi/client.py:2127 +#: ../roundup/cgi/client.py:2124 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "%(starttag)sTemps coul: %(seconds)fs%(endtag)s\n" -#: ../roundup/cgi/client.py:2131 +#: ../roundup/cgi/client.py:2128 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " @@ -2092,7 +2168,7 @@ "Chargement d'lments: %(get_items)f secondes. Filtrage: %(filtering)f " "secondes.%(endtag)s\n" -#: ../roundup/cgi/client.py:2669 +#: ../roundup/cgi/client.py:2666 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2307,16 +2383,16 @@ msgid "<option %svalue=\"-1\">- no selection -</option>" msgstr "<option %svalue=\"-1\">- pas de slection -</option>" -#: ../roundup/cgi/timestamp.py:19 +#: ../roundup/cgi/timestamp.py:23 msgid "Form is corrupted." msgstr "" -#: ../roundup/cgi/timestamp.py:28 +#: ../roundup/cgi/timestamp.py:32 #, python-format msgid "Form is corrupted, missing: %s." msgstr "" -#: ../roundup/cgi/timestamp.py:30 +#: ../roundup/cgi/timestamp.py:34 msgid "Responding to form too quickly." msgstr "" @@ -2473,60 +2549,60 @@ msgid "in %s" msgstr "dans %s" -#: ../roundup/hyperdb.py:119 +#: ../roundup/hyperdb.py:120 #, fuzzy, python-format msgid "property %(property)s: %(errormsg)s" msgstr "Erreur: %s: %s" -#: ../roundup/hyperdb.py:148 +#: ../roundup/hyperdb.py:149 #, python-format msgid "property %(property)s: %(value)r is an invalid date (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:171 +#: ../roundup/hyperdb.py:172 #, python-format msgid "" "property %(property)s: %(value)r is an invalid date interval (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:428 +#: ../roundup/hyperdb.py:429 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a number" msgstr "" "proprit %(propname)s: %(value)s n'est pas actuellement dans la " "liste" -#: ../roundup/hyperdb.py:442 +#: ../roundup/hyperdb.py:443 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not an integer" msgstr "" "proprit %(propname)s: %(value)s n'est pas actuellement dans la " "liste" -#: ../roundup/hyperdb.py:464 +#: ../roundup/hyperdb.py:465 #, python-format msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 -#: ../roundup/hyperdb.py:1493:1501 +#: ../roundup/hyperdb.py:1494 ../roundup/hyperdb.py:1502 +#: ../roundup/hyperdb.py:1494:1502 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1978 +#: ../roundup/hyperdb.py:1979 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "" "proprit %(propname)s: %(value)s n'est pas actuellement dans la " "liste" -#: ../roundup/hyperdb.py:1984 +#: ../roundup/hyperdb.py:1985 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2019 +#: ../roundup/hyperdb.py:2020 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" @@ -2856,116 +2932,116 @@ # ../roundup/cgi/actions.py:930 :934 # ../roundup/cgi/actions.py:930:934 -#: ../roundup/rest.py:1097 +#: ../roundup/rest.py:1101 #, fuzzy, python-format msgid "Invalid attribute %s" msgstr "Tentative de connexion non valide" -#: ../roundup/rest.py:2090 +#: ../roundup/rest.py:2094 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2125 +#: ../roundup/rest.py:2129 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2305 +#: ../roundup/rest.py:2309 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " "supported versions." msgstr "" -#: ../roundup/roundupdb.py:139 +#: ../roundup/roundupdb.py:140 #, python-format msgid "Username '%s' already exists." msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "files" msgstr "fichiers" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "messages" msgstr "messages" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "nosy" msgstr "curieux" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "superseder" msgstr "remplaant" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "title" msgstr "titre" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "assignedto" msgstr "affect_" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 #, fuzzy msgid "keyword" msgstr "Mot-clé" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "priority" msgstr "priorit" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "status" msgstr "tat" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "activity" msgstr "activit" #. following properties are common for all hyperdb classes #. they are listed here to keep things in one place -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "actor" msgstr "acteur" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creation" msgstr "cration" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creator" msgstr "crateur" -#: ../roundup/roundupdb.py:425 +#: ../roundup/roundupdb.py:426 #, python-format msgid "No key for \"%(adr)s\" in keyring" msgstr "" -#: ../roundup/roundupdb.py:503 +#: ../roundup/roundupdb.py:504 #, python-format msgid "New submission from %(authname)s%(authaddr)s:" msgstr "Nouvel envoi de %(authname)s%(authaddr)s:" -#: ../roundup/roundupdb.py:506 +#: ../roundup/roundupdb.py:507 #, python-format msgid "%(authname)s%(authaddr)s added the comment:" msgstr "%(authname)s%(authaddr)s a ajout le commentaire:" -#: ../roundup/roundupdb.py:509 +#: ../roundup/roundupdb.py:510 #, fuzzy, python-format msgid "Change by %(authname)s%(authaddr)s:" msgstr "Nouvel envoi de %(authname)s%(authaddr)s:" -#: ../roundup/roundupdb.py:528 +#: ../roundup/roundupdb.py:529 #, python-format msgid "File '%(filename)s' not attached - you can download it from %(link)s." msgstr "" -#: ../roundup/roundupdb.py:903 +#: ../roundup/roundupdb.py:904 #, python-format msgid "" "\n" @@ -2975,14 +3051,14 @@ "%(old)s" msgstr "" -#: ../roundup/scripts/roundup_demo.py:49 +#: ../roundup/scripts/roundup_demo.py:156 #, python-format msgid "Enter directory path to create demo tracker [%s]: " msgstr "" "Saisissez le chemin du rpertoire o crer le pisteur de dmonstration " "[%s]: " -#: ../roundup/scripts/roundup_demo.py:54 +#: ../roundup/scripts/roundup_demo.py:162 #, python-format msgid "" "Enter tracker template to use (one of (%(template_list)s)) " @@ -3082,24 +3158,24 @@ msgid "User %(user)s doesn't exist" msgstr "L'utilisateur %(user)s n'existe pas" -#: ../roundup/scripts/roundup_server.py:805 +#: ../roundup/scripts/roundup_server.py:809 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "" "Le mode multiprocessus \"%s\" n'existe pas, passage en mode processus unique" -#: ../roundup/scripts/roundup_server.py:832 +#: ../roundup/scripts/roundup_server.py:837 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "Impossible de s'attacher au port %s, le port est dj utilis" -#: ../roundup/scripts/roundup_server.py:836 +#: ../roundup/scripts/roundup_server.py:841 #, fuzzy, python-format msgid "" "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s" msgstr "Impossible de s'attacher au port %s, le port est dj utilis" -#: ../roundup/scripts/roundup_server.py:915 +#: ../roundup/scripts/roundup_server.py:920 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -3118,7 +3194,7 @@ " La commande roundup-server -c help donne les\n" " spcificits du service Windows." -#: ../roundup/scripts/roundup_server.py:922 +#: ../roundup/scripts/roundup_server.py:927 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -3137,7 +3213,7 @@ "PID\n" " L'option -l option *doit* tre spcifie si -d est utilis." -#: ../roundup/scripts/roundup_server.py:929 +#: ../roundup/scripts/roundup_server.py:934 #, fuzzy, python-format msgid "" "\n" @@ -3158,6 +3234,8 @@ " -N log client machine names instead of IP addresses (much " "slower)\n" " -i <fname> set tracker index template\n" +" -m <children> maximum number of children to spawn in fork multiprocess " +"mode\n" " -s enable SSL\n" " -L http request logging uses python logging (roundup.http)\n" " -e <fname> PEM file containing SSL key and certificate\n" @@ -3258,22 +3336,22 @@ " souhait. Assurez-vous que name ne contienne pas de caractres\n" " inappropris pour une URL, comme les espaces qui perturbe IE.\n" -#: ../roundup/scripts/roundup_server.py:1105 +#: ../roundup/scripts/roundup_server.py:1111 msgid "Instances must be name=home" msgstr "Les instances doivent tre nom=base-du-pisteur" -#: ../roundup/scripts/roundup_server.py:1119 +#: ../roundup/scripts/roundup_server.py:1125 #, python-format msgid "Configuration saved to %s" msgstr "Configuration sauvegarde dans %s" -#: ../roundup/scripts/roundup_server.py:1137 +#: ../roundup/scripts/roundup_server.py:1143 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "" "Dsol, vous ne pouvez pas dmarrer le serveur en tche de fond avec ce " "systme d'exploitation" -#: ../roundup/scripts/roundup_server.py:1157 +#: ../roundup/scripts/roundup_server.py:1163 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "Le serveur Roundup est dmarr sur %(HOST)s:%(PORT)s" @@ -5776,6 +5854,22 @@ msgstr "Mot de passe" #, fuzzy +#~ msgid "" +#~ "Usage: security [Role name]\n" +#~ "\n" +#~ " Display the Permissions available to one or all Roles.\n" +#~ " " +#~ msgstr "" +#~ "Utilisation: security [nom-de-rle]\n" +#~ " Affiche les permissions disponible pour un ou plusieurs rles.\n" +#~ " " + +# ../roundup/admin.py:1332 :1338 :1358 +# ../roundup/admin.py:1335:1341:1361 +#~ msgid "Error: %(message)s" +#~ msgstr "Erreur: %(message)s" + +#, fuzzy #~ msgid "Tracker updated" #~ msgstr "Accueil de Tracker"
--- a/locale/hu.po Wed May 24 15:05:09 2023 -0400 +++ b/locale/hu.po Wed May 24 20:35:53 2023 -0400 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Roundup 2.3.0\n" "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-03-03 17:28-0500\n" +"POT-Creation-Date: 2023-05-24 20:34-0400\n" "PO-Revision-Date: 2013-10-31 12:19+0100\n" "Last-Translator: kilo aka Gabor Kmetyko <kg_kilo@freemail.hu>\n" "Language-Team: Hungarian\n" @@ -28,27 +28,47 @@ msgid "You may not retire the admin or anonymous user" msgstr "Az admin és anonymous felhasználókat nem lehet visszavonultatni" +#: ../roundup/admin.py:117 +msgid "Have 'display designator' show protected fields: creator. NYI" +msgstr "" + +#: ../roundup/admin.py:120 +msgid "Set indexer to use when running 'reindex' NYI" +msgstr "" + +#: ../roundup/admin.py:123 +msgid "Force reopening of tracker when running each command." +msgstr "" + +#: ../roundup/admin.py:125 +msgid "Show retired items in table, list etc. NYI" +msgstr "" + +#: ../roundup/admin.py:126 +msgid "Enable verbose output: tracing, descriptions..." +msgstr "" + # ../roundup/admin.py:85 :981 :1030 :1052 -#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 -#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 +#: ../roundup/admin.py:138 ../roundup/admin.py:993 ../roundup/admin.py:1601 +#: ../roundup/admin.py:1633 ../roundup/admin.py:138:993 :1601:1633 #, python-format msgid "no such class \"%(classname)s\"" msgstr "nincs \"%(classname)s\" osztály" # ../roundup/admin.py:95 :99 -#: ../roundup/admin.py:124 +#: ../roundup/admin.py:150 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "A(z) \"%(arg)s\" argumentum nem név=érték alakú" -#: ../roundup/admin.py:137 +#: ../roundup/admin.py:163 #, python-format msgid "" "Problem: %(message)s\n" "\n" msgstr "Probléma: %(message)s\n" -#: ../roundup/admin.py:138 +#: ../roundup/admin.py:164 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -100,12 +120,12 @@ " roundup-admin help <command> -- parancs-specifikus segítség\n" " roundup-admin help all -- minden elérhető segítség\n" -#: ../roundup/admin.py:165 +#: ../roundup/admin.py:191 #, fuzzy msgid "Commands: " msgstr "Parancsok:" -#: ../roundup/admin.py:172 +#: ../roundup/admin.py:198 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -113,7 +133,7 @@ "A parancsok rövidíthetők mindaddig, amíg csak egy parancsra illenek, pl. l " "== li == lis == list." -#: ../roundup/admin.py:201 +#: ../roundup/admin.py:227 msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -180,12 +200,254 @@ "Command help:\n" msgstr "" -#: ../roundup/admin.py:264 +#: ../roundup/admin.py:290 #, python-format msgid "%s:" msgstr "%s:" -#: ../roundup/admin.py:271 +# ../roundup/admin.py:340 :396 +#: ../roundup/admin.py:395 ../roundup/admin.py:1185 +#: ../roundup/admin.py:395:1185 +msgid "Templates:" +msgstr "Sablonok:" + +# ../roundup/admin.py:343 :407 +#: ../roundup/admin.py:398 ../roundup/admin.py:1195 +#: ../roundup/admin.py:398:1195 +msgid "Back ends:" +msgstr "Adatbázis hátterek:" + +#: ../roundup/admin.py:415 +msgid "" +"Usage: commit\n" +" Commit changes made to the database during an interactive session.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" using this command.\n" +"\n" +" One-off commands on the command-line are automatically committed if\n" +" they are successful.\n" +" " +msgstr "" + +#: ../roundup/admin.py:430 +msgid "" +"Usage: create classname property=value ...\n" +" Create a new entry of a given class.\n" +"\n" +" This creates a new entry of the given class using the property\n" +" name=value arguments provided on the command line after the \"create" +"\"\n" +" command.\n" +" " +msgstr "" + +# ../roundup/admin.py:369 :466 :527 :606 :656 :714 :735 :763 :834 :901 :972 +# :1020 :1042 :1069 :1136 :1207 +#: ../roundup/admin.py:438 ../roundup/admin.py:512 ../roundup/admin.py:545 +#: ../roundup/admin.py:663 ../roundup/admin.py:749 ../roundup/admin.py:807 +#: ../roundup/admin.py:852 ../roundup/admin.py:977 ../roundup/admin.py:1020 +#: ../roundup/admin.py:1158 ../roundup/admin.py:1285 ../roundup/admin.py:1371 +#: ../roundup/admin.py:1482 ../roundup/admin.py:1591 ../roundup/admin.py:1623 +#: ../roundup/admin.py:1738 ../roundup/admin.py:1792 ../roundup/admin.py:1837 +#: ../roundup/admin.py:438:512 :1020:1158:1285 :1371:1482 :1591:1623 :1738:1792 +#: :1837 :545:663 :749:807 :852:977 +msgid "Not enough arguments supplied" +msgstr "Nincs megadva elég argumentum" + +#: ../roundup/admin.py:458 +#, python-format +msgid "%(propname)s (Password): " +msgstr "%(propname)s (Jelszó): " + +#: ../roundup/admin.py:461 +#, python-format +msgid " %(propname)s (Again): " +msgstr " %(propname)s (Ismét): " + +#: ../roundup/admin.py:465 +msgid "Sorry, try again..." +msgstr "Sajnálom, próbálja újra..." + +#: ../roundup/admin.py:470 +#, python-format +msgid "%(propname)s (%(proptype)s): " +msgstr "%(propname)s (%(proptype)s): " + +#: ../roundup/admin.py:489 +#, python-format +msgid "you must provide the \"%(propname)s\" property." +msgstr "meg kell adni a(z) \"%(propname)s\" tulajdonságot." + +#: ../roundup/admin.py:501 +#, fuzzy +msgid "" +"Usage: display designator[,designator]*\n" +"\n" +" Show the property values for the given node(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This lists the properties and their associated values\n" +" for the given node.\n" +" " +msgstr "" +"Használat: get property designator[,designator]*\n" +" Visszaadja egy vagy több jelölő tulajdonságát.\n" +"\n" +" Visszaadja a jelölő által meghatározott\n" +" csomópont értékét.\n" +" " + +#: ../roundup/admin.py:528 +#, python-format +msgid "%(key)s: %(value)s" +msgstr "%(key)s: %(value)s" + +#. grab the directory to export to +#: ../roundup/admin.py:531 +msgid "" +"Usage: export [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files.\n" +" To exclude the files (e.g. for the msg or file class),\n" +" use the exporttables command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" + +#: ../roundup/admin.py:638 +msgid "" +"Usage: exporttables [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files, excluding the\n" +" files below $TRACKER_HOME/db/files/ (which can be archived " +"separately).\n" +" To include the files, use the export command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" + +#: ../roundup/admin.py:653 +msgid "" +"Usage: filter classname propname=value ...\n" +" Find the nodes of the given class with a given property value.\n" +"\n" +" Find the nodes of the given class with a given property value.\n" +" Multiple values can be specified by separating them with commas.\n" +" If property is a string, all values must match. I.E. it's an\n" +" 'and' operation. If the property is a link/multilink any value\n" +" matches. I.E. an 'or' operation.\n" +" " +msgstr "" + +# ../roundup/admin.py:701 :854 :866 :920 +#: ../roundup/admin.py:696 +#, fuzzy, python-format +msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." +msgstr "%(classname)s-nek nincs \"%(propname)s\" tulajdonsága" + +# ../roundup/admin.py:701 :854 :866 :920 +#: ../roundup/admin.py:734 ../roundup/admin.py:795 ../roundup/admin.py:1305 +#: ../roundup/admin.py:1317 ../roundup/admin.py:1857 +#: ../roundup/admin.py:734:795 :1305:1317:1857 +#, python-format +msgid "%(classname)s has no property \"%(propname)s\"" +msgstr "%(classname)s-nek nincs \"%(propname)s\" tulajdonsága" + +#: ../roundup/admin.py:741 +msgid "" +"Usage: find classname propname=value ...\n" +" Find the nodes of the given class with a given link property value.\n" +"\n" +" Find the nodes of the given class with a given link property value.\n" +" The value may be either the nodeid of the linked node, or its key\n" +" value.\n" +" " +msgstr "" + +#: ../roundup/admin.py:802 +#, fuzzy +msgid "" +"Usage: genconfig <filename>\n" +" Generate a new tracker config file (ini style) with default\n" +" values in <filename>.\n" +" " +msgstr "" +"Használat: genconfig <fájlnév>\n" +" Új hibakövető konfigurációs fájl (ini stílusú) generálása " +"alapértelmezett értékekkel\n" +" a <fájlnév> fájlba.\n" +" " + +#: ../roundup/admin.py:820 +#, python-format +msgid "" +"Changing option\n" +" 'password_pbkdf2_default_rounds'\n" +"from old default of %(old_number)s to new default of %(new_number)s." +msgstr "" + +#: ../roundup/admin.py:831 +#, python-format +msgid "" +"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" +"than %s." +msgstr "" + +#: ../roundup/admin.py:842 +#, fuzzy +msgid "" +"Usage: get property designator[,designator]*\n" +" Get the given property of one or more designator(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Retrieves the property value of the nodes specified\n" +" by the designators.\n" +" " +msgstr "" +"Használat: get property designator[,designator]*\n" +" Visszaadja egy vagy több jelölő tulajdonságát.\n" +"\n" +" Visszaadja a jelölő által meghatározott\n" +" csomópont értékét.\n" +" " + +# ../roundup/admin.py:560 :575 +#: ../roundup/admin.py:886 ../roundup/admin.py:904 ../roundup/admin.py:886:904 +#, python-format +msgid "property %s is not of type Multilink or Link so -d flag does not apply." +msgstr "" +"A(z) %s tulajdonság nem Multilink vagy Link típusú, ezért a -d kapcsoló nem " +"alkalmazható." + +# ../roundup/admin.py:583 :983 :1032 :1054 +#: ../roundup/admin.py:914 ../roundup/admin.py:995 ../roundup/admin.py:1635 +#: ../roundup/admin.py:914:995:1635 +#, python-format +msgid "no such %(classname)s node \"%(nodeid)s\"" +msgstr "nincs \"%(nodeid)s\" %(classname)s csomópont" + +#: ../roundup/admin.py:917 +#, python-format +msgid "no such %(classname)s property \"%(propname)s\"" +msgstr "nincs \"%(propname)s\" %(classname)s tulajdonság" + +#: ../roundup/admin.py:925 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -205,22 +467,103 @@ " all -- minden elérhető segítség\n" " " -#: ../roundup/admin.py:293 +#: ../roundup/admin.py:947 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "Elnézést, \"%(topic)s\" témához nincs súgó" -# ../roundup/admin.py:340 :396 -#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 -msgid "Templates:" -msgstr "Sablonok:" - -# ../roundup/admin.py:343 :407 -#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 -msgid "Back ends:" -msgstr "Adatbázis hátterek:" - -#: ../roundup/admin.py:414 +#: ../roundup/admin.py:964 +msgid "" +"Usage: history designator [skipquiet]\n" +" Show the history entries of a designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Lists the journal entries viewable by the user for the\n" +" node identified by the designator. If skipquiet is the\n" +" second argument, journal entries for quiet properties\n" +" are not shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1000 +msgid "" +"Usage: import import_dir\n" +" Import a database from the directory containing CSV files,\n" +" two per class to import.\n" +"\n" +" The files used in the import are:\n" +"\n" +" <class>.csv\n" +" This must define the same properties as the class (including\n" +" having a \"header\" line with those property names.)\n" +" <class>-journals.csv\n" +" This defines the journals for the items being imported.\n" +"\n" +" The imported nodes will have the same nodeid as defined in the\n" +" import file, thus replacing any existing content.\n" +"\n" +" The new nodes are added to the existing database - if you want to\n" +" create a new database using the imported data, then create a new\n" +" database (or, tediously, retire all the old data.)\n" +" " +msgstr "" + +#: ../roundup/admin.py:1079 +msgid "" +"Usage: importtables export_dir\n" +"\n" +" This imports the database tables exported using exporttables.\n" +" " +msgstr "" + +#. password +#: ../roundup/admin.py:1086 +msgid "" +"Usage: initialise [adminpw]\n" +" Initialise a new Roundup tracker.\n" +"\n" +" The administrator details will be set at this step.\n" +"\n" +" Execute the tracker's initialisation function dbinit.init()\n" +" " +msgstr "" +"Használat: initialise [adminpw]\n" +" Inicializál egy új Roundup hibakövetőt.\n" +"\n" +" Az adminisztrátori részletek ebben a lépésben lesznek beállítva.\n" +"\n" +" Végrehajtja az adatbázist inicializáló dbinit.init() rutint\n" +" " + +#: ../roundup/admin.py:1100 +msgid "Admin Password: " +msgstr "Adminisztrátori jelszó: " + +#: ../roundup/admin.py:1101 +msgid " Confirm: " +msgstr " Megerősítés " + +#: ../roundup/admin.py:1105 +msgid "Instance home does not exist" +msgstr "A példány könyvtára nem létezik" + +#: ../roundup/admin.py:1109 +msgid "Instance has not been installed" +msgstr "A példány nem lett installálva" + +#: ../roundup/admin.py:1115 +msgid "" +"WARNING: The database is already initialised!\n" +"If you re-initialise it, you will lose all the data!\n" +"Erase it? Y/N: " +msgstr "" +"FIGYELEM: Az adatbázis már inicializált!\n" +"Újrainicializálás esetén minden adat elvész!\n" +"Törli? Y/N: " + +#: ../roundup/admin.py:1135 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -246,25 +589,12 @@ " " msgstr "" -# ../roundup/admin.py:369 :466 :527 :606 :656 :714 :735 :763 :834 :901 :972 -# :1020 :1042 :1069 :1136 :1207 -#: ../roundup/admin.py:437 ../roundup/admin.py:568 ../roundup/admin.py:671 -#: ../roundup/admin.py:764 ../roundup/admin.py:822 ../roundup/admin.py:908 -#: ../roundup/admin.py:967 ../roundup/admin.py:994 ../roundup/admin.py:1021 -#: ../roundup/admin.py:1098 ../roundup/admin.py:1193 ../roundup/admin.py:1279 -#: ../roundup/admin.py:1340 ../roundup/admin.py:1367 ../roundup/admin.py:1403 -#: ../roundup/admin.py:1531 ../roundup/admin.py:1615 -#: ../roundup/admin.py:437:568 :1021:1098:1193 :1279:1340 :1367:1403 :1531:1615 -#: :671:764 :822:908 :967:994 -msgid "Not enough arguments supplied" -msgstr "Nincs megadva elég argumentum" - -#: ../roundup/admin.py:443 +#: ../roundup/admin.py:1164 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "Példány könyvtár szülője (\"%(parent)s\") nem létezik" -#: ../roundup/admin.py:452 +#: ../roundup/admin.py:1173 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -276,22 +606,22 @@ "Ha újra installálod, minden adat elveszik!\n" "Töröljem? Y/N: " -#: ../roundup/admin.py:465 +#: ../roundup/admin.py:1186 #, fuzzy msgid "Select template" msgstr "Sablon választása [classic]: " -#: ../roundup/admin.py:475 +#: ../roundup/admin.py:1196 #, fuzzy msgid "Select backend" msgstr "Adatbázis háttér választása [anydbm]: " -#: ../roundup/admin.py:486 +#: ../roundup/admin.py:1207 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "Hiba a konfigurációs beállításokban: \"%s\"" -#: ../roundup/admin.py:517 +#: ../roundup/admin.py:1238 #, python-format msgid "" "\n" @@ -304,11 +634,11 @@ " Most kell szerkesztened a konfigurációs fájlt:\n" " %(config_file)s" -#: ../roundup/admin.py:527 +#: ../roundup/admin.py:1248 msgid " ... at a minimum, you must set following options:" msgstr " ... legalább a következő opciókat kell beállítani:" -#: ../roundup/admin.py:532 +#: ../roundup/admin.py:1253 #, python-format msgid "" "\n" @@ -325,138 +655,318 @@ "---------------------------------------------------------------------------\n" msgstr "" -#: ../roundup/admin.py:563 -#, fuzzy +#: ../roundup/admin.py:1270 msgid "" -"Usage: genconfig <filename>\n" -" Generate a new tracker config file (ini style) with default\n" -" values in <filename>.\n" +"Usage: list classname [property]\n" +" List the instances of a class.\n" +"\n" +" Lists all instances of the given class. If the property is not\n" +" specified, the \"label\" property is used. The label property is\n" +" tried in order: the key, \"name\", \"title\" and then the first\n" +" property, alphabetically.\n" +"\n" +" With -c, -S or -s print a list of item id's if no property\n" +" specified. If property specified, print list of that property\n" +" for every class instance.\n" " " msgstr "" -"Használat: genconfig <fájlnév>\n" -" Új hibakövető konfigurációs fájl (ini stílusú) generálása " -"alapértelmezett értékekkel\n" -" a <fájlnév> fájlba.\n" -" " - -#: ../roundup/admin.py:581 + +#: ../roundup/admin.py:1283 +msgid "Too many arguments supplied" +msgstr "Túl sok argumentum került megadásra" + +#: ../roundup/admin.py:1319 #, python-format +msgid "%(nodeid)4s: %(value)s" +msgstr "%(nodeid)4s: %(value)s" + +#: ../roundup/admin.py:1323 msgid "" -"Changing option\n" -" 'password_pbkdf2_default_rounds'\n" -"from old default of %(old_number)s to new default of %(new_number)s." -msgstr "" - -#: ../roundup/admin.py:593 +"Usage: migrate\n" +"\n" +" Update a tracker's database to be compatible with the Roundup\n" +" codebase.\n" +"\n" +" You should run the \"migrate\" command for your tracker once\n" +" you've installed the latest codebase.\n" +"\n" +" Do this before you use the web, command-line or mail interface\n" +" and before any users access the tracker.\n" +"\n" +" This command will respond with either \"Tracker updated\" (if\n" +" you've not previously run it on an RDBMS backend) or \"No\n" +" migration action required\" (if you have run it, or have used\n" +" another interface to the tracker, or possibly because you are\n" +" using anydbm).\n" +"\n" +" It's safe to run this even if it's not required, so just get\n" +" into the habit.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1344 #, python-format -msgid "" -"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" -"than %s." -msgstr "" - -#: ../roundup/admin.py:604 -#, fuzzy +msgid "Tracker updated to schema version %s." +msgstr "" + +#: ../roundup/admin.py:1348 +#, python-format +msgid "No migration action required. At schema version %s." +msgstr "" + +#: ../roundup/admin.py:1353 msgid "" -"Usage: updateconfig <filename>\n" -" Generate an updated tracker config file (ini style) in\n" -" <filename>. Use current settings from existing roundup\n" -" tracker in tracker home.\n" +"Usage: pack period | date\n" +"\n" +" Remove journal entries older than a period of time specified or\n" +" before a certain date.\n" +"\n" +" A period is specified using the suffixes \"y\", \"m\", and \"d\". " +"The\n" +" suffix \"w\" (for \"week\") means 7 days.\n" +"\n" +" \"3y\" means three years\n" +" \"2y 1m\" means two years and one month\n" +" \"1m 25d\" means one month and 25 days\n" +" \"2w 3d\" means two weeks and three days\n" +"\n" +" Date format is \"YYYY-MM-DD\" eg:\n" +" 2001-01-01\n" +"\n" " " msgstr "" -"Használat: genconfig <fájlnév>\n" -" Új hibakövető konfigurációs fájl (ini stílusú) generálása " -"alapértelmezett értékekkel\n" -" a <fájlnév> fájlba.\n" -" " - -#. password -#: ../roundup/admin.py:612 + +#: ../roundup/admin.py:1381 +msgid "Invalid format" +msgstr "Hibás formátum" + +#: ../roundup/admin.py:1392 msgid "" -"Usage: initialise [adminpw]\n" -" Initialise a new Roundup tracker.\n" +"Usage: perftest [mode] [arguments]*\n" +"\n" +" Time operations in Roundup. Supported arguments:\n" +"\n" +" [password] [rounds=<integer>] [scheme=<scheme>]\n" "\n" -" The administrator details will be set at this step.\n" +" 'password' is the default mode. The tracker's config.ini\n" +" setting for 'password_pbkdf2_default_rounds' is the default\n" +" value for 'rounds'. On the command line, 'rounds' can include\n" +" thousands separator of ',' or '.'. 'scheme' is the default\n" +" coded into Roundup. List supported schemes by using 'scheme='.\n" "\n" -" Execute the tracker's initialisation function dbinit.init()\n" " " msgstr "" -"Használat: initialise [adminpw]\n" -" Inicializál egy új Roundup hibakövetőt.\n" + +#: ../roundup/admin.py:1425 +msgid "Invalid 'rounds'. Must be larger than 999." +msgstr "" + +#: ../roundup/admin.py:1429 +#, python-format +msgid "Invalid 'rounds'. It must be an integer not: %s" +msgstr "" + +#: ../roundup/admin.py:1456 +msgid "scheme does not support rounds." +msgstr "" + +#: ../roundup/admin.py:1459 +#, python-format +msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" +msgstr "" + +#: ../roundup/admin.py:1465 +msgid "" +"Usage: pragma setting=value | 'list'\n" +" Set internal admin settings to a value. E.G.\n" "\n" -" Az adminisztrátori részletek ebben a lépésben lesznek beállítva.\n" +" pragma verbose=True\n" +" pragma verbose=yes\n" +" pragma verbose=on\n" +" pragma verbose=1\n" "\n" -" Végrehajtja az adatbázist inicializáló dbinit.init() rutint\n" +" will turn on verbose mode for roundup-admin.\n" +"\n" +" pragma list\n" +"\n" +" will show all settings and their current values. If verbose\n" +" is enabled hidden settings and descriptions will be shown.\n" " " - -#: ../roundup/admin.py:626 -msgid "Admin Password: " -msgstr "Adminisztrátori jelszó: " - -#: ../roundup/admin.py:627 -msgid " Confirm: " -msgstr " Megerősítés " - -#: ../roundup/admin.py:631 -msgid "Instance home does not exist" -msgstr "A példány könyvtára nem létezik" - -#: ../roundup/admin.py:635 -msgid "Instance has not been installed" -msgstr "A példány nem lett installálva" - -#: ../roundup/admin.py:641 +msgstr "" + +#: ../roundup/admin.py:1489 +#, python-format +msgid "Argument must be setting=value, was given: %s." +msgstr "" + +#: ../roundup/admin.py:1492 +msgid "Current settings and values (NYI - not yet implemented):" +msgstr "" + +#: ../roundup/admin.py:1505 +#, fuzzy, python-format +msgid "Unknown setting %s." +msgstr "Ismeretlen felhasználónév" + +#: ../roundup/admin.py:1514 +#, python-format +msgid "Incorrect value for boolean setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1521 +#, python-format +msgid "Incorrect value for integer setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1527 +#, python-format +msgid "Internal error: pragma can not handle values of type: %s" +msgstr "" + +#: ../roundup/admin.py:1537 msgid "" -"WARNING: The database is already initialised!\n" -"If you re-initialise it, you will lose all the data!\n" -"Erase it? Y/N: " -msgstr "" -"FIGYELEM: Az adatbázis már inicializált!\n" -"Újrainicializálás esetén minden adat elvész!\n" -"Törli? Y/N: " - -#: ../roundup/admin.py:661 -#, fuzzy +"Usage: reindex [classname|classname:#-#|designator]*\n" +" Re-generate a tracker's search indexes.\n" +"\n" +" This will re-generate the search indexes for a tracker.\n" +" This will typically happen automatically.\n" +"\n" +" You can incrementally reindex using an argument like:\n" +"\n" +" reindex issue:23-1000\n" +"\n" +" to reindex issue class items 23-1000. Missing items\n" +" are reported but do not stop indexing of the range.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1560 +#, python-format +msgid "no such item \"%(designator)s\"" +msgstr "nincs ilyen elem: \"%(designator)s\"" + +#: ../roundup/admin.py:1570 +#, fuzzy, python-format +msgid "no such item \"%(class)s%(id)s\"" +msgstr "nincs ilyen elem: \"%(designator)s\"" + +#: ../roundup/admin.py:1582 msgid "" -"Usage: get property designator[,designator]*\n" -" Get the given property of one or more designator(s).\n" +"Usage: restore designator[,designator]*\n" +" Restore the retired node specified by designator.\n" "\n" " A designator is a classname and a nodeid concatenated,\n" " eg. bug1, user10, ...\n" "\n" -" Retrieves the property value of the nodes specified\n" -" by the designators.\n" +" The given nodes will become available for users again.\n" " " msgstr "" -"Használat: get property designator[,designator]*\n" -" Visszaadja egy vagy több jelölő tulajdonságát.\n" -"\n" -" Visszaadja a jelölő által meghatározott\n" -" csomópont értékét.\n" -" " - -# ../roundup/admin.py:560 :575 -#: ../roundup/admin.py:705 ../roundup/admin.py:723 ../roundup/admin.py:705:723 -#, python-format -msgid "property %s is not of type Multilink or Link so -d flag does not apply." -msgstr "" -"A(z) %s tulajdonság nem Multilink vagy Link típusú, ezért a -d kapcsoló nem " -"alkalmazható." # ../roundup/admin.py:583 :983 :1032 :1054 -#: ../roundup/admin.py:733 ../roundup/admin.py:1297 ../roundup/admin.py:1352 -#: ../roundup/admin.py:733:1297:1352 -#, python-format -msgid "no such %(classname)s node \"%(nodeid)s\"" +#: ../roundup/admin.py:1607 +#, fuzzy +msgid "no such %(classname)s node \" % (nodeid)s\"" msgstr "nincs \"%(nodeid)s\" %(classname)s csomópont" -#: ../roundup/admin.py:736 +#: ../roundup/admin.py:1613 +msgid "" +"Usage: retire designator[,designator]*\n" +" Retire the node specified by designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This action indicates that a particular node is not to be retrieved\n" +" by the list or find commands, and its key value may be re-used.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1641 +msgid "" +"Usage: rollback\n" +" Undo all changes that are pending commit to the database.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" manually. This command undoes all those changes, so a commit\n" +" immediately after would make no changes to the database.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1654 +msgid "" +"Usage: security [Role name]\n" +"\n" +" Display the Permissions available to one or all Roles.\n" +" Also validates that any properties defined in a\n" +" permission are valid.\n" +"\n" +" Run this after changing your permissions to catch\n" +" typos.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1668 +#, fuzzy, python-format +msgid "No such Role \"%(role)s\"\n" +msgstr "Nincs ilyen szerepkör: \"%(role)s\"" + +#: ../roundup/admin.py:1674 +#, fuzzy, python-format +msgid "New Web users get the Roles \"%(role)s\"\n" +msgstr "Új web felhasználók ezeket a szerepköröket kapják: \"%(role)s\"" + +#: ../roundup/admin.py:1677 +#, fuzzy, python-format +msgid "New Web users get the Role \"%(role)s\"\n" +msgstr "Új web felhasználók ezt a szerepkört kapják \"%(role)s\"" + +#: ../roundup/admin.py:1681 +#, fuzzy, python-format +msgid "New Email users get the Roles \"%(role)s\"\n" +msgstr "Új e-mail felhasználók ezeket a szerepköröket kapják: \"%(role)s\"" + +#: ../roundup/admin.py:1683 +#, fuzzy, python-format +msgid "New Email users get the Role \"%(role)s\"\n" +msgstr "Új e-mail felhasználók ezt a szerepkört kapják: \"%(role)s\"" + +#: ../roundup/admin.py:1686 +#, fuzzy, python-format +msgid "Role \"%(name)s\":\n" +msgstr "\"%(name)s\" szerepkör:" + +#: ../roundup/admin.py:1692 +#, fuzzy +msgid " %(description)s (%(name)s for \"%(klass)s\"" +msgstr " %(description)s (%(name)s)" + +#: ../roundup/admin.py:1692 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" +msgstr " %(description)s (%(name)s)" + +#: ../roundup/admin.py:1705 #, python-format -msgid "no such %(classname)s property \"%(propname)s\"" -msgstr "nincs \"%(propname)s\" %(classname)s tulajdonság" - -#: ../roundup/admin.py:744 msgid "" -"Usage: set items property=value property=value ...\n" +"\n" +" **Invalid properties for %(class)s: %(props)s\n" +"\n" +msgstr "" + +#: ../roundup/admin.py:1711 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" +msgstr " %(description)s (%(name)s)" + +#: ../roundup/admin.py:1714 +#, fuzzy, python-format +msgid " %(description)s (%(name)s)\n" +msgstr " %(description)s (%(name)s)" + +#: ../roundup/admin.py:1718 +msgid "" +"Usage: set items property=value [property=value ...]\n" " Set the given properties of one or more items(s).\n" "\n" " The items are specified as a class or as a comma-separated\n" @@ -475,45 +985,7 @@ " " msgstr "" -#: ../roundup/admin.py:812 -msgid "" -"Usage: filter classname propname=value ...\n" -" Find the nodes of the given class with a given property value.\n" -"\n" -" Find the nodes of the given class with a given property value.\n" -" Multiple values can be specified by separating them with commas.\n" -" If property is a string, all values must match. I.E. it's an\n" -" 'and' operation. If the property is a link/multilink any value\n" -" matches. I.E. an 'or' operation.\n" -" " -msgstr "" - -# ../roundup/admin.py:701 :854 :866 :920 -#: ../roundup/admin.py:855 -#, fuzzy, python-format -msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." -msgstr "%(classname)s-nek nincs \"%(propname)s\" tulajdonsága" - -# ../roundup/admin.py:701 :854 :866 :920 -#: ../roundup/admin.py:893 ../roundup/admin.py:954 ../roundup/admin.py:1118 -#: ../roundup/admin.py:1130 ../roundup/admin.py:1213 -#: ../roundup/admin.py:893:954 :1118:1130:1213 -#, python-format -msgid "%(classname)s has no property \"%(propname)s\"" -msgstr "%(classname)s-nek nincs \"%(propname)s\" tulajdonsága" - -#: ../roundup/admin.py:900 -msgid "" -"Usage: find classname propname=value ...\n" -" Find the nodes of the given class with a given link property value.\n" -"\n" -" Find the nodes of the given class with a given link property value.\n" -" The value may be either the nodeid of the linked node, or its key\n" -" value.\n" -" " -msgstr "" - -#: ../roundup/admin.py:961 +#: ../roundup/admin.py:1786 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -527,114 +999,17 @@ " Listázza az adott osztály tulajdonságait.\n" " " -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1802 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s (kulcs tulajdonság)" -#: ../roundup/admin.py:980 +#: ../roundup/admin.py:1805 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:983 -#, fuzzy -msgid "" -"Usage: display designator[,designator]*\n" -"\n" -" Show the property values for the given node(s).\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This lists the properties and their associated values\n" -" for the given node.\n" -" " -msgstr "" -"Használat: get property designator[,designator]*\n" -" Visszaadja egy vagy több jelölő tulajdonságát.\n" -"\n" -" Visszaadja a jelölő által meghatározott\n" -" csomópont értékét.\n" -" " - -#: ../roundup/admin.py:1010 -#, python-format -msgid "%(key)s: %(value)s" -msgstr "%(key)s: %(value)s" - -#: ../roundup/admin.py:1013 -msgid "" -"Usage: create classname property=value ...\n" -" Create a new entry of a given class.\n" -"\n" -" This creates a new entry of the given class using the property\n" -" name=value arguments provided on the command line after the \"create" -"\"\n" -" command.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1041 -#, python-format -msgid "%(propname)s (Password): " -msgstr "%(propname)s (Jelszó): " - -#: ../roundup/admin.py:1044 -#, python-format -msgid " %(propname)s (Again): " -msgstr " %(propname)s (Ismét): " - -#: ../roundup/admin.py:1048 -msgid "Sorry, try again..." -msgstr "Sajnálom, próbálja újra..." - -#: ../roundup/admin.py:1052 -#, python-format -msgid "%(propname)s (%(proptype)s): " -msgstr "%(propname)s (%(proptype)s): " - -#: ../roundup/admin.py:1071 -#, python-format -msgid "you must provide the \"%(propname)s\" property." -msgstr "meg kell adni a(z) \"%(propname)s\" tulajdonságot." - -#: ../roundup/admin.py:1083 -msgid "" -"Usage: list classname [property]\n" -" List the instances of a class.\n" -"\n" -" Lists all instances of the given class. If the property is not\n" -" specified, the \"label\" property is used. The label property is\n" -" tried in order: the key, \"name\", \"title\" and then the first\n" -" property, alphabetically.\n" -"\n" -" With -c, -S or -s print a list of item id's if no property\n" -" specified. If property specified, print list of that property\n" -" for every class instance.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1096 -msgid "Too many arguments supplied" -msgstr "Túl sok argumentum került megadásra" - -#: ../roundup/admin.py:1132 -#, python-format -msgid "%(nodeid)4s: %(value)s" -msgstr "%(nodeid)4s: %(value)s" - -#: ../roundup/admin.py:1136 -msgid "" -"Usage: templates [trace_search]\n" -" List templates and their installed directories.\n" -"\n" -" With trace_search also list all directories that are\n" -" searched for templates.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1164 +#: ../roundup/admin.py:1808 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -666,364 +1041,73 @@ " " msgstr "" -#: ../roundup/admin.py:1208 +#: ../roundup/admin.py:1852 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "\"%(spec)s\" nem név:hossz formátumú" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1874 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1266 -msgid "" -"Usage: history designator [skipquiet]\n" -" Show the history entries of a designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" Lists the journal entries viewable by the user for the\n" -" node identified by the designator. If skipquiet is the\n" -" second argument, journal entries for quiet properties\n" -" are not shown.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1302 -msgid "" -"Usage: commit\n" -" Commit changes made to the database during an interactive session.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" using this command.\n" -"\n" -" One-off commands on the command-line are automatically committed if\n" -" they are successful.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1317 -msgid "" -"Usage: rollback\n" -" Undo all changes that are pending commit to the database.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" manually. This command undoes all those changes, so a commit\n" -" immediately after would make no changes to the database.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1330 +#: ../roundup/admin.py:1910 msgid "" -"Usage: retire designator[,designator]*\n" -" Retire the node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This action indicates that a particular node is not to be retrieved\n" -" by the list or find commands, and its key value may be re-used.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1358 -msgid "" -"Usage: restore designator[,designator]*\n" -" Restore the retired node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" +"Usage: templates [trace_search]\n" +" List templates and their installed directories.\n" "\n" -" The given nodes will become available for users again.\n" -" " -msgstr "" - -# ../roundup/admin.py:583 :983 :1032 :1054 -#: ../roundup/admin.py:1383 -#, fuzzy -msgid "no such %(classname)s node \" % (nodeid)s\"" -msgstr "nincs \"%(nodeid)s\" %(classname)s csomópont" - -#. grab the directory to export to -#: ../roundup/admin.py:1389 -msgid "" -"Usage: export [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files.\n" -" To exclude the files (e.g. for the msg or file class),\n" -" use the exporttables command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" +" With trace_search also list all directories that are\n" +" searched for templates.\n" " " msgstr "" -#: ../roundup/admin.py:1496 -msgid "" -"Usage: exporttables [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files, excluding the\n" -" files below $TRACKER_HOME/db/files/ (which can be archived " -"separately).\n" -" To include the files, use the export command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1511 -msgid "" -"Usage: import import_dir\n" -" Import a database from the directory containing CSV files,\n" -" two per class to import.\n" -"\n" -" The files used in the import are:\n" -"\n" -" <class>.csv\n" -" This must define the same properties as the class (including\n" -" having a \"header\" line with those property names.)\n" -" <class>-journals.csv\n" -" This defines the journals for the items being imported.\n" -"\n" -" The imported nodes will have the same nodeid as defined in the\n" -" import file, thus replacing any existing content.\n" -"\n" -" The new nodes are added to the existing database - if you want to\n" -" create a new database using the imported data, then create a new\n" -" database (or, tediously, retire all the old data.)\n" -" " -msgstr "" - -#: ../roundup/admin.py:1590 -msgid "" -"Usage: importtables export_dir\n" -"\n" -" This imports the database tables exported using exporttables.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1597 -msgid "" -"Usage: pack period | date\n" -"\n" -" Remove journal entries older than a period of time specified or\n" -" before a certain date.\n" -"\n" -" A period is specified using the suffixes \"y\", \"m\", and \"d\". " -"The\n" -" suffix \"w\" (for \"week\") means 7 days.\n" -"\n" -" \"3y\" means three years\n" -" \"2y 1m\" means two years and one month\n" -" \"1m 25d\" means one month and 25 days\n" -" \"2w 3d\" means two weeks and three days\n" -"\n" -" Date format is \"YYYY-MM-DD\" eg:\n" -" 2001-01-01\n" -"\n" -" " -msgstr "" - -#: ../roundup/admin.py:1625 -msgid "Invalid format" -msgstr "Hibás formátum" - -#: ../roundup/admin.py:1638 -msgid "" -"Usage: reindex [classname|designator]*\n" -" Re-generate a tracker's search indexes.\n" -"\n" -" This will re-generate the search indexes for a tracker.\n" -" This will typically happen automatically.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1652 -#, python-format -msgid "no such item \"%(designator)s\"" -msgstr "nincs ilyen elem: \"%(designator)s\"" - -#: ../roundup/admin.py:1662 +#: ../roundup/admin.py:1938 #, fuzzy msgid "" -"Usage: security [Role name]\n" -"\n" -" Display the Permissions available to one or all Roles.\n" -" " -msgstr "" -"Használat: security [szerepkör]\n" -" Megjeleníti a megadott vagy az összes szerepkör jogosultságait.\n" +"Usage: updateconfig <filename>\n" +" Generate an updated tracker config file (ini style) in\n" +" <filename>. Use current settings from existing roundup\n" +" tracker in tracker home.\n" " " - -#: ../roundup/admin.py:1671 -#, fuzzy, python-format -msgid "No such Role \"%(role)s\"\n" -msgstr "Nincs ilyen szerepkör: \"%(role)s\"" - -#: ../roundup/admin.py:1677 -#, fuzzy, python-format -msgid "New Web users get the Roles \"%(role)s\"\n" -msgstr "Új web felhasználók ezeket a szerepköröket kapják: \"%(role)s\"" - -#: ../roundup/admin.py:1680 -#, fuzzy, python-format -msgid "New Web users get the Role \"%(role)s\"\n" -msgstr "Új web felhasználók ezt a szerepkört kapják \"%(role)s\"" - -#: ../roundup/admin.py:1684 -#, fuzzy, python-format -msgid "New Email users get the Roles \"%(role)s\"\n" -msgstr "Új e-mail felhasználók ezeket a szerepköröket kapják: \"%(role)s\"" - -#: ../roundup/admin.py:1686 -#, fuzzy, python-format -msgid "New Email users get the Role \"%(role)s\"\n" -msgstr "Új e-mail felhasználók ezt a szerepkört kapják: \"%(role)s\"" - -#: ../roundup/admin.py:1689 -#, fuzzy, python-format -msgid "Role \"%(name)s\":\n" -msgstr "\"%(name)s\" szerepkör:" - -#: ../roundup/admin.py:1695 -#, fuzzy -msgid " %(description)s (%(name)s for \"%(klass)s\"" -msgstr " %(description)s (%(name)s)" - -#: ../roundup/admin.py:1695 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" -msgstr " %(description)s (%(name)s)" - -#: ../roundup/admin.py:1708 +msgstr "" +"Használat: genconfig <fájlnév>\n" +" Új hibakövető konfigurációs fájl (ini stílusú) generálása " +"alapértelmezett értékekkel\n" +" a <fájlnév> fájlba.\n" +" " + +# ../roundup/cgi/actions.py:596 :607 :778 :797 +#: ../roundup/admin.py:1946 ../roundup/cgi/actions.py:886 +#: ../roundup/cgi/actions.py:897 ../roundup/cgi/actions.py:1099 +#: ../roundup/cgi/actions.py:1113 ../roundup/cgi/actions.py:886:897 :1099:1113 #, python-format -msgid "" -"\n" -" **Invalid properties for %(class)s: %(props)s\n" -"\n" -msgstr "" - -#: ../roundup/admin.py:1714 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" -msgstr " %(description)s (%(name)s)" - -#: ../roundup/admin.py:1717 -#, fuzzy, python-format -msgid " %(description)s (%(name)s)\n" -msgstr " %(description)s (%(name)s)" - -#: ../roundup/admin.py:1721 -msgid "" -"Usage: migrate\n" -"\n" -" Update a tracker's database to be compatible with the Roundup\n" -" codebase.\n" -"\n" -" You should run the \"migrate\" command for your tracker once\n" -" you've installed the latest codebase.\n" -"\n" -" Do this before you use the web, command-line or mail interface\n" -" and before any users access the tracker.\n" -"\n" -" This command will respond with either \"Tracker updated\" (if\n" -" you've not previously run it on an RDBMS backend) or \"No\n" -" migration action required\" (if you have run it, or have used\n" -" another interface to the tracker, or possibly because you are\n" -" using anydbm).\n" -"\n" -" It's safe to run this even if it's not required, so just get\n" -" into the habit.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1742 -#, python-format -msgid "Tracker updated to schema version %s." -msgstr "" - -#: ../roundup/admin.py:1746 -#, python-format -msgid "No migration action required. At schema version %s." -msgstr "" - -#: ../roundup/admin.py:1751 -msgid "" -"Usage: perftest [mode] [arguments]*\n" -"\n" -" Time operations in Roundup. Supported arguments:\n" -"\n" -" [password] [rounds=<integer>] [scheme=<scheme>]\n" -"\n" -" 'password' is the default mode. The tracker's config.ini\n" -" setting for 'password_pbkdf2_default_rounds' is the default\n" -" value for 'rounds'. On the command line, 'rounds' can include\n" -" thousands separator of ',' or '.'. 'scheme' is the default\n" -" coded into Roundup. List supported schemes by using 'scheme='.\n" -"\n" -" " -msgstr "" - -#: ../roundup/admin.py:1785 -msgid "Invalid 'rounds'. Must be larger than 999." -msgstr "" - -#: ../roundup/admin.py:1789 -#, python-format -msgid "Invalid 'rounds'. It must be an integer not: %s" -msgstr "" - -#: ../roundup/admin.py:1816 -msgid "scheme does not support rounds." -msgstr "" - -#: ../roundup/admin.py:1819 -#, python-format -msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" -msgstr "" - -#: ../roundup/admin.py:1847 +msgid "Error: %s" +msgstr "Hiba: %s" + +#: ../roundup/admin.py:1974 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "" "\"%(command)s\": ismeretlen parancs (\"help commands\" parancsok " "listázásához)" -#: ../roundup/admin.py:1853 +#: ../roundup/admin.py:1980 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "" "Több parancs is illeszkedik a megadott \"%(command)s\" parancsra: %(list)s" -#: ../roundup/admin.py:1862 +#: ../roundup/admin.py:1996 msgid "Enter tracker home: " msgstr "Adja meg a hibakövető könyvtárát: " -# ../roundup/admin.py:1335 :1341 :1361 -#: ../roundup/admin.py:1871 ../roundup/admin.py:1877 ../roundup/admin.py:1914 -#: ../roundup/admin.py:1871:1877:1914 -#, python-format -msgid "Error: %(message)s" -msgstr "Hiba: %(message)s" - -#: ../roundup/admin.py:1887 ../roundup/admin.py:1891 -#: ../roundup/admin.py:1887:1891 +#: ../roundup/admin.py:2023 ../roundup/admin.py:2027 +#: ../roundup/admin.py:2023:2027 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "Hiba: Hibakövető megnyitása sikertelen: %(message)s" -#: ../roundup/admin.py:1927 +#: ../roundup/admin.py:2060 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1032,15 +1116,15 @@ "A Roundup %s fogadókész.\n" "Segítségért gépeljen \"help\"-et." -#: ../roundup/admin.py:1932 +#: ../roundup/admin.py:2065 msgid "Note: command history and editing not available" msgstr "Megjegyzés: a parancsok története és szerkesztése nem elérhető" -#: ../roundup/admin.py:1938 +#: ../roundup/admin.py:2071 msgid "exit..." msgstr "kilépés..." -#: ../roundup/admin.py:1951 +#: ../roundup/admin.py:2084 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "Vannak nem mentett változtatások. Elmenti őket (y/N)? " @@ -1078,7 +1162,7 @@ #: ../roundup/backends/back_anydbm.py:1422 #: ../roundup/backends/back_anydbm.py:1440 #: ../roundup/backends/back_anydbm.py:1487 -#: ../roundup/backends/back_anydbm.py:2117 +#: ../roundup/backends/back_anydbm.py:2113 #: ../roundup/backends/back_anydbm.py:871:884 #: ../roundup/backends/rdbms_common.py:1708 #: ../roundup/backends/rdbms_common.py:1955 @@ -1087,7 +1171,7 @@ #: ../roundup/backends/rdbms_common.py:2267 #: ../roundup/backends/rdbms_common.py:3219 #: ../roundup/backends/rdbms_common.py:1708:1955 :1158:1193 :1422:1440:1487 -#: :2117 :2194:2214 :2267:3219 +#: :2113 :2194:2214 :2267:3219 msgid "Database open read-only" msgstr "" @@ -1337,14 +1421,6 @@ msgid "Edit Error: %s" msgstr "Szerkesztési hiba: %s" -# ../roundup/cgi/actions.py:596 :607 :778 :797 -#: ../roundup/cgi/actions.py:886 ../roundup/cgi/actions.py:897 -#: ../roundup/cgi/actions.py:1099 ../roundup/cgi/actions.py:1113 -#: ../roundup/cgi/actions.py:886:897 :1099:1113 -#, python-format -msgid "Error: %s" -msgstr "Hiba: %s" - #: ../roundup/cgi/actions.py:931 msgid "" "Invalid One Time Key!\n" @@ -1593,8 +1669,8 @@ "A hibakövető karbantartói értesítést kaptak a problémáról.</p>\n" "</body></html>" -#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 -#: ../roundup/cgi/client.py:670:1570 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:670:1567 msgid "Required Header Missing" msgstr "" @@ -1603,140 +1679,140 @@ msgid "Client is not allowed to use Rest Interface." msgstr "Anonim felhasználók nem használhatják a webes felületet" -#: ../roundup/cgi/client.py:921 +#: ../roundup/cgi/client.py:918 msgid "Form Error: " msgstr "Űrlap hiba: " -#: ../roundup/cgi/client.py:1011 +#: ../roundup/cgi/client.py:1008 #, python-format msgid "Unrecognized charset: %r" msgstr "Ismeretlen karakterkészlet: %r" -#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 -#: ../roundup/cgi/client.py:1264:2250 +#: ../roundup/cgi/client.py:1261 ../roundup/cgi/client.py:2247 +#: ../roundup/cgi/client.py:1261:2247 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1279 +#: ../roundup/cgi/client.py:1276 msgid "Anonymous users are not allowed to use the web interface" msgstr "Anonim felhasználók nem használhatják a webes felületet" -#: ../roundup/cgi/client.py:1430 +#: ../roundup/cgi/client.py:1427 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1434 +#: ../roundup/cgi/client.py:1431 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1463 +#: ../roundup/cgi/client.py:1460 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1467 +#: ../roundup/cgi/client.py:1464 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1475 +#: ../roundup/cgi/client.py:1472 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" # ../roundup/cgi/actions.py:930 :934 -#: ../roundup/cgi/client.py:1480 +#: ../roundup/cgi/client.py:1477 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "Hibás bejelentkezés" -#: ../roundup/cgi/client.py:1495 +#: ../roundup/cgi/client.py:1492 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" # ../roundup/cgi/actions.py:930 :934 -#: ../roundup/cgi/client.py:1500 +#: ../roundup/cgi/client.py:1497 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "Hibás bejelentkezés" -#: ../roundup/cgi/client.py:1514 +#: ../roundup/cgi/client.py:1511 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1520 +#: ../roundup/cgi/client.py:1517 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1539 +#: ../roundup/cgi/client.py:1536 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1544 +#: ../roundup/cgi/client.py:1541 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1552 +#: ../roundup/cgi/client.py:1549 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1553 +#: ../roundup/cgi/client.py:1550 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:1564 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1608 +#: ../roundup/cgi/client.py:1605 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 -#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 +#: ../roundup/cgi/client.py:1607 ../roundup/cgi/client.py:1634 +#: ../roundup/cgi/client.py:1651 ../roundup/cgi/client.py:1607:1634:1651 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1614 +#: ../roundup/cgi/client.py:1611 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1626 +#: ../roundup/cgi/client.py:1623 #, python-format msgid "" "Csrf mismatch user: current user %(user)s != stored user %(stored)s, current " "session, stored session: %(cur_sess)s,%(stor_sess)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1644 +#: ../roundup/cgi/client.py:1641 #, python-format msgid "" "Csrf mismatch user: current session %(curr_sess)s != stored session " "%(stor_sess)s, current user/stored user is: %(user)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1838 +#: ../roundup/cgi/client.py:1835 msgid "You are not allowed to view this file." msgstr "Nem nézheti meg ezt a fájlt." -#: ../roundup/cgi/client.py:2127 +#: ../roundup/cgi/client.py:2124 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "%(starttag)sEltelt idő: %(seconds)fs%(endtag)s\n" -#: ../roundup/cgi/client.py:2131 +#: ../roundup/cgi/client.py:2128 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " @@ -1745,7 +1821,7 @@ "%(starttag)sCache találatok: %(cache_hits)d, tévedés %(cache_misses)d. " "Elemek betöltése: %(get_items)f mp. Szűrés: %(filtering)f mp.%(endtag)s\n" -#: ../roundup/cgi/client.py:2669 +#: ../roundup/cgi/client.py:2666 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -1949,16 +2025,16 @@ msgid "<option %svalue=\"-1\">- no selection -</option>" msgstr "<option %svalue=\"-1\">- nincs kiválasztás -</option>" -#: ../roundup/cgi/timestamp.py:19 +#: ../roundup/cgi/timestamp.py:23 msgid "Form is corrupted." msgstr "" -#: ../roundup/cgi/timestamp.py:28 +#: ../roundup/cgi/timestamp.py:32 #, python-format msgid "Form is corrupted, missing: %s." msgstr "" -#: ../roundup/cgi/timestamp.py:30 +#: ../roundup/cgi/timestamp.py:34 msgid "Responding to form too quickly." msgstr "" @@ -2113,55 +2189,55 @@ msgid "in %s" msgstr "%s-ban" -#: ../roundup/hyperdb.py:119 +#: ../roundup/hyperdb.py:120 #, fuzzy, python-format msgid "property %(property)s: %(errormsg)s" msgstr "Hiba: %s: %s" -#: ../roundup/hyperdb.py:148 +#: ../roundup/hyperdb.py:149 #, python-format msgid "property %(property)s: %(value)r is an invalid date (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:171 +#: ../roundup/hyperdb.py:172 #, python-format msgid "" "property %(property)s: %(value)r is an invalid date interval (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:428 +#: ../roundup/hyperdb.py:429 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a number" msgstr "\"%(propname)s\" tulajdonság: \"%(value)s\" jelenleg nincs a listában" -#: ../roundup/hyperdb.py:442 +#: ../roundup/hyperdb.py:443 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not an integer" msgstr "\"%(propname)s\" tulajdonság: \"%(value)s\" jelenleg nincs a listában" -#: ../roundup/hyperdb.py:464 +#: ../roundup/hyperdb.py:465 #, python-format msgid "\"%s\" not a node designator" msgstr "" # ../roundup/hyperdb.py:949:957 -#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 -#: ../roundup/hyperdb.py:1493:1501 +#: ../roundup/hyperdb.py:1494 ../roundup/hyperdb.py:1502 +#: ../roundup/hyperdb.py:1494:1502 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1978 +#: ../roundup/hyperdb.py:1979 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "\"%(propname)s\" tulajdonság: \"%(value)s\" jelenleg nincs a listában" -#: ../roundup/hyperdb.py:1984 +#: ../roundup/hyperdb.py:1985 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2019 +#: ../roundup/hyperdb.py:2020 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" @@ -2458,116 +2534,116 @@ msgstr "" # ../roundup/cgi/actions.py:930 :934 -#: ../roundup/rest.py:1097 +#: ../roundup/rest.py:1101 #, fuzzy, python-format msgid "Invalid attribute %s" msgstr "Hibás bejelentkezés" -#: ../roundup/rest.py:2090 +#: ../roundup/rest.py:2094 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2125 +#: ../roundup/rest.py:2129 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2305 +#: ../roundup/rest.py:2309 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " "supported versions." msgstr "" -#: ../roundup/roundupdb.py:139 +#: ../roundup/roundupdb.py:140 #, python-format msgid "Username '%s' already exists." msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "files" msgstr "fájlok" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "messages" msgstr "üzenetek" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "nosy" msgstr "kíváncsi" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "superseder" msgstr "helyettes" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "title" msgstr "cím" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "assignedto" msgstr "kiosztva" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 #, fuzzy msgid "keyword" msgstr "Téma" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "priority" msgstr "prioritás" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "status" msgstr "állapot" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "activity" msgstr "művelet" #. following properties are common for all hyperdb classes #. they are listed here to keep things in one place -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "actor" msgstr "végezte" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creation" msgstr "létrehozás" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creator" msgstr "létrehozó" -#: ../roundup/roundupdb.py:425 +#: ../roundup/roundupdb.py:426 #, python-format msgid "No key for \"%(adr)s\" in keyring" msgstr "" -#: ../roundup/roundupdb.py:503 +#: ../roundup/roundupdb.py:504 #, python-format msgid "New submission from %(authname)s%(authaddr)s:" msgstr "Új beadvány %(authname)s%(authaddr)s részéről:" -#: ../roundup/roundupdb.py:506 +#: ../roundup/roundupdb.py:507 #, python-format msgid "%(authname)s%(authaddr)s added the comment:" msgstr "%(authname)s%(authaddr)s ezt a megjegyzést írta:" -#: ../roundup/roundupdb.py:509 +#: ../roundup/roundupdb.py:510 #, fuzzy, python-format msgid "Change by %(authname)s%(authaddr)s:" msgstr "Új beadvány %(authname)s%(authaddr)s részéről:" -#: ../roundup/roundupdb.py:528 +#: ../roundup/roundupdb.py:529 #, python-format msgid "File '%(filename)s' not attached - you can download it from %(link)s." msgstr "" -#: ../roundup/roundupdb.py:903 +#: ../roundup/roundupdb.py:904 #, python-format msgid "" "\n" @@ -2577,12 +2653,12 @@ "%(old)s" msgstr "" -#: ../roundup/scripts/roundup_demo.py:49 +#: ../roundup/scripts/roundup_demo.py:156 #, python-format msgid "Enter directory path to create demo tracker [%s]: " msgstr "Adja meg az elérési utat a bemutató tracker [%s] létrehozásához: " -#: ../roundup/scripts/roundup_demo.py:54 +#: ../roundup/scripts/roundup_demo.py:162 #, python-format msgid "" "Enter tracker template to use (one of (%(template_list)s)) " @@ -2676,23 +2752,23 @@ msgid "User %(user)s doesn't exist" msgstr "A(z) %(user)s felhasználó nem létezik" -#: ../roundup/scripts/roundup_server.py:805 +#: ../roundup/scripts/roundup_server.py:809 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "\"%s\" többszálú mód nem érhető el, áttérés egyszálú módra" -#: ../roundup/scripts/roundup_server.py:832 +#: ../roundup/scripts/roundup_server.py:837 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "Nem sikerült a(z) %s portra csatlakozni, a port már használatban van." -#: ../roundup/scripts/roundup_server.py:836 +#: ../roundup/scripts/roundup_server.py:841 #, fuzzy, python-format msgid "" "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s" msgstr "Nem sikerült a(z) %s portra csatlakozni, a port már használatban van." -#: ../roundup/scripts/roundup_server.py:915 +#: ../roundup/scripts/roundup_server.py:920 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -2702,7 +2778,7 @@ " specifics." msgstr "" -#: ../roundup/scripts/roundup_server.py:922 +#: ../roundup/scripts/roundup_server.py:927 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2711,7 +2787,7 @@ " specified if -d is used." msgstr "" -#: ../roundup/scripts/roundup_server.py:929 +#: ../roundup/scripts/roundup_server.py:934 #, python-format msgid "" "\n" @@ -2732,6 +2808,8 @@ " -N log client machine names instead of IP addresses (much " "slower)\n" " -i <fname> set tracker index template\n" +" -m <children> maximum number of children to spawn in fork multiprocess " +"mode\n" " -s enable SSL\n" " -L http request logging uses python logging (roundup.http)\n" " -e <fname> PEM file containing SSL key and certificate\n" @@ -2778,21 +2856,21 @@ " any url-unsafe characters like spaces, as these confuse IE.\n" msgstr "" -#: ../roundup/scripts/roundup_server.py:1105 +#: ../roundup/scripts/roundup_server.py:1111 msgid "Instances must be name=home" msgstr "A példányoknak név=home formában kell lenniük" -#: ../roundup/scripts/roundup_server.py:1119 +#: ../roundup/scripts/roundup_server.py:1125 #, python-format msgid "Configuration saved to %s" msgstr "Beállítások elmentve ide: %s" -#: ../roundup/scripts/roundup_server.py:1137 +#: ../roundup/scripts/roundup_server.py:1143 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "" "Elnézést, ezen az operációs rendszeren a szerver nem indítható démonként" -#: ../roundup/scripts/roundup_server.py:1157 +#: ../roundup/scripts/roundup_server.py:1163 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "Roundup server elindítva a(z) %(HOST)s:%(PORT)s gépen" @@ -5256,6 +5334,21 @@ msgstr "Bejelentkezési jelszó" #, fuzzy +#~ msgid "" +#~ "Usage: security [Role name]\n" +#~ "\n" +#~ " Display the Permissions available to one or all Roles.\n" +#~ " " +#~ msgstr "" +#~ "Használat: security [szerepkör]\n" +#~ " Megjeleníti a megadott vagy az összes szerepkör jogosultságait.\n" +#~ " " + +# ../roundup/admin.py:1335 :1341 :1361 +#~ msgid "Error: %(message)s" +#~ msgstr "Hiba: %(message)s" + +#, fuzzy #~ msgid "Tracker updated" #~ msgstr "Hibakövető"
--- a/locale/it.po Wed May 24 15:05:09 2023 -0400 +++ b/locale/it.po Wed May 24 20:35:53 2023 -0400 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Roundup 2.3.0\n" "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-03-03 17:28-0500\n" +"POT-Creation-Date: 2023-05-24 20:34-0400\n" "PO-Revision-Date: 2013-10-31 12:20+0100\n" "Last-Translator: Marco Ghidinelli <marco.ghidinelli@ing.unibs.it>\n" "Language-Team: italian <it@li.org>\n" @@ -27,20 +27,40 @@ msgid "You may not retire the admin or anonymous user" msgstr "Non è possibile ritirare l'utente amministratore o l'utente anonimo" +#: ../roundup/admin.py:117 +msgid "Have 'display designator' show protected fields: creator. NYI" +msgstr "" + +#: ../roundup/admin.py:120 +msgid "Set indexer to use when running 'reindex' NYI" +msgstr "" + +#: ../roundup/admin.py:123 +msgid "Force reopening of tracker when running each command." +msgstr "" + +#: ../roundup/admin.py:125 +msgid "Show retired items in table, list etc. NYI" +msgstr "" + +#: ../roundup/admin.py:126 +msgid "Enable verbose output: tracing, descriptions..." +msgstr "" + # ../roundup/admin.py:1052 ../roundup/admin.py:85:981 :1030:1052 -#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 -#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 +#: ../roundup/admin.py:138 ../roundup/admin.py:993 ../roundup/admin.py:1601 +#: ../roundup/admin.py:1633 ../roundup/admin.py:138:993 :1601:1633 #, python-format msgid "no such class \"%(classname)s\"" msgstr "classe \"%(classname)s\" mancante" # ../roundup/admin.py:95 ../roundup/admin.py:99 ../roundup/admin.py:95:99 -#: ../roundup/admin.py:124 +#: ../roundup/admin.py:150 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "argomento \"%(arg)s\" non nel formato nome=valore" -#: ../roundup/admin.py:137 +#: ../roundup/admin.py:163 #, python-format msgid "" "Problem: %(message)s\n" @@ -49,7 +69,7 @@ "Problema: %(message)s\n" "\n" -#: ../roundup/admin.py:138 +#: ../roundup/admin.py:164 #, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -77,12 +97,12 @@ " roundup-admin help all -- all available help\n" msgstr "" -#: ../roundup/admin.py:165 +#: ../roundup/admin.py:191 #, fuzzy msgid "Commands: " msgstr "Comandi:" -#: ../roundup/admin.py:172 +#: ../roundup/admin.py:198 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -90,7 +110,7 @@ "I comandi possono essere abbreviati finchè l'abbreviazione rimane univoca\n" "es: l == li == lis == list." -#: ../roundup/admin.py:201 +#: ../roundup/admin.py:227 msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -157,12 +177,232 @@ "Command help:\n" msgstr "" -#: ../roundup/admin.py:264 +#: ../roundup/admin.py:290 #, python-format msgid "%s:" msgstr "%s:" -#: ../roundup/admin.py:271 +# ../roundup/admin.py:340 ../roundup/admin.py:396 ../roundup/admin.py:340:396 +#: ../roundup/admin.py:395 ../roundup/admin.py:1185 +#: ../roundup/admin.py:395:1185 +msgid "Templates:" +msgstr "Modelli predefiniti:" + +# ../roundup/admin.py:343 ../roundup/admin.py:407 ../roundup/admin.py:343:407 +#: ../roundup/admin.py:398 ../roundup/admin.py:1195 +#: ../roundup/admin.py:398:1195 +msgid "Back ends:" +msgstr "Back ends:" + +#: ../roundup/admin.py:415 +msgid "" +"Usage: commit\n" +" Commit changes made to the database during an interactive session.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" using this command.\n" +"\n" +" One-off commands on the command-line are automatically committed if\n" +" they are successful.\n" +" " +msgstr "" + +#: ../roundup/admin.py:430 +msgid "" +"Usage: create classname property=value ...\n" +" Create a new entry of a given class.\n" +"\n" +" This creates a new entry of the given class using the property\n" +" name=value arguments provided on the command line after the \"create" +"\"\n" +" command.\n" +" " +msgstr "" + +# ../roundup/admin.py:1243 ../roundup/admin.py:369:466 :1020:1042 :1072:1171 +# :1243 :527:606 :656:714 :735:763 :834:901 :972 +#: ../roundup/admin.py:438 ../roundup/admin.py:512 ../roundup/admin.py:545 +#: ../roundup/admin.py:663 ../roundup/admin.py:749 ../roundup/admin.py:807 +#: ../roundup/admin.py:852 ../roundup/admin.py:977 ../roundup/admin.py:1020 +#: ../roundup/admin.py:1158 ../roundup/admin.py:1285 ../roundup/admin.py:1371 +#: ../roundup/admin.py:1482 ../roundup/admin.py:1591 ../roundup/admin.py:1623 +#: ../roundup/admin.py:1738 ../roundup/admin.py:1792 ../roundup/admin.py:1837 +#: ../roundup/admin.py:438:512 :1020:1158:1285 :1371:1482 :1591:1623 :1738:1792 +#: :1837 :545:663 :749:807 :852:977 +msgid "Not enough arguments supplied" +msgstr "Non sono stati forniti abbastanza argomenti" + +#: ../roundup/admin.py:458 +#, python-format +msgid "%(propname)s (Password): " +msgstr "%(propname)s·(Password):·" + +#: ../roundup/admin.py:461 +#, python-format +msgid " %(propname)s (Again): " +msgstr " %(propname)s (Ripeti password): " + +#: ../roundup/admin.py:465 +msgid "Sorry, try again..." +msgstr "Mi dispiace, riprova..." + +#: ../roundup/admin.py:470 +#, python-format +msgid "%(propname)s (%(proptype)s): " +msgstr "%(propname)s (%(proptype)s): " + +#: ../roundup/admin.py:489 +#, python-format +msgid "you must provide the \"%(propname)s\" property." +msgstr "deve essere fornita la proprietà \"%(propname)s\"." + +#: ../roundup/admin.py:501 +msgid "" +"Usage: display designator[,designator]*\n" +"\n" +" Show the property values for the given node(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This lists the properties and their associated values\n" +" for the given node.\n" +" " +msgstr "" + +#: ../roundup/admin.py:528 +#, python-format +msgid "%(key)s: %(value)s" +msgstr "%(key)s:·%(value)s" + +#. grab the directory to export to +#: ../roundup/admin.py:531 +msgid "" +"Usage: export [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files.\n" +" To exclude the files (e.g. for the msg or file class),\n" +" use the exporttables command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" + +#: ../roundup/admin.py:638 +msgid "" +"Usage: exporttables [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files, excluding the\n" +" files below $TRACKER_HOME/db/files/ (which can be archived " +"separately).\n" +" To include the files, use the export command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" + +#: ../roundup/admin.py:653 +msgid "" +"Usage: filter classname propname=value ...\n" +" Find the nodes of the given class with a given property value.\n" +"\n" +" Find the nodes of the given class with a given property value.\n" +" Multiple values can be specified by separating them with commas.\n" +" If property is a string, all values must match. I.E. it's an\n" +" 'and' operation. If the property is a link/multilink any value\n" +" matches. I.E. an 'or' operation.\n" +" " +msgstr "" + +# ../roundup/admin.py:920 ../roundup/admin.py:701:854 :866:920 +#: ../roundup/admin.py:696 +#, fuzzy, python-format +msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." +msgstr "la classe %(classname)s non ha la proprietà \"%(propname)s\"" + +# ../roundup/admin.py:920 ../roundup/admin.py:701:854 :866:920 +#: ../roundup/admin.py:734 ../roundup/admin.py:795 ../roundup/admin.py:1305 +#: ../roundup/admin.py:1317 ../roundup/admin.py:1857 +#: ../roundup/admin.py:734:795 :1305:1317:1857 +#, python-format +msgid "%(classname)s has no property \"%(propname)s\"" +msgstr "la classe %(classname)s non ha la proprietà \"%(propname)s\"" + +#: ../roundup/admin.py:741 +msgid "" +"Usage: find classname propname=value ...\n" +" Find the nodes of the given class with a given link property value.\n" +"\n" +" Find the nodes of the given class with a given link property value.\n" +" The value may be either the nodeid of the linked node, or its key\n" +" value.\n" +" " +msgstr "" + +#: ../roundup/admin.py:802 +msgid "" +"Usage: genconfig <filename>\n" +" Generate a new tracker config file (ini style) with default\n" +" values in <filename>.\n" +" " +msgstr "" + +#: ../roundup/admin.py:820 +#, python-format +msgid "" +"Changing option\n" +" 'password_pbkdf2_default_rounds'\n" +"from old default of %(old_number)s to new default of %(new_number)s." +msgstr "" + +#: ../roundup/admin.py:831 +#, python-format +msgid "" +"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" +"than %s." +msgstr "" + +#: ../roundup/admin.py:842 +msgid "" +"Usage: get property designator[,designator]*\n" +" Get the given property of one or more designator(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Retrieves the property value of the nodes specified\n" +" by the designators.\n" +" " +msgstr "" + +# ../roundup/admin.py:560 ../roundup/admin.py:575 ../roundup/admin.py:560:575 +#: ../roundup/admin.py:886 ../roundup/admin.py:904 ../roundup/admin.py:886:904 +#, python-format +msgid "property %s is not of type Multilink or Link so -d flag does not apply." +msgstr "" + +# ../roundup/admin.py:1054 ../roundup/admin.py:583:983 :1032:1054 +#: ../roundup/admin.py:914 ../roundup/admin.py:995 ../roundup/admin.py:1635 +#: ../roundup/admin.py:914:995:1635 +#, python-format +msgid "no such %(classname)s node \"%(nodeid)s\"" +msgstr "" + +#: ../roundup/admin.py:917 +#, python-format +msgid "no such %(classname)s property \"%(propname)s\"" +msgstr "" + +#: ../roundup/admin.py:925 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -174,22 +414,93 @@ " " msgstr "" -#: ../roundup/admin.py:293 +#: ../roundup/admin.py:947 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "Nessun aiuto per \"%(topic)s\"" -# ../roundup/admin.py:340 ../roundup/admin.py:396 ../roundup/admin.py:340:396 -#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 -msgid "Templates:" -msgstr "Modelli predefiniti:" - -# ../roundup/admin.py:343 ../roundup/admin.py:407 ../roundup/admin.py:343:407 -#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 -msgid "Back ends:" -msgstr "Back ends:" - -#: ../roundup/admin.py:414 +#: ../roundup/admin.py:964 +msgid "" +"Usage: history designator [skipquiet]\n" +" Show the history entries of a designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Lists the journal entries viewable by the user for the\n" +" node identified by the designator. If skipquiet is the\n" +" second argument, journal entries for quiet properties\n" +" are not shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1000 +msgid "" +"Usage: import import_dir\n" +" Import a database from the directory containing CSV files,\n" +" two per class to import.\n" +"\n" +" The files used in the import are:\n" +"\n" +" <class>.csv\n" +" This must define the same properties as the class (including\n" +" having a \"header\" line with those property names.)\n" +" <class>-journals.csv\n" +" This defines the journals for the items being imported.\n" +"\n" +" The imported nodes will have the same nodeid as defined in the\n" +" import file, thus replacing any existing content.\n" +"\n" +" The new nodes are added to the existing database - if you want to\n" +" create a new database using the imported data, then create a new\n" +" database (or, tediously, retire all the old data.)\n" +" " +msgstr "" + +#: ../roundup/admin.py:1079 +msgid "" +"Usage: importtables export_dir\n" +"\n" +" This imports the database tables exported using exporttables.\n" +" " +msgstr "" + +#. password +#: ../roundup/admin.py:1086 +msgid "" +"Usage: initialise [adminpw]\n" +" Initialise a new Roundup tracker.\n" +"\n" +" The administrator details will be set at this step.\n" +"\n" +" Execute the tracker's initialisation function dbinit.init()\n" +" " +msgstr "" + +#: ../roundup/admin.py:1100 +msgid "Admin Password: " +msgstr "Password dell'amministratore" + +#: ../roundup/admin.py:1101 +msgid " Confirm: " +msgstr " Conferma: " + +#: ../roundup/admin.py:1105 +msgid "Instance home does not exist" +msgstr "La home dell'istanza non esiste" + +#: ../roundup/admin.py:1109 +msgid "Instance has not been installed" +msgstr "L'istanza non è stata installata" + +#: ../roundup/admin.py:1115 +msgid "" +"WARNING: The database is already initialised!\n" +"If you re-initialise it, you will lose all the data!\n" +"Erase it? Y/N: " +msgstr "" + +#: ../roundup/admin.py:1135 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -215,25 +526,12 @@ " " msgstr "" -# ../roundup/admin.py:1243 ../roundup/admin.py:369:466 :1020:1042 :1072:1171 -# :1243 :527:606 :656:714 :735:763 :834:901 :972 -#: ../roundup/admin.py:437 ../roundup/admin.py:568 ../roundup/admin.py:671 -#: ../roundup/admin.py:764 ../roundup/admin.py:822 ../roundup/admin.py:908 -#: ../roundup/admin.py:967 ../roundup/admin.py:994 ../roundup/admin.py:1021 -#: ../roundup/admin.py:1098 ../roundup/admin.py:1193 ../roundup/admin.py:1279 -#: ../roundup/admin.py:1340 ../roundup/admin.py:1367 ../roundup/admin.py:1403 -#: ../roundup/admin.py:1531 ../roundup/admin.py:1615 -#: ../roundup/admin.py:437:568 :1021:1098:1193 :1279:1340 :1367:1403 :1531:1615 -#: :671:764 :822:908 :967:994 -msgid "Not enough arguments supplied" -msgstr "Non sono stati forniti abbastanza argomenti" - -#: ../roundup/admin.py:443 +#: ../roundup/admin.py:1164 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "la directory radice dell'istanza \"%(parent)s\" non esiste" -#: ../roundup/admin.py:452 +#: ../roundup/admin.py:1173 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -244,22 +542,22 @@ "Se verrà reinstallata, tutti i dati precedentemente salvati andranno persi\n" "Cancellare la directory specificata? Y/N: " -#: ../roundup/admin.py:465 +#: ../roundup/admin.py:1186 #, fuzzy msgid "Select template" msgstr "Seleziona il modello predefinito [classic]: " -#: ../roundup/admin.py:475 +#: ../roundup/admin.py:1196 #, fuzzy msgid "Select backend" msgstr "Seleziona il backend [anydbm]: " -#: ../roundup/admin.py:486 +#: ../roundup/admin.py:1207 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "Erorre nei settaggi di configurazione: \"%s\"" -#: ../roundup/admin.py:517 +#: ../roundup/admin.py:1238 #, python-format msgid "" "\n" @@ -268,11 +566,11 @@ " %(config_file)s" msgstr "" -#: ../roundup/admin.py:527 +#: ../roundup/admin.py:1248 msgid " ... at a minimum, you must set following options:" msgstr " ... devono essere configurate almeno le seguenti opzioni:" -#: ../roundup/admin.py:532 +#: ../roundup/admin.py:1253 #, python-format msgid "" "\n" @@ -289,107 +587,318 @@ "---------------------------------------------------------------------------\n" msgstr "" -#: ../roundup/admin.py:563 +#: ../roundup/admin.py:1270 msgid "" -"Usage: genconfig <filename>\n" -" Generate a new tracker config file (ini style) with default\n" -" values in <filename>.\n" +"Usage: list classname [property]\n" +" List the instances of a class.\n" +"\n" +" Lists all instances of the given class. If the property is not\n" +" specified, the \"label\" property is used. The label property is\n" +" tried in order: the key, \"name\", \"title\" and then the first\n" +" property, alphabetically.\n" +"\n" +" With -c, -S or -s print a list of item id's if no property\n" +" specified. If property specified, print list of that property\n" +" for every class instance.\n" " " msgstr "" -#: ../roundup/admin.py:581 +#: ../roundup/admin.py:1283 +msgid "Too many arguments supplied" +msgstr "" + +#: ../roundup/admin.py:1319 #, python-format +msgid "%(nodeid)4s: %(value)s" +msgstr "" + +#: ../roundup/admin.py:1323 msgid "" -"Changing option\n" -" 'password_pbkdf2_default_rounds'\n" -"from old default of %(old_number)s to new default of %(new_number)s." -msgstr "" - -#: ../roundup/admin.py:593 +"Usage: migrate\n" +"\n" +" Update a tracker's database to be compatible with the Roundup\n" +" codebase.\n" +"\n" +" You should run the \"migrate\" command for your tracker once\n" +" you've installed the latest codebase.\n" +"\n" +" Do this before you use the web, command-line or mail interface\n" +" and before any users access the tracker.\n" +"\n" +" This command will respond with either \"Tracker updated\" (if\n" +" you've not previously run it on an RDBMS backend) or \"No\n" +" migration action required\" (if you have run it, or have used\n" +" another interface to the tracker, or possibly because you are\n" +" using anydbm).\n" +"\n" +" It's safe to run this even if it's not required, so just get\n" +" into the habit.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1344 #, python-format +msgid "Tracker updated to schema version %s." +msgstr "" + +#: ../roundup/admin.py:1348 +#, python-format +msgid "No migration action required. At schema version %s." +msgstr "" + +#: ../roundup/admin.py:1353 msgid "" -"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" -"than %s." -msgstr "" - -#: ../roundup/admin.py:604 -msgid "" -"Usage: updateconfig <filename>\n" -" Generate an updated tracker config file (ini style) in\n" -" <filename>. Use current settings from existing roundup\n" -" tracker in tracker home.\n" +"Usage: pack period | date\n" +"\n" +" Remove journal entries older than a period of time specified or\n" +" before a certain date.\n" +"\n" +" A period is specified using the suffixes \"y\", \"m\", and \"d\". " +"The\n" +" suffix \"w\" (for \"week\") means 7 days.\n" +"\n" +" \"3y\" means three years\n" +" \"2y 1m\" means two years and one month\n" +" \"1m 25d\" means one month and 25 days\n" +" \"2w 3d\" means two weeks and three days\n" +"\n" +" Date format is \"YYYY-MM-DD\" eg:\n" +" 2001-01-01\n" +"\n" " " msgstr "" -#. password -#: ../roundup/admin.py:612 +#: ../roundup/admin.py:1381 +msgid "Invalid format" +msgstr "" + +#: ../roundup/admin.py:1392 msgid "" -"Usage: initialise [adminpw]\n" -" Initialise a new Roundup tracker.\n" +"Usage: perftest [mode] [arguments]*\n" +"\n" +" Time operations in Roundup. Supported arguments:\n" +"\n" +" [password] [rounds=<integer>] [scheme=<scheme>]\n" +"\n" +" 'password' is the default mode. The tracker's config.ini\n" +" setting for 'password_pbkdf2_default_rounds' is the default\n" +" value for 'rounds'. On the command line, 'rounds' can include\n" +" thousands separator of ',' or '.'. 'scheme' is the default\n" +" coded into Roundup. List supported schemes by using 'scheme='.\n" "\n" -" The administrator details will be set at this step.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1425 +msgid "Invalid 'rounds'. Must be larger than 999." +msgstr "" + +#: ../roundup/admin.py:1429 +#, python-format +msgid "Invalid 'rounds'. It must be an integer not: %s" +msgstr "" + +#: ../roundup/admin.py:1456 +msgid "scheme does not support rounds." +msgstr "" + +#: ../roundup/admin.py:1459 +#, python-format +msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" +msgstr "" + +#: ../roundup/admin.py:1465 +msgid "" +"Usage: pragma setting=value | 'list'\n" +" Set internal admin settings to a value. E.G.\n" "\n" -" Execute the tracker's initialisation function dbinit.init()\n" +" pragma verbose=True\n" +" pragma verbose=yes\n" +" pragma verbose=on\n" +" pragma verbose=1\n" +"\n" +" will turn on verbose mode for roundup-admin.\n" +"\n" +" pragma list\n" +"\n" +" will show all settings and their current values. If verbose\n" +" is enabled hidden settings and descriptions will be shown.\n" " " msgstr "" -#: ../roundup/admin.py:626 -msgid "Admin Password: " -msgstr "Password dell'amministratore" - -#: ../roundup/admin.py:627 -msgid " Confirm: " -msgstr " Conferma: " - -#: ../roundup/admin.py:631 -msgid "Instance home does not exist" -msgstr "La home dell'istanza non esiste" - -#: ../roundup/admin.py:635 -msgid "Instance has not been installed" -msgstr "L'istanza non è stata installata" - -#: ../roundup/admin.py:641 +#: ../roundup/admin.py:1489 +#, python-format +msgid "Argument must be setting=value, was given: %s." +msgstr "" + +#: ../roundup/admin.py:1492 +msgid "Current settings and values (NYI - not yet implemented):" +msgstr "" + +#: ../roundup/admin.py:1505 +#, fuzzy, python-format +msgid "Unknown setting %s." +msgstr "Nome Utente sconosciuto" + +#: ../roundup/admin.py:1514 +#, python-format +msgid "Incorrect value for boolean setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1521 +#, python-format +msgid "Incorrect value for integer setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1527 +#, python-format +msgid "Internal error: pragma can not handle values of type: %s" +msgstr "" + +#: ../roundup/admin.py:1537 msgid "" -"WARNING: The database is already initialised!\n" -"If you re-initialise it, you will lose all the data!\n" -"Erase it? Y/N: " -msgstr "" - -#: ../roundup/admin.py:661 +"Usage: reindex [classname|classname:#-#|designator]*\n" +" Re-generate a tracker's search indexes.\n" +"\n" +" This will re-generate the search indexes for a tracker.\n" +" This will typically happen automatically.\n" +"\n" +" You can incrementally reindex using an argument like:\n" +"\n" +" reindex issue:23-1000\n" +"\n" +" to reindex issue class items 23-1000. Missing items\n" +" are reported but do not stop indexing of the range.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1560 +#, python-format +msgid "no such item \"%(designator)s\"" +msgstr "" + +# ../roundup/admin.py:1052 ../roundup/admin.py:85:981 :1030:1052 +#: ../roundup/admin.py:1570 +#, fuzzy, python-format +msgid "no such item \"%(class)s%(id)s\"" +msgstr "classe \"%(classname)s\" mancante" + +#: ../roundup/admin.py:1582 msgid "" -"Usage: get property designator[,designator]*\n" -" Get the given property of one or more designator(s).\n" +"Usage: restore designator[,designator]*\n" +" Restore the retired node specified by designator.\n" "\n" " A designator is a classname and a nodeid concatenated,\n" " eg. bug1, user10, ...\n" "\n" -" Retrieves the property value of the nodes specified\n" -" by the designators.\n" +" The given nodes will become available for users again.\n" +" " +msgstr "" + +# ../roundup/admin.py:1052 ../roundup/admin.py:85:981 :1030:1052 +#: ../roundup/admin.py:1607 +#, fuzzy +msgid "no such %(classname)s node \" % (nodeid)s\"" +msgstr "classe \"%(classname)s\" mancante" + +#: ../roundup/admin.py:1613 +msgid "" +"Usage: retire designator[,designator]*\n" +" Retire the node specified by designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This action indicates that a particular node is not to be retrieved\n" +" by the list or find commands, and its key value may be re-used.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1641 +msgid "" +"Usage: rollback\n" +" Undo all changes that are pending commit to the database.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" manually. This command undoes all those changes, so a commit\n" +" immediately after would make no changes to the database.\n" " " msgstr "" -# ../roundup/admin.py:560 ../roundup/admin.py:575 ../roundup/admin.py:560:575 -#: ../roundup/admin.py:705 ../roundup/admin.py:723 ../roundup/admin.py:705:723 +#: ../roundup/admin.py:1654 +msgid "" +"Usage: security [Role name]\n" +"\n" +" Display the Permissions available to one or all Roles.\n" +" Also validates that any properties defined in a\n" +" permission are valid.\n" +"\n" +" Run this after changing your permissions to catch\n" +" typos.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1668 +#, fuzzy, python-format +msgid "No such Role \"%(role)s\"\n" +msgstr "Non è presente il ruolo \"%(role)s\"" + +#: ../roundup/admin.py:1674 +#, fuzzy, python-format +msgid "New Web users get the Roles \"%(role)s\"\n" +msgstr "I nuovi utenti Web otterranno i ruoli \"%(role)s\"" + +#: ../roundup/admin.py:1677 +#, fuzzy, python-format +msgid "New Web users get the Role \"%(role)s\"\n" +msgstr "I nuovi utenti Web otterranno il ruolo \"%(role)s)\"" + +#: ../roundup/admin.py:1681 +#, fuzzy, python-format +msgid "New Email users get the Roles \"%(role)s\"\n" +msgstr "I nuovi utenti Email otterranno i ruoli \"%(role)s)\"" + +#: ../roundup/admin.py:1683 +#, fuzzy, python-format +msgid "New Email users get the Role \"%(role)s\"\n" +msgstr "I nuovi utenti Email otterranno il ruolo \"%(role)s\"" + +#: ../roundup/admin.py:1686 +#, fuzzy, python-format +msgid "Role \"%(name)s\":\n" +msgstr "Ruolo \"%(name)s\":" + +#: ../roundup/admin.py:1692 +msgid " %(description)s (%(name)s for \"%(klass)s\"" +msgstr "" + +#: ../roundup/admin.py:1692 #, python-format -msgid "property %s is not of type Multilink or Link so -d flag does not apply." -msgstr "" - -# ../roundup/admin.py:1054 ../roundup/admin.py:583:983 :1032:1054 -#: ../roundup/admin.py:733 ../roundup/admin.py:1297 ../roundup/admin.py:1352 -#: ../roundup/admin.py:733:1297:1352 +msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" +msgstr "" + +#: ../roundup/admin.py:1705 #, python-format -msgid "no such %(classname)s node \"%(nodeid)s\"" -msgstr "" - -#: ../roundup/admin.py:736 +msgid "" +"\n" +" **Invalid properties for %(class)s: %(props)s\n" +"\n" +msgstr "" + +#: ../roundup/admin.py:1711 #, python-format -msgid "no such %(classname)s property \"%(propname)s\"" -msgstr "" - -#: ../roundup/admin.py:744 +msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" +msgstr "" + +#: ../roundup/admin.py:1714 +#, python-format +msgid " %(description)s (%(name)s)\n" +msgstr "" + +#: ../roundup/admin.py:1718 msgid "" -"Usage: set items property=value property=value ...\n" +"Usage: set items property=value [property=value ...]\n" " Set the given properties of one or more items(s).\n" "\n" " The items are specified as a class or as a comma-separated\n" @@ -408,45 +917,7 @@ " " msgstr "" -#: ../roundup/admin.py:812 -msgid "" -"Usage: filter classname propname=value ...\n" -" Find the nodes of the given class with a given property value.\n" -"\n" -" Find the nodes of the given class with a given property value.\n" -" Multiple values can be specified by separating them with commas.\n" -" If property is a string, all values must match. I.E. it's an\n" -" 'and' operation. If the property is a link/multilink any value\n" -" matches. I.E. an 'or' operation.\n" -" " -msgstr "" - -# ../roundup/admin.py:920 ../roundup/admin.py:701:854 :866:920 -#: ../roundup/admin.py:855 -#, fuzzy, python-format -msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." -msgstr "la classe %(classname)s non ha la proprietà \"%(propname)s\"" - -# ../roundup/admin.py:920 ../roundup/admin.py:701:854 :866:920 -#: ../roundup/admin.py:893 ../roundup/admin.py:954 ../roundup/admin.py:1118 -#: ../roundup/admin.py:1130 ../roundup/admin.py:1213 -#: ../roundup/admin.py:893:954 :1118:1130:1213 -#, python-format -msgid "%(classname)s has no property \"%(propname)s\"" -msgstr "la classe %(classname)s non ha la proprietà \"%(propname)s\"" - -#: ../roundup/admin.py:900 -msgid "" -"Usage: find classname propname=value ...\n" -" Find the nodes of the given class with a given link property value.\n" -"\n" -" Find the nodes of the given class with a given link property value.\n" -" The value may be either the nodeid of the linked node, or its key\n" -" value.\n" -" " -msgstr "" - -#: ../roundup/admin.py:961 +#: ../roundup/admin.py:1786 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -455,107 +926,17 @@ " " msgstr "" -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1802 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s %(value)s (chiave)" -#: ../roundup/admin.py:980 +#: ../roundup/admin.py:1805 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s:·%(value)s" -#: ../roundup/admin.py:983 -msgid "" -"Usage: display designator[,designator]*\n" -"\n" -" Show the property values for the given node(s).\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This lists the properties and their associated values\n" -" for the given node.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1010 -#, python-format -msgid "%(key)s: %(value)s" -msgstr "%(key)s:·%(value)s" - -#: ../roundup/admin.py:1013 -msgid "" -"Usage: create classname property=value ...\n" -" Create a new entry of a given class.\n" -"\n" -" This creates a new entry of the given class using the property\n" -" name=value arguments provided on the command line after the \"create" -"\"\n" -" command.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1041 -#, python-format -msgid "%(propname)s (Password): " -msgstr "%(propname)s·(Password):·" - -#: ../roundup/admin.py:1044 -#, python-format -msgid " %(propname)s (Again): " -msgstr " %(propname)s (Ripeti password): " - -#: ../roundup/admin.py:1048 -msgid "Sorry, try again..." -msgstr "Mi dispiace, riprova..." - -#: ../roundup/admin.py:1052 -#, python-format -msgid "%(propname)s (%(proptype)s): " -msgstr "%(propname)s (%(proptype)s): " - -#: ../roundup/admin.py:1071 -#, python-format -msgid "you must provide the \"%(propname)s\" property." -msgstr "deve essere fornita la proprietà \"%(propname)s\"." - -#: ../roundup/admin.py:1083 -msgid "" -"Usage: list classname [property]\n" -" List the instances of a class.\n" -"\n" -" Lists all instances of the given class. If the property is not\n" -" specified, the \"label\" property is used. The label property is\n" -" tried in order: the key, \"name\", \"title\" and then the first\n" -" property, alphabetically.\n" -"\n" -" With -c, -S or -s print a list of item id's if no property\n" -" specified. If property specified, print list of that property\n" -" for every class instance.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1096 -msgid "Too many arguments supplied" -msgstr "" - -#: ../roundup/admin.py:1132 -#, python-format -msgid "%(nodeid)4s: %(value)s" -msgstr "" - -#: ../roundup/admin.py:1136 -msgid "" -"Usage: templates [trace_search]\n" -" List templates and their installed directories.\n" -"\n" -" With trace_search also list all directories that are\n" -" searched for templates.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1164 +#: ../roundup/admin.py:1808 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -587,371 +968,79 @@ " " msgstr "" -#: ../roundup/admin.py:1208 +#: ../roundup/admin.py:1852 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1874 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1266 -msgid "" -"Usage: history designator [skipquiet]\n" -" Show the history entries of a designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" Lists the journal entries viewable by the user for the\n" -" node identified by the designator. If skipquiet is the\n" -" second argument, journal entries for quiet properties\n" -" are not shown.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1302 -msgid "" -"Usage: commit\n" -" Commit changes made to the database during an interactive session.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" using this command.\n" -"\n" -" One-off commands on the command-line are automatically committed if\n" -" they are successful.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1317 -msgid "" -"Usage: rollback\n" -" Undo all changes that are pending commit to the database.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" manually. This command undoes all those changes, so a commit\n" -" immediately after would make no changes to the database.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1330 -msgid "" -"Usage: retire designator[,designator]*\n" -" Retire the node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This action indicates that a particular node is not to be retrieved\n" -" by the list or find commands, and its key value may be re-used.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1358 -msgid "" -"Usage: restore designator[,designator]*\n" -" Restore the retired node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" The given nodes will become available for users again.\n" -" " -msgstr "" - -# ../roundup/admin.py:1052 ../roundup/admin.py:85:981 :1030:1052 -#: ../roundup/admin.py:1383 -#, fuzzy -msgid "no such %(classname)s node \" % (nodeid)s\"" -msgstr "classe \"%(classname)s\" mancante" - -#. grab the directory to export to -#: ../roundup/admin.py:1389 +#: ../roundup/admin.py:1910 msgid "" -"Usage: export [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files.\n" -" To exclude the files (e.g. for the msg or file class),\n" -" use the exporttables command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1496 -msgid "" -"Usage: exporttables [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files, excluding the\n" -" files below $TRACKER_HOME/db/files/ (which can be archived " -"separately).\n" -" To include the files, use the export command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1511 -msgid "" -"Usage: import import_dir\n" -" Import a database from the directory containing CSV files,\n" -" two per class to import.\n" -"\n" -" The files used in the import are:\n" +"Usage: templates [trace_search]\n" +" List templates and their installed directories.\n" "\n" -" <class>.csv\n" -" This must define the same properties as the class (including\n" -" having a \"header\" line with those property names.)\n" -" <class>-journals.csv\n" -" This defines the journals for the items being imported.\n" -"\n" -" The imported nodes will have the same nodeid as defined in the\n" -" import file, thus replacing any existing content.\n" -"\n" -" The new nodes are added to the existing database - if you want to\n" -" create a new database using the imported data, then create a new\n" -" database (or, tediously, retire all the old data.)\n" -" " -msgstr "" - -#: ../roundup/admin.py:1590 -msgid "" -"Usage: importtables export_dir\n" -"\n" -" This imports the database tables exported using exporttables.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1597 -msgid "" -"Usage: pack period | date\n" -"\n" -" Remove journal entries older than a period of time specified or\n" -" before a certain date.\n" -"\n" -" A period is specified using the suffixes \"y\", \"m\", and \"d\". " -"The\n" -" suffix \"w\" (for \"week\") means 7 days.\n" -"\n" -" \"3y\" means three years\n" -" \"2y 1m\" means two years and one month\n" -" \"1m 25d\" means one month and 25 days\n" -" \"2w 3d\" means two weeks and three days\n" -"\n" -" Date format is \"YYYY-MM-DD\" eg:\n" -" 2001-01-01\n" -"\n" +" With trace_search also list all directories that are\n" +" searched for templates.\n" " " msgstr "" -#: ../roundup/admin.py:1625 -msgid "Invalid format" -msgstr "" - -#: ../roundup/admin.py:1638 +#: ../roundup/admin.py:1938 msgid "" -"Usage: reindex [classname|designator]*\n" -" Re-generate a tracker's search indexes.\n" -"\n" -" This will re-generate the search indexes for a tracker.\n" -" This will typically happen automatically.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1652 -#, python-format -msgid "no such item \"%(designator)s\"" -msgstr "" - -#: ../roundup/admin.py:1662 -msgid "" -"Usage: security [Role name]\n" -"\n" -" Display the Permissions available to one or all Roles.\n" +"Usage: updateconfig <filename>\n" +" Generate an updated tracker config file (ini style) in\n" +" <filename>. Use current settings from existing roundup\n" +" tracker in tracker home.\n" " " msgstr "" -#: ../roundup/admin.py:1671 -#, fuzzy, python-format -msgid "No such Role \"%(role)s\"\n" -msgstr "Non è presente il ruolo \"%(role)s\"" - -#: ../roundup/admin.py:1677 -#, fuzzy, python-format -msgid "New Web users get the Roles \"%(role)s\"\n" -msgstr "I nuovi utenti Web otterranno i ruoli \"%(role)s\"" - -#: ../roundup/admin.py:1680 -#, fuzzy, python-format -msgid "New Web users get the Role \"%(role)s\"\n" -msgstr "I nuovi utenti Web otterranno il ruolo \"%(role)s)\"" - -#: ../roundup/admin.py:1684 -#, fuzzy, python-format -msgid "New Email users get the Roles \"%(role)s\"\n" -msgstr "I nuovi utenti Email otterranno i ruoli \"%(role)s)\"" - -#: ../roundup/admin.py:1686 -#, fuzzy, python-format -msgid "New Email users get the Role \"%(role)s\"\n" -msgstr "I nuovi utenti Email otterranno il ruolo \"%(role)s\"" - -#: ../roundup/admin.py:1689 -#, fuzzy, python-format -msgid "Role \"%(name)s\":\n" -msgstr "Ruolo \"%(name)s\":" - -#: ../roundup/admin.py:1695 -msgid " %(description)s (%(name)s for \"%(klass)s\"" -msgstr "" - -#: ../roundup/admin.py:1695 -#, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" -msgstr "" - -#: ../roundup/admin.py:1708 -#, python-format -msgid "" -"\n" -" **Invalid properties for %(class)s: %(props)s\n" -"\n" -msgstr "" - -#: ../roundup/admin.py:1714 +# ../roundup/cgi/actions.py:597:608 :779:798 +#: ../roundup/admin.py:1946 ../roundup/cgi/actions.py:886 +#: ../roundup/cgi/actions.py:897 ../roundup/cgi/actions.py:1099 +#: ../roundup/cgi/actions.py:1113 ../roundup/cgi/actions.py:886:897 :1099:1113 #, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" -msgstr "" - -#: ../roundup/admin.py:1717 -#, python-format -msgid " %(description)s (%(name)s)\n" -msgstr "" - -#: ../roundup/admin.py:1721 -msgid "" -"Usage: migrate\n" -"\n" -" Update a tracker's database to be compatible with the Roundup\n" -" codebase.\n" -"\n" -" You should run the \"migrate\" command for your tracker once\n" -" you've installed the latest codebase.\n" -"\n" -" Do this before you use the web, command-line or mail interface\n" -" and before any users access the tracker.\n" -"\n" -" This command will respond with either \"Tracker updated\" (if\n" -" you've not previously run it on an RDBMS backend) or \"No\n" -" migration action required\" (if you have run it, or have used\n" -" another interface to the tracker, or possibly because you are\n" -" using anydbm).\n" -"\n" -" It's safe to run this even if it's not required, so just get\n" -" into the habit.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1742 -#, python-format -msgid "Tracker updated to schema version %s." -msgstr "" - -#: ../roundup/admin.py:1746 -#, python-format -msgid "No migration action required. At schema version %s." -msgstr "" - -#: ../roundup/admin.py:1751 -msgid "" -"Usage: perftest [mode] [arguments]*\n" -"\n" -" Time operations in Roundup. Supported arguments:\n" -"\n" -" [password] [rounds=<integer>] [scheme=<scheme>]\n" -"\n" -" 'password' is the default mode. The tracker's config.ini\n" -" setting for 'password_pbkdf2_default_rounds' is the default\n" -" value for 'rounds'. On the command line, 'rounds' can include\n" -" thousands separator of ',' or '.'. 'scheme' is the default\n" -" coded into Roundup. List supported schemes by using 'scheme='.\n" -"\n" -" " -msgstr "" - -#: ../roundup/admin.py:1785 -msgid "Invalid 'rounds'. Must be larger than 999." -msgstr "" - -#: ../roundup/admin.py:1789 -#, python-format -msgid "Invalid 'rounds'. It must be an integer not: %s" -msgstr "" - -#: ../roundup/admin.py:1816 -msgid "scheme does not support rounds." -msgstr "" - -#: ../roundup/admin.py:1819 -#, python-format -msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" -msgstr "" - -#: ../roundup/admin.py:1847 +msgid "Error: %s" +msgstr "Errore: %s" + +#: ../roundup/admin.py:1974 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "" -#: ../roundup/admin.py:1853 +#: ../roundup/admin.py:1980 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "" -#: ../roundup/admin.py:1862 +#: ../roundup/admin.py:1996 msgid "Enter tracker home: " msgstr "" -# ../roundup/admin.py:1371:1377 :1397 -#: ../roundup/admin.py:1871 ../roundup/admin.py:1877 ../roundup/admin.py:1914 -#: ../roundup/admin.py:1871:1877:1914 -#, python-format -msgid "Error: %(message)s" -msgstr "" - -#: ../roundup/admin.py:1887 ../roundup/admin.py:1891 -#: ../roundup/admin.py:1887:1891 +#: ../roundup/admin.py:2023 ../roundup/admin.py:2027 +#: ../roundup/admin.py:2023:2027 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "" -#: ../roundup/admin.py:1927 +#: ../roundup/admin.py:2060 #, python-format msgid "" "Roundup %s ready for input.\n" "Type \"help\" for help." msgstr "" -#: ../roundup/admin.py:1932 +#: ../roundup/admin.py:2065 msgid "Note: command history and editing not available" msgstr "" -#: ../roundup/admin.py:1938 +#: ../roundup/admin.py:2071 msgid "exit..." msgstr "" -#: ../roundup/admin.py:1951 +#: ../roundup/admin.py:2084 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "" @@ -985,7 +1074,7 @@ #: ../roundup/backends/back_anydbm.py:1422 #: ../roundup/backends/back_anydbm.py:1440 #: ../roundup/backends/back_anydbm.py:1487 -#: ../roundup/backends/back_anydbm.py:2117 +#: ../roundup/backends/back_anydbm.py:2113 #: ../roundup/backends/back_anydbm.py:871:884 #: ../roundup/backends/rdbms_common.py:1708 #: ../roundup/backends/rdbms_common.py:1955 @@ -994,7 +1083,7 @@ #: ../roundup/backends/rdbms_common.py:2267 #: ../roundup/backends/rdbms_common.py:3219 #: ../roundup/backends/rdbms_common.py:1708:1955 :1158:1193 :1422:1440:1487 -#: :2117 :2194:2214 :2267:3219 +#: :2113 :2194:2214 :2267:3219 msgid "Database open read-only" msgstr "" @@ -1244,14 +1333,6 @@ msgid "Edit Error: %s" msgstr "Errore di modifica: %s" -# ../roundup/cgi/actions.py:597:608 :779:798 -#: ../roundup/cgi/actions.py:886 ../roundup/cgi/actions.py:897 -#: ../roundup/cgi/actions.py:1099 ../roundup/cgi/actions.py:1113 -#: ../roundup/cgi/actions.py:886:897 :1099:1113 -#, python-format -msgid "Error: %s" -msgstr "Errore: %s" - #: ../roundup/cgi/actions.py:931 msgid "" "Invalid One Time Key!\n" @@ -1509,8 +1590,8 @@ "La notifica del problema è stata notificata al manutentore del tracker.</p>\n" "</body></html>" -#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 -#: ../roundup/cgi/client.py:670:1570 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:670:1567 msgid "Required Header Missing" msgstr "" @@ -1520,148 +1601,148 @@ msgstr "" "Gli utenti anonimi non hanno il permesso di utilizzare l'interfaccia web" -#: ../roundup/cgi/client.py:921 +#: ../roundup/cgi/client.py:918 msgid "Form Error: " msgstr "Errore nella Form: " -#: ../roundup/cgi/client.py:1011 +#: ../roundup/cgi/client.py:1008 #, python-format msgid "Unrecognized charset: %r" msgstr "Codice di carattere sconosciuto: %r" -#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 -#: ../roundup/cgi/client.py:1264:2250 +#: ../roundup/cgi/client.py:1261 ../roundup/cgi/client.py:2247 +#: ../roundup/cgi/client.py:1261:2247 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1279 +#: ../roundup/cgi/client.py:1276 msgid "Anonymous users are not allowed to use the web interface" msgstr "" "Gli utenti anonimi non hanno il permesso di utilizzare l'interfaccia web" -#: ../roundup/cgi/client.py:1430 +#: ../roundup/cgi/client.py:1427 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1434 +#: ../roundup/cgi/client.py:1431 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1463 +#: ../roundup/cgi/client.py:1460 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1467 +#: ../roundup/cgi/client.py:1464 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1475 +#: ../roundup/cgi/client.py:1472 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" # ../roundup/cgi/actions.py:931:935 -#: ../roundup/cgi/client.py:1480 +#: ../roundup/cgi/client.py:1477 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "Login invalida" -#: ../roundup/cgi/client.py:1495 +#: ../roundup/cgi/client.py:1492 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" # ../roundup/cgi/actions.py:931:935 -#: ../roundup/cgi/client.py:1500 +#: ../roundup/cgi/client.py:1497 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "Login invalida" -#: ../roundup/cgi/client.py:1514 +#: ../roundup/cgi/client.py:1511 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1520 +#: ../roundup/cgi/client.py:1517 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1539 +#: ../roundup/cgi/client.py:1536 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1544 +#: ../roundup/cgi/client.py:1541 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1552 +#: ../roundup/cgi/client.py:1549 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1553 +#: ../roundup/cgi/client.py:1550 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:1564 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1608 +#: ../roundup/cgi/client.py:1605 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 -#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 +#: ../roundup/cgi/client.py:1607 ../roundup/cgi/client.py:1634 +#: ../roundup/cgi/client.py:1651 ../roundup/cgi/client.py:1607:1634:1651 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1614 +#: ../roundup/cgi/client.py:1611 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1626 +#: ../roundup/cgi/client.py:1623 #, python-format msgid "" "Csrf mismatch user: current user %(user)s != stored user %(stored)s, current " "session, stored session: %(cur_sess)s,%(stor_sess)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1644 +#: ../roundup/cgi/client.py:1641 #, python-format msgid "" "Csrf mismatch user: current session %(curr_sess)s != stored session " "%(stor_sess)s, current user/stored user is: %(user)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1838 +#: ../roundup/cgi/client.py:1835 msgid "You are not allowed to view this file." msgstr "Non si dispone dei permessi per visualizzare questo file." -#: ../roundup/cgi/client.py:2127 +#: ../roundup/cgi/client.py:2124 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "%(starttag)sTempo trascorso: %(seconds)fs%(endtag)s\n" -#: ../roundup/cgi/client.py:2131 +#: ../roundup/cgi/client.py:2128 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " "items: %(get_items)f secs. Filtering: %(filtering)f secs.%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2669 +#: ../roundup/cgi/client.py:2666 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -1868,16 +1949,16 @@ msgid "<option %svalue=\"-1\">- no selection -</option>" msgstr "<option %svalue=\"-1\">- nessuna selezione -</option>" -#: ../roundup/cgi/timestamp.py:19 +#: ../roundup/cgi/timestamp.py:23 msgid "Form is corrupted." msgstr "" -#: ../roundup/cgi/timestamp.py:28 +#: ../roundup/cgi/timestamp.py:32 #, python-format msgid "Form is corrupted, missing: %s." msgstr "" -#: ../roundup/cgi/timestamp.py:30 +#: ../roundup/cgi/timestamp.py:34 msgid "Responding to form too quickly." msgstr "" @@ -2034,57 +2115,57 @@ msgid "in %s" msgstr "in %s" -#: ../roundup/hyperdb.py:119 +#: ../roundup/hyperdb.py:120 #, fuzzy, python-format msgid "property %(property)s: %(errormsg)s" msgstr "Errore: %s: %s" -#: ../roundup/hyperdb.py:148 +#: ../roundup/hyperdb.py:149 #, python-format msgid "property %(property)s: %(value)r is an invalid date (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:171 +#: ../roundup/hyperdb.py:172 #, python-format msgid "" "property %(property)s: %(value)r is an invalid date interval (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:428 +#: ../roundup/hyperdb.py:429 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a number" msgstr "" "la proprietà \"%(propname)s\": \"%(value)s\" non è al momento nella lista" -#: ../roundup/hyperdb.py:442 +#: ../roundup/hyperdb.py:443 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not an integer" msgstr "" "la proprietà \"%(propname)s\": \"%(value)s\" non è al momento nella lista" -#: ../roundup/hyperdb.py:464 +#: ../roundup/hyperdb.py:465 #, python-format msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 -#: ../roundup/hyperdb.py:1493:1501 +#: ../roundup/hyperdb.py:1494 ../roundup/hyperdb.py:1502 +#: ../roundup/hyperdb.py:1494:1502 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1978 +#: ../roundup/hyperdb.py:1979 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "" "la proprietà \"%(propname)s\": \"%(value)s\" non è al momento nella lista" -#: ../roundup/hyperdb.py:1984 +#: ../roundup/hyperdb.py:1985 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2019 +#: ../roundup/hyperdb.py:2020 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" @@ -2401,96 +2482,96 @@ msgstr "" # ../roundup/cgi/actions.py:931:935 -#: ../roundup/rest.py:1097 +#: ../roundup/rest.py:1101 #, fuzzy, python-format msgid "Invalid attribute %s" msgstr "Login invalida" -#: ../roundup/rest.py:2090 +#: ../roundup/rest.py:2094 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2125 +#: ../roundup/rest.py:2129 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2305 +#: ../roundup/rest.py:2309 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " "supported versions." msgstr "" -#: ../roundup/roundupdb.py:139 +#: ../roundup/roundupdb.py:140 #, python-format msgid "Username '%s' already exists." msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "files" msgstr "file" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "messages" msgstr "messaggi" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "nosy" msgstr "ficcanaso" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "superseder" msgstr "soprassiede" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "title" msgstr "titolo" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "assignedto" msgstr "assegnato a" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 #, fuzzy msgid "keyword" msgstr "Parola chiave" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "priority" msgstr "priorità" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "status" msgstr "stato" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "activity" msgstr "attività" #. following properties are common for all hyperdb classes #. they are listed here to keep things in one place -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "actor" msgstr "attore" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creation" msgstr "creazione" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creator" msgstr "creatore" -#: ../roundup/roundupdb.py:425 +#: ../roundup/roundupdb.py:426 #, python-format msgid "No key for \"%(adr)s\" in keyring" msgstr "" -#: ../roundup/roundupdb.py:503 +#: ../roundup/roundupdb.py:504 #, python-format msgid "New submission from %(authname)s%(authaddr)s:" msgstr "" @@ -2498,7 +2579,7 @@ "%(authname)s%(authaddr)s.\n" "Il testo della nuova richiesta è il seguente:" -#: ../roundup/roundupdb.py:506 +#: ../roundup/roundupdb.py:507 #, python-format msgid "%(authname)s%(authaddr)s added the comment:" msgstr "" @@ -2506,7 +2587,7 @@ "%(authname)s%(authaddr)s.\n" "Il testo del messaggio è il seguente:" -#: ../roundup/roundupdb.py:509 +#: ../roundup/roundupdb.py:510 #, fuzzy, python-format msgid "Change by %(authname)s%(authaddr)s:" msgstr "" @@ -2514,12 +2595,12 @@ "%(authname)s%(authaddr)s.\n" "Il testo della nuova richiesta è il seguente:" -#: ../roundup/roundupdb.py:528 +#: ../roundup/roundupdb.py:529 #, python-format msgid "File '%(filename)s' not attached - you can download it from %(link)s." msgstr "" -#: ../roundup/roundupdb.py:903 +#: ../roundup/roundupdb.py:904 #, python-format msgid "" "\n" @@ -2529,12 +2610,12 @@ "%(old)s" msgstr "" -#: ../roundup/scripts/roundup_demo.py:49 +#: ../roundup/scripts/roundup_demo.py:156 #, python-format msgid "Enter directory path to create demo tracker [%s]: " msgstr "" -#: ../roundup/scripts/roundup_demo.py:54 +#: ../roundup/scripts/roundup_demo.py:162 #, python-format msgid "" "Enter tracker template to use (one of (%(template_list)s)) " @@ -2628,25 +2709,25 @@ msgid "User %(user)s doesn't exist" msgstr "L'utente %(user)s non esiste" -#: ../roundup/scripts/roundup_server.py:805 +#: ../roundup/scripts/roundup_server.py:809 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "" "La modalità multiprocesso \"%s\" non è disponibile, viene utilizzata quella " "a singolo processo" -#: ../roundup/scripts/roundup_server.py:832 +#: ../roundup/scripts/roundup_server.py:837 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "Impossibile bindare alla porta %s, la porta risulta già in uso." -#: ../roundup/scripts/roundup_server.py:836 +#: ../roundup/scripts/roundup_server.py:841 #, fuzzy, python-format msgid "" "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s" msgstr "Impossibile bindare alla porta %s, la porta risulta già in uso." -#: ../roundup/scripts/roundup_server.py:915 +#: ../roundup/scripts/roundup_server.py:920 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -2656,7 +2737,7 @@ " specifics." msgstr "" -#: ../roundup/scripts/roundup_server.py:922 +#: ../roundup/scripts/roundup_server.py:927 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2665,7 +2746,7 @@ " specified if -d is used." msgstr "" -#: ../roundup/scripts/roundup_server.py:929 +#: ../roundup/scripts/roundup_server.py:934 #, python-format msgid "" "\n" @@ -2686,6 +2767,8 @@ " -N log client machine names instead of IP addresses (much " "slower)\n" " -i <fname> set tracker index template\n" +" -m <children> maximum number of children to spawn in fork multiprocess " +"mode\n" " -s enable SSL\n" " -L http request logging uses python logging (roundup.http)\n" " -e <fname> PEM file containing SSL key and certificate\n" @@ -2732,22 +2815,22 @@ " any url-unsafe characters like spaces, as these confuse IE.\n" msgstr "" -#: ../roundup/scripts/roundup_server.py:1105 +#: ../roundup/scripts/roundup_server.py:1111 msgid "Instances must be name=home" msgstr "L'istanza deve essere nel formato nome=home" -#: ../roundup/scripts/roundup_server.py:1119 +#: ../roundup/scripts/roundup_server.py:1125 #, python-format msgid "Configuration saved to %s" msgstr "Configurazione salvata in %s" -#: ../roundup/scripts/roundup_server.py:1137 +#: ../roundup/scripts/roundup_server.py:1143 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "" "Spiacente, non è possibile utilizzare il server come demone su questo " "sistema operativo." -#: ../roundup/scripts/roundup_server.py:1157 +#: ../roundup/scripts/roundup_server.py:1163 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "Il server Roundup è stato attivato su %(HOST)s:%(PORT)s"
--- a/locale/ja.po Wed May 24 15:05:09 2023 -0400 +++ b/locale/ja.po Wed May 24 20:35:53 2023 -0400 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Roundup 2.3.0\n" "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-03-03 17:28-0500\n" +"POT-Creation-Date: 2023-05-24 20:34-0400\n" "PO-Revision-Date: 2013-10-31 12:20+0100\n" "Last-Translator: Yasushi Iwata <iwata@know-net.co.jp>\n" "Language-Team: Yasushi Iwata <iwata@know-net.co.jp>\n" @@ -27,25 +27,45 @@ msgid "You may not retire the admin or anonymous user" msgstr "ユーザー admin と anonymous を無効にすることはできません" -#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 -#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 +#: ../roundup/admin.py:117 +msgid "Have 'display designator' show protected fields: creator. NYI" +msgstr "" + +#: ../roundup/admin.py:120 +msgid "Set indexer to use when running 'reindex' NYI" +msgstr "" + +#: ../roundup/admin.py:123 +msgid "Force reopening of tracker when running each command." +msgstr "" + +#: ../roundup/admin.py:125 +msgid "Show retired items in table, list etc. NYI" +msgstr "" + +#: ../roundup/admin.py:126 +msgid "Enable verbose output: tracing, descriptions..." +msgstr "" + +#: ../roundup/admin.py:138 ../roundup/admin.py:993 ../roundup/admin.py:1601 +#: ../roundup/admin.py:1633 ../roundup/admin.py:138:993 :1601:1633 #, python-format msgid "no such class \"%(classname)s\"" msgstr "" -#: ../roundup/admin.py:124 +#: ../roundup/admin.py:150 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "" -#: ../roundup/admin.py:137 +#: ../roundup/admin.py:163 #, python-format msgid "" "Problem: %(message)s\n" "\n" msgstr "" -#: ../roundup/admin.py:138 +#: ../roundup/admin.py:164 #, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -73,17 +93,17 @@ " roundup-admin help all -- all available help\n" msgstr "" -#: ../roundup/admin.py:165 +#: ../roundup/admin.py:191 msgid "Commands: " msgstr "" -#: ../roundup/admin.py:172 +#: ../roundup/admin.py:198 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." msgstr "" -#: ../roundup/admin.py:201 +#: ../roundup/admin.py:227 msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -150,12 +170,224 @@ "Command help:\n" msgstr "" -#: ../roundup/admin.py:264 +#: ../roundup/admin.py:290 #, python-format msgid "%s:" msgstr "" -#: ../roundup/admin.py:271 +#: ../roundup/admin.py:395 ../roundup/admin.py:1185 +#: ../roundup/admin.py:395:1185 +msgid "Templates:" +msgstr "" + +#: ../roundup/admin.py:398 ../roundup/admin.py:1195 +#: ../roundup/admin.py:398:1195 +msgid "Back ends:" +msgstr "" + +#: ../roundup/admin.py:415 +msgid "" +"Usage: commit\n" +" Commit changes made to the database during an interactive session.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" using this command.\n" +"\n" +" One-off commands on the command-line are automatically committed if\n" +" they are successful.\n" +" " +msgstr "" + +#: ../roundup/admin.py:430 +msgid "" +"Usage: create classname property=value ...\n" +" Create a new entry of a given class.\n" +"\n" +" This creates a new entry of the given class using the property\n" +" name=value arguments provided on the command line after the \"create" +"\"\n" +" command.\n" +" " +msgstr "" + +#: ../roundup/admin.py:438 ../roundup/admin.py:512 ../roundup/admin.py:545 +#: ../roundup/admin.py:663 ../roundup/admin.py:749 ../roundup/admin.py:807 +#: ../roundup/admin.py:852 ../roundup/admin.py:977 ../roundup/admin.py:1020 +#: ../roundup/admin.py:1158 ../roundup/admin.py:1285 ../roundup/admin.py:1371 +#: ../roundup/admin.py:1482 ../roundup/admin.py:1591 ../roundup/admin.py:1623 +#: ../roundup/admin.py:1738 ../roundup/admin.py:1792 ../roundup/admin.py:1837 +#: ../roundup/admin.py:438:512 :1020:1158:1285 :1371:1482 :1591:1623 :1738:1792 +#: :1837 :545:663 :749:807 :852:977 +msgid "Not enough arguments supplied" +msgstr "" + +#: ../roundup/admin.py:458 +#, python-format +msgid "%(propname)s (Password): " +msgstr "" + +#: ../roundup/admin.py:461 +#, python-format +msgid " %(propname)s (Again): " +msgstr "" + +#: ../roundup/admin.py:465 +msgid "Sorry, try again..." +msgstr "" + +#: ../roundup/admin.py:470 +#, python-format +msgid "%(propname)s (%(proptype)s): " +msgstr "" + +#: ../roundup/admin.py:489 +#, python-format +msgid "you must provide the \"%(propname)s\" property." +msgstr "" + +#: ../roundup/admin.py:501 +msgid "" +"Usage: display designator[,designator]*\n" +"\n" +" Show the property values for the given node(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This lists the properties and their associated values\n" +" for the given node.\n" +" " +msgstr "" + +#: ../roundup/admin.py:528 +#, python-format +msgid "%(key)s: %(value)s" +msgstr "" + +#. grab the directory to export to +#: ../roundup/admin.py:531 +msgid "" +"Usage: export [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files.\n" +" To exclude the files (e.g. for the msg or file class),\n" +" use the exporttables command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" + +#: ../roundup/admin.py:638 +msgid "" +"Usage: exporttables [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files, excluding the\n" +" files below $TRACKER_HOME/db/files/ (which can be archived " +"separately).\n" +" To include the files, use the export command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" + +#: ../roundup/admin.py:653 +msgid "" +"Usage: filter classname propname=value ...\n" +" Find the nodes of the given class with a given property value.\n" +"\n" +" Find the nodes of the given class with a given property value.\n" +" Multiple values can be specified by separating them with commas.\n" +" If property is a string, all values must match. I.E. it's an\n" +" 'and' operation. If the property is a link/multilink any value\n" +" matches. I.E. an 'or' operation.\n" +" " +msgstr "" + +#: ../roundup/admin.py:696 +#, python-format +msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." +msgstr "" + +#: ../roundup/admin.py:734 ../roundup/admin.py:795 ../roundup/admin.py:1305 +#: ../roundup/admin.py:1317 ../roundup/admin.py:1857 +#: ../roundup/admin.py:734:795 :1305:1317:1857 +#, python-format +msgid "%(classname)s has no property \"%(propname)s\"" +msgstr "" + +#: ../roundup/admin.py:741 +msgid "" +"Usage: find classname propname=value ...\n" +" Find the nodes of the given class with a given link property value.\n" +"\n" +" Find the nodes of the given class with a given link property value.\n" +" The value may be either the nodeid of the linked node, or its key\n" +" value.\n" +" " +msgstr "" + +#: ../roundup/admin.py:802 +msgid "" +"Usage: genconfig <filename>\n" +" Generate a new tracker config file (ini style) with default\n" +" values in <filename>.\n" +" " +msgstr "" + +#: ../roundup/admin.py:820 +#, python-format +msgid "" +"Changing option\n" +" 'password_pbkdf2_default_rounds'\n" +"from old default of %(old_number)s to new default of %(new_number)s." +msgstr "" + +#: ../roundup/admin.py:831 +#, python-format +msgid "" +"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" +"than %s." +msgstr "" + +#: ../roundup/admin.py:842 +msgid "" +"Usage: get property designator[,designator]*\n" +" Get the given property of one or more designator(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Retrieves the property value of the nodes specified\n" +" by the designators.\n" +" " +msgstr "" + +#: ../roundup/admin.py:886 ../roundup/admin.py:904 ../roundup/admin.py:886:904 +#, python-format +msgid "property %s is not of type Multilink or Link so -d flag does not apply." +msgstr "" + +#: ../roundup/admin.py:914 ../roundup/admin.py:995 ../roundup/admin.py:1635 +#: ../roundup/admin.py:914:995:1635 +#, python-format +msgid "no such %(classname)s node \"%(nodeid)s\"" +msgstr "" + +#: ../roundup/admin.py:917 +#, python-format +msgid "no such %(classname)s property \"%(propname)s\"" +msgstr "" + +#: ../roundup/admin.py:925 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -167,20 +399,93 @@ " " msgstr "" -#: ../roundup/admin.py:293 +#: ../roundup/admin.py:947 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "" -#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 -msgid "Templates:" -msgstr "" - -#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 -msgid "Back ends:" -msgstr "" - -#: ../roundup/admin.py:414 +#: ../roundup/admin.py:964 +msgid "" +"Usage: history designator [skipquiet]\n" +" Show the history entries of a designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Lists the journal entries viewable by the user for the\n" +" node identified by the designator. If skipquiet is the\n" +" second argument, journal entries for quiet properties\n" +" are not shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1000 +msgid "" +"Usage: import import_dir\n" +" Import a database from the directory containing CSV files,\n" +" two per class to import.\n" +"\n" +" The files used in the import are:\n" +"\n" +" <class>.csv\n" +" This must define the same properties as the class (including\n" +" having a \"header\" line with those property names.)\n" +" <class>-journals.csv\n" +" This defines the journals for the items being imported.\n" +"\n" +" The imported nodes will have the same nodeid as defined in the\n" +" import file, thus replacing any existing content.\n" +"\n" +" The new nodes are added to the existing database - if you want to\n" +" create a new database using the imported data, then create a new\n" +" database (or, tediously, retire all the old data.)\n" +" " +msgstr "" + +#: ../roundup/admin.py:1079 +msgid "" +"Usage: importtables export_dir\n" +"\n" +" This imports the database tables exported using exporttables.\n" +" " +msgstr "" + +#. password +#: ../roundup/admin.py:1086 +msgid "" +"Usage: initialise [adminpw]\n" +" Initialise a new Roundup tracker.\n" +"\n" +" The administrator details will be set at this step.\n" +"\n" +" Execute the tracker's initialisation function dbinit.init()\n" +" " +msgstr "" + +#: ../roundup/admin.py:1100 +msgid "Admin Password: " +msgstr "" + +#: ../roundup/admin.py:1101 +msgid " Confirm: " +msgstr "" + +#: ../roundup/admin.py:1105 +msgid "Instance home does not exist" +msgstr "" + +#: ../roundup/admin.py:1109 +msgid "Instance has not been installed" +msgstr "" + +#: ../roundup/admin.py:1115 +msgid "" +"WARNING: The database is already initialised!\n" +"If you re-initialise it, you will lose all the data!\n" +"Erase it? Y/N: " +msgstr "" + +#: ../roundup/admin.py:1135 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -206,23 +511,12 @@ " " msgstr "" -#: ../roundup/admin.py:437 ../roundup/admin.py:568 ../roundup/admin.py:671 -#: ../roundup/admin.py:764 ../roundup/admin.py:822 ../roundup/admin.py:908 -#: ../roundup/admin.py:967 ../roundup/admin.py:994 ../roundup/admin.py:1021 -#: ../roundup/admin.py:1098 ../roundup/admin.py:1193 ../roundup/admin.py:1279 -#: ../roundup/admin.py:1340 ../roundup/admin.py:1367 ../roundup/admin.py:1403 -#: ../roundup/admin.py:1531 ../roundup/admin.py:1615 -#: ../roundup/admin.py:437:568 :1021:1098:1193 :1279:1340 :1367:1403 :1531:1615 -#: :671:764 :822:908 :967:994 -msgid "Not enough arguments supplied" -msgstr "" - -#: ../roundup/admin.py:443 +#: ../roundup/admin.py:1164 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "" -#: ../roundup/admin.py:452 +#: ../roundup/admin.py:1173 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -230,20 +524,20 @@ "Erase it? Y/N: " msgstr "" -#: ../roundup/admin.py:465 +#: ../roundup/admin.py:1186 msgid "Select template" msgstr "" -#: ../roundup/admin.py:475 +#: ../roundup/admin.py:1196 msgid "Select backend" msgstr "" -#: ../roundup/admin.py:486 +#: ../roundup/admin.py:1207 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "" -#: ../roundup/admin.py:517 +#: ../roundup/admin.py:1238 #, python-format msgid "" "\n" @@ -252,11 +546,11 @@ " %(config_file)s" msgstr "" -#: ../roundup/admin.py:527 +#: ../roundup/admin.py:1248 msgid " ... at a minimum, you must set following options:" msgstr "" -#: ../roundup/admin.py:532 +#: ../roundup/admin.py:1253 #, python-format msgid "" "\n" @@ -273,105 +567,315 @@ "---------------------------------------------------------------------------\n" msgstr "" -#: ../roundup/admin.py:563 +#: ../roundup/admin.py:1270 msgid "" -"Usage: genconfig <filename>\n" -" Generate a new tracker config file (ini style) with default\n" -" values in <filename>.\n" +"Usage: list classname [property]\n" +" List the instances of a class.\n" +"\n" +" Lists all instances of the given class. If the property is not\n" +" specified, the \"label\" property is used. The label property is\n" +" tried in order: the key, \"name\", \"title\" and then the first\n" +" property, alphabetically.\n" +"\n" +" With -c, -S or -s print a list of item id's if no property\n" +" specified. If property specified, print list of that property\n" +" for every class instance.\n" " " msgstr "" -#: ../roundup/admin.py:581 -#, python-format +#: ../roundup/admin.py:1283 +msgid "Too many arguments supplied" +msgstr "" + +#: ../roundup/admin.py:1319 +#, python-format +msgid "%(nodeid)4s: %(value)s" +msgstr "" + +#: ../roundup/admin.py:1323 msgid "" -"Changing option\n" -" 'password_pbkdf2_default_rounds'\n" -"from old default of %(old_number)s to new default of %(new_number)s." -msgstr "" - -#: ../roundup/admin.py:593 -#, python-format +"Usage: migrate\n" +"\n" +" Update a tracker's database to be compatible with the Roundup\n" +" codebase.\n" +"\n" +" You should run the \"migrate\" command for your tracker once\n" +" you've installed the latest codebase.\n" +"\n" +" Do this before you use the web, command-line or mail interface\n" +" and before any users access the tracker.\n" +"\n" +" This command will respond with either \"Tracker updated\" (if\n" +" you've not previously run it on an RDBMS backend) or \"No\n" +" migration action required\" (if you have run it, or have used\n" +" another interface to the tracker, or possibly because you are\n" +" using anydbm).\n" +"\n" +" It's safe to run this even if it's not required, so just get\n" +" into the habit.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1344 +#, python-format +msgid "Tracker updated to schema version %s." +msgstr "" + +#: ../roundup/admin.py:1348 +#, python-format +msgid "No migration action required. At schema version %s." +msgstr "" + +#: ../roundup/admin.py:1353 msgid "" -"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" -"than %s." -msgstr "" - -#: ../roundup/admin.py:604 -msgid "" -"Usage: updateconfig <filename>\n" -" Generate an updated tracker config file (ini style) in\n" -" <filename>. Use current settings from existing roundup\n" -" tracker in tracker home.\n" +"Usage: pack period | date\n" +"\n" +" Remove journal entries older than a period of time specified or\n" +" before a certain date.\n" +"\n" +" A period is specified using the suffixes \"y\", \"m\", and \"d\". " +"The\n" +" suffix \"w\" (for \"week\") means 7 days.\n" +"\n" +" \"3y\" means three years\n" +" \"2y 1m\" means two years and one month\n" +" \"1m 25d\" means one month and 25 days\n" +" \"2w 3d\" means two weeks and three days\n" +"\n" +" Date format is \"YYYY-MM-DD\" eg:\n" +" 2001-01-01\n" +"\n" " " msgstr "" -#. password -#: ../roundup/admin.py:612 +#: ../roundup/admin.py:1381 +msgid "Invalid format" +msgstr "" + +#: ../roundup/admin.py:1392 msgid "" -"Usage: initialise [adminpw]\n" -" Initialise a new Roundup tracker.\n" +"Usage: perftest [mode] [arguments]*\n" +"\n" +" Time operations in Roundup. Supported arguments:\n" +"\n" +" [password] [rounds=<integer>] [scheme=<scheme>]\n" +"\n" +" 'password' is the default mode. The tracker's config.ini\n" +" setting for 'password_pbkdf2_default_rounds' is the default\n" +" value for 'rounds'. On the command line, 'rounds' can include\n" +" thousands separator of ',' or '.'. 'scheme' is the default\n" +" coded into Roundup. List supported schemes by using 'scheme='.\n" "\n" -" The administrator details will be set at this step.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1425 +msgid "Invalid 'rounds'. Must be larger than 999." +msgstr "" + +#: ../roundup/admin.py:1429 +#, python-format +msgid "Invalid 'rounds'. It must be an integer not: %s" +msgstr "" + +#: ../roundup/admin.py:1456 +msgid "scheme does not support rounds." +msgstr "" + +#: ../roundup/admin.py:1459 +#, python-format +msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" +msgstr "" + +#: ../roundup/admin.py:1465 +msgid "" +"Usage: pragma setting=value | 'list'\n" +" Set internal admin settings to a value. E.G.\n" "\n" -" Execute the tracker's initialisation function dbinit.init()\n" +" pragma verbose=True\n" +" pragma verbose=yes\n" +" pragma verbose=on\n" +" pragma verbose=1\n" +"\n" +" will turn on verbose mode for roundup-admin.\n" +"\n" +" pragma list\n" +"\n" +" will show all settings and their current values. If verbose\n" +" is enabled hidden settings and descriptions will be shown.\n" " " msgstr "" -#: ../roundup/admin.py:626 -msgid "Admin Password: " -msgstr "" - -#: ../roundup/admin.py:627 -msgid " Confirm: " -msgstr "" - -#: ../roundup/admin.py:631 -msgid "Instance home does not exist" -msgstr "" - -#: ../roundup/admin.py:635 -msgid "Instance has not been installed" -msgstr "" - -#: ../roundup/admin.py:641 +#: ../roundup/admin.py:1489 +#, python-format +msgid "Argument must be setting=value, was given: %s." +msgstr "" + +#: ../roundup/admin.py:1492 +msgid "Current settings and values (NYI - not yet implemented):" +msgstr "" + +#: ../roundup/admin.py:1505 +#, fuzzy, python-format +msgid "Unknown setting %s." +msgstr "登録されていないユーザー名です" + +#: ../roundup/admin.py:1514 +#, python-format +msgid "Incorrect value for boolean setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1521 +#, python-format +msgid "Incorrect value for integer setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1527 +#, python-format +msgid "Internal error: pragma can not handle values of type: %s" +msgstr "" + +#: ../roundup/admin.py:1537 msgid "" -"WARNING: The database is already initialised!\n" -"If you re-initialise it, you will lose all the data!\n" -"Erase it? Y/N: " -msgstr "" - -#: ../roundup/admin.py:661 +"Usage: reindex [classname|classname:#-#|designator]*\n" +" Re-generate a tracker's search indexes.\n" +"\n" +" This will re-generate the search indexes for a tracker.\n" +" This will typically happen automatically.\n" +"\n" +" You can incrementally reindex using an argument like:\n" +"\n" +" reindex issue:23-1000\n" +"\n" +" to reindex issue class items 23-1000. Missing items\n" +" are reported but do not stop indexing of the range.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1560 +#, python-format +msgid "no such item \"%(designator)s\"" +msgstr "" + +#: ../roundup/admin.py:1570 +#, fuzzy, python-format +msgid "no such item \"%(class)s%(id)s\"" +msgstr "%(class)s %(id)s のコピー" + +#: ../roundup/admin.py:1582 msgid "" -"Usage: get property designator[,designator]*\n" -" Get the given property of one or more designator(s).\n" +"Usage: restore designator[,designator]*\n" +" Restore the retired node specified by designator.\n" "\n" " A designator is a classname and a nodeid concatenated,\n" " eg. bug1, user10, ...\n" "\n" -" Retrieves the property value of the nodes specified\n" -" by the designators.\n" +" The given nodes will become available for users again.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1607 +msgid "no such %(classname)s node \" % (nodeid)s\"" +msgstr "" + +#: ../roundup/admin.py:1613 +msgid "" +"Usage: retire designator[,designator]*\n" +" Retire the node specified by designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This action indicates that a particular node is not to be retrieved\n" +" by the list or find commands, and its key value may be re-used.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1641 +msgid "" +"Usage: rollback\n" +" Undo all changes that are pending commit to the database.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" manually. This command undoes all those changes, so a commit\n" +" immediately after would make no changes to the database.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1654 +msgid "" +"Usage: security [Role name]\n" +"\n" +" Display the Permissions available to one or all Roles.\n" +" Also validates that any properties defined in a\n" +" permission are valid.\n" +"\n" +" Run this after changing your permissions to catch\n" +" typos.\n" " " msgstr "" -#: ../roundup/admin.py:705 ../roundup/admin.py:723 ../roundup/admin.py:705:723 -#, python-format -msgid "property %s is not of type Multilink or Link so -d flag does not apply." -msgstr "" - -#: ../roundup/admin.py:733 ../roundup/admin.py:1297 ../roundup/admin.py:1352 -#: ../roundup/admin.py:733:1297:1352 -#, python-format -msgid "no such %(classname)s node \"%(nodeid)s\"" -msgstr "" - -#: ../roundup/admin.py:736 -#, python-format -msgid "no such %(classname)s property \"%(propname)s\"" -msgstr "" - -#: ../roundup/admin.py:744 +#: ../roundup/admin.py:1668 +#, python-format +msgid "No such Role \"%(role)s\"\n" +msgstr "" + +#: ../roundup/admin.py:1674 +#, python-format +msgid "New Web users get the Roles \"%(role)s\"\n" +msgstr "" + +#: ../roundup/admin.py:1677 +#, python-format +msgid "New Web users get the Role \"%(role)s\"\n" +msgstr "" + +#: ../roundup/admin.py:1681 +#, python-format +msgid "New Email users get the Roles \"%(role)s\"\n" +msgstr "" + +#: ../roundup/admin.py:1683 +#, python-format +msgid "New Email users get the Role \"%(role)s\"\n" +msgstr "" + +#: ../roundup/admin.py:1686 +#, python-format +msgid "Role \"%(name)s\":\n" +msgstr "" + +#: ../roundup/admin.py:1692 +msgid " %(description)s (%(name)s for \"%(klass)s\"" +msgstr "" + +#: ../roundup/admin.py:1692 +#, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" +msgstr "" + +#: ../roundup/admin.py:1705 +#, python-format msgid "" -"Usage: set items property=value property=value ...\n" +"\n" +" **Invalid properties for %(class)s: %(props)s\n" +"\n" +msgstr "" + +#: ../roundup/admin.py:1711 +#, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" +msgstr "" + +#: ../roundup/admin.py:1714 +#, python-format +msgid " %(description)s (%(name)s)\n" +msgstr "" + +#: ../roundup/admin.py:1718 +msgid "" +"Usage: set items property=value [property=value ...]\n" " Set the given properties of one or more items(s).\n" "\n" " The items are specified as a class or as a comma-separated\n" @@ -390,43 +894,7 @@ " " msgstr "" -#: ../roundup/admin.py:812 -msgid "" -"Usage: filter classname propname=value ...\n" -" Find the nodes of the given class with a given property value.\n" -"\n" -" Find the nodes of the given class with a given property value.\n" -" Multiple values can be specified by separating them with commas.\n" -" If property is a string, all values must match. I.E. it's an\n" -" 'and' operation. If the property is a link/multilink any value\n" -" matches. I.E. an 'or' operation.\n" -" " -msgstr "" - -#: ../roundup/admin.py:855 -#, python-format -msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." -msgstr "" - -#: ../roundup/admin.py:893 ../roundup/admin.py:954 ../roundup/admin.py:1118 -#: ../roundup/admin.py:1130 ../roundup/admin.py:1213 -#: ../roundup/admin.py:893:954 :1118:1130:1213 -#, python-format -msgid "%(classname)s has no property \"%(propname)s\"" -msgstr "" - -#: ../roundup/admin.py:900 -msgid "" -"Usage: find classname propname=value ...\n" -" Find the nodes of the given class with a given link property value.\n" -"\n" -" Find the nodes of the given class with a given link property value.\n" -" The value may be either the nodeid of the linked node, or its key\n" -" value.\n" -" " -msgstr "" - -#: ../roundup/admin.py:961 +#: ../roundup/admin.py:1786 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -435,107 +903,17 @@ " " msgstr "" -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1802 #, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "" -#: ../roundup/admin.py:980 +#: ../roundup/admin.py:1805 #, python-format msgid "%(key)s: %(value)s\n" msgstr "" -#: ../roundup/admin.py:983 -msgid "" -"Usage: display designator[,designator]*\n" -"\n" -" Show the property values for the given node(s).\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This lists the properties and their associated values\n" -" for the given node.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1010 -#, python-format -msgid "%(key)s: %(value)s" -msgstr "" - -#: ../roundup/admin.py:1013 -msgid "" -"Usage: create classname property=value ...\n" -" Create a new entry of a given class.\n" -"\n" -" This creates a new entry of the given class using the property\n" -" name=value arguments provided on the command line after the \"create" -"\"\n" -" command.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1041 -#, python-format -msgid "%(propname)s (Password): " -msgstr "" - -#: ../roundup/admin.py:1044 -#, python-format -msgid " %(propname)s (Again): " -msgstr "" - -#: ../roundup/admin.py:1048 -msgid "Sorry, try again..." -msgstr "" - -#: ../roundup/admin.py:1052 -#, python-format -msgid "%(propname)s (%(proptype)s): " -msgstr "" - -#: ../roundup/admin.py:1071 -#, python-format -msgid "you must provide the \"%(propname)s\" property." -msgstr "" - -#: ../roundup/admin.py:1083 -msgid "" -"Usage: list classname [property]\n" -" List the instances of a class.\n" -"\n" -" Lists all instances of the given class. If the property is not\n" -" specified, the \"label\" property is used. The label property is\n" -" tried in order: the key, \"name\", \"title\" and then the first\n" -" property, alphabetically.\n" -"\n" -" With -c, -S or -s print a list of item id's if no property\n" -" specified. If property specified, print list of that property\n" -" for every class instance.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1096 -msgid "Too many arguments supplied" -msgstr "" - -#: ../roundup/admin.py:1132 -#, python-format -msgid "%(nodeid)4s: %(value)s" -msgstr "" - -#: ../roundup/admin.py:1136 -msgid "" -"Usage: templates [trace_search]\n" -" List templates and their installed directories.\n" -"\n" -" With trace_search also list all directories that are\n" -" searched for templates.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1164 +#: ../roundup/admin.py:1808 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -567,368 +945,78 @@ " " msgstr "" -#: ../roundup/admin.py:1208 +#: ../roundup/admin.py:1852 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1874 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1266 -msgid "" -"Usage: history designator [skipquiet]\n" -" Show the history entries of a designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" Lists the journal entries viewable by the user for the\n" -" node identified by the designator. If skipquiet is the\n" -" second argument, journal entries for quiet properties\n" -" are not shown.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1302 -msgid "" -"Usage: commit\n" -" Commit changes made to the database during an interactive session.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" using this command.\n" -"\n" -" One-off commands on the command-line are automatically committed if\n" -" they are successful.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1317 -msgid "" -"Usage: rollback\n" -" Undo all changes that are pending commit to the database.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" manually. This command undoes all those changes, so a commit\n" -" immediately after would make no changes to the database.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1330 -msgid "" -"Usage: retire designator[,designator]*\n" -" Retire the node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This action indicates that a particular node is not to be retrieved\n" -" by the list or find commands, and its key value may be re-used.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1358 -msgid "" -"Usage: restore designator[,designator]*\n" -" Restore the retired node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" The given nodes will become available for users again.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1383 -msgid "no such %(classname)s node \" % (nodeid)s\"" -msgstr "" - -#. grab the directory to export to -#: ../roundup/admin.py:1389 +#: ../roundup/admin.py:1910 msgid "" -"Usage: export [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files.\n" -" To exclude the files (e.g. for the msg or file class),\n" -" use the exporttables command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1496 -msgid "" -"Usage: exporttables [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files, excluding the\n" -" files below $TRACKER_HOME/db/files/ (which can be archived " -"separately).\n" -" To include the files, use the export command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1511 -msgid "" -"Usage: import import_dir\n" -" Import a database from the directory containing CSV files,\n" -" two per class to import.\n" -"\n" -" The files used in the import are:\n" +"Usage: templates [trace_search]\n" +" List templates and their installed directories.\n" "\n" -" <class>.csv\n" -" This must define the same properties as the class (including\n" -" having a \"header\" line with those property names.)\n" -" <class>-journals.csv\n" -" This defines the journals for the items being imported.\n" -"\n" -" The imported nodes will have the same nodeid as defined in the\n" -" import file, thus replacing any existing content.\n" -"\n" -" The new nodes are added to the existing database - if you want to\n" -" create a new database using the imported data, then create a new\n" -" database (or, tediously, retire all the old data.)\n" -" " -msgstr "" - -#: ../roundup/admin.py:1590 -msgid "" -"Usage: importtables export_dir\n" -"\n" -" This imports the database tables exported using exporttables.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1597 -msgid "" -"Usage: pack period | date\n" -"\n" -" Remove journal entries older than a period of time specified or\n" -" before a certain date.\n" -"\n" -" A period is specified using the suffixes \"y\", \"m\", and \"d\". " -"The\n" -" suffix \"w\" (for \"week\") means 7 days.\n" -"\n" -" \"3y\" means three years\n" -" \"2y 1m\" means two years and one month\n" -" \"1m 25d\" means one month and 25 days\n" -" \"2w 3d\" means two weeks and three days\n" -"\n" -" Date format is \"YYYY-MM-DD\" eg:\n" -" 2001-01-01\n" -"\n" +" With trace_search also list all directories that are\n" +" searched for templates.\n" " " msgstr "" -#: ../roundup/admin.py:1625 -msgid "Invalid format" -msgstr "" - -#: ../roundup/admin.py:1638 -msgid "" -"Usage: reindex [classname|designator]*\n" -" Re-generate a tracker's search indexes.\n" -"\n" -" This will re-generate the search indexes for a tracker.\n" -" This will typically happen automatically.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1652 -#, python-format -msgid "no such item \"%(designator)s\"" -msgstr "" - -#: ../roundup/admin.py:1662 -msgid "" -"Usage: security [Role name]\n" -"\n" -" Display the Permissions available to one or all Roles.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1671 -#, python-format -msgid "No such Role \"%(role)s\"\n" -msgstr "" - -#: ../roundup/admin.py:1677 -#, python-format -msgid "New Web users get the Roles \"%(role)s\"\n" -msgstr "" - -#: ../roundup/admin.py:1680 -#, python-format -msgid "New Web users get the Role \"%(role)s\"\n" -msgstr "" - -#: ../roundup/admin.py:1684 -#, python-format -msgid "New Email users get the Roles \"%(role)s\"\n" -msgstr "" - -#: ../roundup/admin.py:1686 -#, python-format -msgid "New Email users get the Role \"%(role)s\"\n" -msgstr "" - -#: ../roundup/admin.py:1689 -#, python-format -msgid "Role \"%(name)s\":\n" -msgstr "" - -#: ../roundup/admin.py:1695 -msgid " %(description)s (%(name)s for \"%(klass)s\"" -msgstr "" - -#: ../roundup/admin.py:1695 -#, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" -msgstr "" - -#: ../roundup/admin.py:1708 -#, python-format +#: ../roundup/admin.py:1938 msgid "" -"\n" -" **Invalid properties for %(class)s: %(props)s\n" -"\n" -msgstr "" - -#: ../roundup/admin.py:1714 -#, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" -msgstr "" - -#: ../roundup/admin.py:1717 -#, python-format -msgid " %(description)s (%(name)s)\n" -msgstr "" - -#: ../roundup/admin.py:1721 -msgid "" -"Usage: migrate\n" -"\n" -" Update a tracker's database to be compatible with the Roundup\n" -" codebase.\n" -"\n" -" You should run the \"migrate\" command for your tracker once\n" -" you've installed the latest codebase.\n" -"\n" -" Do this before you use the web, command-line or mail interface\n" -" and before any users access the tracker.\n" -"\n" -" This command will respond with either \"Tracker updated\" (if\n" -" you've not previously run it on an RDBMS backend) or \"No\n" -" migration action required\" (if you have run it, or have used\n" -" another interface to the tracker, or possibly because you are\n" -" using anydbm).\n" -"\n" -" It's safe to run this even if it's not required, so just get\n" -" into the habit.\n" +"Usage: updateconfig <filename>\n" +" Generate an updated tracker config file (ini style) in\n" +" <filename>. Use current settings from existing roundup\n" +" tracker in tracker home.\n" " " msgstr "" -#: ../roundup/admin.py:1742 -#, python-format -msgid "Tracker updated to schema version %s." -msgstr "" - -#: ../roundup/admin.py:1746 -#, python-format -msgid "No migration action required. At schema version %s." -msgstr "" - -#: ../roundup/admin.py:1751 -msgid "" -"Usage: perftest [mode] [arguments]*\n" -"\n" -" Time operations in Roundup. Supported arguments:\n" -"\n" -" [password] [rounds=<integer>] [scheme=<scheme>]\n" -"\n" -" 'password' is the default mode. The tracker's config.ini\n" -" setting for 'password_pbkdf2_default_rounds' is the default\n" -" value for 'rounds'. On the command line, 'rounds' can include\n" -" thousands separator of ',' or '.'. 'scheme' is the default\n" -" coded into Roundup. List supported schemes by using 'scheme='.\n" -"\n" -" " -msgstr "" - -#: ../roundup/admin.py:1785 -msgid "Invalid 'rounds'. Must be larger than 999." -msgstr "" - -#: ../roundup/admin.py:1789 -#, python-format -msgid "Invalid 'rounds'. It must be an integer not: %s" -msgstr "" - -#: ../roundup/admin.py:1816 -msgid "scheme does not support rounds." -msgstr "" - -#: ../roundup/admin.py:1819 -#, python-format -msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" -msgstr "" - -#: ../roundup/admin.py:1847 +#: ../roundup/admin.py:1946 ../roundup/cgi/actions.py:886 +#: ../roundup/cgi/actions.py:897 ../roundup/cgi/actions.py:1099 +#: ../roundup/cgi/actions.py:1113 ../roundup/cgi/actions.py:886:897 :1099:1113 +#, python-format +msgid "Error: %s" +msgstr "エラー: %s" + +#: ../roundup/admin.py:1974 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "" -#: ../roundup/admin.py:1853 +#: ../roundup/admin.py:1980 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "" -#: ../roundup/admin.py:1862 +#: ../roundup/admin.py:1996 msgid "Enter tracker home: " msgstr "" -#: ../roundup/admin.py:1871 ../roundup/admin.py:1877 ../roundup/admin.py:1914 -#: ../roundup/admin.py:1871:1877:1914 -#, python-format -msgid "Error: %(message)s" -msgstr "" - -#: ../roundup/admin.py:1887 ../roundup/admin.py:1891 -#: ../roundup/admin.py:1887:1891 +#: ../roundup/admin.py:2023 ../roundup/admin.py:2027 +#: ../roundup/admin.py:2023:2027 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "" -#: ../roundup/admin.py:1927 +#: ../roundup/admin.py:2060 #, python-format msgid "" "Roundup %s ready for input.\n" "Type \"help\" for help." msgstr "" -#: ../roundup/admin.py:1932 +#: ../roundup/admin.py:2065 msgid "Note: command history and editing not available" msgstr "" -#: ../roundup/admin.py:1938 +#: ../roundup/admin.py:2071 msgid "exit..." msgstr "" -#: ../roundup/admin.py:1951 +#: ../roundup/admin.py:2084 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "" @@ -962,7 +1050,7 @@ #: ../roundup/backends/back_anydbm.py:1422 #: ../roundup/backends/back_anydbm.py:1440 #: ../roundup/backends/back_anydbm.py:1487 -#: ../roundup/backends/back_anydbm.py:2117 +#: ../roundup/backends/back_anydbm.py:2113 #: ../roundup/backends/back_anydbm.py:871:884 #: ../roundup/backends/rdbms_common.py:1708 #: ../roundup/backends/rdbms_common.py:1955 @@ -971,7 +1059,7 @@ #: ../roundup/backends/rdbms_common.py:2267 #: ../roundup/backends/rdbms_common.py:3219 #: ../roundup/backends/rdbms_common.py:1708:1955 :1158:1193 :1422:1440:1487 -#: :2117 :2194:2214 :2267:3219 +#: :2113 :2194:2214 :2267:3219 msgid "Database open read-only" msgstr "" @@ -1216,13 +1304,6 @@ msgid "Edit Error: %s" msgstr "更新エラー: %s" -#: ../roundup/cgi/actions.py:886 ../roundup/cgi/actions.py:897 -#: ../roundup/cgi/actions.py:1099 ../roundup/cgi/actions.py:1113 -#: ../roundup/cgi/actions.py:886:897 :1099:1113 -#, python-format -msgid "Error: %s" -msgstr "エラー: %s" - #: ../roundup/cgi/actions.py:931 msgid "" "Invalid One Time Key!\n" @@ -1458,8 +1539,8 @@ "</body></html>" msgstr "" -#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 -#: ../roundup/cgi/client.py:670:1570 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:670:1567 msgid "Required Header Missing" msgstr "" @@ -1468,145 +1549,145 @@ msgid "Client is not allowed to use Rest Interface." msgstr "クエリー編集の権限がありません。" -#: ../roundup/cgi/client.py:921 +#: ../roundup/cgi/client.py:918 msgid "Form Error: " msgstr "" -#: ../roundup/cgi/client.py:1011 +#: ../roundup/cgi/client.py:1008 #, python-format msgid "Unrecognized charset: %r" msgstr "" -#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 -#: ../roundup/cgi/client.py:1264:2250 +#: ../roundup/cgi/client.py:1261 ../roundup/cgi/client.py:2247 +#: ../roundup/cgi/client.py:1261:2247 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1279 +#: ../roundup/cgi/client.py:1276 msgid "Anonymous users are not allowed to use the web interface" msgstr "" -#: ../roundup/cgi/client.py:1430 +#: ../roundup/cgi/client.py:1427 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1434 +#: ../roundup/cgi/client.py:1431 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1463 +#: ../roundup/cgi/client.py:1460 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1467 +#: ../roundup/cgi/client.py:1464 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1475 +#: ../roundup/cgi/client.py:1472 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" -#: ../roundup/cgi/client.py:1480 +#: ../roundup/cgi/client.py:1477 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "不正なリクエスト" -#: ../roundup/cgi/client.py:1495 +#: ../roundup/cgi/client.py:1492 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" -#: ../roundup/cgi/client.py:1500 +#: ../roundup/cgi/client.py:1497 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "不正なリクエスト" -#: ../roundup/cgi/client.py:1514 +#: ../roundup/cgi/client.py:1511 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1520 +#: ../roundup/cgi/client.py:1517 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1539 +#: ../roundup/cgi/client.py:1536 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1544 +#: ../roundup/cgi/client.py:1541 #, fuzzy, python-format msgid "Invalid HOST %s" msgstr "不正なリクエスト" -#: ../roundup/cgi/client.py:1552 +#: ../roundup/cgi/client.py:1549 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1553 +#: ../roundup/cgi/client.py:1550 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:1564 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1608 +#: ../roundup/cgi/client.py:1605 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 -#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 +#: ../roundup/cgi/client.py:1607 ../roundup/cgi/client.py:1634 +#: ../roundup/cgi/client.py:1651 ../roundup/cgi/client.py:1607:1634:1651 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1614 +#: ../roundup/cgi/client.py:1611 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1626 +#: ../roundup/cgi/client.py:1623 #, python-format msgid "" "Csrf mismatch user: current user %(user)s != stored user %(stored)s, current " "session, stored session: %(cur_sess)s,%(stor_sess)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1644 +#: ../roundup/cgi/client.py:1641 #, python-format msgid "" "Csrf mismatch user: current session %(curr_sess)s != stored session " "%(stor_sess)s, current user/stored user is: %(user)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1838 +#: ../roundup/cgi/client.py:1835 msgid "You are not allowed to view this file." msgstr "" -#: ../roundup/cgi/client.py:2127 +#: ../roundup/cgi/client.py:2124 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2131 +#: ../roundup/cgi/client.py:2128 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " "items: %(get_items)f secs. Filtering: %(filtering)f secs.%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2669 +#: ../roundup/cgi/client.py:2666 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -1799,16 +1880,16 @@ msgid "<option %svalue=\"-1\">- no selection -</option>" msgstr "<option %svalue=\"-1\">- 未選択 -</option>" -#: ../roundup/cgi/timestamp.py:19 +#: ../roundup/cgi/timestamp.py:23 msgid "Form is corrupted." msgstr "" -#: ../roundup/cgi/timestamp.py:28 +#: ../roundup/cgi/timestamp.py:32 #, python-format msgid "Form is corrupted, missing: %s." msgstr "" -#: ../roundup/cgi/timestamp.py:30 +#: ../roundup/cgi/timestamp.py:34 msgid "Responding to form too quickly." msgstr "" @@ -1957,54 +2038,54 @@ msgid "in %s" msgstr "%s以内" -#: ../roundup/hyperdb.py:119 +#: ../roundup/hyperdb.py:120 #, python-format msgid "property %(property)s: %(errormsg)s" msgstr "" -#: ../roundup/hyperdb.py:148 +#: ../roundup/hyperdb.py:149 #, python-format msgid "property %(property)s: %(value)r is an invalid date (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:171 +#: ../roundup/hyperdb.py:172 #, python-format msgid "" "property %(property)s: %(value)r is an invalid date interval (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:428 +#: ../roundup/hyperdb.py:429 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a number" msgstr "プロパティ \"%(propname)s\": \"%(value)s\" がリストの中にありません" -#: ../roundup/hyperdb.py:442 +#: ../roundup/hyperdb.py:443 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not an integer" msgstr "プロパティ \"%(propname)s\": \"%(value)s\" がリストの中にありません" -#: ../roundup/hyperdb.py:464 +#: ../roundup/hyperdb.py:465 #, python-format msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 -#: ../roundup/hyperdb.py:1493:1501 +#: ../roundup/hyperdb.py:1494 ../roundup/hyperdb.py:1502 +#: ../roundup/hyperdb.py:1494:1502 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1978 +#: ../roundup/hyperdb.py:1979 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "プロパティ \"%(propname)s\": \"%(value)s\" がリストの中にありません" -#: ../roundup/hyperdb.py:1984 +#: ../roundup/hyperdb.py:1985 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2019 +#: ../roundup/hyperdb.py:2020 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" @@ -2248,115 +2329,115 @@ msgid "Method %(m)s not allowed. Allowed: %(a)s" msgstr "" -#: ../roundup/rest.py:1097 +#: ../roundup/rest.py:1101 #, fuzzy, python-format msgid "Invalid attribute %s" msgstr "不正なリクエスト" -#: ../roundup/rest.py:2090 +#: ../roundup/rest.py:2094 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2125 +#: ../roundup/rest.py:2129 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2305 +#: ../roundup/rest.py:2309 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " "supported versions." msgstr "" -#: ../roundup/roundupdb.py:139 +#: ../roundup/roundupdb.py:140 #, python-format msgid "Username '%s' already exists." msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "files" msgstr "ファイル" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "messages" msgstr "メッセージ" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "nosy" msgstr "通知先" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "superseder" msgstr "関連課題" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "title" msgstr "タイトル" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "assignedto" msgstr "担当者" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "keyword" msgstr "キーワード" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "priority" msgstr "優先度" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "status" msgstr "状態" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "activity" msgstr "最終更新" #. following properties are common for all hyperdb classes #. they are listed here to keep things in one place -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "actor" msgstr "更新者" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creation" msgstr "登録日時" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creator" msgstr "登録者" -#: ../roundup/roundupdb.py:425 +#: ../roundup/roundupdb.py:426 #, python-format msgid "No key for \"%(adr)s\" in keyring" msgstr "" -#: ../roundup/roundupdb.py:503 +#: ../roundup/roundupdb.py:504 #, python-format msgid "New submission from %(authname)s%(authaddr)s:" msgstr "" -#: ../roundup/roundupdb.py:506 +#: ../roundup/roundupdb.py:507 #, python-format msgid "%(authname)s%(authaddr)s added the comment:" msgstr "" -#: ../roundup/roundupdb.py:509 +#: ../roundup/roundupdb.py:510 #, python-format msgid "Change by %(authname)s%(authaddr)s:" msgstr "" -#: ../roundup/roundupdb.py:528 +#: ../roundup/roundupdb.py:529 #, python-format msgid "File '%(filename)s' not attached - you can download it from %(link)s." msgstr "" -#: ../roundup/roundupdb.py:903 +#: ../roundup/roundupdb.py:904 #, python-format msgid "" "\n" @@ -2366,12 +2447,12 @@ "%(old)s" msgstr "" -#: ../roundup/scripts/roundup_demo.py:49 +#: ../roundup/scripts/roundup_demo.py:156 #, python-format msgid "Enter directory path to create demo tracker [%s]: " msgstr "" -#: ../roundup/scripts/roundup_demo.py:54 +#: ../roundup/scripts/roundup_demo.py:162 #, python-format msgid "" "Enter tracker template to use (one of (%(template_list)s)) " @@ -2459,23 +2540,23 @@ msgid "User %(user)s doesn't exist" msgstr "" -#: ../roundup/scripts/roundup_server.py:805 +#: ../roundup/scripts/roundup_server.py:809 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "" -#: ../roundup/scripts/roundup_server.py:832 +#: ../roundup/scripts/roundup_server.py:837 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "" -#: ../roundup/scripts/roundup_server.py:836 +#: ../roundup/scripts/roundup_server.py:841 #, python-format msgid "" "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s" msgstr "" -#: ../roundup/scripts/roundup_server.py:915 +#: ../roundup/scripts/roundup_server.py:920 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -2485,7 +2566,7 @@ " specifics." msgstr "" -#: ../roundup/scripts/roundup_server.py:922 +#: ../roundup/scripts/roundup_server.py:927 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2494,7 +2575,7 @@ " specified if -d is used." msgstr "" -#: ../roundup/scripts/roundup_server.py:929 +#: ../roundup/scripts/roundup_server.py:934 #, python-format msgid "" "\n" @@ -2515,6 +2596,8 @@ " -N log client machine names instead of IP addresses (much " "slower)\n" " -i <fname> set tracker index template\n" +" -m <children> maximum number of children to spawn in fork multiprocess " +"mode\n" " -s enable SSL\n" " -L http request logging uses python logging (roundup.http)\n" " -e <fname> PEM file containing SSL key and certificate\n" @@ -2561,20 +2644,20 @@ " any url-unsafe characters like spaces, as these confuse IE.\n" msgstr "" -#: ../roundup/scripts/roundup_server.py:1105 +#: ../roundup/scripts/roundup_server.py:1111 msgid "Instances must be name=home" msgstr "" -#: ../roundup/scripts/roundup_server.py:1119 +#: ../roundup/scripts/roundup_server.py:1125 #, python-format msgid "Configuration saved to %s" msgstr "" -#: ../roundup/scripts/roundup_server.py:1137 +#: ../roundup/scripts/roundup_server.py:1143 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "" -#: ../roundup/scripts/roundup_server.py:1157 +#: ../roundup/scripts/roundup_server.py:1163 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr ""
--- a/locale/lt.po Wed May 24 15:05:09 2023 -0400 +++ b/locale/lt.po Wed May 24 20:35:53 2023 -0400 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Roundup 2.3.0\n" "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-03-03 17:28-0500\n" +"POT-Creation-Date: 2023-05-24 20:34-0400\n" "PO-Revision-Date: 2013-10-31 12:21+0100\n" "Last-Translator: Nerijus Baliunas <nerijus@users.sourceforge.net>\n" "Language-Team: \n" @@ -28,20 +28,40 @@ msgid "You may not retire the admin or anonymous user" msgstr "Negalite deaktyvuoti administratoriaus ar anoniminio vartotojo" +#: ../roundup/admin.py:117 +msgid "Have 'display designator' show protected fields: creator. NYI" +msgstr "" + +#: ../roundup/admin.py:120 +msgid "Set indexer to use when running 'reindex' NYI" +msgstr "" + +#: ../roundup/admin.py:123 +msgid "Force reopening of tracker when running each command." +msgstr "" + +#: ../roundup/admin.py:125 +msgid "Show retired items in table, list etc. NYI" +msgstr "" + +#: ../roundup/admin.py:126 +msgid "Enable verbose output: tracing, descriptions..." +msgstr "" + # ../roundup/admin.py:85 :962 :1011 :1033 -#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 -#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 +#: ../roundup/admin.py:138 ../roundup/admin.py:993 ../roundup/admin.py:1601 +#: ../roundup/admin.py:1633 ../roundup/admin.py:138:993 :1601:1633 #, python-format msgid "no such class \"%(classname)s\"" msgstr "nėra klasės \"%(classname)s\"" # ../roundup/admin.py:95 :99 -#: ../roundup/admin.py:124 +#: ../roundup/admin.py:150 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "argumentas \"%(arg)s\" nėra parinktis=reikšmė formato" -#: ../roundup/admin.py:137 +#: ../roundup/admin.py:163 #, python-format msgid "" "Problem: %(message)s\n" @@ -50,7 +70,7 @@ "Problema: %(message)s\n" "\n" -#: ../roundup/admin.py:138 +#: ../roundup/admin.py:164 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -100,12 +120,12 @@ " roundup-admin help <komanda> -- specifinė pagalba komandoms\n" " roundup-admin help all -- visa įmanoma pagalba\n" -#: ../roundup/admin.py:165 +#: ../roundup/admin.py:191 #, fuzzy msgid "Commands: " msgstr "Komandos:" -#: ../roundup/admin.py:172 +#: ../roundup/admin.py:198 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -113,7 +133,7 @@ "Komandos gali būti sutrumpintos, tačiau sutrumpinimas turi atitikti tik\n" "vieną komandą, pvz. l == li == lis == list." -#: ../roundup/admin.py:201 +#: ../roundup/admin.py:227 #, fuzzy msgid "" "\n" @@ -247,12 +267,311 @@ "\n" "Komandų pagalba:\n" -#: ../roundup/admin.py:264 +#: ../roundup/admin.py:290 #, python-format msgid "%s:" msgstr "%s:" -#: ../roundup/admin.py:271 +# ../roundup/admin.py:338 :387 +#: ../roundup/admin.py:395 ../roundup/admin.py:1185 +#: ../roundup/admin.py:395:1185 +msgid "Templates:" +msgstr "Šablonai:" + +# ../roundup/admin.py:341 :398 +#: ../roundup/admin.py:398 ../roundup/admin.py:1195 +#: ../roundup/admin.py:398:1195 +msgid "Back ends:" +msgstr "Duomenų saugyklos:" + +#: ../roundup/admin.py:415 +msgid "" +"Usage: commit\n" +" Commit changes made to the database during an interactive session.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" using this command.\n" +"\n" +" One-off commands on the command-line are automatically committed if\n" +" they are successful.\n" +" " +msgstr "" +"Naudojimas: commit\n" +" Išsaugoti pakeitimus atliktus duomenų bazėje interaktyvios\n" +" sesijos metu.\n" +"\n" +" Pakeitimai, atlikti interaktyvios sesijos metu, nėra \n" +" automatiškai įrašomi į duomenų bazę - jie turi būti išsaugomi \n" +" šios komandos pagalba.\n" +"\n" +" Vienetinės komandos komandinėje eilutėje yra atutomatiškai \n" +" išsaugomos, jei jos įvykdomos sėkmingai.\n" +" " + +#: ../roundup/admin.py:430 +msgid "" +"Usage: create classname property=value ...\n" +" Create a new entry of a given class.\n" +"\n" +" This creates a new entry of the given class using the property\n" +" name=value arguments provided on the command line after the \"create" +"\"\n" +" command.\n" +" " +msgstr "" +"Naudojimas: create klasėsvardas parinktis=reikšmė ...\n" +" Sukurti naują įrašą duotai klasei.\n" +"\n" +" Ši komanda sukuria naują įrašą duotai klasei naudodama\n" +" parinkties vardas=reikšmė argumentus, pateikiamus komandinėje\n" +" eilutėje po \"create\" komandos.\n" +" " + +# ../roundup/admin.py:360 :447 :508 :587 :637 :695 :716 :744 :815 :882 :953 +# :1001 :1023 :1050 :1117 :1184 +#: ../roundup/admin.py:438 ../roundup/admin.py:512 ../roundup/admin.py:545 +#: ../roundup/admin.py:663 ../roundup/admin.py:749 ../roundup/admin.py:807 +#: ../roundup/admin.py:852 ../roundup/admin.py:977 ../roundup/admin.py:1020 +#: ../roundup/admin.py:1158 ../roundup/admin.py:1285 ../roundup/admin.py:1371 +#: ../roundup/admin.py:1482 ../roundup/admin.py:1591 ../roundup/admin.py:1623 +#: ../roundup/admin.py:1738 ../roundup/admin.py:1792 ../roundup/admin.py:1837 +#: ../roundup/admin.py:438:512 :1020:1158:1285 :1371:1482 :1591:1623 :1738:1792 +#: :1837 :545:663 :749:807 :852:977 +msgid "Not enough arguments supplied" +msgstr "Paduota nepakankamai argumentų" + +#: ../roundup/admin.py:458 +#, python-format +msgid "%(propname)s (Password): " +msgstr "%(propname)s (Slaptažodis): " + +#: ../roundup/admin.py:461 +#, python-format +msgid " %(propname)s (Again): " +msgstr " %(propname)s (Pakartoti): " + +#: ../roundup/admin.py:465 +msgid "Sorry, try again..." +msgstr "Bandykite dar kartą..." + +#: ../roundup/admin.py:470 +#, python-format +msgid "%(propname)s (%(proptype)s): " +msgstr "%(propname)s (%(proptype)s): " + +#: ../roundup/admin.py:489 +#, python-format +msgid "you must provide the \"%(propname)s\" property." +msgstr "turite pateikti parinktį \"%(propname)s\"." + +#: ../roundup/admin.py:501 +#, fuzzy +msgid "" +"Usage: display designator[,designator]*\n" +"\n" +" Show the property values for the given node(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This lists the properties and their associated values\n" +" for the given node.\n" +" " +msgstr "" +"Naudojimas: display dezignatorius[, dezignatorius]*\n" +" Rodyti duoto elemento(ų) parinkties reikšmes.\n" +"\n" +" Ši komanda išvardina parinktis ir jų reikšmes duotam elementui.\n" +" " + +#: ../roundup/admin.py:528 +#, python-format +msgid "%(key)s: %(value)s" +msgstr "%(key)s: %(value)s" + +#. grab the directory to export to +#: ../roundup/admin.py:531 +msgid "" +"Usage: export [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files.\n" +" To exclude the files (e.g. for the msg or file class),\n" +" use the exporttables command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +"Naudojimas: export [[-]klasė[,klasė]] eksporto_direktorija\n" +" Eksportuoti duomenų bazę kaip kableliais atskirtų reikšmių failą.\n" +" Norėdami neįtraukti failų (pvz. msg ar file klasių), naudokite\n" +" exporttables komandą.\n" +"\n" +" Galima apriboti eksportą tik tam tikromis klasėmis arba neįtraukti\n" +" tam tikrų klasių, jei pirmas argumentas prasideda '-'.\n" +"\n" +" Ši komanda eksportuoja dabartinius duomenis iš duomenų bazės\n" +" į kableliais atskirtų reikšmių failus, kurie išsaugomi nurodytoje\n" +" direktorijoje.\n" +" " + +#: ../roundup/admin.py:638 +msgid "" +"Usage: exporttables [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files, excluding the\n" +" files below $TRACKER_HOME/db/files/ (which can be archived " +"separately).\n" +" To include the files, use the export command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +"Naudojimas: exporttables [[-]klasė[,klasė]] eksporto_direktorija\n" +" Eksportuoti duomenų bazę kaip kableliais atskirtų reikšmių failą,\n" +" neįtraukiant $TRACKER_HOME/db/files/ failų (jie gali būti " +"archyvuojami\n" +" atskirai). Norėdami įtraukti failus, naudokite export komandą.\n" +"\n" +" Galima apriboti eksportą tik tam tikromis klasėmis arba neįtraukti\n" +" tam tikrų klasių, jei pirmas argumentas prasideda '-'.\n" +"\n" +" Ši komanda eksportuoja dabartinius duomenis iš duomenų bazės\n" +" į kableliais atskirtų reikšmių failus, kurie išsaugomi nurodytoje\n" +" direktorijoje.\n" +" " + +#: ../roundup/admin.py:653 +#, fuzzy +msgid "" +"Usage: filter classname propname=value ...\n" +" Find the nodes of the given class with a given property value.\n" +"\n" +" Find the nodes of the given class with a given property value.\n" +" Multiple values can be specified by separating them with commas.\n" +" If property is a string, all values must match. I.E. it's an\n" +" 'and' operation. If the property is a link/multilink any value\n" +" matches. I.E. an 'or' operation.\n" +" " +msgstr "" +"Naudojimas: find klasėsvardas parinktis=reikšmė ...\n" +" Rasti duotos klasės elementus, atitinkančius pateiktos sąsajos\n" +" parinkties reikšmę.\n" +"\n" +" Rasti duotos klasės elementus, atitinkančius pateiktos sqsajos\n" +" parinkties reikšmę. Reikšmė gali būti arba susieto elemento id\n" +" arba jo raktinė reikšmė.\n" +" " + +# ../roundup/admin.py:682 :835 :847 :901 +#: ../roundup/admin.py:696 +#, fuzzy, python-format +msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." +msgstr "%(classname)s neturi parinkties \"%(propname)s\"" + +# ../roundup/admin.py:682 :835 :847 :901 +#: ../roundup/admin.py:734 ../roundup/admin.py:795 ../roundup/admin.py:1305 +#: ../roundup/admin.py:1317 ../roundup/admin.py:1857 +#: ../roundup/admin.py:734:795 :1305:1317:1857 +#, python-format +msgid "%(classname)s has no property \"%(propname)s\"" +msgstr "%(classname)s neturi parinkties \"%(propname)s\"" + +#: ../roundup/admin.py:741 +msgid "" +"Usage: find classname propname=value ...\n" +" Find the nodes of the given class with a given link property value.\n" +"\n" +" Find the nodes of the given class with a given link property value.\n" +" The value may be either the nodeid of the linked node, or its key\n" +" value.\n" +" " +msgstr "" +"Naudojimas: find klasėsvardas parinktis=reikšmė ...\n" +" Rasti duotos klasės elementus, atitinkančius pateiktos sąsajos\n" +" parinkties reikšmę.\n" +"\n" +" Rasti duotos klasės elementus, atitinkančius pateiktos sqsajos\n" +" parinkties reikšmę. Reikšmė gali būti arba susieto elemento id\n" +" arba jo raktinė reikšmė.\n" +" " + +#: ../roundup/admin.py:802 +#, fuzzy +msgid "" +"Usage: genconfig <filename>\n" +" Generate a new tracker config file (ini style) with default\n" +" values in <filename>.\n" +" " +msgstr "" +"Naudojimas: genconfig <failovardas>\n" +" Generuoti naują tracker'io konfigūracijos failą (ini tipo) su\n" +" įprastomis reikšmėmis faile <failovardas>.\n" +" " + +#: ../roundup/admin.py:820 +#, python-format +msgid "" +"Changing option\n" +" 'password_pbkdf2_default_rounds'\n" +"from old default of %(old_number)s to new default of %(new_number)s." +msgstr "" + +#: ../roundup/admin.py:831 +#, python-format +msgid "" +"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" +"than %s." +msgstr "" + +#: ../roundup/admin.py:842 +#, fuzzy +msgid "" +"Usage: get property designator[,designator]*\n" +" Get the given property of one or more designator(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Retrieves the property value of the nodes specified\n" +" by the designators.\n" +" " +msgstr "" +"Naudojimas: get parinktis dezignatorius[,dezignatorius]*\n" +" Gauti pateikto vieno ar kelių dezignatorių parinktį.\n" +"\n" +" Gauna elementų, nurodytų dezignatoriais, parinkties reikšmę.\n" +" " + +# ../roundup/admin.py:541 :556 +#: ../roundup/admin.py:886 ../roundup/admin.py:904 ../roundup/admin.py:886:904 +#, python-format +msgid "property %s is not of type Multilink or Link so -d flag does not apply." +msgstr "" +"parinktis %s nėra Multilink ar Link tipo, komandų eilutės parametras\n" +"-d netinkamas." + +# ../roundup/admin.py:564 :964 :1013 :1035 +#: ../roundup/admin.py:914 ../roundup/admin.py:995 ../roundup/admin.py:1635 +#: ../roundup/admin.py:914:995:1635 +#, python-format +msgid "no such %(classname)s node \"%(nodeid)s\"" +msgstr "nėra tokio %(classname)s elemento \"%(nodeid)s\"" + +#: ../roundup/admin.py:917 +#, python-format +msgid "no such %(classname)s property \"%(propname)s\"" +msgstr "nėra tokio %(classname)s parinkties \"%(propname)s\"" + +#: ../roundup/admin.py:925 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -272,22 +591,125 @@ " all -- visa įmanoma pagalba\n" " " -#: ../roundup/admin.py:293 +#: ../roundup/admin.py:947 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "Atsiprašome, pagalbos temai \"%(topic)s\" nėra" -# ../roundup/admin.py:338 :387 -#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 -msgid "Templates:" -msgstr "Šablonai:" - -# ../roundup/admin.py:341 :398 -#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 -msgid "Back ends:" -msgstr "Duomenų saugyklos:" - -#: ../roundup/admin.py:414 +#: ../roundup/admin.py:964 +msgid "" +"Usage: history designator [skipquiet]\n" +" Show the history entries of a designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Lists the journal entries viewable by the user for the\n" +" node identified by the designator. If skipquiet is the\n" +" second argument, journal entries for quiet properties\n" +" are not shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1000 +msgid "" +"Usage: import import_dir\n" +" Import a database from the directory containing CSV files,\n" +" two per class to import.\n" +"\n" +" The files used in the import are:\n" +"\n" +" <class>.csv\n" +" This must define the same properties as the class (including\n" +" having a \"header\" line with those property names.)\n" +" <class>-journals.csv\n" +" This defines the journals for the items being imported.\n" +"\n" +" The imported nodes will have the same nodeid as defined in the\n" +" import file, thus replacing any existing content.\n" +"\n" +" The new nodes are added to the existing database - if you want to\n" +" create a new database using the imported data, then create a new\n" +" database (or, tediously, retire all the old data.)\n" +" " +msgstr "" +"Naudojimas: import importo_direktorija\n" +" Importuoti duomenų bazę iš direktorijos su CSV failais,\n" +" vienai klasei -- du failai.\n" +"\n" +" Failai, kurių reikia importui yra:\n" +"\n" +" <klasė>.csv\n" +" Šis failas turi nurodyti tokias pačias parinktis kaip ir\n" +" klasė (taip pat turi turėti antraštę su parinkčių vardais.)\n" +" <klasė>-journals.csv\n" +" Šis failas apibrėžia importuojamų vienetų žurnalus.\n" +"\n" +" Importuoti elementai turės tuos pačius elementų id kaip\n" +" nurodyta importo failuose, tokiu būdu pakeisdami bet kokį esamą\n" +" turinį.\n" +"\n" +" Nauji elementai pridedami prie esamos duomenų bazės -- jei \n" +" norite sukurti naują duomenų bazę naudodami importuojamus \n" +" duomenis, tada reikia sukurti naują duomenų bazę (arba \n" +" deaktyvuoti visus esamus duomenis -- daug darbo reikalaujantis\n" +" veiksmas).\n" +" " + +#: ../roundup/admin.py:1079 +msgid "" +"Usage: importtables export_dir\n" +"\n" +" This imports the database tables exported using exporttables.\n" +" " +msgstr "" + +#. password +#: ../roundup/admin.py:1086 +msgid "" +"Usage: initialise [adminpw]\n" +" Initialise a new Roundup tracker.\n" +"\n" +" The administrator details will be set at this step.\n" +"\n" +" Execute the tracker's initialisation function dbinit.init()\n" +" " +msgstr "" +"Naudojimas: initialise [adminslaptažodis]\n" +" Inicializuoti naują Roundup kreipinių valdymo sistemą.\n" +"\n" +" Administratoriaus pasirinkimai bus nustatomi šiuo žingsniu.\n" +"\n" +" Vykdyti tracker'io inicializacijos funkciją dbinit.init()\n" +" " + +#: ../roundup/admin.py:1100 +msgid "Admin Password: " +msgstr "Administratoriaus slaptažodis: " + +#: ../roundup/admin.py:1101 +msgid " Confirm: " +msgstr " Patvirtinkite: " + +#: ../roundup/admin.py:1105 +msgid "Instance home does not exist" +msgstr "Namų direktorija neegzistuoja" + +#: ../roundup/admin.py:1109 +msgid "Instance has not been installed" +msgstr "Egzempliorius nebuvo įdiegtas" + +#: ../roundup/admin.py:1115 +msgid "" +"WARNING: The database is already initialised!\n" +"If you re-initialise it, you will lose all the data!\n" +"Erase it? Y/N: " +msgstr "" +"PERSPĖJIMAS: Duomenų bazė jau inicializuota!\n" +"Jei jūs ją inicializuosite dar kartą, prarasite visus duomenis!\n" +"Ištrinti duomenų bazę? Y/N: " + +#: ../roundup/admin.py:1135 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -335,25 +757,12 @@ " Taip pat pažiūrėkite initopts pagalbą.\n" " " -# ../roundup/admin.py:360 :447 :508 :587 :637 :695 :716 :744 :815 :882 :953 -# :1001 :1023 :1050 :1117 :1184 -#: ../roundup/admin.py:437 ../roundup/admin.py:568 ../roundup/admin.py:671 -#: ../roundup/admin.py:764 ../roundup/admin.py:822 ../roundup/admin.py:908 -#: ../roundup/admin.py:967 ../roundup/admin.py:994 ../roundup/admin.py:1021 -#: ../roundup/admin.py:1098 ../roundup/admin.py:1193 ../roundup/admin.py:1279 -#: ../roundup/admin.py:1340 ../roundup/admin.py:1367 ../roundup/admin.py:1403 -#: ../roundup/admin.py:1531 ../roundup/admin.py:1615 -#: ../roundup/admin.py:437:568 :1021:1098:1193 :1279:1340 :1367:1403 :1531:1615 -#: :671:764 :822:908 :967:994 -msgid "Not enough arguments supplied" -msgstr "Paduota nepakankamai argumentų" - -#: ../roundup/admin.py:443 +#: ../roundup/admin.py:1164 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "Namų direktorijos tėvinė direktorija \"%(parent)s\" neegzistuoja" -#: ../roundup/admin.py:452 +#: ../roundup/admin.py:1173 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -364,22 +773,22 @@ "Jei jūs jį perdiegsite, prarasite visus duomenis!\n" "Ištrinti jį? Y/N: " -#: ../roundup/admin.py:465 +#: ../roundup/admin.py:1186 #, fuzzy msgid "Select template" msgstr "Pasirinkite šabloną [klasikinis]: " -#: ../roundup/admin.py:475 +#: ../roundup/admin.py:1196 #, fuzzy msgid "Select backend" msgstr "Pasirinkite duomenų saugyklą [anydbm]: " -#: ../roundup/admin.py:486 +#: ../roundup/admin.py:1207 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "Klaida konfigūracijos nustatymuose: \"%s\"" -#: ../roundup/admin.py:517 +#: ../roundup/admin.py:1238 #, python-format msgid "" "\n" @@ -392,11 +801,11 @@ " Dabar jūs turėtumėte pakeisti tracker'io konfigūracijos failą:\n" " %(config_file)s" -#: ../roundup/admin.py:527 +#: ../roundup/admin.py:1248 msgid " ... at a minimum, you must set following options:" msgstr " ... mažiausiai turėtumėte nustalyti šias parinktis:" -#: ../roundup/admin.py:532 +#: ../roundup/admin.py:1253 #, python-format msgid "" "\n" @@ -425,136 +834,379 @@ " aukščiau minėtus žingsnius.\n" "---------------------------------------------------------------------------\n" -#: ../roundup/admin.py:563 -#, fuzzy +#: ../roundup/admin.py:1270 +msgid "" +"Usage: list classname [property]\n" +" List the instances of a class.\n" +"\n" +" Lists all instances of the given class. If the property is not\n" +" specified, the \"label\" property is used. The label property is\n" +" tried in order: the key, \"name\", \"title\" and then the first\n" +" property, alphabetically.\n" +"\n" +" With -c, -S or -s print a list of item id's if no property\n" +" specified. If property specified, print list of that property\n" +" for every class instance.\n" +" " +msgstr "" +"Naudojimas: list klasėsvardas [parinktis]\n" +" Išvardina klasės egzempliorius.\n" +"\n" +" Išvardina visus duotos klasės egzempliorius. Jei parinktis \n" +" nenurodyta, naudojama \"label\" parinktis. Ji yra bandoma\n" +" iš eilės: raktas, \"vardas\", \"pavadinimas\", o tada pirma\n" +" iš eilės parinktis abėcėlės tvarka.\n" +"\n" +" Pasirinkus -c, -S ar -s atvaizduoja sąrašą elementų id jei nėra\n" +" nurodyta parinktis. Jei parinktis nurodyta, atvaizduojamas tos\n" +" parinkties sąrašas kiekvienam klasės egzemplioriui.\n" +" " + +#: ../roundup/admin.py:1283 +msgid "Too many arguments supplied" +msgstr "Pateikta per daug argumentų" + +#: ../roundup/admin.py:1319 +#, python-format +msgid "%(nodeid)4s: %(value)s" +msgstr "%(nodeid)4s: %(value)s" + +#: ../roundup/admin.py:1323 msgid "" -"Usage: genconfig <filename>\n" -" Generate a new tracker config file (ini style) with default\n" -" values in <filename>.\n" +"Usage: migrate\n" +"\n" +" Update a tracker's database to be compatible with the Roundup\n" +" codebase.\n" +"\n" +" You should run the \"migrate\" command for your tracker once\n" +" you've installed the latest codebase.\n" +"\n" +" Do this before you use the web, command-line or mail interface\n" +" and before any users access the tracker.\n" +"\n" +" This command will respond with either \"Tracker updated\" (if\n" +" you've not previously run it on an RDBMS backend) or \"No\n" +" migration action required\" (if you have run it, or have used\n" +" another interface to the tracker, or possibly because you are\n" +" using anydbm).\n" +"\n" +" It's safe to run this even if it's not required, so just get\n" +" into the habit.\n" " " msgstr "" -"Naudojimas: genconfig <failovardas>\n" -" Generuoti naują tracker'io konfigūracijos failą (ini tipo) su\n" -" įprastomis reikšmėmis faile <failovardas>.\n" + +#: ../roundup/admin.py:1344 +#, python-format +msgid "Tracker updated to schema version %s." +msgstr "" + +#: ../roundup/admin.py:1348 +#, python-format +msgid "No migration action required. At schema version %s." +msgstr "" + +#: ../roundup/admin.py:1353 +msgid "" +"Usage: pack period | date\n" +"\n" +" Remove journal entries older than a period of time specified or\n" +" before a certain date.\n" +"\n" +" A period is specified using the suffixes \"y\", \"m\", and \"d\". " +"The\n" +" suffix \"w\" (for \"week\") means 7 days.\n" +"\n" +" \"3y\" means three years\n" +" \"2y 1m\" means two years and one month\n" +" \"1m 25d\" means one month and 25 days\n" +" \"2w 3d\" means two weeks and three days\n" +"\n" +" Date format is \"YYYY-MM-DD\" eg:\n" +" 2001-01-01\n" +"\n" " " - -#: ../roundup/admin.py:581 -#, python-format +msgstr "" +"Naudojimas: pack periodas | data\n" +"\n" +" Pašalinti žurnalo įrašus senesnius nei nurodytas laiko tarpas\n" +" ar atsiradusius anksčiau nei nurodyta data.\n" +"\n" +" Periodas norodomas naudojant priesagas \"y\", \"m\" ir \"d\".\n" +" Priesaga \"w\" (savaitė (week)) reiškia 7 dienas.\n" +"\n" +" \"3y\" reiškia tris metus\n" +" \"2y 1m\" reiškia du mentus ir vieną mėnesį\n" +" \"1m 25d\" reiškia vieną mėnesį ir 25 dienas\n" +" \"2w 3d\" reiškia dvi saivaites ir tris dienas\n" +" \n" +" Datos formatas yra \"YYYY-MM-DD\" pvz:\n" +" 2001-12-31 \n" +"\n" +" " + +#: ../roundup/admin.py:1381 +msgid "Invalid format" +msgstr "Netinkamas formatas" + +#: ../roundup/admin.py:1392 msgid "" -"Changing option\n" -" 'password_pbkdf2_default_rounds'\n" -"from old default of %(old_number)s to new default of %(new_number)s." -msgstr "" - -#: ../roundup/admin.py:593 -#, python-format +"Usage: perftest [mode] [arguments]*\n" +"\n" +" Time operations in Roundup. Supported arguments:\n" +"\n" +" [password] [rounds=<integer>] [scheme=<scheme>]\n" +"\n" +" 'password' is the default mode. The tracker's config.ini\n" +" setting for 'password_pbkdf2_default_rounds' is the default\n" +" value for 'rounds'. On the command line, 'rounds' can include\n" +" thousands separator of ',' or '.'. 'scheme' is the default\n" +" coded into Roundup. List supported schemes by using 'scheme='.\n" +"\n" +" " +msgstr "" + +#: ../roundup/admin.py:1425 +msgid "Invalid 'rounds'. Must be larger than 999." +msgstr "" + +#: ../roundup/admin.py:1429 +#, python-format +msgid "Invalid 'rounds'. It must be an integer not: %s" +msgstr "" + +#: ../roundup/admin.py:1456 +msgid "scheme does not support rounds." +msgstr "" + +#: ../roundup/admin.py:1459 +#, python-format +msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" +msgstr "" + +#: ../roundup/admin.py:1465 msgid "" -"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" -"than %s." -msgstr "" - -#: ../roundup/admin.py:604 +"Usage: pragma setting=value | 'list'\n" +" Set internal admin settings to a value. E.G.\n" +"\n" +" pragma verbose=True\n" +" pragma verbose=yes\n" +" pragma verbose=on\n" +" pragma verbose=1\n" +"\n" +" will turn on verbose mode for roundup-admin.\n" +"\n" +" pragma list\n" +"\n" +" will show all settings and their current values. If verbose\n" +" is enabled hidden settings and descriptions will be shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1489 +#, python-format +msgid "Argument must be setting=value, was given: %s." +msgstr "" + +#: ../roundup/admin.py:1492 +msgid "Current settings and values (NYI - not yet implemented):" +msgstr "" + +#: ../roundup/admin.py:1505 +#, fuzzy, python-format +msgid "Unknown setting %s." +msgstr "Nežinomas vartotojo vardas" + +#: ../roundup/admin.py:1514 +#, python-format +msgid "Incorrect value for boolean setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1521 +#, python-format +msgid "Incorrect value for integer setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1527 +#, python-format +msgid "Internal error: pragma can not handle values of type: %s" +msgstr "" + +#: ../roundup/admin.py:1537 #, fuzzy msgid "" -"Usage: updateconfig <filename>\n" -" Generate an updated tracker config file (ini style) in\n" -" <filename>. Use current settings from existing roundup\n" -" tracker in tracker home.\n" -" " -msgstr "" -"Naudojimas: genconfig <failovardas>\n" -" Generuoti naują tracker'io konfigūracijos failą (ini tipo) su\n" -" įprastomis reikšmėmis faile <failovardas>.\n" -" " - -#. password -#: ../roundup/admin.py:612 -msgid "" -"Usage: initialise [adminpw]\n" -" Initialise a new Roundup tracker.\n" -"\n" -" The administrator details will be set at this step.\n" -"\n" -" Execute the tracker's initialisation function dbinit.init()\n" -" " -msgstr "" -"Naudojimas: initialise [adminslaptažodis]\n" -" Inicializuoti naują Roundup kreipinių valdymo sistemą.\n" -"\n" -" Administratoriaus pasirinkimai bus nustatomi šiuo žingsniu.\n" -"\n" -" Vykdyti tracker'io inicializacijos funkciją dbinit.init()\n" +"Usage: reindex [classname|classname:#-#|designator]*\n" +" Re-generate a tracker's search indexes.\n" +"\n" +" This will re-generate the search indexes for a tracker.\n" +" This will typically happen automatically.\n" +"\n" +" You can incrementally reindex using an argument like:\n" +"\n" +" reindex issue:23-1000\n" +"\n" +" to reindex issue class items 23-1000. Missing items\n" +" are reported but do not stop indexing of the range.\n" " " - -#: ../roundup/admin.py:626 -msgid "Admin Password: " -msgstr "Administratoriaus slaptažodis: " - -#: ../roundup/admin.py:627 -msgid " Confirm: " -msgstr " Patvirtinkite: " - -#: ../roundup/admin.py:631 -msgid "Instance home does not exist" -msgstr "Namų direktorija neegzistuoja" - -#: ../roundup/admin.py:635 -msgid "Instance has not been installed" -msgstr "Egzempliorius nebuvo įdiegtas" - -#: ../roundup/admin.py:641 -msgid "" -"WARNING: The database is already initialised!\n" -"If you re-initialise it, you will lose all the data!\n" -"Erase it? Y/N: " -msgstr "" -"PERSPĖJIMAS: Duomenų bazė jau inicializuota!\n" -"Jei jūs ją inicializuosite dar kartą, prarasite visus duomenis!\n" -"Ištrinti duomenų bazę? Y/N: " - -#: ../roundup/admin.py:661 +msgstr "" +"Naudojimas: reindex [klasės_vardas|dezignatorius]*\n" +" Regeneruoti tracker'io paieškos indeksus.\n" +"\n" +" Ši komanda regeneruoja paieškos indeksus tracker'iui.\n" +" Paprastai tai įvyksta automatiškai.\n" +" " + +#: ../roundup/admin.py:1560 +#, python-format +msgid "no such item \"%(designator)s\"" +msgstr "nėra elemento \"%(designator)s\"" + +#: ../roundup/admin.py:1570 +#, fuzzy, python-format +msgid "no such item \"%(class)s%(id)s\"" +msgstr "nėra elemento \"%(designator)s\"" + +#: ../roundup/admin.py:1582 #, fuzzy msgid "" -"Usage: get property designator[,designator]*\n" -" Get the given property of one or more designator(s).\n" +"Usage: restore designator[,designator]*\n" +" Restore the retired node specified by designator.\n" "\n" " A designator is a classname and a nodeid concatenated,\n" " eg. bug1, user10, ...\n" "\n" -" Retrieves the property value of the nodes specified\n" -" by the designators.\n" +" The given nodes will become available for users again.\n" " " msgstr "" -"Naudojimas: get parinktis dezignatorius[,dezignatorius]*\n" -" Gauti pateikto vieno ar kelių dezignatorių parinktį.\n" -"\n" -" Gauna elementų, nurodytų dezignatoriais, parinkties reikšmę.\n" -" " - -# ../roundup/admin.py:541 :556 -#: ../roundup/admin.py:705 ../roundup/admin.py:723 ../roundup/admin.py:705:723 -#, python-format -msgid "property %s is not of type Multilink or Link so -d flag does not apply." -msgstr "" -"parinktis %s nėra Multilink ar Link tipo, komandų eilutės parametras\n" -"-d netinkamas." +"Naudojimas: restore dezignatorius[,dezignatorius]*\n" +" Aktyvuoti deaktyvuotą elementą, nurodomą dezignatoriaus.\n" +"\n" +" Duotas elementas vėl taps prieinamas vartotojams.\n" +" " # ../roundup/admin.py:564 :964 :1013 :1035 -#: ../roundup/admin.py:733 ../roundup/admin.py:1297 ../roundup/admin.py:1352 -#: ../roundup/admin.py:733:1297:1352 -#, python-format -msgid "no such %(classname)s node \"%(nodeid)s\"" +#: ../roundup/admin.py:1607 +#, fuzzy +msgid "no such %(classname)s node \" % (nodeid)s\"" msgstr "nėra tokio %(classname)s elemento \"%(nodeid)s\"" -#: ../roundup/admin.py:736 -#, python-format -msgid "no such %(classname)s property \"%(propname)s\"" -msgstr "nėra tokio %(classname)s parinkties \"%(propname)s\"" - -#: ../roundup/admin.py:744 +#: ../roundup/admin.py:1613 #, fuzzy msgid "" -"Usage: set items property=value property=value ...\n" +"Usage: retire designator[,designator]*\n" +" Retire the node specified by designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This action indicates that a particular node is not to be retrieved\n" +" by the list or find commands, and its key value may be re-used.\n" +" " +msgstr "" +"Naudojimas: retire dezignatorius[,dezignatorius]*\n" +" Deaktyvuoti elementą nurodyta dezignatoriaus.\n" +"\n" +" Ši komanda nurodo, jog konkretus elementas nerodomas\n" +" list ar find komandų ir jo raktas gali būti panaudotas dar \n" +" kartą.\n" +" " + +#: ../roundup/admin.py:1641 +msgid "" +"Usage: rollback\n" +" Undo all changes that are pending commit to the database.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" manually. This command undoes all those changes, so a commit\n" +" immediately after would make no changes to the database.\n" +" " +msgstr "" +"Naudojimas: rollback\n" +" Anuliuoti visus pakeitimus duomenų bazėje, kurie turi būti \n" +" išsaugoti naudojant commit komandą.\n" +"\n" +" Pakeitimai, atlikti interaktyvios sesijos metu, nėra\n" +" automatiškai įrašomi į duomenų bazę - jie turi būti\n" +" išsaugomi rankinių būdu. Ši komanda anuliuoja visus\n" +" pakeitimus, taigi commit komanda iškarto po šios komandos\n" +" nepadarys jokių pakeitimų duomenų bazėje.\n" +" " + +#: ../roundup/admin.py:1654 +msgid "" +"Usage: security [Role name]\n" +"\n" +" Display the Permissions available to one or all Roles.\n" +" Also validates that any properties defined in a\n" +" permission are valid.\n" +"\n" +" Run this after changing your permissions to catch\n" +" typos.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1668 +#, fuzzy, python-format +msgid "No such Role \"%(role)s\"\n" +msgstr "Nėra tokios rolės \"%(role)s\"" + +#: ../roundup/admin.py:1674 +#, fuzzy, python-format +msgid "New Web users get the Roles \"%(role)s\"\n" +msgstr "Naujiems web vartotojams suteikiamos rolės \"%(role)s\"" + +#: ../roundup/admin.py:1677 +#, fuzzy, python-format +msgid "New Web users get the Role \"%(role)s\"\n" +msgstr "Naujiems web vartotojams suteikiama rolė \"%(role)s\"" + +#: ../roundup/admin.py:1681 +#, fuzzy, python-format +msgid "New Email users get the Roles \"%(role)s\"\n" +msgstr "Naujiems vartotojams per el. paštą suteikiamos rolės \"%(role)s\"" + +#: ../roundup/admin.py:1683 +#, fuzzy, python-format +msgid "New Email users get the Role \"%(role)s\"\n" +msgstr "Naujiems vartotojams per el. paštą suteikiama rolė \"%(role)s\"" + +#: ../roundup/admin.py:1686 +#, fuzzy, python-format +msgid "Role \"%(name)s\":\n" +msgstr "Rolė \"%(name)s\":" + +#: ../roundup/admin.py:1692 +#, fuzzy +msgid " %(description)s (%(name)s for \"%(klass)s\"" +msgstr " %(description)s (%(name)s skirta tik \"%(klass)s\")" + +#: ../roundup/admin.py:1692 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" +msgstr " %(description)s (%(name)s skirta tik \"%(klass)s\": %(properties)s)" + +#: ../roundup/admin.py:1705 +#, python-format +msgid "" +"\n" +" **Invalid properties for %(class)s: %(props)s\n" +"\n" +msgstr "" + +#: ../roundup/admin.py:1711 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" +msgstr " %(description)s (%(name)s skirta tik \"%(klass)s\")" + +#: ../roundup/admin.py:1714 +#, fuzzy, python-format +msgid " %(description)s (%(name)s)\n" +msgstr " %(description)s (%(name)s)" + +#: ../roundup/admin.py:1718 +#, fuzzy +msgid "" +"Usage: set items property=value [property=value ...]\n" " Set the given properties of one or more items(s).\n" "\n" " The items are specified as a class or as a comma-separated\n" @@ -586,62 +1238,7 @@ " reikšmės (t.y. \"1,2,3\").\n" " " -#: ../roundup/admin.py:812 -#, fuzzy -msgid "" -"Usage: filter classname propname=value ...\n" -" Find the nodes of the given class with a given property value.\n" -"\n" -" Find the nodes of the given class with a given property value.\n" -" Multiple values can be specified by separating them with commas.\n" -" If property is a string, all values must match. I.E. it's an\n" -" 'and' operation. If the property is a link/multilink any value\n" -" matches. I.E. an 'or' operation.\n" -" " -msgstr "" -"Naudojimas: find klasėsvardas parinktis=reikšmė ...\n" -" Rasti duotos klasės elementus, atitinkančius pateiktos sąsajos\n" -" parinkties reikšmę.\n" -"\n" -" Rasti duotos klasės elementus, atitinkančius pateiktos sqsajos\n" -" parinkties reikšmę. Reikšmė gali būti arba susieto elemento id\n" -" arba jo raktinė reikšmė.\n" -" " - -# ../roundup/admin.py:682 :835 :847 :901 -#: ../roundup/admin.py:855 -#, fuzzy, python-format -msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." -msgstr "%(classname)s neturi parinkties \"%(propname)s\"" - -# ../roundup/admin.py:682 :835 :847 :901 -#: ../roundup/admin.py:893 ../roundup/admin.py:954 ../roundup/admin.py:1118 -#: ../roundup/admin.py:1130 ../roundup/admin.py:1213 -#: ../roundup/admin.py:893:954 :1118:1130:1213 -#, python-format -msgid "%(classname)s has no property \"%(propname)s\"" -msgstr "%(classname)s neturi parinkties \"%(propname)s\"" - -#: ../roundup/admin.py:900 -msgid "" -"Usage: find classname propname=value ...\n" -" Find the nodes of the given class with a given link property value.\n" -"\n" -" Find the nodes of the given class with a given link property value.\n" -" The value may be either the nodeid of the linked node, or its key\n" -" value.\n" -" " -msgstr "" -"Naudojimas: find klasėsvardas parinktis=reikšmė ...\n" -" Rasti duotos klasės elementus, atitinkančius pateiktos sąsajos\n" -" parinkties reikšmę.\n" -"\n" -" Rasti duotos klasės elementus, atitinkančius pateiktos sqsajos\n" -" parinkties reikšmę. Reikšmė gali būti arba susieto elemento id\n" -" arba jo raktinė reikšmė.\n" -" " - -#: ../roundup/admin.py:961 +#: ../roundup/admin.py:1786 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -655,132 +1252,17 @@ " Ši komanda išvardina duotos klasės parinktis.\n" " " -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1802 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s (key property)" -#: ../roundup/admin.py:980 +#: ../roundup/admin.py:1805 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:983 -#, fuzzy -msgid "" -"Usage: display designator[,designator]*\n" -"\n" -" Show the property values for the given node(s).\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This lists the properties and their associated values\n" -" for the given node.\n" -" " -msgstr "" -"Naudojimas: display dezignatorius[, dezignatorius]*\n" -" Rodyti duoto elemento(ų) parinkties reikšmes.\n" -"\n" -" Ši komanda išvardina parinktis ir jų reikšmes duotam elementui.\n" -" " - -#: ../roundup/admin.py:1010 -#, python-format -msgid "%(key)s: %(value)s" -msgstr "%(key)s: %(value)s" - -#: ../roundup/admin.py:1013 -msgid "" -"Usage: create classname property=value ...\n" -" Create a new entry of a given class.\n" -"\n" -" This creates a new entry of the given class using the property\n" -" name=value arguments provided on the command line after the \"create" -"\"\n" -" command.\n" -" " -msgstr "" -"Naudojimas: create klasėsvardas parinktis=reikšmė ...\n" -" Sukurti naują įrašą duotai klasei.\n" -"\n" -" Ši komanda sukuria naują įrašą duotai klasei naudodama\n" -" parinkties vardas=reikšmė argumentus, pateikiamus komandinėje\n" -" eilutėje po \"create\" komandos.\n" -" " - -#: ../roundup/admin.py:1041 -#, python-format -msgid "%(propname)s (Password): " -msgstr "%(propname)s (Slaptažodis): " - -#: ../roundup/admin.py:1044 -#, python-format -msgid " %(propname)s (Again): " -msgstr " %(propname)s (Pakartoti): " - -#: ../roundup/admin.py:1048 -msgid "Sorry, try again..." -msgstr "Bandykite dar kartą..." - -#: ../roundup/admin.py:1052 -#, python-format -msgid "%(propname)s (%(proptype)s): " -msgstr "%(propname)s (%(proptype)s): " - -#: ../roundup/admin.py:1071 -#, python-format -msgid "you must provide the \"%(propname)s\" property." -msgstr "turite pateikti parinktį \"%(propname)s\"." - -#: ../roundup/admin.py:1083 -msgid "" -"Usage: list classname [property]\n" -" List the instances of a class.\n" -"\n" -" Lists all instances of the given class. If the property is not\n" -" specified, the \"label\" property is used. The label property is\n" -" tried in order: the key, \"name\", \"title\" and then the first\n" -" property, alphabetically.\n" -"\n" -" With -c, -S or -s print a list of item id's if no property\n" -" specified. If property specified, print list of that property\n" -" for every class instance.\n" -" " -msgstr "" -"Naudojimas: list klasėsvardas [parinktis]\n" -" Išvardina klasės egzempliorius.\n" -"\n" -" Išvardina visus duotos klasės egzempliorius. Jei parinktis \n" -" nenurodyta, naudojama \"label\" parinktis. Ji yra bandoma\n" -" iš eilės: raktas, \"vardas\", \"pavadinimas\", o tada pirma\n" -" iš eilės parinktis abėcėlės tvarka.\n" -"\n" -" Pasirinkus -c, -S ar -s atvaizduoja sąrašą elementų id jei nėra\n" -" nurodyta parinktis. Jei parinktis nurodyta, atvaizduojamas tos\n" -" parinkties sąrašas kiekvienam klasės egzemplioriui.\n" -" " - -#: ../roundup/admin.py:1096 -msgid "Too many arguments supplied" -msgstr "Pateikta per daug argumentų" - -#: ../roundup/admin.py:1132 -#, python-format -msgid "%(nodeid)4s: %(value)s" -msgstr "%(nodeid)4s: %(value)s" - -#: ../roundup/admin.py:1136 -msgid "" -"Usage: templates [trace_search]\n" -" List templates and their installed directories.\n" -"\n" -" With trace_search also list all directories that are\n" -" searched for templates.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1164 +#: ../roundup/admin.py:1808 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -842,468 +1324,71 @@ " pateiks 4 simbolių ilgio \"Name\" stulpelį.\n" " " -#: ../roundup/admin.py:1208 +#: ../roundup/admin.py:1852 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "\"%(spec)s\" ne vardas:plotis" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1874 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1266 -msgid "" -"Usage: history designator [skipquiet]\n" -" Show the history entries of a designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" Lists the journal entries viewable by the user for the\n" -" node identified by the designator. If skipquiet is the\n" -" second argument, journal entries for quiet properties\n" -" are not shown.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1302 -msgid "" -"Usage: commit\n" -" Commit changes made to the database during an interactive session.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" using this command.\n" -"\n" -" One-off commands on the command-line are automatically committed if\n" -" they are successful.\n" -" " -msgstr "" -"Naudojimas: commit\n" -" Išsaugoti pakeitimus atliktus duomenų bazėje interaktyvios\n" -" sesijos metu.\n" -"\n" -" Pakeitimai, atlikti interaktyvios sesijos metu, nėra \n" -" automatiškai įrašomi į duomenų bazę - jie turi būti išsaugomi \n" -" šios komandos pagalba.\n" -"\n" -" Vienetinės komandos komandinėje eilutėje yra atutomatiškai \n" -" išsaugomos, jei jos įvykdomos sėkmingai.\n" -" " - -#: ../roundup/admin.py:1317 +#: ../roundup/admin.py:1910 msgid "" -"Usage: rollback\n" -" Undo all changes that are pending commit to the database.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" manually. This command undoes all those changes, so a commit\n" -" immediately after would make no changes to the database.\n" -" " -msgstr "" -"Naudojimas: rollback\n" -" Anuliuoti visus pakeitimus duomenų bazėje, kurie turi būti \n" -" išsaugoti naudojant commit komandą.\n" -"\n" -" Pakeitimai, atlikti interaktyvios sesijos metu, nėra\n" -" automatiškai įrašomi į duomenų bazę - jie turi būti\n" -" išsaugomi rankinių būdu. Ši komanda anuliuoja visus\n" -" pakeitimus, taigi commit komanda iškarto po šios komandos\n" -" nepadarys jokių pakeitimų duomenų bazėje.\n" +"Usage: templates [trace_search]\n" +" List templates and their installed directories.\n" +"\n" +" With trace_search also list all directories that are\n" +" searched for templates.\n" " " - -#: ../roundup/admin.py:1330 -#, fuzzy -msgid "" -"Usage: retire designator[,designator]*\n" -" Retire the node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This action indicates that a particular node is not to be retrieved\n" -" by the list or find commands, and its key value may be re-used.\n" -" " -msgstr "" -"Naudojimas: retire dezignatorius[,dezignatorius]*\n" -" Deaktyvuoti elementą nurodyta dezignatoriaus.\n" -"\n" -" Ši komanda nurodo, jog konkretus elementas nerodomas\n" -" list ar find komandų ir jo raktas gali būti panaudotas dar \n" -" kartą.\n" -" " - -#: ../roundup/admin.py:1358 +msgstr "" + +#: ../roundup/admin.py:1938 #, fuzzy msgid "" -"Usage: restore designator[,designator]*\n" -" Restore the retired node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" The given nodes will become available for users again.\n" -" " -msgstr "" -"Naudojimas: restore dezignatorius[,dezignatorius]*\n" -" Aktyvuoti deaktyvuotą elementą, nurodomą dezignatoriaus.\n" -"\n" -" Duotas elementas vėl taps prieinamas vartotojams.\n" -" " - -# ../roundup/admin.py:564 :964 :1013 :1035 -#: ../roundup/admin.py:1383 -#, fuzzy -msgid "no such %(classname)s node \" % (nodeid)s\"" -msgstr "nėra tokio %(classname)s elemento \"%(nodeid)s\"" - -#. grab the directory to export to -#: ../roundup/admin.py:1389 -msgid "" -"Usage: export [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files.\n" -" To exclude the files (e.g. for the msg or file class),\n" -" use the exporttables command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" -"Naudojimas: export [[-]klasė[,klasė]] eksporto_direktorija\n" -" Eksportuoti duomenų bazę kaip kableliais atskirtų reikšmių failą.\n" -" Norėdami neįtraukti failų (pvz. msg ar file klasių), naudokite\n" -" exporttables komandą.\n" -"\n" -" Galima apriboti eksportą tik tam tikromis klasėmis arba neįtraukti\n" -" tam tikrų klasių, jei pirmas argumentas prasideda '-'.\n" -"\n" -" Ši komanda eksportuoja dabartinius duomenis iš duomenų bazės\n" -" į kableliais atskirtų reikšmių failus, kurie išsaugomi nurodytoje\n" -" direktorijoje.\n" -" " - -#: ../roundup/admin.py:1496 -msgid "" -"Usage: exporttables [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files, excluding the\n" -" files below $TRACKER_HOME/db/files/ (which can be archived " -"separately).\n" -" To include the files, use the export command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" +"Usage: updateconfig <filename>\n" +" Generate an updated tracker config file (ini style) in\n" +" <filename>. Use current settings from existing roundup\n" +" tracker in tracker home.\n" " " msgstr "" -"Naudojimas: exporttables [[-]klasė[,klasė]] eksporto_direktorija\n" -" Eksportuoti duomenų bazę kaip kableliais atskirtų reikšmių failą,\n" -" neįtraukiant $TRACKER_HOME/db/files/ failų (jie gali būti " -"archyvuojami\n" -" atskirai). Norėdami įtraukti failus, naudokite export komandą.\n" -"\n" -" Galima apriboti eksportą tik tam tikromis klasėmis arba neįtraukti\n" -" tam tikrų klasių, jei pirmas argumentas prasideda '-'.\n" -"\n" -" Ši komanda eksportuoja dabartinius duomenis iš duomenų bazės\n" -" į kableliais atskirtų reikšmių failus, kurie išsaugomi nurodytoje\n" -" direktorijoje.\n" -" " - -#: ../roundup/admin.py:1511 -msgid "" -"Usage: import import_dir\n" -" Import a database from the directory containing CSV files,\n" -" two per class to import.\n" -"\n" -" The files used in the import are:\n" -"\n" -" <class>.csv\n" -" This must define the same properties as the class (including\n" -" having a \"header\" line with those property names.)\n" -" <class>-journals.csv\n" -" This defines the journals for the items being imported.\n" -"\n" -" The imported nodes will have the same nodeid as defined in the\n" -" import file, thus replacing any existing content.\n" -"\n" -" The new nodes are added to the existing database - if you want to\n" -" create a new database using the imported data, then create a new\n" -" database (or, tediously, retire all the old data.)\n" -" " -msgstr "" -"Naudojimas: import importo_direktorija\n" -" Importuoti duomenų bazę iš direktorijos su CSV failais,\n" -" vienai klasei -- du failai.\n" -"\n" -" Failai, kurių reikia importui yra:\n" -"\n" -" <klasė>.csv\n" -" Šis failas turi nurodyti tokias pačias parinktis kaip ir\n" -" klasė (taip pat turi turėti antraštę su parinkčių vardais.)\n" -" <klasė>-journals.csv\n" -" Šis failas apibrėžia importuojamų vienetų žurnalus.\n" -"\n" -" Importuoti elementai turės tuos pačius elementų id kaip\n" -" nurodyta importo failuose, tokiu būdu pakeisdami bet kokį esamą\n" -" turinį.\n" -"\n" -" Nauji elementai pridedami prie esamos duomenų bazės -- jei \n" -" norite sukurti naują duomenų bazę naudodami importuojamus \n" -" duomenis, tada reikia sukurti naują duomenų bazę (arba \n" -" deaktyvuoti visus esamus duomenis -- daug darbo reikalaujantis\n" -" veiksmas).\n" -" " - -#: ../roundup/admin.py:1590 -msgid "" -"Usage: importtables export_dir\n" -"\n" -" This imports the database tables exported using exporttables.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1597 -msgid "" -"Usage: pack period | date\n" -"\n" -" Remove journal entries older than a period of time specified or\n" -" before a certain date.\n" -"\n" -" A period is specified using the suffixes \"y\", \"m\", and \"d\". " -"The\n" -" suffix \"w\" (for \"week\") means 7 days.\n" -"\n" -" \"3y\" means three years\n" -" \"2y 1m\" means two years and one month\n" -" \"1m 25d\" means one month and 25 days\n" -" \"2w 3d\" means two weeks and three days\n" -"\n" -" Date format is \"YYYY-MM-DD\" eg:\n" -" 2001-01-01\n" -"\n" +"Naudojimas: genconfig <failovardas>\n" +" Generuoti naują tracker'io konfigūracijos failą (ini tipo) su\n" +" įprastomis reikšmėmis faile <failovardas>.\n" " " -msgstr "" -"Naudojimas: pack periodas | data\n" -"\n" -" Pašalinti žurnalo įrašus senesnius nei nurodytas laiko tarpas\n" -" ar atsiradusius anksčiau nei nurodyta data.\n" -"\n" -" Periodas norodomas naudojant priesagas \"y\", \"m\" ir \"d\".\n" -" Priesaga \"w\" (savaitė (week)) reiškia 7 dienas.\n" -"\n" -" \"3y\" reiškia tris metus\n" -" \"2y 1m\" reiškia du mentus ir vieną mėnesį\n" -" \"1m 25d\" reiškia vieną mėnesį ir 25 dienas\n" -" \"2w 3d\" reiškia dvi saivaites ir tris dienas\n" -" \n" -" Datos formatas yra \"YYYY-MM-DD\" pvz:\n" -" 2001-12-31 \n" -"\n" -" " - -#: ../roundup/admin.py:1625 -msgid "Invalid format" -msgstr "Netinkamas formatas" - -#: ../roundup/admin.py:1638 -msgid "" -"Usage: reindex [classname|designator]*\n" -" Re-generate a tracker's search indexes.\n" -"\n" -" This will re-generate the search indexes for a tracker.\n" -" This will typically happen automatically.\n" -" " -msgstr "" -"Naudojimas: reindex [klasės_vardas|dezignatorius]*\n" -" Regeneruoti tracker'io paieškos indeksus.\n" -"\n" -" Ši komanda regeneruoja paieškos indeksus tracker'iui.\n" -" Paprastai tai įvyksta automatiškai.\n" -" " - -#: ../roundup/admin.py:1652 -#, python-format -msgid "no such item \"%(designator)s\"" -msgstr "nėra elemento \"%(designator)s\"" - -#: ../roundup/admin.py:1662 -#, fuzzy -msgid "" -"Usage: security [Role name]\n" -"\n" -" Display the Permissions available to one or all Roles.\n" -" " -msgstr "" -"Naudojimas: security [Rolės pavadinimas]\n" -" Parodo vienos ar kelių rolių permisijas.\n" -" " - -#: ../roundup/admin.py:1671 -#, fuzzy, python-format -msgid "No such Role \"%(role)s\"\n" -msgstr "Nėra tokios rolės \"%(role)s\"" - -#: ../roundup/admin.py:1677 -#, fuzzy, python-format -msgid "New Web users get the Roles \"%(role)s\"\n" -msgstr "Naujiems web vartotojams suteikiamos rolės \"%(role)s\"" - -#: ../roundup/admin.py:1680 -#, fuzzy, python-format -msgid "New Web users get the Role \"%(role)s\"\n" -msgstr "Naujiems web vartotojams suteikiama rolė \"%(role)s\"" - -#: ../roundup/admin.py:1684 -#, fuzzy, python-format -msgid "New Email users get the Roles \"%(role)s\"\n" -msgstr "Naujiems vartotojams per el. paštą suteikiamos rolės \"%(role)s\"" - -#: ../roundup/admin.py:1686 -#, fuzzy, python-format -msgid "New Email users get the Role \"%(role)s\"\n" -msgstr "Naujiems vartotojams per el. paštą suteikiama rolė \"%(role)s\"" - -#: ../roundup/admin.py:1689 -#, fuzzy, python-format -msgid "Role \"%(name)s\":\n" -msgstr "Rolė \"%(name)s\":" - -#: ../roundup/admin.py:1695 -#, fuzzy -msgid " %(description)s (%(name)s for \"%(klass)s\"" -msgstr " %(description)s (%(name)s skirta tik \"%(klass)s\")" - -#: ../roundup/admin.py:1695 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" -msgstr " %(description)s (%(name)s skirta tik \"%(klass)s\": %(properties)s)" - -#: ../roundup/admin.py:1708 -#, python-format -msgid "" -"\n" -" **Invalid properties for %(class)s: %(props)s\n" -"\n" -msgstr "" - -#: ../roundup/admin.py:1714 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" -msgstr " %(description)s (%(name)s skirta tik \"%(klass)s\")" - -#: ../roundup/admin.py:1717 -#, fuzzy, python-format -msgid " %(description)s (%(name)s)\n" -msgstr " %(description)s (%(name)s)" - -#: ../roundup/admin.py:1721 -msgid "" -"Usage: migrate\n" -"\n" -" Update a tracker's database to be compatible with the Roundup\n" -" codebase.\n" -"\n" -" You should run the \"migrate\" command for your tracker once\n" -" you've installed the latest codebase.\n" -"\n" -" Do this before you use the web, command-line or mail interface\n" -" and before any users access the tracker.\n" -"\n" -" This command will respond with either \"Tracker updated\" (if\n" -" you've not previously run it on an RDBMS backend) or \"No\n" -" migration action required\" (if you have run it, or have used\n" -" another interface to the tracker, or possibly because you are\n" -" using anydbm).\n" -"\n" -" It's safe to run this even if it's not required, so just get\n" -" into the habit.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1742 -#, python-format -msgid "Tracker updated to schema version %s." -msgstr "" - -#: ../roundup/admin.py:1746 -#, python-format -msgid "No migration action required. At schema version %s." -msgstr "" - -#: ../roundup/admin.py:1751 -msgid "" -"Usage: perftest [mode] [arguments]*\n" -"\n" -" Time operations in Roundup. Supported arguments:\n" -"\n" -" [password] [rounds=<integer>] [scheme=<scheme>]\n" -"\n" -" 'password' is the default mode. The tracker's config.ini\n" -" setting for 'password_pbkdf2_default_rounds' is the default\n" -" value for 'rounds'. On the command line, 'rounds' can include\n" -" thousands separator of ',' or '.'. 'scheme' is the default\n" -" coded into Roundup. List supported schemes by using 'scheme='.\n" -"\n" -" " -msgstr "" - -#: ../roundup/admin.py:1785 -msgid "Invalid 'rounds'. Must be larger than 999." -msgstr "" - -#: ../roundup/admin.py:1789 -#, python-format -msgid "Invalid 'rounds'. It must be an integer not: %s" -msgstr "" - -#: ../roundup/admin.py:1816 -msgid "scheme does not support rounds." -msgstr "" - -#: ../roundup/admin.py:1819 -#, python-format -msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" -msgstr "" - -#: ../roundup/admin.py:1847 + +# ../roundup/cgi/actions.py:579 :590 :761 :780 +#: ../roundup/admin.py:1946 ../roundup/cgi/actions.py:886 +#: ../roundup/cgi/actions.py:897 ../roundup/cgi/actions.py:1099 +#: ../roundup/cgi/actions.py:1113 ../roundup/cgi/actions.py:886:897 :1099:1113 +#, python-format +msgid "Error: %s" +msgstr "Klaida: %s" + +#: ../roundup/admin.py:1974 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "" "Nežinoma komanda \"%(command)s\" (įveskite \"help commands\" komandų\n" "sąrašui gauti)" -#: ../roundup/admin.py:1853 +#: ../roundup/admin.py:1980 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "Kelios komandos atitinka \"%(command)s\": %(list)s" -#: ../roundup/admin.py:1862 +#: ../roundup/admin.py:1996 msgid "Enter tracker home: " msgstr "Įveskite tracker'io namų direktoriją: " -# ../roundup/admin.py:1312 :1318 :1338 -#: ../roundup/admin.py:1871 ../roundup/admin.py:1877 ../roundup/admin.py:1914 -#: ../roundup/admin.py:1871:1877:1914 -#, python-format -msgid "Error: %(message)s" -msgstr "Klaida: %(message)s" - -#: ../roundup/admin.py:1887 ../roundup/admin.py:1891 -#: ../roundup/admin.py:1887:1891 +#: ../roundup/admin.py:2023 ../roundup/admin.py:2027 +#: ../roundup/admin.py:2023:2027 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "Klaida: Negaliu atidaryti tracker'io: %(message)s" -#: ../roundup/admin.py:1927 +#: ../roundup/admin.py:2060 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1312,15 +1397,15 @@ "Roundup %s pasiruošęs priimti duomenis.\n" "Norėdami iškviesti pagalbą įveskite \"help\"." -#: ../roundup/admin.py:1932 +#: ../roundup/admin.py:2065 msgid "Note: command history and editing not available" msgstr "Pastaba: komandų archyvas ir redagavimas neprieinami" -#: ../roundup/admin.py:1938 +#: ../roundup/admin.py:2071 msgid "exit..." msgstr "išeiti..." -#: ../roundup/admin.py:1951 +#: ../roundup/admin.py:2084 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "Yra neišsaugotų pakeitimų. Išsaugoti juos (y/N)? " @@ -1354,7 +1439,7 @@ #: ../roundup/backends/back_anydbm.py:1422 #: ../roundup/backends/back_anydbm.py:1440 #: ../roundup/backends/back_anydbm.py:1487 -#: ../roundup/backends/back_anydbm.py:2117 +#: ../roundup/backends/back_anydbm.py:2113 #: ../roundup/backends/back_anydbm.py:871:884 #: ../roundup/backends/rdbms_common.py:1708 #: ../roundup/backends/rdbms_common.py:1955 @@ -1363,7 +1448,7 @@ #: ../roundup/backends/rdbms_common.py:2267 #: ../roundup/backends/rdbms_common.py:3219 #: ../roundup/backends/rdbms_common.py:1708:1955 :1158:1193 :1422:1440:1487 -#: :2117 :2194:2214 :2267:3219 +#: :2113 :2194:2214 :2267:3219 msgid "Database open read-only" msgstr "" @@ -1613,14 +1698,6 @@ msgid "Edit Error: %s" msgstr "Redagavimo klaida: %s" -# ../roundup/cgi/actions.py:579 :590 :761 :780 -#: ../roundup/cgi/actions.py:886 ../roundup/cgi/actions.py:897 -#: ../roundup/cgi/actions.py:1099 ../roundup/cgi/actions.py:1113 -#: ../roundup/cgi/actions.py:886:897 :1099:1113 -#, python-format -msgid "Error: %s" -msgstr "Klaida: %s" - #: ../roundup/cgi/actions.py:931 msgid "" "Invalid One Time Key!\n" @@ -1878,8 +1955,8 @@ "Apie klaidą pranešėme tracker'io administratoriui.</p>\n" "</body></html>" -#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 -#: ../roundup/cgi/client.py:670:1570 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:670:1567 msgid "Required Header Missing" msgstr "" @@ -1888,140 +1965,140 @@ msgid "Client is not allowed to use Rest Interface." msgstr "Anoniminiai vartotojai neturi teisių naudoti web interfeisą" -#: ../roundup/cgi/client.py:921 +#: ../roundup/cgi/client.py:918 msgid "Form Error: " msgstr "Formos klaida: " -#: ../roundup/cgi/client.py:1011 +#: ../roundup/cgi/client.py:1008 #, python-format msgid "Unrecognized charset: %r" msgstr "Neatpažinta koduotė: %r" -#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 -#: ../roundup/cgi/client.py:1264:2250 +#: ../roundup/cgi/client.py:1261 ../roundup/cgi/client.py:2247 +#: ../roundup/cgi/client.py:1261:2247 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1279 +#: ../roundup/cgi/client.py:1276 msgid "Anonymous users are not allowed to use the web interface" msgstr "Anoniminiai vartotojai neturi teisių naudoti web interfeisą" -#: ../roundup/cgi/client.py:1430 +#: ../roundup/cgi/client.py:1427 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1434 +#: ../roundup/cgi/client.py:1431 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1463 +#: ../roundup/cgi/client.py:1460 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1467 +#: ../roundup/cgi/client.py:1464 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1475 +#: ../roundup/cgi/client.py:1472 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" # ../roundup/cgi/actions.py:897 :901 -#: ../roundup/cgi/client.py:1480 +#: ../roundup/cgi/client.py:1477 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "Neteisingas vartotojo vardas ar slaptažodis" -#: ../roundup/cgi/client.py:1495 +#: ../roundup/cgi/client.py:1492 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" # ../roundup/cgi/actions.py:897 :901 -#: ../roundup/cgi/client.py:1500 +#: ../roundup/cgi/client.py:1497 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "Neteisingas vartotojo vardas ar slaptažodis" -#: ../roundup/cgi/client.py:1514 +#: ../roundup/cgi/client.py:1511 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1520 +#: ../roundup/cgi/client.py:1517 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1539 +#: ../roundup/cgi/client.py:1536 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1544 +#: ../roundup/cgi/client.py:1541 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1552 +#: ../roundup/cgi/client.py:1549 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1553 +#: ../roundup/cgi/client.py:1550 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:1564 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1608 +#: ../roundup/cgi/client.py:1605 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 -#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 +#: ../roundup/cgi/client.py:1607 ../roundup/cgi/client.py:1634 +#: ../roundup/cgi/client.py:1651 ../roundup/cgi/client.py:1607:1634:1651 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1614 +#: ../roundup/cgi/client.py:1611 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1626 +#: ../roundup/cgi/client.py:1623 #, python-format msgid "" "Csrf mismatch user: current user %(user)s != stored user %(stored)s, current " "session, stored session: %(cur_sess)s,%(stor_sess)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1644 +#: ../roundup/cgi/client.py:1641 #, python-format msgid "" "Csrf mismatch user: current session %(curr_sess)s != stored session " "%(stor_sess)s, current user/stored user is: %(user)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1838 +#: ../roundup/cgi/client.py:1835 msgid "You are not allowed to view this file." msgstr "Jūs neturite teisių žiūrėti šį failą." -#: ../roundup/cgi/client.py:2127 +#: ../roundup/cgi/client.py:2124 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "%(starttag)sPraėjęs laikas: %(seconds)fs%(endtag)s\n" -#: ../roundup/cgi/client.py:2131 +#: ../roundup/cgi/client.py:2128 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " @@ -2031,7 +2108,7 @@ "%(cache_misses)d. Įkeliami elementai: %(get_items)f sek. Filtruojama: " "%(filtering)f sek.%(endtag)s\n" -#: ../roundup/cgi/client.py:2669 +#: ../roundup/cgi/client.py:2666 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2232,16 +2309,16 @@ msgid "<option %svalue=\"-1\">- no selection -</option>" msgstr "<option %svalue=\"-1\">- nepasirinkta -</option>" -#: ../roundup/cgi/timestamp.py:19 +#: ../roundup/cgi/timestamp.py:23 msgid "Form is corrupted." msgstr "" -#: ../roundup/cgi/timestamp.py:28 +#: ../roundup/cgi/timestamp.py:32 #, python-format msgid "Form is corrupted, missing: %s." msgstr "" -#: ../roundup/cgi/timestamp.py:30 +#: ../roundup/cgi/timestamp.py:34 msgid "Responding to form too quickly." msgstr "" @@ -2404,54 +2481,54 @@ msgid "in %s" msgstr "po %s" -#: ../roundup/hyperdb.py:119 +#: ../roundup/hyperdb.py:120 #, fuzzy, python-format msgid "property %(property)s: %(errormsg)s" msgstr "Klaida: %s: %s" -#: ../roundup/hyperdb.py:148 +#: ../roundup/hyperdb.py:149 #, python-format msgid "property %(property)s: %(value)r is an invalid date (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:171 +#: ../roundup/hyperdb.py:172 #, python-format msgid "" "property %(property)s: %(value)r is an invalid date interval (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:428 +#: ../roundup/hyperdb.py:429 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a number" msgstr "parinkties \"%(propname)s\": \"%(value)s\" nėra sąraše" -#: ../roundup/hyperdb.py:442 +#: ../roundup/hyperdb.py:443 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not an integer" msgstr "parinkties \"%(propname)s\": \"%(value)s\" nėra sąraše" -#: ../roundup/hyperdb.py:464 +#: ../roundup/hyperdb.py:465 #, python-format msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 -#: ../roundup/hyperdb.py:1493:1501 +#: ../roundup/hyperdb.py:1494 ../roundup/hyperdb.py:1502 +#: ../roundup/hyperdb.py:1494:1502 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1978 +#: ../roundup/hyperdb.py:1979 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "parinkties \"%(propname)s\": \"%(value)s\" nėra sąraše" -#: ../roundup/hyperdb.py:1984 +#: ../roundup/hyperdb.py:1985 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2019 +#: ../roundup/hyperdb.py:2020 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" @@ -2762,116 +2839,116 @@ msgstr "" # ../roundup/cgi/actions.py:897 :901 -#: ../roundup/rest.py:1097 +#: ../roundup/rest.py:1101 #, fuzzy, python-format msgid "Invalid attribute %s" msgstr "Neteisingas vartotojo vardas ar slaptažodis" -#: ../roundup/rest.py:2090 +#: ../roundup/rest.py:2094 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2125 +#: ../roundup/rest.py:2129 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2305 +#: ../roundup/rest.py:2309 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " "supported versions." msgstr "" -#: ../roundup/roundupdb.py:139 +#: ../roundup/roundupdb.py:140 #, python-format msgid "Username '%s' already exists." msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "files" msgstr "failai" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "messages" msgstr "pranešimai" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "nosy" msgstr "informuoti" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "superseder" msgstr "pirmtakas" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "title" msgstr "antraštė" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "assignedto" msgstr "priskirta" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 #, fuzzy msgid "keyword" msgstr "Raktinis žodis" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "priority" msgstr "prioritetas" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "status" msgstr "statusas" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "activity" msgstr "veiksmas" #. following properties are common for all hyperdb classes #. they are listed here to keep things in one place -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "actor" msgstr "veikėjas" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creation" msgstr "sukūrimas" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creator" msgstr "kūrėjas" -#: ../roundup/roundupdb.py:425 +#: ../roundup/roundupdb.py:426 #, python-format msgid "No key for \"%(adr)s\" in keyring" msgstr "" -#: ../roundup/roundupdb.py:503 +#: ../roundup/roundupdb.py:504 #, python-format msgid "New submission from %(authname)s%(authaddr)s:" msgstr "Nauja pateiktis nuo %(authname)s%(authaddr)s:" -#: ../roundup/roundupdb.py:506 +#: ../roundup/roundupdb.py:507 #, python-format msgid "%(authname)s%(authaddr)s added the comment:" msgstr "%(authname)s%(authaddr)s parašė komentarą:" -#: ../roundup/roundupdb.py:509 +#: ../roundup/roundupdb.py:510 #, fuzzy, python-format msgid "Change by %(authname)s%(authaddr)s:" msgstr "Nauja pateiktis nuo %(authname)s%(authaddr)s:" -#: ../roundup/roundupdb.py:528 +#: ../roundup/roundupdb.py:529 #, python-format msgid "File '%(filename)s' not attached - you can download it from %(link)s." msgstr "" -#: ../roundup/roundupdb.py:903 +#: ../roundup/roundupdb.py:904 #, fuzzy, python-format msgid "" "\n" @@ -2886,12 +2963,12 @@ "Buvo:\n" "%s" -#: ../roundup/scripts/roundup_demo.py:49 +#: ../roundup/scripts/roundup_demo.py:156 #, python-format msgid "Enter directory path to create demo tracker [%s]: " msgstr "Įveskite kelią į direktoriją demo track'erio sukūrimui [%s]: " -#: ../roundup/scripts/roundup_demo.py:54 +#: ../roundup/scripts/roundup_demo.py:162 #, python-format msgid "" "Enter tracker template to use (one of (%(template_list)s)) " @@ -2983,23 +3060,23 @@ msgid "User %(user)s doesn't exist" msgstr "Vartotojo %(user)s nėra" -#: ../roundup/scripts/roundup_server.py:805 +#: ../roundup/scripts/roundup_server.py:809 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "Multiprocesinė aplinka \"%s\" neprieinama, perjungiu į vienprocesinę" -#: ../roundup/scripts/roundup_server.py:832 +#: ../roundup/scripts/roundup_server.py:837 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "Negaliu prijungti prie jungties %s, jungtis jau naudojama." -#: ../roundup/scripts/roundup_server.py:836 +#: ../roundup/scripts/roundup_server.py:841 #, fuzzy, python-format msgid "" "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s" msgstr "Negaliu prijungti prie jungties %s, jungtis jau naudojama." -#: ../roundup/scripts/roundup_server.py:915 +#: ../roundup/scripts/roundup_server.py:920 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -3016,7 +3093,7 @@ " Įvedę \"roundup-server -c help\" pamatysite Windows Services\n" " specifiką." -#: ../roundup/scripts/roundup_server.py:922 +#: ../roundup/scripts/roundup_server.py:927 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -3030,7 +3107,7 @@ " nurodytą PIDfaile. Parinktis -l *privalo* būti nurodyta\n" " jei naudojama -d." -#: ../roundup/scripts/roundup_server.py:929 +#: ../roundup/scripts/roundup_server.py:934 #, fuzzy, python-format msgid "" "\n" @@ -3051,6 +3128,8 @@ " -N log client machine names instead of IP addresses (much " "slower)\n" " -i <fname> set tracker index template\n" +" -m <children> maximum number of children to spawn in fork multiprocess " +"mode\n" " -s enable SSL\n" " -L http request logging uses python logging (roundup.http)\n" " -e <fname> PEM file containing SSL key and certificate\n" @@ -3150,21 +3229,21 @@ " nesupras.\n" "\n" -#: ../roundup/scripts/roundup_server.py:1105 +#: ../roundup/scripts/roundup_server.py:1111 msgid "Instances must be name=home" msgstr "Egzempliorius turi būti nurodomas taip: vardas=namų_direktorija" -#: ../roundup/scripts/roundup_server.py:1119 +#: ../roundup/scripts/roundup_server.py:1125 #, python-format msgid "Configuration saved to %s" msgstr "Konfigūracija išsaugota %s" -#: ../roundup/scripts/roundup_server.py:1137 +#: ../roundup/scripts/roundup_server.py:1143 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "" "Jūs negalite paleisti serverio kaip daemon'o šioje operacinėje sistemoje" -#: ../roundup/scripts/roundup_server.py:1157 +#: ../roundup/scripts/roundup_server.py:1163 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "Roundup serveris paleistas ant %(HOST)s:%(PORT)s" @@ -5651,6 +5730,21 @@ msgstr "Prisijungimo slaptažodis" #, fuzzy +#~ msgid "" +#~ "Usage: security [Role name]\n" +#~ "\n" +#~ " Display the Permissions available to one or all Roles.\n" +#~ " " +#~ msgstr "" +#~ "Naudojimas: security [Rolės pavadinimas]\n" +#~ " Parodo vienos ar kelių rolių permisijas.\n" +#~ " " + +# ../roundup/admin.py:1312 :1318 :1338 +#~ msgid "Error: %(message)s" +#~ msgstr "Klaida: %(message)s" + +#, fuzzy #~ msgid "Tracker updated" #~ msgstr "Tracker'io namų direktorija"
--- a/locale/nb.po Wed May 24 15:05:09 2023 -0400 +++ b/locale/nb.po Wed May 24 20:35:53 2023 -0400 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Roundup 2.3.0\n" "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-03-03 17:28-0500\n" +"POT-Creation-Date: 2023-05-24 20:34-0400\n" "PO-Revision-Date: 2013-10-31 12:21+0100\n" "Last-Translator: Christian Aastorp <christian.aastorp@gmail.com>\n" "Language-Team: Norwegian Bokmal <LL@li.org>\n" @@ -30,18 +30,38 @@ msgid "You may not retire the admin or anonymous user" msgstr "Du kan ikke slette admin eller anonymous brukerne" -#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 -#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 +#: ../roundup/admin.py:117 +msgid "Have 'display designator' show protected fields: creator. NYI" +msgstr "" + +#: ../roundup/admin.py:120 +msgid "Set indexer to use when running 'reindex' NYI" +msgstr "" + +#: ../roundup/admin.py:123 +msgid "Force reopening of tracker when running each command." +msgstr "" + +#: ../roundup/admin.py:125 +msgid "Show retired items in table, list etc. NYI" +msgstr "" + +#: ../roundup/admin.py:126 +msgid "Enable verbose output: tracing, descriptions..." +msgstr "" + +#: ../roundup/admin.py:138 ../roundup/admin.py:993 ../roundup/admin.py:1601 +#: ../roundup/admin.py:1633 ../roundup/admin.py:138:993 :1601:1633 #, python-format msgid "no such class \"%(classname)s\"" msgstr "ingen slik klasse \"%(classname)s\"" -#: ../roundup/admin.py:124 +#: ../roundup/admin.py:150 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "argumentet \"%(arg)s\" ikke propname=value" -#: ../roundup/admin.py:137 +#: ../roundup/admin.py:163 #, python-format msgid "" "Problem: %(message)s\n" @@ -50,7 +70,7 @@ "Problem: %(message)s\n" "\n" -#: ../roundup/admin.py:138 +#: ../roundup/admin.py:164 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -100,12 +120,12 @@ " roundup-admin help <command> -- kommandospesifikk hjelp\n" " roundup-admin help all -- all tilgjengelig hjelp\n" -#: ../roundup/admin.py:165 +#: ../roundup/admin.py:191 #, fuzzy msgid "Commands: " msgstr "Kommandoer:" -#: ../roundup/admin.py:172 +#: ../roundup/admin.py:198 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -113,7 +133,7 @@ "Kommandoer kan forkortes så lenge som forkortelsen bare passer med en " "kommando, feks e.g. l == li == lis == list." -#: ../roundup/admin.py:201 +#: ../roundup/admin.py:227 #, fuzzy msgid "" "\n" @@ -250,12 +270,295 @@ "\n" "Kommandohjelp:\n" -#: ../roundup/admin.py:264 +#: ../roundup/admin.py:290 #, python-format msgid "%s:" msgstr "%s:" -#: ../roundup/admin.py:271 +#: ../roundup/admin.py:395 ../roundup/admin.py:1185 +#: ../roundup/admin.py:395:1185 +msgid "Templates:" +msgstr "Maler:" + +#: ../roundup/admin.py:398 ../roundup/admin.py:1195 +#: ../roundup/admin.py:398:1195 +msgid "Back ends:" +msgstr "Back ends:" + +#: ../roundup/admin.py:415 +msgid "" +"Usage: commit\n" +" Commit changes made to the database during an interactive session.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" using this command.\n" +"\n" +" One-off commands on the command-line are automatically committed if\n" +" they are successful.\n" +" " +msgstr "" +"Bruk: commit\n" +" Lagrer endringer til databsen utført i en interaktiv sesjon.\n" +" \n" +" Endringer gjort til databasen blir ikke automatisk lagret, de må\n" +" lagres permanent med denne kommandoen.\n" +" \n" +" Enkeltkommandoer fra kommandolinjen lagrer resultatet\n" +" permanent, hvis de lykkes.\n" +" " + +#: ../roundup/admin.py:430 +msgid "" +"Usage: create classname property=value ...\n" +" Create a new entry of a given class.\n" +"\n" +" This creates a new entry of the given class using the property\n" +" name=value arguments provided on the command line after the \"create" +"\"\n" +" command.\n" +" " +msgstr "" +"Bruk: create classname property=value ...\n" +" Lag ny instans av gitt klasse.\n" +"\n" +" Lager ny instans av gitt klasse med navn=verdi argumentene oppgitt\n" +" på kommandolinjen ette \"create\"kommandoen.\n" +" " + +#: ../roundup/admin.py:438 ../roundup/admin.py:512 ../roundup/admin.py:545 +#: ../roundup/admin.py:663 ../roundup/admin.py:749 ../roundup/admin.py:807 +#: ../roundup/admin.py:852 ../roundup/admin.py:977 ../roundup/admin.py:1020 +#: ../roundup/admin.py:1158 ../roundup/admin.py:1285 ../roundup/admin.py:1371 +#: ../roundup/admin.py:1482 ../roundup/admin.py:1591 ../roundup/admin.py:1623 +#: ../roundup/admin.py:1738 ../roundup/admin.py:1792 ../roundup/admin.py:1837 +#: ../roundup/admin.py:438:512 :1020:1158:1285 :1371:1482 :1591:1623 :1738:1792 +#: :1837 :545:663 :749:807 :852:977 +msgid "Not enough arguments supplied" +msgstr "For få parametre" + +#: ../roundup/admin.py:458 +#, python-format +msgid "%(propname)s (Password): " +msgstr "%(propname)s (Password): " + +#: ../roundup/admin.py:461 +#, python-format +msgid " %(propname)s (Again): " +msgstr " %(propname)s (Again): " + +#: ../roundup/admin.py:465 +msgid "Sorry, try again..." +msgstr "Beklager, prøv en gang til..." + +#: ../roundup/admin.py:470 +#, python-format +msgid "%(propname)s (%(proptype)s): " +msgstr "%(propname)s (%(proptype)s): " + +#: ../roundup/admin.py:489 +#, python-format +msgid "you must provide the \"%(propname)s\" property." +msgstr "du må oppgi \"%(propname)s\" egenskapen." + +#: ../roundup/admin.py:501 +#, fuzzy +msgid "" +"Usage: display designator[,designator]*\n" +"\n" +" Show the property values for the given node(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This lists the properties and their associated values\n" +" for the given node.\n" +" " +msgstr "" +"Bruk: display designator[,designator]*\n" +" Vis egneskapsverdiene for gitte noder.\n" +"\n" +" Lister egenskapene og deres verdier for oppgitt node.\n" +" " + +#: ../roundup/admin.py:528 +#, python-format +msgid "%(key)s: %(value)s" +msgstr "%(key)s: %(value)s" + +#. grab the directory to export to +#: ../roundup/admin.py:531 +msgid "" +"Usage: export [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files.\n" +" To exclude the files (e.g. for the msg or file class),\n" +" use the exporttables command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +"Bruk: export [[-] klasse[,klasse]] eksportkatalog\n" +" Eksporterer databasen til kolonseparerte filer.\n" +"\t For å eksludere filene (feks. for msg eller file-klassen),\n" +"\t bruk exporttables-kommandoen i stedet.\n" +"\t \n" +"\t Du kan begrense eksporten til bare navngitte klasser,\n" +"\t ved å la det første argumentet starte med '-'.\n" +"\t \n" +"\t Denne kommandoen eksporterer aktuelle data fra databasen til\n" +"\t kolonseparerte filer som plasseres i angitt katalog.\n" +" " + +#: ../roundup/admin.py:638 +msgid "" +"Usage: exporttables [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files, excluding the\n" +" files below $TRACKER_HOME/db/files/ (which can be archived " +"separately).\n" +" To include the files, use the export command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +"Bruk: exporttables [[-]klasse[,klasse]] eksportkatalog\n" +" Eksporterer databasen til kolonseparerte filer, unntatt filene som\n" +" er plassert under $TRACKER_HOME/db/files/ (som kan arkiveres " +"separat).\n" +" For å inkludere også disse filene, bruk export-kommandoen i stedet.\n" +"\n" +" Du kan begrense eksporten til oppgitte klasser, eller utelukke\n" +" navngitte klasser ved å starte første argument med '-'.\n" +"\n" +" Denne kommandoen eksporterer aktuelle data fra databasen til\n" +" kolonseparerte filer som plasseres i angitt katalog.\n" +" " + +#: ../roundup/admin.py:653 +#, fuzzy +msgid "" +"Usage: filter classname propname=value ...\n" +" Find the nodes of the given class with a given property value.\n" +"\n" +" Find the nodes of the given class with a given property value.\n" +" Multiple values can be specified by separating them with commas.\n" +" If property is a string, all values must match. I.E. it's an\n" +" 'and' operation. If the property is a link/multilink any value\n" +" matches. I.E. an 'or' operation.\n" +" " +msgstr "" +"Bruk: find classname propname=value ...\n" +" Finn nodene med gitt klasse og oppgitt lenkeverdi.\n" +"\n" +" Finn nodene med gitt klasse og oppgitt lenkeverdi.\n" +" Verdien kan enten være nodeid-en til den lenkede noden, eller dens " +"nøkkelverdi.n " + +#: ../roundup/admin.py:696 +#, fuzzy, python-format +msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." +msgstr "%(classname)s har ingen verdi \"%(propname)s\"" + +#: ../roundup/admin.py:734 ../roundup/admin.py:795 ../roundup/admin.py:1305 +#: ../roundup/admin.py:1317 ../roundup/admin.py:1857 +#: ../roundup/admin.py:734:795 :1305:1317:1857 +#, python-format +msgid "%(classname)s has no property \"%(propname)s\"" +msgstr "%(classname)s har ingen verdi \"%(propname)s\"" + +#: ../roundup/admin.py:741 +msgid "" +"Usage: find classname propname=value ...\n" +" Find the nodes of the given class with a given link property value.\n" +"\n" +" Find the nodes of the given class with a given link property value.\n" +" The value may be either the nodeid of the linked node, or its key\n" +" value.\n" +" " +msgstr "" +"Bruk: find classname propname=value ...\n" +" Finn nodene med gitt klasse og oppgitt lenkeverdi.\n" +"\n" +" Finn nodene med gitt klasse og oppgitt lenkeverdi.\n" +" Verdien kan enten være nodeid-en til den lenkede noden, eller dens " +"nøkkelverdi.n " + +#: ../roundup/admin.py:802 +#, fuzzy +msgid "" +"Usage: genconfig <filename>\n" +" Generate a new tracker config file (ini style) with default\n" +" values in <filename>.\n" +" " +msgstr "" +"Bruk: genconfig <filename>\n" +" Lag en ny sporer konfigurasjonsfil (ini type) med standard verdier\n" +" i <filename>.\n" +" " + +#: ../roundup/admin.py:820 +#, python-format +msgid "" +"Changing option\n" +" 'password_pbkdf2_default_rounds'\n" +"from old default of %(old_number)s to new default of %(new_number)s." +msgstr "" + +#: ../roundup/admin.py:831 +#, python-format +msgid "" +"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" +"than %s." +msgstr "" + +#: ../roundup/admin.py:842 +#, fuzzy +msgid "" +"Usage: get property designator[,designator]*\n" +" Get the given property of one or more designator(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Retrieves the property value of the nodes specified\n" +" by the designators.\n" +" " +msgstr "" +"Bruk:\tget property designator[,designator]*\n" +"\t\tHent oppgitt egenskap (property) til en eller flere \n" +"\t\tangivelser(designator).\n" +"\t\t\n" +"\t\tHente verdi for egenskapen for nodene som er spesifisert\n" +"\t\tved angivelsene.\n" +" " + +#: ../roundup/admin.py:886 ../roundup/admin.py:904 ../roundup/admin.py:886:904 +#, python-format +msgid "property %s is not of type Multilink or Link so -d flag does not apply." +msgstr "" +"egneskapen %s er ikke multilenke eller lenke so -d lfagget kan ikke anvendes." + +#: ../roundup/admin.py:914 ../roundup/admin.py:995 ../roundup/admin.py:1635 +#: ../roundup/admin.py:914:995:1635 +#, python-format +msgid "no such %(classname)s node \"%(nodeid)s\"" +msgstr "finnes ikke %(classname)s node \"%(nodeid)s\"" + +#: ../roundup/admin.py:917 +#, python-format +msgid "no such %(classname)s property \"%(propname)s\"" +msgstr "finnes ikke %(classname)s property \"%(propname)s\"" + +#: ../roundup/admin.py:925 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -275,20 +578,122 @@ " all -- all tilgjengeli hjelp\n" " " -#: ../roundup/admin.py:293 +#: ../roundup/admin.py:947 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "Beklager, ingen hjelp for \"%(topic)s\"" -#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 -msgid "Templates:" -msgstr "Maler:" - -#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 -msgid "Back ends:" -msgstr "Back ends:" - -#: ../roundup/admin.py:414 +#: ../roundup/admin.py:964 +msgid "" +"Usage: history designator [skipquiet]\n" +" Show the history entries of a designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Lists the journal entries viewable by the user for the\n" +" node identified by the designator. If skipquiet is the\n" +" second argument, journal entries for quiet properties\n" +" are not shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1000 +msgid "" +"Usage: import import_dir\n" +" Import a database from the directory containing CSV files,\n" +" two per class to import.\n" +"\n" +" The files used in the import are:\n" +"\n" +" <class>.csv\n" +" This must define the same properties as the class (including\n" +" having a \"header\" line with those property names.)\n" +" <class>-journals.csv\n" +" This defines the journals for the items being imported.\n" +"\n" +" The imported nodes will have the same nodeid as defined in the\n" +" import file, thus replacing any existing content.\n" +"\n" +" The new nodes are added to the existing database - if you want to\n" +" create a new database using the imported data, then create a new\n" +" database (or, tediously, retire all the old data.)\n" +" " +msgstr "" +"Bruk: import import-katalog\n" +" Importer databasen fra katalogen som inneholder CSV-filer, to per\n" +" klasse.\n" +" \n" +" Filene som benyttes til importen er:\n" +" \n" +" <klasse>.csv\n" +" Må inneholde de samme egenskapene som klassene (inklusiv en \"header\"-\n" +" linje som lister egenskapsnavnene).\n" +" \n" +" De importerte nodene vil få nodeid som definert i importfilen, altså\n" +" vil de erstatte tidligere innhold med samme id.\n" +" \n" +" De nye nodene legges til den eksisterende databasen - hvis du heller " +"vil\n" +" lage en ny database med de importerte data, lag en blank database " +"først, \n" +" (eller, mer omstendelig glem alle gamle data).\n" +" " + +#: ../roundup/admin.py:1079 +msgid "" +"Usage: importtables export_dir\n" +"\n" +" This imports the database tables exported using exporttables.\n" +" " +msgstr "" + +#. password +#: ../roundup/admin.py:1086 +msgid "" +"Usage: initialise [adminpw]\n" +" Initialise a new Roundup tracker.\n" +"\n" +" The administrator details will be set at this step.\n" +"\n" +" Execute the tracker's initialisation function dbinit.init()\n" +" " +msgstr "" +"Bruk: initialise [adminpw]\n" +" Initier en ny sporer.\n" +"\n" +" Administratordetaljer blir satt her.\n" +"\n" +" Kjør sporerens oppstartsfunksjon dbinit.init()\n" +" " + +#: ../roundup/admin.py:1100 +msgid "Admin Password: " +msgstr "Admin passord:" + +#: ../roundup/admin.py:1101 +msgid " Confirm: " +msgstr " Bekreft: " + +#: ../roundup/admin.py:1105 +msgid "Instance home does not exist" +msgstr "Hjemmekatalogen finnes ikke" + +#: ../roundup/admin.py:1109 +msgid "Instance has not been installed" +msgstr "Sporeren er ikke installert" + +#: ../roundup/admin.py:1115 +msgid "" +"WARNING: The database is already initialised!\n" +"If you re-initialise it, you will lose all the data!\n" +"Erase it? Y/N: " +msgstr "" +"ADVARSEL: Databasen er allerede initialisert!\n" +"Hvis du reinitialiserer den vil alle data bli slettet.\n" +"Slette den? Y/N: " + +#: ../roundup/admin.py:1135 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -335,23 +740,12 @@ "\t\tSe også hjelp for initops.\n" " " -#: ../roundup/admin.py:437 ../roundup/admin.py:568 ../roundup/admin.py:671 -#: ../roundup/admin.py:764 ../roundup/admin.py:822 ../roundup/admin.py:908 -#: ../roundup/admin.py:967 ../roundup/admin.py:994 ../roundup/admin.py:1021 -#: ../roundup/admin.py:1098 ../roundup/admin.py:1193 ../roundup/admin.py:1279 -#: ../roundup/admin.py:1340 ../roundup/admin.py:1367 ../roundup/admin.py:1403 -#: ../roundup/admin.py:1531 ../roundup/admin.py:1615 -#: ../roundup/admin.py:437:568 :1021:1098:1193 :1279:1340 :1367:1403 :1531:1615 -#: :671:764 :822:908 :967:994 -msgid "Not enough arguments supplied" -msgstr "For få parametre" - -#: ../roundup/admin.py:443 +#: ../roundup/admin.py:1164 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "Overordnet katalog \"%(parent)s\" finnes ikke" -#: ../roundup/admin.py:452 +#: ../roundup/admin.py:1173 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -362,22 +756,22 @@ "Du vil miste alle data hvis du reinstallerer!\n" "Slette den? Y/N: " -#: ../roundup/admin.py:465 +#: ../roundup/admin.py:1186 #, fuzzy msgid "Select template" msgstr "Velg mal [classic]: " -#: ../roundup/admin.py:475 +#: ../roundup/admin.py:1196 #, fuzzy msgid "Select backend" msgstr "Velg database backend [anydbm]: " -#: ../roundup/admin.py:486 +#: ../roundup/admin.py:1207 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "Feil i konfigurasjon \"%s\"" -#: ../roundup/admin.py:517 +#: ../roundup/admin.py:1238 #, python-format msgid "" "\n" @@ -390,11 +784,11 @@ " Du bør redigere konfigurasjonsfilen for sporeren nå:\n" " %(config_file)s" -#: ../roundup/admin.py:527 +#: ../roundup/admin.py:1248 msgid " ... at a minimum, you must set following options:" msgstr "... du må spesifisere følgende opsjoner som et minimum:" -#: ../roundup/admin.py:532 +#: ../roundup/admin.py:1253 #, python-format msgid "" "\n" @@ -422,135 +816,399 @@ " disse endringene.\n" "---------------------------------------------------------------------------\n" -#: ../roundup/admin.py:563 -#, fuzzy +#: ../roundup/admin.py:1270 msgid "" -"Usage: genconfig <filename>\n" -" Generate a new tracker config file (ini style) with default\n" -" values in <filename>.\n" -" " -msgstr "" -"Bruk: genconfig <filename>\n" -" Lag en ny sporer konfigurasjonsfil (ini type) med standard verdier\n" -" i <filename>.\n" +"Usage: list classname [property]\n" +" List the instances of a class.\n" +"\n" +" Lists all instances of the given class. If the property is not\n" +" specified, the \"label\" property is used. The label property is\n" +" tried in order: the key, \"name\", \"title\" and then the first\n" +" property, alphabetically.\n" +"\n" +" With -c, -S or -s print a list of item id's if no property\n" +" specified. If property specified, print list of that property\n" +" for every class instance.\n" " " - -#: ../roundup/admin.py:581 -#, python-format -msgid "" -"Changing option\n" -" 'password_pbkdf2_default_rounds'\n" -"from old default of %(old_number)s to new default of %(new_number)s." -msgstr "" - -#: ../roundup/admin.py:593 -#, python-format -msgid "" -"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" -"than %s." -msgstr "" - -#: ../roundup/admin.py:604 +msgstr "" +"Bruk: list klassenavn [egenskap]\n" +" Lister instansene av en klasse.\n" +"\n" +" Lister alle instanser av en gitt klasse. Hvis verdien ikke er " +"spesifisert\n" +" blir \"label\" verdien brukt. Label egenskapen blir testet i " +"rekkelfølge,\n" +" nøkkelen, \"name\", \"title\" og så den første verdien, " +"alfabetisk. \n" +" Med -c, -S eller -s blir en liste med saksid-er skrevet hvis ingen \n" +" egenskap er oppgitt.Hvis egenskap er oppgitt listes den egenskapen\n" +" for alle klasseinstanser.\n" +" " + +#: ../roundup/admin.py:1283 +msgid "Too many arguments supplied" +msgstr "For mange argumenter" + +#: ../roundup/admin.py:1319 +#, python-format +msgid "%(nodeid)4s: %(value)s" +msgstr "%(nodeid)4s: %(value)s" + +#: ../roundup/admin.py:1323 #, fuzzy msgid "" -"Usage: updateconfig <filename>\n" -" Generate an updated tracker config file (ini style) in\n" -" <filename>. Use current settings from existing roundup\n" -" tracker in tracker home.\n" +"Usage: migrate\n" +"\n" +" Update a tracker's database to be compatible with the Roundup\n" +" codebase.\n" +"\n" +" You should run the \"migrate\" command for your tracker once\n" +" you've installed the latest codebase.\n" +"\n" +" Do this before you use the web, command-line or mail interface\n" +" and before any users access the tracker.\n" +"\n" +" This command will respond with either \"Tracker updated\" (if\n" +" you've not previously run it on an RDBMS backend) or \"No\n" +" migration action required\" (if you have run it, or have used\n" +" another interface to the tracker, or possibly because you are\n" +" using anydbm).\n" +"\n" +" It's safe to run this even if it's not required, so just get\n" +" into the habit.\n" " " msgstr "" -"Bruk: genconfig <filename>\n" -" Lag en ny sporer konfigurasjonsfil (ini type) med standard verdier\n" -" i <filename>.\n" +"Bruk: migrate\n" +" Oppdater en sporers database til å bli kompatibel med kodebasen til " +"Roundup\n" +" \n" +" Du bør kjøre \"migrate\" for sporeren din når du har installert den " +"siste\n" +" kodebasen.\n" +" \n" +" Kjør \"migrate\" før du anvender kommandolinjen, webben, eller " +"epostgrensesnittet\n" +" og før noen brukere anvender sporeren.\n" +" \n" +" Kommandoen vil kvittere enten med \"Tracker updated\" (hvis du ikke\n" +" tidligere har kjørt den mot en RDBMS backend) eller \"No migration " +"action\n" +" required\" (hvis du har kjørt den, har brukt et annet grensesnitt mot " +"sporeren\n" +" ellers kan det skje hvis du benytter anydbm).\n" +" \n" +" Kommandoen er trygg å kjøre selv om den ikke skulle være påkrevet, så " +"bare\n" +" la det bli en vane.\n" " " -#. password -#: ../roundup/admin.py:612 +#: ../roundup/admin.py:1344 +#, python-format +msgid "Tracker updated to schema version %s." +msgstr "" + +#: ../roundup/admin.py:1348 +#, fuzzy, python-format +msgid "No migration action required. At schema version %s." +msgstr "Ingen migrasjon krevet" + +#: ../roundup/admin.py:1353 msgid "" -"Usage: initialise [adminpw]\n" -" Initialise a new Roundup tracker.\n" -"\n" -" The administrator details will be set at this step.\n" -"\n" -" Execute the tracker's initialisation function dbinit.init()\n" -" " -msgstr "" -"Bruk: initialise [adminpw]\n" -" Initier en ny sporer.\n" -"\n" -" Administratordetaljer blir satt her.\n" -"\n" -" Kjør sporerens oppstartsfunksjon dbinit.init()\n" +"Usage: pack period | date\n" +"\n" +" Remove journal entries older than a period of time specified or\n" +" before a certain date.\n" +"\n" +" A period is specified using the suffixes \"y\", \"m\", and \"d\". " +"The\n" +" suffix \"w\" (for \"week\") means 7 days.\n" +"\n" +" \"3y\" means three years\n" +" \"2y 1m\" means two years and one month\n" +" \"1m 25d\" means one month and 25 days\n" +" \"2w 3d\" means two weeks and three days\n" +"\n" +" Date format is \"YYYY-MM-DD\" eg:\n" +" 2001-01-01\n" +"\n" " " - -#: ../roundup/admin.py:626 -msgid "Admin Password: " -msgstr "Admin passord:" - -#: ../roundup/admin.py:627 -msgid " Confirm: " -msgstr " Bekreft: " - -#: ../roundup/admin.py:631 -msgid "Instance home does not exist" -msgstr "Hjemmekatalogen finnes ikke" - -#: ../roundup/admin.py:635 -msgid "Instance has not been installed" -msgstr "Sporeren er ikke installert" - -#: ../roundup/admin.py:641 +msgstr "" +"Bruk: pack periode | tidspunkt\n" +" Fjern journallinjer eldre enn periode som oppgitt, eller før en\n" +" gitt dato.\n" +" \n" +" En periode spesifiseres ved hjelp av suffiksene \"y\", \"m\", and \"d" +"\".\n" +" Suffikset \"w\" (for \"week\") betyr syv dager.\n" +" \n" +" \"3y\" betyr tre år\n" +" \"2y 1m\" betyr to år og en måned\n" +" \"1m 25d\" betyr en måned og tjuefem dager\n" +" \"2w 3d\" betyr to uker og tre dager\n" +" \n" +" Dato format is \"YYYY-MM-DD\" eksempel:\n" +" 2011-01-01\n" +"\n" +" " + +#: ../roundup/admin.py:1381 +msgid "Invalid format" +msgstr "Ugyldig format" + +#: ../roundup/admin.py:1392 msgid "" -"WARNING: The database is already initialised!\n" -"If you re-initialise it, you will lose all the data!\n" -"Erase it? Y/N: " -msgstr "" -"ADVARSEL: Databasen er allerede initialisert!\n" -"Hvis du reinitialiserer den vil alle data bli slettet.\n" -"Slette den? Y/N: " - -#: ../roundup/admin.py:661 +"Usage: perftest [mode] [arguments]*\n" +"\n" +" Time operations in Roundup. Supported arguments:\n" +"\n" +" [password] [rounds=<integer>] [scheme=<scheme>]\n" +"\n" +" 'password' is the default mode. The tracker's config.ini\n" +" setting for 'password_pbkdf2_default_rounds' is the default\n" +" value for 'rounds'. On the command line, 'rounds' can include\n" +" thousands separator of ',' or '.'. 'scheme' is the default\n" +" coded into Roundup. List supported schemes by using 'scheme='.\n" +"\n" +" " +msgstr "" + +#: ../roundup/admin.py:1425 +msgid "Invalid 'rounds'. Must be larger than 999." +msgstr "" + +#: ../roundup/admin.py:1429 +#, python-format +msgid "Invalid 'rounds'. It must be an integer not: %s" +msgstr "" + +#: ../roundup/admin.py:1456 +msgid "scheme does not support rounds." +msgstr "" + +#: ../roundup/admin.py:1459 +#, python-format +msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" +msgstr "" + +#: ../roundup/admin.py:1465 +msgid "" +"Usage: pragma setting=value | 'list'\n" +" Set internal admin settings to a value. E.G.\n" +"\n" +" pragma verbose=True\n" +" pragma verbose=yes\n" +" pragma verbose=on\n" +" pragma verbose=1\n" +"\n" +" will turn on verbose mode for roundup-admin.\n" +"\n" +" pragma list\n" +"\n" +" will show all settings and their current values. If verbose\n" +" is enabled hidden settings and descriptions will be shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1489 +#, python-format +msgid "Argument must be setting=value, was given: %s." +msgstr "" + +#: ../roundup/admin.py:1492 +msgid "Current settings and values (NYI - not yet implemented):" +msgstr "" + +#: ../roundup/admin.py:1505 +#, fuzzy, python-format +msgid "Unknown setting %s." +msgstr "Ukjent brukernavn:" + +#: ../roundup/admin.py:1514 +#, python-format +msgid "Incorrect value for boolean setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1521 +#, python-format +msgid "Incorrect value for integer setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1527 +#, python-format +msgid "Internal error: pragma can not handle values of type: %s" +msgstr "" + +#: ../roundup/admin.py:1537 #, fuzzy msgid "" -"Usage: get property designator[,designator]*\n" -" Get the given property of one or more designator(s).\n" +"Usage: reindex [classname|classname:#-#|designator]*\n" +" Re-generate a tracker's search indexes.\n" +"\n" +" This will re-generate the search indexes for a tracker.\n" +" This will typically happen automatically.\n" +"\n" +" You can incrementally reindex using an argument like:\n" +"\n" +" reindex issue:23-1000\n" +"\n" +" to reindex issue class items 23-1000. Missing items\n" +" are reported but do not stop indexing of the range.\n" +" " +msgstr "" +"Bruk: reindex [klassenavn|benevnelse]*\n" +" Regenerere en sporers søkeindekser.\n" +" \n" +" Dette vil regenerere en sporers søkeindekser. Vil normalt kjøres\n" +" automatisk.\n" +" " + +#: ../roundup/admin.py:1560 +#, python-format +msgid "no such item \"%(designator)s\"" +msgstr "ingen slik enhet \"%(designator)s\"" + +#: ../roundup/admin.py:1570 +#, fuzzy, python-format +msgid "no such item \"%(class)s%(id)s\"" +msgstr "ingen slik enhet \"%(designator)s\"" + +#: ../roundup/admin.py:1582 +#, fuzzy +msgid "" +"Usage: restore designator[,designator]*\n" +" Restore the retired node specified by designator.\n" "\n" " A designator is a classname and a nodeid concatenated,\n" " eg. bug1, user10, ...\n" "\n" -" Retrieves the property value of the nodes specified\n" -" by the designators.\n" +" The given nodes will become available for users again.\n" " " msgstr "" -"Bruk:\tget property designator[,designator]*\n" -"\t\tHent oppgitt egenskap (property) til en eller flere \n" -"\t\tangivelser(designator).\n" -"\t\t\n" -"\t\tHente verdi for egenskapen for nodene som er spesifisert\n" -"\t\tved angivelsene.\n" +"Bruk: restore benevnelse[, benevnelse] *\n" +" Hente frem glemt node spesifisert av benevnelse.\n" +"\t \n" +"\t Oppgitte noder blir tilgjengelige for brukerne igjen.\n" " " -#: ../roundup/admin.py:705 ../roundup/admin.py:723 ../roundup/admin.py:705:723 -#, python-format -msgid "property %s is not of type Multilink or Link so -d flag does not apply." -msgstr "" -"egneskapen %s er ikke multilenke eller lenke so -d lfagget kan ikke anvendes." - -#: ../roundup/admin.py:733 ../roundup/admin.py:1297 ../roundup/admin.py:1352 -#: ../roundup/admin.py:733:1297:1352 -#, python-format -msgid "no such %(classname)s node \"%(nodeid)s\"" +#: ../roundup/admin.py:1607 +#, fuzzy +msgid "no such %(classname)s node \" % (nodeid)s\"" msgstr "finnes ikke %(classname)s node \"%(nodeid)s\"" -#: ../roundup/admin.py:736 -#, python-format -msgid "no such %(classname)s property \"%(propname)s\"" -msgstr "finnes ikke %(classname)s property \"%(propname)s\"" - -#: ../roundup/admin.py:744 +#: ../roundup/admin.py:1613 #, fuzzy msgid "" -"Usage: set items property=value property=value ...\n" +"Usage: retire designator[,designator]*\n" +" Retire the node specified by designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This action indicates that a particular node is not to be retrieved\n" +" by the list or find commands, and its key value may be re-used.\n" +" " +msgstr "" +"Bruk: retire benevnelse[,benevnelse]*\n" +" Glem en node med gitt benevnelse.\n" +"\n" +" Denne kommandoen indikerer at en spesifisert node ikke skal listes\n" +" av list eller find-kommandoene, og at dens nøkkel kan gjenbrukes.\n" +" " + +#: ../roundup/admin.py:1641 +msgid "" +"Usage: rollback\n" +" Undo all changes that are pending commit to the database.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" manually. This command undoes all those changes, so a commit\n" +" immediately after would make no changes to the database.\n" +" " +msgstr "" +"Bruk: rollback\n" +"\n" +" Endringer gjort til databasen i en interaktiv sesjon, lagres\n" +" ikke permanent automatisk, du må benytte commit-kommandoen.\n" +" Denne kommandoen ruller tilbake alle endringer som ikke er\n" +" commited. \n" +" " + +#: ../roundup/admin.py:1654 +msgid "" +"Usage: security [Role name]\n" +"\n" +" Display the Permissions available to one or all Roles.\n" +" Also validates that any properties defined in a\n" +" permission are valid.\n" +"\n" +" Run this after changing your permissions to catch\n" +" typos.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1668 +#, fuzzy, python-format +msgid "No such Role \"%(role)s\"\n" +msgstr "Ingen slik rolle \"%(role)s\"" + +#: ../roundup/admin.py:1674 +#, fuzzy, python-format +msgid "New Web users get the Roles \"%(role)s\"\n" +msgstr "Nye web-brukere for rollene \"%(role)s\"" + +#: ../roundup/admin.py:1677 +#, fuzzy, python-format +msgid "New Web users get the Role \"%(role)s\"\n" +msgstr "Nye web-brukere for rollen \"%(role)s\"" + +#: ../roundup/admin.py:1681 +#, fuzzy, python-format +msgid "New Email users get the Roles \"%(role)s\"\n" +msgstr "Nye epostbrukere for rollene \"%(role)s\"" + +#: ../roundup/admin.py:1683 +#, fuzzy, python-format +msgid "New Email users get the Role \"%(role)s\"\n" +msgstr "Nye epostbrukere for rollen \"%(role)s\"" + +#: ../roundup/admin.py:1686 +#, fuzzy, python-format +msgid "Role \"%(name)s\":\n" +msgstr "Rolle \"%(name)s\":" + +#: ../roundup/admin.py:1692 +#, fuzzy +msgid " %(description)s (%(name)s for \"%(klass)s\"" +msgstr " %(description)s (%(name)s bare for \"%(klass)s\")" + +#: ../roundup/admin.py:1692 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" +msgstr " %(description)s (%(name)s bare for \"%(klass)s\": %(properties)s )" + +#: ../roundup/admin.py:1705 +#, python-format +msgid "" +"\n" +" **Invalid properties for %(class)s: %(props)s\n" +"\n" +msgstr "" + +#: ../roundup/admin.py:1711 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" +msgstr " %(description)s (%(name)s bare for \"%(klass)s\")" + +#: ../roundup/admin.py:1714 +#, fuzzy, python-format +msgid " %(description)s (%(name)s)\n" +msgstr " %(description)s (%(name)s)" + +#: ../roundup/admin.py:1718 +#, fuzzy +msgid "" +"Usage: set items property=value [property=value ...]\n" " Set the given properties of one or more items(s).\n" "\n" " The items are specified as a class or as a comma-separated\n" @@ -582,56 +1240,7 @@ "som\n" " en kommaseparert liste (feks \"1,2,3\")." -#: ../roundup/admin.py:812 -#, fuzzy -msgid "" -"Usage: filter classname propname=value ...\n" -" Find the nodes of the given class with a given property value.\n" -"\n" -" Find the nodes of the given class with a given property value.\n" -" Multiple values can be specified by separating them with commas.\n" -" If property is a string, all values must match. I.E. it's an\n" -" 'and' operation. If the property is a link/multilink any value\n" -" matches. I.E. an 'or' operation.\n" -" " -msgstr "" -"Bruk: find classname propname=value ...\n" -" Finn nodene med gitt klasse og oppgitt lenkeverdi.\n" -"\n" -" Finn nodene med gitt klasse og oppgitt lenkeverdi.\n" -" Verdien kan enten være nodeid-en til den lenkede noden, eller dens " -"nøkkelverdi.n " - -#: ../roundup/admin.py:855 -#, fuzzy, python-format -msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." -msgstr "%(classname)s har ingen verdi \"%(propname)s\"" - -#: ../roundup/admin.py:893 ../roundup/admin.py:954 ../roundup/admin.py:1118 -#: ../roundup/admin.py:1130 ../roundup/admin.py:1213 -#: ../roundup/admin.py:893:954 :1118:1130:1213 -#, python-format -msgid "%(classname)s has no property \"%(propname)s\"" -msgstr "%(classname)s har ingen verdi \"%(propname)s\"" - -#: ../roundup/admin.py:900 -msgid "" -"Usage: find classname propname=value ...\n" -" Find the nodes of the given class with a given link property value.\n" -"\n" -" Find the nodes of the given class with a given link property value.\n" -" The value may be either the nodeid of the linked node, or its key\n" -" value.\n" -" " -msgstr "" -"Bruk: find classname propname=value ...\n" -" Finn nodene med gitt klasse og oppgitt lenkeverdi.\n" -"\n" -" Finn nodene med gitt klasse og oppgitt lenkeverdi.\n" -" Verdien kan enten være nodeid-en til den lenkede noden, eller dens " -"nøkkelverdi.n " - -#: ../roundup/admin.py:961 +#: ../roundup/admin.py:1786 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -645,132 +1254,17 @@ " Lister egenskapene til gitt klasse.\n" " " -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1802 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s (key property)" -#: ../roundup/admin.py:980 +#: ../roundup/admin.py:1805 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:983 -#, fuzzy -msgid "" -"Usage: display designator[,designator]*\n" -"\n" -" Show the property values for the given node(s).\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This lists the properties and their associated values\n" -" for the given node.\n" -" " -msgstr "" -"Bruk: display designator[,designator]*\n" -" Vis egneskapsverdiene for gitte noder.\n" -"\n" -" Lister egenskapene og deres verdier for oppgitt node.\n" -" " - -#: ../roundup/admin.py:1010 -#, python-format -msgid "%(key)s: %(value)s" -msgstr "%(key)s: %(value)s" - -#: ../roundup/admin.py:1013 -msgid "" -"Usage: create classname property=value ...\n" -" Create a new entry of a given class.\n" -"\n" -" This creates a new entry of the given class using the property\n" -" name=value arguments provided on the command line after the \"create" -"\"\n" -" command.\n" -" " -msgstr "" -"Bruk: create classname property=value ...\n" -" Lag ny instans av gitt klasse.\n" -"\n" -" Lager ny instans av gitt klasse med navn=verdi argumentene oppgitt\n" -" på kommandolinjen ette \"create\"kommandoen.\n" -" " - -#: ../roundup/admin.py:1041 -#, python-format -msgid "%(propname)s (Password): " -msgstr "%(propname)s (Password): " - -#: ../roundup/admin.py:1044 -#, python-format -msgid " %(propname)s (Again): " -msgstr " %(propname)s (Again): " - -#: ../roundup/admin.py:1048 -msgid "Sorry, try again..." -msgstr "Beklager, prøv en gang til..." - -#: ../roundup/admin.py:1052 -#, python-format -msgid "%(propname)s (%(proptype)s): " -msgstr "%(propname)s (%(proptype)s): " - -#: ../roundup/admin.py:1071 -#, python-format -msgid "you must provide the \"%(propname)s\" property." -msgstr "du må oppgi \"%(propname)s\" egenskapen." - -#: ../roundup/admin.py:1083 -msgid "" -"Usage: list classname [property]\n" -" List the instances of a class.\n" -"\n" -" Lists all instances of the given class. If the property is not\n" -" specified, the \"label\" property is used. The label property is\n" -" tried in order: the key, \"name\", \"title\" and then the first\n" -" property, alphabetically.\n" -"\n" -" With -c, -S or -s print a list of item id's if no property\n" -" specified. If property specified, print list of that property\n" -" for every class instance.\n" -" " -msgstr "" -"Bruk: list klassenavn [egenskap]\n" -" Lister instansene av en klasse.\n" -"\n" -" Lister alle instanser av en gitt klasse. Hvis verdien ikke er " -"spesifisert\n" -" blir \"label\" verdien brukt. Label egenskapen blir testet i " -"rekkelfølge,\n" -" nøkkelen, \"name\", \"title\" og så den første verdien, " -"alfabetisk. \n" -" Med -c, -S eller -s blir en liste med saksid-er skrevet hvis ingen \n" -" egenskap er oppgitt.Hvis egenskap er oppgitt listes den egenskapen\n" -" for alle klasseinstanser.\n" -" " - -#: ../roundup/admin.py:1096 -msgid "Too many arguments supplied" -msgstr "For mange argumenter" - -#: ../roundup/admin.py:1132 -#, python-format -msgid "%(nodeid)4s: %(value)s" -msgstr "%(nodeid)4s: %(value)s" - -#: ../roundup/admin.py:1136 -msgid "" -"Usage: templates [trace_search]\n" -" List templates and their installed directories.\n" -"\n" -" With trace_search also list all directories that are\n" -" searched for templates.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1164 +#: ../roundup/admin.py:1808 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -830,477 +1324,68 @@ " resulterer i en fire bokstavaer bred \"Name\" kolonne.\n" " " -#: ../roundup/admin.py:1208 +#: ../roundup/admin.py:1852 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "\"%(spec)s\" ikke navn:bredde" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1874 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1266 -msgid "" -"Usage: history designator [skipquiet]\n" -" Show the history entries of a designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" Lists the journal entries viewable by the user for the\n" -" node identified by the designator. If skipquiet is the\n" -" second argument, journal entries for quiet properties\n" -" are not shown.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1302 +#: ../roundup/admin.py:1910 msgid "" -"Usage: commit\n" -" Commit changes made to the database during an interactive session.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" using this command.\n" -"\n" -" One-off commands on the command-line are automatically committed if\n" -" they are successful.\n" -" " -msgstr "" -"Bruk: commit\n" -" Lagrer endringer til databsen utført i en interaktiv sesjon.\n" -" \n" -" Endringer gjort til databasen blir ikke automatisk lagret, de må\n" -" lagres permanent med denne kommandoen.\n" -" \n" -" Enkeltkommandoer fra kommandolinjen lagrer resultatet\n" -" permanent, hvis de lykkes.\n" +"Usage: templates [trace_search]\n" +" List templates and their installed directories.\n" +"\n" +" With trace_search also list all directories that are\n" +" searched for templates.\n" " " - -#: ../roundup/admin.py:1317 -msgid "" -"Usage: rollback\n" -" Undo all changes that are pending commit to the database.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" manually. This command undoes all those changes, so a commit\n" -" immediately after would make no changes to the database.\n" -" " -msgstr "" -"Bruk: rollback\n" -"\n" -" Endringer gjort til databasen i en interaktiv sesjon, lagres\n" -" ikke permanent automatisk, du må benytte commit-kommandoen.\n" -" Denne kommandoen ruller tilbake alle endringer som ikke er\n" -" commited. \n" -" " - -#: ../roundup/admin.py:1330 -#, fuzzy -msgid "" -"Usage: retire designator[,designator]*\n" -" Retire the node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This action indicates that a particular node is not to be retrieved\n" -" by the list or find commands, and its key value may be re-used.\n" -" " -msgstr "" -"Bruk: retire benevnelse[,benevnelse]*\n" -" Glem en node med gitt benevnelse.\n" -"\n" -" Denne kommandoen indikerer at en spesifisert node ikke skal listes\n" -" av list eller find-kommandoene, og at dens nøkkel kan gjenbrukes.\n" -" " - -#: ../roundup/admin.py:1358 +msgstr "" + +#: ../roundup/admin.py:1938 #, fuzzy msgid "" -"Usage: restore designator[,designator]*\n" -" Restore the retired node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" The given nodes will become available for users again.\n" -" " -msgstr "" -"Bruk: restore benevnelse[, benevnelse] *\n" -" Hente frem glemt node spesifisert av benevnelse.\n" -"\t \n" -"\t Oppgitte noder blir tilgjengelige for brukerne igjen.\n" -" " - -#: ../roundup/admin.py:1383 -#, fuzzy -msgid "no such %(classname)s node \" % (nodeid)s\"" -msgstr "finnes ikke %(classname)s node \"%(nodeid)s\"" - -#. grab the directory to export to -#: ../roundup/admin.py:1389 -msgid "" -"Usage: export [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files.\n" -" To exclude the files (e.g. for the msg or file class),\n" -" use the exporttables command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" -"Bruk: export [[-] klasse[,klasse]] eksportkatalog\n" -" Eksporterer databasen til kolonseparerte filer.\n" -"\t For å eksludere filene (feks. for msg eller file-klassen),\n" -"\t bruk exporttables-kommandoen i stedet.\n" -"\t \n" -"\t Du kan begrense eksporten til bare navngitte klasser,\n" -"\t ved å la det første argumentet starte med '-'.\n" -"\t \n" -"\t Denne kommandoen eksporterer aktuelle data fra databasen til\n" -"\t kolonseparerte filer som plasseres i angitt katalog.\n" -" " - -#: ../roundup/admin.py:1496 -msgid "" -"Usage: exporttables [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files, excluding the\n" -" files below $TRACKER_HOME/db/files/ (which can be archived " -"separately).\n" -" To include the files, use the export command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" -"Bruk: exporttables [[-]klasse[,klasse]] eksportkatalog\n" -" Eksporterer databasen til kolonseparerte filer, unntatt filene som\n" -" er plassert under $TRACKER_HOME/db/files/ (som kan arkiveres " -"separat).\n" -" For å inkludere også disse filene, bruk export-kommandoen i stedet.\n" -"\n" -" Du kan begrense eksporten til oppgitte klasser, eller utelukke\n" -" navngitte klasser ved å starte første argument med '-'.\n" -"\n" -" Denne kommandoen eksporterer aktuelle data fra databasen til\n" -" kolonseparerte filer som plasseres i angitt katalog.\n" +"Usage: updateconfig <filename>\n" +" Generate an updated tracker config file (ini style) in\n" +" <filename>. Use current settings from existing roundup\n" +" tracker in tracker home.\n" " " - -#: ../roundup/admin.py:1511 -msgid "" -"Usage: import import_dir\n" -" Import a database from the directory containing CSV files,\n" -" two per class to import.\n" -"\n" -" The files used in the import are:\n" -"\n" -" <class>.csv\n" -" This must define the same properties as the class (including\n" -" having a \"header\" line with those property names.)\n" -" <class>-journals.csv\n" -" This defines the journals for the items being imported.\n" -"\n" -" The imported nodes will have the same nodeid as defined in the\n" -" import file, thus replacing any existing content.\n" -"\n" -" The new nodes are added to the existing database - if you want to\n" -" create a new database using the imported data, then create a new\n" -" database (or, tediously, retire all the old data.)\n" -" " -msgstr "" -"Bruk: import import-katalog\n" -" Importer databasen fra katalogen som inneholder CSV-filer, to per\n" -" klasse.\n" -" \n" -" Filene som benyttes til importen er:\n" -" \n" -" <klasse>.csv\n" -" Må inneholde de samme egenskapene som klassene (inklusiv en \"header\"-\n" -" linje som lister egenskapsnavnene).\n" -" \n" -" De importerte nodene vil få nodeid som definert i importfilen, altså\n" -" vil de erstatte tidligere innhold med samme id.\n" -" \n" -" De nye nodene legges til den eksisterende databasen - hvis du heller " -"vil\n" -" lage en ny database med de importerte data, lag en blank database " -"først, \n" -" (eller, mer omstendelig glem alle gamle data).\n" -" " - -#: ../roundup/admin.py:1590 -msgid "" -"Usage: importtables export_dir\n" -"\n" -" This imports the database tables exported using exporttables.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1597 -msgid "" -"Usage: pack period | date\n" -"\n" -" Remove journal entries older than a period of time specified or\n" -" before a certain date.\n" -"\n" -" A period is specified using the suffixes \"y\", \"m\", and \"d\". " -"The\n" -" suffix \"w\" (for \"week\") means 7 days.\n" -"\n" -" \"3y\" means three years\n" -" \"2y 1m\" means two years and one month\n" -" \"1m 25d\" means one month and 25 days\n" -" \"2w 3d\" means two weeks and three days\n" -"\n" -" Date format is \"YYYY-MM-DD\" eg:\n" -" 2001-01-01\n" -"\n" -" " -msgstr "" -"Bruk: pack periode | tidspunkt\n" -" Fjern journallinjer eldre enn periode som oppgitt, eller før en\n" -" gitt dato.\n" -" \n" -" En periode spesifiseres ved hjelp av suffiksene \"y\", \"m\", and \"d" -"\".\n" -" Suffikset \"w\" (for \"week\") betyr syv dager.\n" -" \n" -" \"3y\" betyr tre år\n" -" \"2y 1m\" betyr to år og en måned\n" -" \"1m 25d\" betyr en måned og tjuefem dager\n" -" \"2w 3d\" betyr to uker og tre dager\n" -" \n" -" Dato format is \"YYYY-MM-DD\" eksempel:\n" -" 2011-01-01\n" -"\n" -" " - -#: ../roundup/admin.py:1625 -msgid "Invalid format" -msgstr "Ugyldig format" - -#: ../roundup/admin.py:1638 -msgid "" -"Usage: reindex [classname|designator]*\n" -" Re-generate a tracker's search indexes.\n" -"\n" -" This will re-generate the search indexes for a tracker.\n" -" This will typically happen automatically.\n" +msgstr "" +"Bruk: genconfig <filename>\n" +" Lag en ny sporer konfigurasjonsfil (ini type) med standard verdier\n" +" i <filename>.\n" " " -msgstr "" -"Bruk: reindex [klassenavn|benevnelse]*\n" -" Regenerere en sporers søkeindekser.\n" -" \n" -" Dette vil regenerere en sporers søkeindekser. Vil normalt kjøres\n" -" automatisk.\n" -" " - -#: ../roundup/admin.py:1652 -#, python-format -msgid "no such item \"%(designator)s\"" -msgstr "ingen slik enhet \"%(designator)s\"" - -#: ../roundup/admin.py:1662 -#, fuzzy -msgid "" -"Usage: security [Role name]\n" -"\n" -" Display the Permissions available to one or all Roles.\n" -" " -msgstr "" -"Bruk: security [rollenavn]\n" -" Viser tillatelsene som er tilgjengelige for en eller alle roller.\n" -" " - -#: ../roundup/admin.py:1671 -#, fuzzy, python-format -msgid "No such Role \"%(role)s\"\n" -msgstr "Ingen slik rolle \"%(role)s\"" - -#: ../roundup/admin.py:1677 -#, fuzzy, python-format -msgid "New Web users get the Roles \"%(role)s\"\n" -msgstr "Nye web-brukere for rollene \"%(role)s\"" - -#: ../roundup/admin.py:1680 -#, fuzzy, python-format -msgid "New Web users get the Role \"%(role)s\"\n" -msgstr "Nye web-brukere for rollen \"%(role)s\"" - -#: ../roundup/admin.py:1684 -#, fuzzy, python-format -msgid "New Email users get the Roles \"%(role)s\"\n" -msgstr "Nye epostbrukere for rollene \"%(role)s\"" - -#: ../roundup/admin.py:1686 -#, fuzzy, python-format -msgid "New Email users get the Role \"%(role)s\"\n" -msgstr "Nye epostbrukere for rollen \"%(role)s\"" - -#: ../roundup/admin.py:1689 -#, fuzzy, python-format -msgid "Role \"%(name)s\":\n" -msgstr "Rolle \"%(name)s\":" - -#: ../roundup/admin.py:1695 -#, fuzzy -msgid " %(description)s (%(name)s for \"%(klass)s\"" -msgstr " %(description)s (%(name)s bare for \"%(klass)s\")" - -#: ../roundup/admin.py:1695 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" -msgstr " %(description)s (%(name)s bare for \"%(klass)s\": %(properties)s )" - -#: ../roundup/admin.py:1708 -#, python-format -msgid "" -"\n" -" **Invalid properties for %(class)s: %(props)s\n" -"\n" -msgstr "" - -#: ../roundup/admin.py:1714 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" -msgstr " %(description)s (%(name)s bare for \"%(klass)s\")" - -#: ../roundup/admin.py:1717 -#, fuzzy, python-format -msgid " %(description)s (%(name)s)\n" -msgstr " %(description)s (%(name)s)" - -#: ../roundup/admin.py:1721 -#, fuzzy -msgid "" -"Usage: migrate\n" -"\n" -" Update a tracker's database to be compatible with the Roundup\n" -" codebase.\n" -"\n" -" You should run the \"migrate\" command for your tracker once\n" -" you've installed the latest codebase.\n" -"\n" -" Do this before you use the web, command-line or mail interface\n" -" and before any users access the tracker.\n" -"\n" -" This command will respond with either \"Tracker updated\" (if\n" -" you've not previously run it on an RDBMS backend) or \"No\n" -" migration action required\" (if you have run it, or have used\n" -" another interface to the tracker, or possibly because you are\n" -" using anydbm).\n" -"\n" -" It's safe to run this even if it's not required, so just get\n" -" into the habit.\n" -" " -msgstr "" -"Bruk: migrate\n" -" Oppdater en sporers database til å bli kompatibel med kodebasen til " -"Roundup\n" -" \n" -" Du bør kjøre \"migrate\" for sporeren din når du har installert den " -"siste\n" -" kodebasen.\n" -" \n" -" Kjør \"migrate\" før du anvender kommandolinjen, webben, eller " -"epostgrensesnittet\n" -" og før noen brukere anvender sporeren.\n" -" \n" -" Kommandoen vil kvittere enten med \"Tracker updated\" (hvis du ikke\n" -" tidligere har kjørt den mot en RDBMS backend) eller \"No migration " -"action\n" -" required\" (hvis du har kjørt den, har brukt et annet grensesnitt mot " -"sporeren\n" -" ellers kan det skje hvis du benytter anydbm).\n" -" \n" -" Kommandoen er trygg å kjøre selv om den ikke skulle være påkrevet, så " -"bare\n" -" la det bli en vane.\n" -" " - -#: ../roundup/admin.py:1742 -#, python-format -msgid "Tracker updated to schema version %s." -msgstr "" - -#: ../roundup/admin.py:1746 -#, fuzzy, python-format -msgid "No migration action required. At schema version %s." -msgstr "Ingen migrasjon krevet" - -#: ../roundup/admin.py:1751 -msgid "" -"Usage: perftest [mode] [arguments]*\n" -"\n" -" Time operations in Roundup. Supported arguments:\n" -"\n" -" [password] [rounds=<integer>] [scheme=<scheme>]\n" -"\n" -" 'password' is the default mode. The tracker's config.ini\n" -" setting for 'password_pbkdf2_default_rounds' is the default\n" -" value for 'rounds'. On the command line, 'rounds' can include\n" -" thousands separator of ',' or '.'. 'scheme' is the default\n" -" coded into Roundup. List supported schemes by using 'scheme='.\n" -"\n" -" " -msgstr "" - -#: ../roundup/admin.py:1785 -msgid "Invalid 'rounds'. Must be larger than 999." -msgstr "" - -#: ../roundup/admin.py:1789 -#, python-format -msgid "Invalid 'rounds'. It must be an integer not: %s" -msgstr "" - -#: ../roundup/admin.py:1816 -msgid "scheme does not support rounds." -msgstr "" - -#: ../roundup/admin.py:1819 -#, python-format -msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" -msgstr "" - -#: ../roundup/admin.py:1847 + +#: ../roundup/admin.py:1946 ../roundup/cgi/actions.py:886 +#: ../roundup/cgi/actions.py:897 ../roundup/cgi/actions.py:1099 +#: ../roundup/cgi/actions.py:1113 ../roundup/cgi/actions.py:886:897 :1099:1113 +#, python-format +msgid "Error: %s" +msgstr "Feil: %s" + +#: ../roundup/admin.py:1974 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "Ukjent kommando \"%(command)s\" (\"help commands\" for liste)" -#: ../roundup/admin.py:1853 +#: ../roundup/admin.py:1980 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "Multiple kommandoer matcher \"%(command)s\": %(list)s" -#: ../roundup/admin.py:1862 +#: ../roundup/admin.py:1996 msgid "Enter tracker home: " msgstr "Oppgi sporers plassering:" -#: ../roundup/admin.py:1871 ../roundup/admin.py:1877 ../roundup/admin.py:1914 -#: ../roundup/admin.py:1871:1877:1914 -#, python-format -msgid "Error: %(message)s" -msgstr "Feil: %(message)s" - -#: ../roundup/admin.py:1887 ../roundup/admin.py:1891 -#: ../roundup/admin.py:1887:1891 +#: ../roundup/admin.py:2023 ../roundup/admin.py:2027 +#: ../roundup/admin.py:2023:2027 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "Feil: Kan ikke åpne sporer: %(message)s" -#: ../roundup/admin.py:1927 +#: ../roundup/admin.py:2060 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1309,15 +1394,15 @@ "Roundup %s er klar til bruk.\n" "Skriv \"help\" for hjelp." -#: ../roundup/admin.py:1932 +#: ../roundup/admin.py:2065 msgid "Note: command history and editing not available" msgstr "Merk: kommandohistorikk og redigering utilgjengelig" -#: ../roundup/admin.py:1938 +#: ../roundup/admin.py:2071 msgid "exit..." msgstr "exit..." -#: ../roundup/admin.py:1951 +#: ../roundup/admin.py:2084 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "Det er ikkelagrede endringer. Lagre dem (y/N)? " @@ -1353,7 +1438,7 @@ #: ../roundup/backends/back_anydbm.py:1422 #: ../roundup/backends/back_anydbm.py:1440 #: ../roundup/backends/back_anydbm.py:1487 -#: ../roundup/backends/back_anydbm.py:2117 +#: ../roundup/backends/back_anydbm.py:2113 #: ../roundup/backends/back_anydbm.py:871:884 #: ../roundup/backends/rdbms_common.py:1708 #: ../roundup/backends/rdbms_common.py:1955 @@ -1362,7 +1447,7 @@ #: ../roundup/backends/rdbms_common.py:2267 #: ../roundup/backends/rdbms_common.py:3219 #: ../roundup/backends/rdbms_common.py:1708:1955 :1158:1193 :1422:1440:1487 -#: :2117 :2194:2214 :2267:3219 +#: :2113 :2194:2214 :2267:3219 msgid "Database open read-only" msgstr "Databsen åpnet bare for lesing" @@ -1608,13 +1693,6 @@ msgid "Edit Error: %s" msgstr "Redigeringsfeil: %s" -#: ../roundup/cgi/actions.py:886 ../roundup/cgi/actions.py:897 -#: ../roundup/cgi/actions.py:1099 ../roundup/cgi/actions.py:1113 -#: ../roundup/cgi/actions.py:886:897 :1099:1113 -#, python-format -msgid "Error: %s" -msgstr "Feil: %s" - #: ../roundup/cgi/actions.py:931 msgid "" "Invalid One Time Key!\n" @@ -1865,8 +1943,8 @@ "</body></html>" msgstr "" -#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 -#: ../roundup/cgi/client.py:670:1570 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:670:1567 msgid "Required Header Missing" msgstr "" @@ -1875,138 +1953,138 @@ msgid "Client is not allowed to use Rest Interface." msgstr "Anonyme brukere får ikke benytte web-grensesnittet" -#: ../roundup/cgi/client.py:921 +#: ../roundup/cgi/client.py:918 msgid "Form Error: " msgstr "Skjema feil:" -#: ../roundup/cgi/client.py:1011 +#: ../roundup/cgi/client.py:1008 #, python-format msgid "Unrecognized charset: %r" msgstr "Ukjent tegnsett: %r" -#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 -#: ../roundup/cgi/client.py:1264:2250 +#: ../roundup/cgi/client.py:1261 ../roundup/cgi/client.py:2247 +#: ../roundup/cgi/client.py:1261:2247 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1279 +#: ../roundup/cgi/client.py:1276 msgid "Anonymous users are not allowed to use the web interface" msgstr "Anonyme brukere får ikke benytte web-grensesnittet" -#: ../roundup/cgi/client.py:1430 +#: ../roundup/cgi/client.py:1427 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1434 +#: ../roundup/cgi/client.py:1431 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1463 +#: ../roundup/cgi/client.py:1460 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1467 +#: ../roundup/cgi/client.py:1464 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1475 +#: ../roundup/cgi/client.py:1472 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" -#: ../roundup/cgi/client.py:1480 +#: ../roundup/cgi/client.py:1477 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "Ugylig login" -#: ../roundup/cgi/client.py:1495 +#: ../roundup/cgi/client.py:1492 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" -#: ../roundup/cgi/client.py:1500 +#: ../roundup/cgi/client.py:1497 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "Ugylig login" -#: ../roundup/cgi/client.py:1514 +#: ../roundup/cgi/client.py:1511 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1520 +#: ../roundup/cgi/client.py:1517 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1539 +#: ../roundup/cgi/client.py:1536 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1544 +#: ../roundup/cgi/client.py:1541 #, fuzzy, python-format msgid "Invalid HOST %s" msgstr "Ugyldig forespørsel" -#: ../roundup/cgi/client.py:1552 +#: ../roundup/cgi/client.py:1549 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1553 +#: ../roundup/cgi/client.py:1550 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:1564 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1608 +#: ../roundup/cgi/client.py:1605 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 -#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 +#: ../roundup/cgi/client.py:1607 ../roundup/cgi/client.py:1634 +#: ../roundup/cgi/client.py:1651 ../roundup/cgi/client.py:1607:1634:1651 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1614 +#: ../roundup/cgi/client.py:1611 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1626 +#: ../roundup/cgi/client.py:1623 #, python-format msgid "" "Csrf mismatch user: current user %(user)s != stored user %(stored)s, current " "session, stored session: %(cur_sess)s,%(stor_sess)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1644 +#: ../roundup/cgi/client.py:1641 #, python-format msgid "" "Csrf mismatch user: current session %(curr_sess)s != stored session " "%(stor_sess)s, current user/stored user is: %(user)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1838 +#: ../roundup/cgi/client.py:1835 msgid "You are not allowed to view this file." msgstr "Du har ikke lov å se denne filen." -#: ../roundup/cgi/client.py:2127 +#: ../roundup/cgi/client.py:2124 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "%(starttag)sMedgått tid: %(seconds)fs%(endtag)s\n" -#: ../roundup/cgi/client.py:2131 +#: ../roundup/cgi/client.py:2128 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " @@ -2015,7 +2093,7 @@ "%(starttag)sCache treff: %(cache_hits)d, ikke-treff %(cache_misses)d. Laster " "saker: %(get_items)f secs. Filtrerer: %(filtering)f secs.%(endtag)s\n" -#: ../roundup/cgi/client.py:2669 +#: ../roundup/cgi/client.py:2666 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2209,16 +2287,16 @@ msgid "<option %svalue=\"-1\">- no selection -</option>" msgstr "<option %svalue=\"-1\">- intet valg -</option>" -#: ../roundup/cgi/timestamp.py:19 +#: ../roundup/cgi/timestamp.py:23 msgid "Form is corrupted." msgstr "" -#: ../roundup/cgi/timestamp.py:28 +#: ../roundup/cgi/timestamp.py:32 #, python-format msgid "Form is corrupted, missing: %s." msgstr "" -#: ../roundup/cgi/timestamp.py:30 +#: ../roundup/cgi/timestamp.py:34 msgid "Responding to form too quickly." msgstr "" @@ -2372,54 +2450,54 @@ msgid "in %s" msgstr "i %s" -#: ../roundup/hyperdb.py:119 +#: ../roundup/hyperdb.py:120 #, fuzzy, python-format msgid "property %(property)s: %(errormsg)s" msgstr "egenskap %s: %s" -#: ../roundup/hyperdb.py:148 +#: ../roundup/hyperdb.py:149 #, fuzzy, python-format msgid "property %(property)s: %(value)r is an invalid date (%(errormsg)s)" msgstr "egenskap %s: %r er en ugyldig dato (%s)" -#: ../roundup/hyperdb.py:171 +#: ../roundup/hyperdb.py:172 #, fuzzy, python-format msgid "" "property %(property)s: %(value)r is an invalid date interval (%(errormsg)s)" msgstr "egenskap %s: %r er et ugyldig datointervalll (%s)" -#: ../roundup/hyperdb.py:428 +#: ../roundup/hyperdb.py:429 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a number" msgstr "egenskap %s: %r er ikke et nummer" -#: ../roundup/hyperdb.py:442 +#: ../roundup/hyperdb.py:443 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not an integer" msgstr "egenskap %s: %r er ikke et nummer" -#: ../roundup/hyperdb.py:464 +#: ../roundup/hyperdb.py:465 #, python-format msgid "\"%s\" not a node designator" msgstr "\"%s\" ikke en node-benevnelse" -#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 -#: ../roundup/hyperdb.py:1493:1501 +#: ../roundup/hyperdb.py:1494 ../roundup/hyperdb.py:1502 +#: ../roundup/hyperdb.py:1494:1502 #, python-format msgid "Not a property name: %s" msgstr "Ikke et navn på egenskap: %s" -#: ../roundup/hyperdb.py:1978 +#: ../roundup/hyperdb.py:1979 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "egenskapen \"%(propname)s\": \"%(value)s\" er ikke i listen nå" -#: ../roundup/hyperdb.py:1984 +#: ../roundup/hyperdb.py:1985 #, python-format msgid "you may only enter ID values for property %s" msgstr "du kan bare oppgi ID-verdier for egenskap %s" -#: ../roundup/hyperdb.py:2019 +#: ../roundup/hyperdb.py:2020 #, fuzzy, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "%r er ikke en egenskap ved %s" @@ -2748,116 +2826,116 @@ msgid "Method %(m)s not allowed. Allowed: %(a)s" msgstr "" -#: ../roundup/rest.py:1097 +#: ../roundup/rest.py:1101 #, fuzzy, python-format msgid "Invalid attribute %s" msgstr "Ugylig login" -#: ../roundup/rest.py:2090 +#: ../roundup/rest.py:2094 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2125 +#: ../roundup/rest.py:2129 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2305 +#: ../roundup/rest.py:2309 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " "supported versions." msgstr "" -#: ../roundup/roundupdb.py:139 +#: ../roundup/roundupdb.py:140 #, python-format msgid "Username '%s' already exists." msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "files" msgstr "filer" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "messages" msgstr "meldinger" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "nosy" msgstr "liste som informeres" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "superseder" msgstr "etterfølger" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "title" msgstr "tittel" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "assignedto" msgstr "tilordnet" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "keyword" msgstr "nøkkelord" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "priority" msgstr "prioritet" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "status" msgstr "status" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "activity" msgstr "aktivitet" #. following properties are common for all hyperdb classes #. they are listed here to keep things in one place -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "actor" msgstr "aktør" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creation" msgstr "opprettelse" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creator" msgstr "opprettet av" -#: ../roundup/roundupdb.py:425 +#: ../roundup/roundupdb.py:426 #, python-format msgid "No key for \"%(adr)s\" in keyring" msgstr "" -#: ../roundup/roundupdb.py:503 +#: ../roundup/roundupdb.py:504 #, python-format msgid "New submission from %(authname)s%(authaddr)s:" msgstr "Ny sak fra %(authname)s%(authaddr)s:" -#: ../roundup/roundupdb.py:506 +#: ../roundup/roundupdb.py:507 #, python-format msgid "%(authname)s%(authaddr)s added the comment:" msgstr "%(authname)s%(authaddr)s la inn kommentaren:" -#: ../roundup/roundupdb.py:509 +#: ../roundup/roundupdb.py:510 #, python-format msgid "Change by %(authname)s%(authaddr)s:" msgstr "Endret av %(authname)s%(authaddr)s:" -#: ../roundup/roundupdb.py:528 +#: ../roundup/roundupdb.py:529 #, python-format msgid "File '%(filename)s' not attached - you can download it from %(link)s." msgstr "" "Filen '%(filename)s' er ikke vedlagt - du kan laste den ned fra %(link)s." -#: ../roundup/roundupdb.py:903 +#: ../roundup/roundupdb.py:904 #, python-format msgid "" "\n" @@ -2872,12 +2950,12 @@ "Var:\n" "%(old)s" -#: ../roundup/scripts/roundup_demo.py:49 +#: ../roundup/scripts/roundup_demo.py:156 #, python-format msgid "Enter directory path to create demo tracker [%s]: " msgstr "Oppgi katalogsti for å lage demo-sporer [%s]: " -#: ../roundup/scripts/roundup_demo.py:54 +#: ../roundup/scripts/roundup_demo.py:162 #, python-format msgid "" "Enter tracker template to use (one of (%(template_list)s)) " @@ -2971,24 +3049,24 @@ msgid "User %(user)s doesn't exist" msgstr "Bruker %(user)s finnes ikke" -#: ../roundup/scripts/roundup_server.py:805 +#: ../roundup/scripts/roundup_server.py:809 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "" "Multiprosess modus \"%s\" ikke tilgjengelig, fortsetter som enkeltprosess" -#: ../roundup/scripts/roundup_server.py:832 +#: ../roundup/scripts/roundup_server.py:837 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "Ikke mulig å binde til port %s, porten er allerede i bruk." -#: ../roundup/scripts/roundup_server.py:836 +#: ../roundup/scripts/roundup_server.py:841 #, fuzzy, python-format msgid "" "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s" msgstr "Ikke mulig å binde til port %s, porten er allerede i bruk." -#: ../roundup/scripts/roundup_server.py:915 +#: ../roundup/scripts/roundup_server.py:920 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -3005,7 +3083,7 @@ " Skriv \"roundup-server -c help\" for å vise Windows Services\n" " informasjon." -#: ../roundup/scripts/roundup_server.py:922 +#: ../roundup/scripts/roundup_server.py:927 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -3019,7 +3097,7 @@ " serverens PID til filen indikert av PIDfile.\n" " -l optsjonen *må* brukes hvis -d brukes." -#: ../roundup/scripts/roundup_server.py:929 +#: ../roundup/scripts/roundup_server.py:934 #, fuzzy, python-format msgid "" "\n" @@ -3040,6 +3118,8 @@ " -N log client machine names instead of IP addresses (much " "slower)\n" " -i <fname> set tracker index template\n" +" -m <children> maximum number of children to spawn in fork multiprocess " +"mode\n" " -s enable SSL\n" " -L http request logging uses python logging (roundup.http)\n" " -e <fname> PEM file containing SSL key and certificate\n" @@ -3141,21 +3221,21 @@ " Pass på at de ikke inneholder url-utrygge tegn som mellomrom, for de kan " "forvirre IE.\n" -#: ../roundup/scripts/roundup_server.py:1105 +#: ../roundup/scripts/roundup_server.py:1111 msgid "Instances must be name=home" msgstr "Instanser må være navn=home" -#: ../roundup/scripts/roundup_server.py:1119 +#: ../roundup/scripts/roundup_server.py:1125 #, python-format msgid "Configuration saved to %s" msgstr "Konfigurasjon lagret til %s" -#: ../roundup/scripts/roundup_server.py:1137 +#: ../roundup/scripts/roundup_server.py:1143 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "" "Beklager, du kan ikke kjøre servern som daemon under dette operativsystemet" -#: ../roundup/scripts/roundup_server.py:1157 +#: ../roundup/scripts/roundup_server.py:1163 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "Roundup server startet på %(HOST)s:%(PORT)s" @@ -5629,6 +5709,20 @@ msgid "Password" msgstr "Login passord" +#, fuzzy +#~ msgid "" +#~ "Usage: security [Role name]\n" +#~ "\n" +#~ " Display the Permissions available to one or all Roles.\n" +#~ " " +#~ msgstr "" +#~ "Bruk: security [rollenavn]\n" +#~ " Viser tillatelsene som er tilgjengelige for en eller alle roller.\n" +#~ " " + +#~ msgid "Error: %(message)s" +#~ msgstr "Feil: %(message)s" + #~ msgid "Tracker updated" #~ msgstr "Sporer oppdatert"
--- a/locale/roundup.pot Wed May 24 15:05:09 2023 -0400 +++ b/locale/roundup.pot Wed May 24 20:35:53 2023 -0400 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Roundup 2.2.0\n" "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-03-03 17:28-0500\n" +"POT-Creation-Date: 2023-05-24 20:35-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -27,25 +27,45 @@ msgid "You may not retire the admin or anonymous user" msgstr "" -#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 -#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 +#: ../roundup/admin.py:117 +msgid "Have 'display designator' show protected fields: creator. NYI" +msgstr "" + +#: ../roundup/admin.py:120 +msgid "Set indexer to use when running 'reindex' NYI" +msgstr "" + +#: ../roundup/admin.py:123 +msgid "Force reopening of tracker when running each command." +msgstr "" + +#: ../roundup/admin.py:125 +msgid "Show retired items in table, list etc. NYI" +msgstr "" + +#: ../roundup/admin.py:126 +msgid "Enable verbose output: tracing, descriptions..." +msgstr "" + +#: ../roundup/admin.py:138 ../roundup/admin.py:993 ../roundup/admin.py:1601 +#: ../roundup/admin.py:1633 ../roundup/admin.py:138:993 :1601:1633 #, python-format msgid "no such class \"%(classname)s\"" msgstr "" -#: ../roundup/admin.py:124 +#: ../roundup/admin.py:150 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "" -#: ../roundup/admin.py:137 +#: ../roundup/admin.py:163 #, python-format msgid "" "Problem: %(message)s\n" "\n" msgstr "" -#: ../roundup/admin.py:138 +#: ../roundup/admin.py:164 #, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -73,17 +93,17 @@ " roundup-admin help all -- all available help\n" msgstr "" -#: ../roundup/admin.py:165 +#: ../roundup/admin.py:191 msgid "Commands: " msgstr "" -#: ../roundup/admin.py:172 +#: ../roundup/admin.py:198 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." msgstr "" -#: ../roundup/admin.py:201 +#: ../roundup/admin.py:227 msgid "" "\n" "All commands (except help) require a tracker specifier. This is just\n" @@ -148,12 +168,222 @@ "Command help:\n" msgstr "" -#: ../roundup/admin.py:264 +#: ../roundup/admin.py:290 #, python-format msgid "%s:" msgstr "" -#: ../roundup/admin.py:271 +#: ../roundup/admin.py:395 ../roundup/admin.py:1185 ../roundup/admin.py:395:1185 +msgid "Templates:" +msgstr "" + +#: ../roundup/admin.py:398 ../roundup/admin.py:1195 ../roundup/admin.py:398:1195 +msgid "Back ends:" +msgstr "" + +#: ../roundup/admin.py:415 +msgid "" +"Usage: commit\n" +" Commit changes made to the database during an interactive session.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" using this command.\n" +"\n" +" One-off commands on the command-line are automatically committed if\n" +" they are successful.\n" +" " +msgstr "" + +#: ../roundup/admin.py:430 +msgid "" +"Usage: create classname property=value ...\n" +" Create a new entry of a given class.\n" +"\n" +" This creates a new entry of the given class using the property\n" +" name=value arguments provided on the command line after the \"create" +"\"\n" +" command.\n" +" " +msgstr "" + +#: ../roundup/admin.py:438 ../roundup/admin.py:512 ../roundup/admin.py:545 +#: ../roundup/admin.py:663 ../roundup/admin.py:749 ../roundup/admin.py:807 +#: ../roundup/admin.py:852 ../roundup/admin.py:977 ../roundup/admin.py:1020 +#: ../roundup/admin.py:1158 ../roundup/admin.py:1285 ../roundup/admin.py:1371 +#: ../roundup/admin.py:1482 ../roundup/admin.py:1591 ../roundup/admin.py:1623 +#: ../roundup/admin.py:1738 ../roundup/admin.py:1792 ../roundup/admin.py:1837 +#: ../roundup/admin.py:438:512 :1020:1158 :1285 :1371:1482 :1591:1623 :1738:1792 +#: :1837 :545:663 :749:807 :852:977 +msgid "Not enough arguments supplied" +msgstr "" + +#: ../roundup/admin.py:458 +#, python-format +msgid "%(propname)s (Password): " +msgstr "" + +#: ../roundup/admin.py:461 +#, python-format +msgid " %(propname)s (Again): " +msgstr "" + +#: ../roundup/admin.py:465 +msgid "Sorry, try again..." +msgstr "" + +#: ../roundup/admin.py:470 +#, python-format +msgid "%(propname)s (%(proptype)s): " +msgstr "" + +#: ../roundup/admin.py:489 +#, python-format +msgid "you must provide the \"%(propname)s\" property." +msgstr "" + +#: ../roundup/admin.py:501 +msgid "" +"Usage: display designator[,designator]*\n" +"\n" +" Show the property values for the given node(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This lists the properties and their associated values\n" +" for the given node.\n" +" " +msgstr "" + +#: ../roundup/admin.py:528 +#, python-format +msgid "%(key)s: %(value)s" +msgstr "" + +#. grab the directory to export to +#: ../roundup/admin.py:531 +msgid "" +"Usage: export [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files.\n" +" To exclude the files (e.g. for the msg or file class),\n" +" use the exporttables command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" + +#: ../roundup/admin.py:638 +msgid "" +"Usage: exporttables [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files, excluding the\n" +" files below $TRACKER_HOME/db/files/ (which can be archived " +"separately).\n" +" To include the files, use the export command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" + +#: ../roundup/admin.py:653 +msgid "" +"Usage: filter classname propname=value ...\n" +" Find the nodes of the given class with a given property value.\n" +"\n" +" Find the nodes of the given class with a given property value.\n" +" Multiple values can be specified by separating them with commas.\n" +" If property is a string, all values must match. I.E. it's an\n" +" 'and' operation. If the property is a link/multilink any value\n" +" matches. I.E. an 'or' operation.\n" +" " +msgstr "" + +#: ../roundup/admin.py:696 +#, python-format +msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." +msgstr "" + +#: ../roundup/admin.py:734 ../roundup/admin.py:795 ../roundup/admin.py:1305 +#: ../roundup/admin.py:1317 ../roundup/admin.py:1857 ../roundup/admin.py:734:795 +#: :1305:1317 :1857 +#, python-format +msgid "%(classname)s has no property \"%(propname)s\"" +msgstr "" + +#: ../roundup/admin.py:741 +msgid "" +"Usage: find classname propname=value ...\n" +" Find the nodes of the given class with a given link property value.\n" +"\n" +" Find the nodes of the given class with a given link property value.\n" +" The value may be either the nodeid of the linked node, or its key\n" +" value.\n" +" " +msgstr "" + +#: ../roundup/admin.py:802 +msgid "" +"Usage: genconfig <filename>\n" +" Generate a new tracker config file (ini style) with default\n" +" values in <filename>.\n" +" " +msgstr "" + +#: ../roundup/admin.py:820 +#, python-format +msgid "" +"Changing option\n" +" 'password_pbkdf2_default_rounds'\n" +"from old default of %(old_number)s to new default of %(new_number)s." +msgstr "" + +#: ../roundup/admin.py:831 +#, python-format +msgid "" +"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" +"than %s." +msgstr "" + +#: ../roundup/admin.py:842 +msgid "" +"Usage: get property designator[,designator]*\n" +" Get the given property of one or more designator(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Retrieves the property value of the nodes specified\n" +" by the designators.\n" +" " +msgstr "" + +#: ../roundup/admin.py:886 ../roundup/admin.py:904 ../roundup/admin.py:886:904 +#, python-format +msgid "property %s is not of type Multilink or Link so -d flag does not apply." +msgstr "" + +#: ../roundup/admin.py:914 ../roundup/admin.py:995 ../roundup/admin.py:1635 +#: ../roundup/admin.py:914:995 :1635 +#, python-format +msgid "no such %(classname)s node \"%(nodeid)s\"" +msgstr "" + +#: ../roundup/admin.py:917 +#, python-format +msgid "no such %(classname)s property \"%(propname)s\"" +msgstr "" + +#: ../roundup/admin.py:925 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -165,20 +395,93 @@ " " msgstr "" -#: ../roundup/admin.py:293 +#: ../roundup/admin.py:947 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "" -#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 -msgid "Templates:" -msgstr "" - -#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 -msgid "Back ends:" -msgstr "" - -#: ../roundup/admin.py:414 +#: ../roundup/admin.py:964 +msgid "" +"Usage: history designator [skipquiet]\n" +" Show the history entries of a designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Lists the journal entries viewable by the user for the\n" +" node identified by the designator. If skipquiet is the\n" +" second argument, journal entries for quiet properties\n" +" are not shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1000 +msgid "" +"Usage: import import_dir\n" +" Import a database from the directory containing CSV files,\n" +" two per class to import.\n" +"\n" +" The files used in the import are:\n" +"\n" +" <class>.csv\n" +" This must define the same properties as the class (including\n" +" having a \"header\" line with those property names.)\n" +" <class>-journals.csv\n" +" This defines the journals for the items being imported.\n" +"\n" +" The imported nodes will have the same nodeid as defined in the\n" +" import file, thus replacing any existing content.\n" +"\n" +" The new nodes are added to the existing database - if you want to\n" +" create a new database using the imported data, then create a new\n" +" database (or, tediously, retire all the old data.)\n" +" " +msgstr "" + +#: ../roundup/admin.py:1079 +msgid "" +"Usage: importtables export_dir\n" +"\n" +" This imports the database tables exported using exporttables.\n" +" " +msgstr "" + +#. password +#: ../roundup/admin.py:1086 +msgid "" +"Usage: initialise [adminpw]\n" +" Initialise a new Roundup tracker.\n" +"\n" +" The administrator details will be set at this step.\n" +"\n" +" Execute the tracker's initialisation function dbinit.init()\n" +" " +msgstr "" + +#: ../roundup/admin.py:1100 +msgid "Admin Password: " +msgstr "" + +#: ../roundup/admin.py:1101 +msgid " Confirm: " +msgstr "" + +#: ../roundup/admin.py:1105 +msgid "Instance home does not exist" +msgstr "" + +#: ../roundup/admin.py:1109 +msgid "Instance has not been installed" +msgstr "" + +#: ../roundup/admin.py:1115 +msgid "" +"WARNING: The database is already initialised!\n" +"If you re-initialise it, you will lose all the data!\n" +"Erase it? Y/N: " +msgstr "" + +#: ../roundup/admin.py:1135 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -204,22 +507,12 @@ " " msgstr "" -#: ../roundup/admin.py:437 ../roundup/admin.py:568 ../roundup/admin.py:671 -#: ../roundup/admin.py:764 ../roundup/admin.py:822 ../roundup/admin.py:908 -#: ../roundup/admin.py:967 ../roundup/admin.py:994 ../roundup/admin.py:1021 -#: ../roundup/admin.py:1098 ../roundup/admin.py:1193 ../roundup/admin.py:1279 -#: ../roundup/admin.py:1340 ../roundup/admin.py:1367 ../roundup/admin.py:1403 -#: ../roundup/admin.py:1531 ../roundup/admin.py:1615 ../roundup/admin.py:437:568 -#: :1021:1098 :1193 :1279:1340 :1367:1403 :1531:1615 :671:764 :822:908 :967:994 -msgid "Not enough arguments supplied" -msgstr "" - -#: ../roundup/admin.py:443 +#: ../roundup/admin.py:1164 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "" -#: ../roundup/admin.py:452 +#: ../roundup/admin.py:1173 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -227,20 +520,20 @@ "Erase it? Y/N: " msgstr "" -#: ../roundup/admin.py:465 +#: ../roundup/admin.py:1186 msgid "Select template" msgstr "" -#: ../roundup/admin.py:475 +#: ../roundup/admin.py:1196 msgid "Select backend" msgstr "" -#: ../roundup/admin.py:486 +#: ../roundup/admin.py:1207 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "" -#: ../roundup/admin.py:517 +#: ../roundup/admin.py:1238 #, python-format msgid "" "\n" @@ -249,11 +542,11 @@ " %(config_file)s" msgstr "" -#: ../roundup/admin.py:527 +#: ../roundup/admin.py:1248 msgid " ... at a minimum, you must set following options:" msgstr "" -#: ../roundup/admin.py:532 +#: ../roundup/admin.py:1253 #, python-format msgid "" "\n" @@ -269,105 +562,315 @@ "---------------------------------------------------------------------------\n" msgstr "" -#: ../roundup/admin.py:563 +#: ../roundup/admin.py:1270 msgid "" -"Usage: genconfig <filename>\n" -" Generate a new tracker config file (ini style) with default\n" -" values in <filename>.\n" +"Usage: list classname [property]\n" +" List the instances of a class.\n" +"\n" +" Lists all instances of the given class. If the property is not\n" +" specified, the \"label\" property is used. The label property is\n" +" tried in order: the key, \"name\", \"title\" and then the first\n" +" property, alphabetically.\n" +"\n" +" With -c, -S or -s print a list of item id's if no property\n" +" specified. If property specified, print list of that property\n" +" for every class instance.\n" " " msgstr "" -#: ../roundup/admin.py:581 -#, python-format +#: ../roundup/admin.py:1283 +msgid "Too many arguments supplied" +msgstr "" + +#: ../roundup/admin.py:1319 +#, python-format +msgid "%(nodeid)4s: %(value)s" +msgstr "" + +#: ../roundup/admin.py:1323 msgid "" -"Changing option\n" -" 'password_pbkdf2_default_rounds'\n" -"from old default of %(old_number)s to new default of %(new_number)s." -msgstr "" - -#: ../roundup/admin.py:593 -#, python-format +"Usage: migrate\n" +"\n" +" Update a tracker's database to be compatible with the Roundup\n" +" codebase.\n" +"\n" +" You should run the \"migrate\" command for your tracker once\n" +" you've installed the latest codebase.\n" +"\n" +" Do this before you use the web, command-line or mail interface\n" +" and before any users access the tracker.\n" +"\n" +" This command will respond with either \"Tracker updated\" (if\n" +" you've not previously run it on an RDBMS backend) or \"No\n" +" migration action required\" (if you have run it, or have used\n" +" another interface to the tracker, or possibly because you are\n" +" using anydbm).\n" +"\n" +" It's safe to run this even if it's not required, so just get\n" +" into the habit.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1344 +#, python-format +msgid "Tracker updated to schema version %s." +msgstr "" + +#: ../roundup/admin.py:1348 +#, python-format +msgid "No migration action required. At schema version %s." +msgstr "" + +#: ../roundup/admin.py:1353 msgid "" -"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" -"than %s." -msgstr "" - -#: ../roundup/admin.py:604 -msgid "" -"Usage: updateconfig <filename>\n" -" Generate an updated tracker config file (ini style) in\n" -" <filename>. Use current settings from existing roundup\n" -" tracker in tracker home.\n" +"Usage: pack period | date\n" +"\n" +" Remove journal entries older than a period of time specified or\n" +" before a certain date.\n" +"\n" +" A period is specified using the suffixes \"y\", \"m\", and \"d\". " +"The\n" +" suffix \"w\" (for \"week\") means 7 days.\n" +"\n" +" \"3y\" means three years\n" +" \"2y 1m\" means two years and one month\n" +" \"1m 25d\" means one month and 25 days\n" +" \"2w 3d\" means two weeks and three days\n" +"\n" +" Date format is \"YYYY-MM-DD\" eg:\n" +" 2001-01-01\n" +"\n" " " msgstr "" -#. password -#: ../roundup/admin.py:612 +#: ../roundup/admin.py:1381 +msgid "Invalid format" +msgstr "" + +#: ../roundup/admin.py:1392 msgid "" -"Usage: initialise [adminpw]\n" -" Initialise a new Roundup tracker.\n" +"Usage: perftest [mode] [arguments]*\n" +"\n" +" Time operations in Roundup. Supported arguments:\n" +"\n" +" [password] [rounds=<integer>] [scheme=<scheme>]\n" +"\n" +" 'password' is the default mode. The tracker's config.ini\n" +" setting for 'password_pbkdf2_default_rounds' is the default\n" +" value for 'rounds'. On the command line, 'rounds' can include\n" +" thousands separator of ',' or '.'. 'scheme' is the default\n" +" coded into Roundup. List supported schemes by using 'scheme='.\n" "\n" -" The administrator details will be set at this step.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1425 +msgid "Invalid 'rounds'. Must be larger than 999." +msgstr "" + +#: ../roundup/admin.py:1429 +#, python-format +msgid "Invalid 'rounds'. It must be an integer not: %s" +msgstr "" + +#: ../roundup/admin.py:1456 +msgid "scheme does not support rounds." +msgstr "" + +#: ../roundup/admin.py:1459 +#, python-format +msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" +msgstr "" + +#: ../roundup/admin.py:1465 +msgid "" +"Usage: pragma setting=value | 'list'\n" +" Set internal admin settings to a value. E.G.\n" "\n" -" Execute the tracker's initialisation function dbinit.init()\n" +" pragma verbose=True\n" +" pragma verbose=yes\n" +" pragma verbose=on\n" +" pragma verbose=1\n" +"\n" +" will turn on verbose mode for roundup-admin.\n" +"\n" +" pragma list\n" +"\n" +" will show all settings and their current values. If verbose\n" +" is enabled hidden settings and descriptions will be shown.\n" " " msgstr "" -#: ../roundup/admin.py:626 -msgid "Admin Password: " -msgstr "" - -#: ../roundup/admin.py:627 -msgid " Confirm: " -msgstr "" - -#: ../roundup/admin.py:631 -msgid "Instance home does not exist" -msgstr "" - -#: ../roundup/admin.py:635 -msgid "Instance has not been installed" -msgstr "" - -#: ../roundup/admin.py:641 +#: ../roundup/admin.py:1489 +#, python-format +msgid "Argument must be setting=value, was given: %s." +msgstr "" + +#: ../roundup/admin.py:1492 +msgid "Current settings and values (NYI - not yet implemented):" +msgstr "" + +#: ../roundup/admin.py:1505 +#, python-format +msgid "Unknown setting %s." +msgstr "" + +#: ../roundup/admin.py:1514 +#, python-format +msgid "Incorrect value for boolean setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1521 +#, python-format +msgid "Incorrect value for integer setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1527 +#, python-format +msgid "Internal error: pragma can not handle values of type: %s" +msgstr "" + +#: ../roundup/admin.py:1537 msgid "" -"WARNING: The database is already initialised!\n" -"If you re-initialise it, you will lose all the data!\n" -"Erase it? Y/N: " -msgstr "" - -#: ../roundup/admin.py:661 +"Usage: reindex [classname|classname:#-#|designator]*\n" +" Re-generate a tracker's search indexes.\n" +"\n" +" This will re-generate the search indexes for a tracker.\n" +" This will typically happen automatically.\n" +"\n" +" You can incrementally reindex using an argument like:\n" +"\n" +" reindex issue:23-1000\n" +"\n" +" to reindex issue class items 23-1000. Missing items\n" +" are reported but do not stop indexing of the range.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1560 +#, python-format +msgid "no such item \"%(designator)s\"" +msgstr "" + +#: ../roundup/admin.py:1570 +#, python-format +msgid "no such item \"%(class)s%(id)s\"" +msgstr "" + +#: ../roundup/admin.py:1582 msgid "" -"Usage: get property designator[,designator]*\n" -" Get the given property of one or more designator(s).\n" +"Usage: restore designator[,designator]*\n" +" Restore the retired node specified by designator.\n" "\n" " A designator is a classname and a nodeid concatenated,\n" " eg. bug1, user10, ...\n" "\n" -" Retrieves the property value of the nodes specified\n" -" by the designators.\n" +" The given nodes will become available for users again.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1607 +msgid "no such %(classname)s node \" % (nodeid)s\"" +msgstr "" + +#: ../roundup/admin.py:1613 +msgid "" +"Usage: retire designator[,designator]*\n" +" Retire the node specified by designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This action indicates that a particular node is not to be retrieved\n" +" by the list or find commands, and its key value may be re-used.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1641 +msgid "" +"Usage: rollback\n" +" Undo all changes that are pending commit to the database.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" manually. This command undoes all those changes, so a commit\n" +" immediately after would make no changes to the database.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1654 +msgid "" +"Usage: security [Role name]\n" +"\n" +" Display the Permissions available to one or all Roles.\n" +" Also validates that any properties defined in a\n" +" permission are valid.\n" +"\n" +" Run this after changing your permissions to catch\n" +" typos.\n" " " msgstr "" -#: ../roundup/admin.py:705 ../roundup/admin.py:723 ../roundup/admin.py:705:723 -#, python-format -msgid "property %s is not of type Multilink or Link so -d flag does not apply." -msgstr "" - -#: ../roundup/admin.py:733 ../roundup/admin.py:1297 ../roundup/admin.py:1352 -#: ../roundup/admin.py:733:1297 :1352 -#, python-format -msgid "no such %(classname)s node \"%(nodeid)s\"" -msgstr "" - -#: ../roundup/admin.py:736 -#, python-format -msgid "no such %(classname)s property \"%(propname)s\"" -msgstr "" - -#: ../roundup/admin.py:744 +#: ../roundup/admin.py:1668 +#, python-format +msgid "No such Role \"%(role)s\"\n" +msgstr "" + +#: ../roundup/admin.py:1674 +#, python-format +msgid "New Web users get the Roles \"%(role)s\"\n" +msgstr "" + +#: ../roundup/admin.py:1677 +#, python-format +msgid "New Web users get the Role \"%(role)s\"\n" +msgstr "" + +#: ../roundup/admin.py:1681 +#, python-format +msgid "New Email users get the Roles \"%(role)s\"\n" +msgstr "" + +#: ../roundup/admin.py:1683 +#, python-format +msgid "New Email users get the Role \"%(role)s\"\n" +msgstr "" + +#: ../roundup/admin.py:1686 +#, python-format +msgid "Role \"%(name)s\":\n" +msgstr "" + +#: ../roundup/admin.py:1692 +msgid " %(description)s (%(name)s for \"%(klass)s\"" +msgstr "" + +#: ../roundup/admin.py:1692 +#, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" +msgstr "" + +#: ../roundup/admin.py:1705 +#, python-format msgid "" -"Usage: set items property=value property=value ...\n" +"\n" +" **Invalid properties for %(class)s: %(props)s\n" +"\n" +msgstr "" + +#: ../roundup/admin.py:1711 +#, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" +msgstr "" + +#: ../roundup/admin.py:1714 +#, python-format +msgid " %(description)s (%(name)s)\n" +msgstr "" + +#: ../roundup/admin.py:1718 +msgid "" +"Usage: set items property=value [property=value ...]\n" " Set the given properties of one or more items(s).\n" "\n" " The items are specified as a class or as a comma-separated\n" @@ -386,43 +889,7 @@ " " msgstr "" -#: ../roundup/admin.py:812 -msgid "" -"Usage: filter classname propname=value ...\n" -" Find the nodes of the given class with a given property value.\n" -"\n" -" Find the nodes of the given class with a given property value.\n" -" Multiple values can be specified by separating them with commas.\n" -" If property is a string, all values must match. I.E. it's an\n" -" 'and' operation. If the property is a link/multilink any value\n" -" matches. I.E. an 'or' operation.\n" -" " -msgstr "" - -#: ../roundup/admin.py:855 -#, python-format -msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." -msgstr "" - -#: ../roundup/admin.py:893 ../roundup/admin.py:954 ../roundup/admin.py:1118 -#: ../roundup/admin.py:1130 ../roundup/admin.py:1213 ../roundup/admin.py:893:954 -#: :1118:1130 :1213 -#, python-format -msgid "%(classname)s has no property \"%(propname)s\"" -msgstr "" - -#: ../roundup/admin.py:900 -msgid "" -"Usage: find classname propname=value ...\n" -" Find the nodes of the given class with a given link property value.\n" -"\n" -" Find the nodes of the given class with a given link property value.\n" -" The value may be either the nodeid of the linked node, or its key\n" -" value.\n" -" " -msgstr "" - -#: ../roundup/admin.py:961 +#: ../roundup/admin.py:1786 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -431,107 +898,17 @@ " " msgstr "" -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1802 #, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "" -#: ../roundup/admin.py:980 +#: ../roundup/admin.py:1805 #, python-format msgid "%(key)s: %(value)s\n" msgstr "" -#: ../roundup/admin.py:983 -msgid "" -"Usage: display designator[,designator]*\n" -"\n" -" Show the property values for the given node(s).\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This lists the properties and their associated values\n" -" for the given node.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1010 -#, python-format -msgid "%(key)s: %(value)s" -msgstr "" - -#: ../roundup/admin.py:1013 -msgid "" -"Usage: create classname property=value ...\n" -" Create a new entry of a given class.\n" -"\n" -" This creates a new entry of the given class using the property\n" -" name=value arguments provided on the command line after the \"create" -"\"\n" -" command.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1041 -#, python-format -msgid "%(propname)s (Password): " -msgstr "" - -#: ../roundup/admin.py:1044 -#, python-format -msgid " %(propname)s (Again): " -msgstr "" - -#: ../roundup/admin.py:1048 -msgid "Sorry, try again..." -msgstr "" - -#: ../roundup/admin.py:1052 -#, python-format -msgid "%(propname)s (%(proptype)s): " -msgstr "" - -#: ../roundup/admin.py:1071 -#, python-format -msgid "you must provide the \"%(propname)s\" property." -msgstr "" - -#: ../roundup/admin.py:1083 -msgid "" -"Usage: list classname [property]\n" -" List the instances of a class.\n" -"\n" -" Lists all instances of the given class. If the property is not\n" -" specified, the \"label\" property is used. The label property is\n" -" tried in order: the key, \"name\", \"title\" and then the first\n" -" property, alphabetically.\n" -"\n" -" With -c, -S or -s print a list of item id's if no property\n" -" specified. If property specified, print list of that property\n" -" for every class instance.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1096 -msgid "Too many arguments supplied" -msgstr "" - -#: ../roundup/admin.py:1132 -#, python-format -msgid "%(nodeid)4s: %(value)s" -msgstr "" - -#: ../roundup/admin.py:1136 -msgid "" -"Usage: templates [trace_search]\n" -" List templates and their installed directories.\n" -"\n" -" With trace_search also list all directories that are\n" -" searched for templates.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1164 +#: ../roundup/admin.py:1808 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -563,368 +940,78 @@ " " msgstr "" -#: ../roundup/admin.py:1208 +#: ../roundup/admin.py:1852 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1874 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1266 -msgid "" -"Usage: history designator [skipquiet]\n" -" Show the history entries of a designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" Lists the journal entries viewable by the user for the\n" -" node identified by the designator. If skipquiet is the\n" -" second argument, journal entries for quiet properties\n" -" are not shown.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1302 -msgid "" -"Usage: commit\n" -" Commit changes made to the database during an interactive session.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" using this command.\n" -"\n" -" One-off commands on the command-line are automatically committed if\n" -" they are successful.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1317 -msgid "" -"Usage: rollback\n" -" Undo all changes that are pending commit to the database.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" manually. This command undoes all those changes, so a commit\n" -" immediately after would make no changes to the database.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1330 -msgid "" -"Usage: retire designator[,designator]*\n" -" Retire the node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This action indicates that a particular node is not to be retrieved\n" -" by the list or find commands, and its key value may be re-used.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1358 -msgid "" -"Usage: restore designator[,designator]*\n" -" Restore the retired node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" The given nodes will become available for users again.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1383 -msgid "no such %(classname)s node \" % (nodeid)s\"" -msgstr "" - -#. grab the directory to export to -#: ../roundup/admin.py:1389 +#: ../roundup/admin.py:1910 msgid "" -"Usage: export [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files.\n" -" To exclude the files (e.g. for the msg or file class),\n" -" use the exporttables command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1496 -msgid "" -"Usage: exporttables [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files, excluding the\n" -" files below $TRACKER_HOME/db/files/ (which can be archived " -"separately).\n" -" To include the files, use the export command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1511 -msgid "" -"Usage: import import_dir\n" -" Import a database from the directory containing CSV files,\n" -" two per class to import.\n" -"\n" -" The files used in the import are:\n" +"Usage: templates [trace_search]\n" +" List templates and their installed directories.\n" "\n" -" <class>.csv\n" -" This must define the same properties as the class (including\n" -" having a \"header\" line with those property names.)\n" -" <class>-journals.csv\n" -" This defines the journals for the items being imported.\n" -"\n" -" The imported nodes will have the same nodeid as defined in the\n" -" import file, thus replacing any existing content.\n" -"\n" -" The new nodes are added to the existing database - if you want to\n" -" create a new database using the imported data, then create a new\n" -" database (or, tediously, retire all the old data.)\n" -" " -msgstr "" - -#: ../roundup/admin.py:1590 -msgid "" -"Usage: importtables export_dir\n" -"\n" -" This imports the database tables exported using exporttables.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1597 -msgid "" -"Usage: pack period | date\n" -"\n" -" Remove journal entries older than a period of time specified or\n" -" before a certain date.\n" -"\n" -" A period is specified using the suffixes \"y\", \"m\", and \"d\". " -"The\n" -" suffix \"w\" (for \"week\") means 7 days.\n" -"\n" -" \"3y\" means three years\n" -" \"2y 1m\" means two years and one month\n" -" \"1m 25d\" means one month and 25 days\n" -" \"2w 3d\" means two weeks and three days\n" -"\n" -" Date format is \"YYYY-MM-DD\" eg:\n" -" 2001-01-01\n" -"\n" +" With trace_search also list all directories that are\n" +" searched for templates.\n" " " msgstr "" -#: ../roundup/admin.py:1625 -msgid "Invalid format" -msgstr "" - -#: ../roundup/admin.py:1638 -msgid "" -"Usage: reindex [classname|designator]*\n" -" Re-generate a tracker's search indexes.\n" -"\n" -" This will re-generate the search indexes for a tracker.\n" -" This will typically happen automatically.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1652 -#, python-format -msgid "no such item \"%(designator)s\"" -msgstr "" - -#: ../roundup/admin.py:1662 -msgid "" -"Usage: security [Role name]\n" -"\n" -" Display the Permissions available to one or all Roles.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1671 -#, python-format -msgid "No such Role \"%(role)s\"\n" -msgstr "" - -#: ../roundup/admin.py:1677 -#, python-format -msgid "New Web users get the Roles \"%(role)s\"\n" -msgstr "" - -#: ../roundup/admin.py:1680 -#, python-format -msgid "New Web users get the Role \"%(role)s\"\n" -msgstr "" - -#: ../roundup/admin.py:1684 -#, python-format -msgid "New Email users get the Roles \"%(role)s\"\n" -msgstr "" - -#: ../roundup/admin.py:1686 -#, python-format -msgid "New Email users get the Role \"%(role)s\"\n" -msgstr "" - -#: ../roundup/admin.py:1689 -#, python-format -msgid "Role \"%(name)s\":\n" -msgstr "" - -#: ../roundup/admin.py:1695 -msgid " %(description)s (%(name)s for \"%(klass)s\"" -msgstr "" - -#: ../roundup/admin.py:1695 -#, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" -msgstr "" - -#: ../roundup/admin.py:1708 -#, python-format +#: ../roundup/admin.py:1938 msgid "" -"\n" -" **Invalid properties for %(class)s: %(props)s\n" -"\n" -msgstr "" - -#: ../roundup/admin.py:1714 -#, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" -msgstr "" - -#: ../roundup/admin.py:1717 -#, python-format -msgid " %(description)s (%(name)s)\n" -msgstr "" - -#: ../roundup/admin.py:1721 -msgid "" -"Usage: migrate\n" -"\n" -" Update a tracker's database to be compatible with the Roundup\n" -" codebase.\n" -"\n" -" You should run the \"migrate\" command for your tracker once\n" -" you've installed the latest codebase.\n" -"\n" -" Do this before you use the web, command-line or mail interface\n" -" and before any users access the tracker.\n" -"\n" -" This command will respond with either \"Tracker updated\" (if\n" -" you've not previously run it on an RDBMS backend) or \"No\n" -" migration action required\" (if you have run it, or have used\n" -" another interface to the tracker, or possibly because you are\n" -" using anydbm).\n" -"\n" -" It's safe to run this even if it's not required, so just get\n" -" into the habit.\n" +"Usage: updateconfig <filename>\n" +" Generate an updated tracker config file (ini style) in\n" +" <filename>. Use current settings from existing roundup\n" +" tracker in tracker home.\n" " " msgstr "" -#: ../roundup/admin.py:1742 -#, python-format -msgid "Tracker updated to schema version %s." -msgstr "" - -#: ../roundup/admin.py:1746 -#, python-format -msgid "No migration action required. At schema version %s." -msgstr "" - -#: ../roundup/admin.py:1751 -msgid "" -"Usage: perftest [mode] [arguments]*\n" -"\n" -" Time operations in Roundup. Supported arguments:\n" -"\n" -" [password] [rounds=<integer>] [scheme=<scheme>]\n" -"\n" -" 'password' is the default mode. The tracker's config.ini\n" -" setting for 'password_pbkdf2_default_rounds' is the default\n" -" value for 'rounds'. On the command line, 'rounds' can include\n" -" thousands separator of ',' or '.'. 'scheme' is the default\n" -" coded into Roundup. List supported schemes by using 'scheme='.\n" -"\n" -" " -msgstr "" - -#: ../roundup/admin.py:1785 -msgid "Invalid 'rounds'. Must be larger than 999." -msgstr "" - -#: ../roundup/admin.py:1789 -#, python-format -msgid "Invalid 'rounds'. It must be an integer not: %s" -msgstr "" - -#: ../roundup/admin.py:1816 -msgid "scheme does not support rounds." -msgstr "" - -#: ../roundup/admin.py:1819 -#, python-format -msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" -msgstr "" - -#: ../roundup/admin.py:1847 +#: ../roundup/admin.py:1946 ../roundup/cgi/actions.py:886 +#: ../roundup/cgi/actions.py:897 ../roundup/cgi/actions.py:1099 +#: ../roundup/cgi/actions.py:1113 ../roundup/cgi/actions.py:886:897 :1099:1113 +#, python-format +msgid "Error: %s" +msgstr "" + +#: ../roundup/admin.py:1974 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "" -#: ../roundup/admin.py:1853 +#: ../roundup/admin.py:1980 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "" -#: ../roundup/admin.py:1862 +#: ../roundup/admin.py:1996 msgid "Enter tracker home: " msgstr "" -#: ../roundup/admin.py:1871 ../roundup/admin.py:1877 ../roundup/admin.py:1914 -#: ../roundup/admin.py:1871:1877 :1914 -#, python-format -msgid "Error: %(message)s" -msgstr "" - -#: ../roundup/admin.py:1887 ../roundup/admin.py:1891 -#: ../roundup/admin.py:1887:1891 +#: ../roundup/admin.py:2023 ../roundup/admin.py:2027 +#: ../roundup/admin.py:2023:2027 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "" -#: ../roundup/admin.py:1927 +#: ../roundup/admin.py:2060 #, python-format msgid "" "Roundup %s ready for input.\n" "Type \"help\" for help." msgstr "" -#: ../roundup/admin.py:1932 +#: ../roundup/admin.py:2065 msgid "Note: command history and editing not available" msgstr "" -#: ../roundup/admin.py:1938 +#: ../roundup/admin.py:2071 msgid "exit..." msgstr "" -#: ../roundup/admin.py:1951 +#: ../roundup/admin.py:2084 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "" @@ -956,7 +1043,7 @@ #: ../roundup/backends/back_anydbm.py:1422 #: ../roundup/backends/back_anydbm.py:1440 #: ../roundup/backends/back_anydbm.py:1487 -#: ../roundup/backends/back_anydbm.py:2117 +#: ../roundup/backends/back_anydbm.py:2113 #: ../roundup/backends/back_anydbm.py:871:884 #: ../roundup/backends/rdbms_common.py:1708 #: ../roundup/backends/rdbms_common.py:1955 @@ -965,7 +1052,7 @@ #: ../roundup/backends/rdbms_common.py:2267 #: ../roundup/backends/rdbms_common.py:3219 #: ../roundup/backends/rdbms_common.py:1708:1955 :1158:1193 :1422:1440 :1487 -#: :2117 :2194:2214 :2267:3219 +#: :2113 :2194:2214 :2267:3219 msgid "Database open read-only" msgstr "" @@ -1205,13 +1292,6 @@ msgid "Edit Error: %s" msgstr "" -#: ../roundup/cgi/actions.py:886 ../roundup/cgi/actions.py:897 -#: ../roundup/cgi/actions.py:1099 ../roundup/cgi/actions.py:1113 -#: ../roundup/cgi/actions.py:886:897 :1099:1113 -#, python-format -msgid "Error: %s" -msgstr "" - #: ../roundup/cgi/actions.py:931 msgid "" "Invalid One Time Key!\n" @@ -1444,8 +1524,8 @@ "</body></html>" msgstr "" -#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 -#: ../roundup/cgi/client.py:670:1570 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:670:1567 msgid "Required Header Missing" msgstr "" @@ -1453,145 +1533,145 @@ msgid "Client is not allowed to use Rest Interface." msgstr "" -#: ../roundup/cgi/client.py:921 +#: ../roundup/cgi/client.py:918 msgid "Form Error: " msgstr "" -#: ../roundup/cgi/client.py:1011 +#: ../roundup/cgi/client.py:1008 #, python-format msgid "Unrecognized charset: %r" msgstr "" -#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 -#: ../roundup/cgi/client.py:1264:2250 +#: ../roundup/cgi/client.py:1261 ../roundup/cgi/client.py:2247 +#: ../roundup/cgi/client.py:1261:2247 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1279 +#: ../roundup/cgi/client.py:1276 msgid "Anonymous users are not allowed to use the web interface" msgstr "" -#: ../roundup/cgi/client.py:1430 +#: ../roundup/cgi/client.py:1427 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1434 +#: ../roundup/cgi/client.py:1431 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1463 +#: ../roundup/cgi/client.py:1460 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1467 +#: ../roundup/cgi/client.py:1464 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1475 +#: ../roundup/cgi/client.py:1472 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" -#: ../roundup/cgi/client.py:1480 +#: ../roundup/cgi/client.py:1477 #, python-format msgid "Invalid Referer: %s" msgstr "" -#: ../roundup/cgi/client.py:1495 +#: ../roundup/cgi/client.py:1492 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" -#: ../roundup/cgi/client.py:1500 +#: ../roundup/cgi/client.py:1497 #, python-format msgid "Invalid Origin %s" msgstr "" -#: ../roundup/cgi/client.py:1514 +#: ../roundup/cgi/client.py:1511 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1520 +#: ../roundup/cgi/client.py:1517 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1539 +#: ../roundup/cgi/client.py:1536 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1544 +#: ../roundup/cgi/client.py:1541 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1552 +#: ../roundup/cgi/client.py:1549 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1553 +#: ../roundup/cgi/client.py:1550 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:1564 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1608 +#: ../roundup/cgi/client.py:1605 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 -#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637 :1654 +#: ../roundup/cgi/client.py:1607 ../roundup/cgi/client.py:1634 +#: ../roundup/cgi/client.py:1651 ../roundup/cgi/client.py:1607:1634 :1651 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1614 +#: ../roundup/cgi/client.py:1611 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1626 +#: ../roundup/cgi/client.py:1623 #, python-format msgid "" "Csrf mismatch user: current user %(user)s != stored user %(stored)s, current " "session, stored session: %(cur_sess)s,%(stor_sess)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1644 +#: ../roundup/cgi/client.py:1641 #, python-format msgid "" "Csrf mismatch user: current session %(curr_sess)s != stored session " "%(stor_sess)s, current user/stored user is: %(user)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1838 +#: ../roundup/cgi/client.py:1835 msgid "You are not allowed to view this file." msgstr "" -#: ../roundup/cgi/client.py:2127 +#: ../roundup/cgi/client.py:2124 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2131 +#: ../roundup/cgi/client.py:2128 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " "items: %(get_items)f secs. Filtering: %(filtering)f secs.%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2669 +#: ../roundup/cgi/client.py:2666 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -1777,16 +1857,16 @@ msgid "<option %svalue=\"-1\">- no selection -</option>" msgstr "" -#: ../roundup/cgi/timestamp.py:19 +#: ../roundup/cgi/timestamp.py:23 msgid "Form is corrupted." msgstr "" -#: ../roundup/cgi/timestamp.py:28 +#: ../roundup/cgi/timestamp.py:32 #, python-format msgid "Form is corrupted, missing: %s." msgstr "" -#: ../roundup/cgi/timestamp.py:30 +#: ../roundup/cgi/timestamp.py:34 msgid "Responding to form too quickly." msgstr "" @@ -1933,54 +2013,54 @@ msgid "in %s" msgstr "" -#: ../roundup/hyperdb.py:119 +#: ../roundup/hyperdb.py:120 #, python-format msgid "property %(property)s: %(errormsg)s" msgstr "" -#: ../roundup/hyperdb.py:148 +#: ../roundup/hyperdb.py:149 #, python-format msgid "property %(property)s: %(value)r is an invalid date (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:171 +#: ../roundup/hyperdb.py:172 #, python-format msgid "" "property %(property)s: %(value)r is an invalid date interval (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:428 +#: ../roundup/hyperdb.py:429 #, python-format msgid "property %(property)s: %(value)r is not a number" msgstr "" -#: ../roundup/hyperdb.py:442 +#: ../roundup/hyperdb.py:443 #, python-format msgid "property %(property)s: %(value)r is not an integer" msgstr "" -#: ../roundup/hyperdb.py:464 +#: ../roundup/hyperdb.py:465 #, python-format msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 -#: ../roundup/hyperdb.py:1493:1501 +#: ../roundup/hyperdb.py:1494 ../roundup/hyperdb.py:1502 +#: ../roundup/hyperdb.py:1494:1502 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1978 +#: ../roundup/hyperdb.py:1979 #, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "" -#: ../roundup/hyperdb.py:1984 +#: ../roundup/hyperdb.py:1985 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2019 +#: ../roundup/hyperdb.py:2020 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" @@ -2223,115 +2303,115 @@ msgid "Method %(m)s not allowed. Allowed: %(a)s" msgstr "" -#: ../roundup/rest.py:1097 +#: ../roundup/rest.py:1101 #, python-format msgid "Invalid attribute %s" msgstr "" -#: ../roundup/rest.py:2090 +#: ../roundup/rest.py:2094 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2125 +#: ../roundup/rest.py:2129 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2305 +#: ../roundup/rest.py:2309 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " "supported versions." msgstr "" -#: ../roundup/roundupdb.py:139 +#: ../roundup/roundupdb.py:140 #, python-format msgid "Username '%s' already exists." msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "files" msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "messages" msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "nosy" msgstr "" -#: ../roundup/roundupdb.py:223 -msgid "superseder" -msgstr "" - -#: ../roundup/roundupdb.py:223 -msgid "title" -msgstr "" - #: ../roundup/roundupdb.py:224 -msgid "assignedto" -msgstr "" - -#: ../roundup/roundupdb.py:224 -msgid "keyword" +msgid "superseder" msgstr "" #: ../roundup/roundupdb.py:224 +msgid "title" +msgstr "" + +#: ../roundup/roundupdb.py:225 +msgid "assignedto" +msgstr "" + +#: ../roundup/roundupdb.py:225 +msgid "keyword" +msgstr "" + +#: ../roundup/roundupdb.py:225 msgid "priority" msgstr "" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "status" msgstr "" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "activity" msgstr "" #. following properties are common for all hyperdb classes #. they are listed here to keep things in one place -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "actor" msgstr "" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creation" msgstr "" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creator" msgstr "" -#: ../roundup/roundupdb.py:425 +#: ../roundup/roundupdb.py:426 #, python-format msgid "No key for \"%(adr)s\" in keyring" msgstr "" -#: ../roundup/roundupdb.py:503 +#: ../roundup/roundupdb.py:504 #, python-format msgid "New submission from %(authname)s%(authaddr)s:" msgstr "" -#: ../roundup/roundupdb.py:506 +#: ../roundup/roundupdb.py:507 #, python-format msgid "%(authname)s%(authaddr)s added the comment:" msgstr "" -#: ../roundup/roundupdb.py:509 +#: ../roundup/roundupdb.py:510 #, python-format msgid "Change by %(authname)s%(authaddr)s:" msgstr "" -#: ../roundup/roundupdb.py:528 +#: ../roundup/roundupdb.py:529 #, python-format msgid "File '%(filename)s' not attached - you can download it from %(link)s." msgstr "" -#: ../roundup/roundupdb.py:903 +#: ../roundup/roundupdb.py:904 #, python-format msgid "" "\n" @@ -2341,12 +2421,12 @@ "%(old)s" msgstr "" -#: ../roundup/scripts/roundup_demo.py:49 +#: ../roundup/scripts/roundup_demo.py:156 #, python-format msgid "Enter directory path to create demo tracker [%s]: " msgstr "" -#: ../roundup/scripts/roundup_demo.py:54 +#: ../roundup/scripts/roundup_demo.py:162 #, python-format msgid "" "Enter tracker template to use (one of (%(template_list)s)) " @@ -2434,23 +2514,23 @@ msgid "User %(user)s doesn't exist" msgstr "" -#: ../roundup/scripts/roundup_server.py:805 +#: ../roundup/scripts/roundup_server.py:809 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "" -#: ../roundup/scripts/roundup_server.py:832 +#: ../roundup/scripts/roundup_server.py:837 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "" -#: ../roundup/scripts/roundup_server.py:836 +#: ../roundup/scripts/roundup_server.py:841 #, python-format msgid "" "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s" msgstr "" -#: ../roundup/scripts/roundup_server.py:915 +#: ../roundup/scripts/roundup_server.py:920 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -2460,7 +2540,7 @@ " specifics." msgstr "" -#: ../roundup/scripts/roundup_server.py:922 +#: ../roundup/scripts/roundup_server.py:927 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2469,7 +2549,7 @@ " specified if -d is used." msgstr "" -#: ../roundup/scripts/roundup_server.py:929 +#: ../roundup/scripts/roundup_server.py:934 #, python-format msgid "" "\n" @@ -2490,6 +2570,7 @@ " -N log client machine names instead of IP addresses (much " "slower)\n" " -i <fname> set tracker index template\n" +" -m <children> maximum number of children to spawn in fork multiprocess mode\n" " -s enable SSL\n" " -L http request logging uses python logging (roundup.http)\n" " -e <fname> PEM file containing SSL key and certificate\n" @@ -2536,20 +2617,20 @@ " any url-unsafe characters like spaces, as these confuse IE.\n" msgstr "" -#: ../roundup/scripts/roundup_server.py:1105 +#: ../roundup/scripts/roundup_server.py:1111 msgid "Instances must be name=home" msgstr "" -#: ../roundup/scripts/roundup_server.py:1119 +#: ../roundup/scripts/roundup_server.py:1125 #, python-format msgid "Configuration saved to %s" msgstr "" -#: ../roundup/scripts/roundup_server.py:1137 +#: ../roundup/scripts/roundup_server.py:1143 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "" -#: ../roundup/scripts/roundup_server.py:1157 +#: ../roundup/scripts/roundup_server.py:1163 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr ""
--- a/locale/ru.po Wed May 24 15:05:09 2023 -0400 +++ b/locale/ru.po Wed May 24 20:35:53 2023 -0400 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Roundup 2.3.0\n" "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-03-03 17:28-0500\n" +"POT-Creation-Date: 2023-05-24 20:34-0400\n" "PO-Revision-Date: 2013-10-31 12:21+0100\n" "Last-Translator: alexander smishlajev <alex@tycobka.lv>\n" "Language-Team: Russian\n" @@ -29,18 +29,38 @@ msgid "You may not retire the admin or anonymous user" msgstr " admin anonymous." -#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 -#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 +#: ../roundup/admin.py:117 +msgid "Have 'display designator' show protected fields: creator. NYI" +msgstr "" + +#: ../roundup/admin.py:120 +msgid "Set indexer to use when running 'reindex' NYI" +msgstr "" + +#: ../roundup/admin.py:123 +msgid "Force reopening of tracker when running each command." +msgstr "" + +#: ../roundup/admin.py:125 +msgid "Show retired items in table, list etc. NYI" +msgstr "" + +#: ../roundup/admin.py:126 +msgid "Enable verbose output: tracing, descriptions..." +msgstr "" + +#: ../roundup/admin.py:138 ../roundup/admin.py:993 ../roundup/admin.py:1601 +#: ../roundup/admin.py:1633 ../roundup/admin.py:138:993 :1601:1633 #, python-format msgid "no such class \"%(classname)s\"" msgstr " \"%(classname)s\" " -#: ../roundup/admin.py:124 +#: ../roundup/admin.py:150 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr " \"%(arg)s\" =" -#: ../roundup/admin.py:137 +#: ../roundup/admin.py:163 #, python-format msgid "" "Problem: %(message)s\n" @@ -49,7 +69,7 @@ ": %(message)s\n" "\n" -#: ../roundup/admin.py:138 +#: ../roundup/admin.py:164 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -98,12 +118,12 @@ " roundup-admin help <command> -- \n" " roundup-admin help all -- \n" -#: ../roundup/admin.py:165 +#: ../roundup/admin.py:191 #, fuzzy msgid "Commands: " msgstr ":" -#: ../roundup/admin.py:172 +#: ../roundup/admin.py:198 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -117,7 +137,7 @@ # . # # " "? -#: ../roundup/admin.py:201 +#: ../roundup/admin.py:227 #, fuzzy msgid "" "\n" @@ -249,12 +269,318 @@ "\n" " :\n" -#: ../roundup/admin.py:264 +#: ../roundup/admin.py:290 #, python-format msgid "%s:" msgstr "" -#: ../roundup/admin.py:271 +#: ../roundup/admin.py:395 ../roundup/admin.py:1185 +#: ../roundup/admin.py:395:1185 +msgid "Templates:" +msgstr ":" + +#: ../roundup/admin.py:398 ../roundup/admin.py:1195 +#: ../roundup/admin.py:398:1195 +msgid "Back ends:" +msgstr ":" + +#: ../roundup/admin.py:415 +msgid "" +"Usage: commit\n" +" Commit changes made to the database during an interactive session.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" using this command.\n" +"\n" +" One-off commands on the command-line are automatically committed if\n" +" they are successful.\n" +" " +msgstr "" +": commit\n" +" , .\n" +"\n" +" , , \n" +" . \n" +" .\n" +"\n" +" \n" +" , .\n" +" " + +#: ../roundup/admin.py:430 +msgid "" +"Usage: create classname property=value ...\n" +" Create a new entry of a given class.\n" +"\n" +" This creates a new entry of the given class using the property\n" +" name=value arguments provided on the command line after the \"create" +"\"\n" +" command.\n" +" " +msgstr "" +": create = ...\n" +" .\n" +"\n" +" \n" +" .\n" +" " + +#: ../roundup/admin.py:438 ../roundup/admin.py:512 ../roundup/admin.py:545 +#: ../roundup/admin.py:663 ../roundup/admin.py:749 ../roundup/admin.py:807 +#: ../roundup/admin.py:852 ../roundup/admin.py:977 ../roundup/admin.py:1020 +#: ../roundup/admin.py:1158 ../roundup/admin.py:1285 ../roundup/admin.py:1371 +#: ../roundup/admin.py:1482 ../roundup/admin.py:1591 ../roundup/admin.py:1623 +#: ../roundup/admin.py:1738 ../roundup/admin.py:1792 ../roundup/admin.py:1837 +#: ../roundup/admin.py:438:512 :1020:1158:1285 :1371:1482 :1591:1623 :1738:1792 +#: :1837 :545:663 :749:807 :852:977 +msgid "Not enough arguments supplied" +msgstr " " + +#: ../roundup/admin.py:458 +#, python-format +msgid "%(propname)s (Password): " +msgstr " %(propname)s (): " + +#: ../roundup/admin.py:461 +#, python-format +msgid " %(propname)s (Again): " +msgstr "%(propname)s ( ): " + +#: ../roundup/admin.py:465 +msgid "Sorry, try again..." +msgstr " . ." + +#: ../roundup/admin.py:470 +#, python-format +msgid "%(propname)s (%(proptype)s): " +msgstr "" + +#: ../roundup/admin.py:489 +#, python-format +msgid "you must provide the \"%(propname)s\" property." +msgstr " \"%(propname)s\" ." + +#: ../roundup/admin.py:501 +#, fuzzy +msgid "" +"Usage: display designator[,designator]*\n" +"\n" +" Show the property values for the given node(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This lists the properties and their associated values\n" +" for the given node.\n" +" " +msgstr "" +": display [,]*\n" +" .\n" +"\n" +" ,\n" +" .\n" +" " + +#: ../roundup/admin.py:528 +#, python-format +msgid "%(key)s: %(value)s" +msgstr "" + +#. grab the directory to export to +#: ../roundup/admin.py:531 +msgid "" +"Usage: export [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files.\n" +" To exclude the files (e.g. for the msg or file class),\n" +" use the exporttables command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +": export [[-][,]] \n" +" .\n" +"\n" +" () " +",\n" +" , , \n" +" \"\", - , .\n" +" , " +".\n" +"\n" +" \n" +" . \n" +" . \n" +" . \n" +" .\n" +"\n" +" export ,\n" +" $TRACKER_HOME/db/files/. \n" +" \n" +" exporttables.\n" +" " + +#: ../roundup/admin.py:638 +msgid "" +"Usage: exporttables [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files, excluding the\n" +" files below $TRACKER_HOME/db/files/ (which can be archived " +"separately).\n" +" To include the files, use the export command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +": exporttables [[-][,]] \n" +" .\n" +"\n" +" () " +",\n" +" , , \n" +" \"\", - , .\n" +" , " +".\n" +"\n" +" \n" +" . \n" +" . \n" +" . \n" +" .\n" +"\n" +" exporttables ,\n" +" $TRACKER_HOME/db/files/ ( \n" +" ). \n" +" , export.\n" +" " + +#: ../roundup/admin.py:653 +#, fuzzy +msgid "" +"Usage: filter classname propname=value ...\n" +" Find the nodes of the given class with a given property value.\n" +"\n" +" Find the nodes of the given class with a given property value.\n" +" Multiple values can be specified by separating them with commas.\n" +" If property is a string, all values must match. I.E. it's an\n" +" 'and' operation. If the property is a link/multilink any value\n" +" matches. I.E. an 'or' operation.\n" +" " +msgstr "" +": find = ...\n" +" .\n" +"\n" +" \n" +" . , \n" +" , .\n" +" " + +#: ../roundup/admin.py:696 +#, fuzzy, python-format +msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." +msgstr " %(classname)s \"%(propname)s\"" + +#: ../roundup/admin.py:734 ../roundup/admin.py:795 ../roundup/admin.py:1305 +#: ../roundup/admin.py:1317 ../roundup/admin.py:1857 +#: ../roundup/admin.py:734:795 :1305:1317:1857 +#, python-format +msgid "%(classname)s has no property \"%(propname)s\"" +msgstr " %(classname)s \"%(propname)s\"" + +#: ../roundup/admin.py:741 +msgid "" +"Usage: find classname propname=value ...\n" +" Find the nodes of the given class with a given link property value.\n" +"\n" +" Find the nodes of the given class with a given link property value.\n" +" The value may be either the nodeid of the linked node, or its key\n" +" value.\n" +" " +msgstr "" +": find = ...\n" +" .\n" +"\n" +" \n" +" . , \n" +" , .\n" +" " + +#: ../roundup/admin.py:802 +#, fuzzy +msgid "" +"Usage: genconfig <filename>\n" +" Generate a new tracker config file (ini style) with default\n" +" values in <filename>.\n" +" " +msgstr "" +": genconfig < >\n" +" ,\n" +" .\n" +" " + +#: ../roundup/admin.py:820 +#, python-format +msgid "" +"Changing option\n" +" 'password_pbkdf2_default_rounds'\n" +"from old default of %(old_number)s to new default of %(new_number)s." +msgstr "" + +#: ../roundup/admin.py:831 +#, python-format +msgid "" +"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" +"than %s." +msgstr "" + +#: ../roundup/admin.py:842 +#, fuzzy +msgid "" +"Usage: get property designator[,designator]*\n" +" Get the given property of one or more designator(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Retrieves the property value of the nodes specified\n" +" by the designators.\n" +" " +msgstr "" +": get [,]*\n" +" \n" +" .\n" +"\n" +" ,\n" +" .\n" +" " + +#: ../roundup/admin.py:886 ../roundup/admin.py:904 ../roundup/admin.py:886:904 +#, python-format +msgid "property %s is not of type Multilink or Link so -d flag does not apply." +msgstr "" +" '-d' , %s - Link Multilink" + +#: ../roundup/admin.py:914 ../roundup/admin.py:995 ../roundup/admin.py:1635 +#: ../roundup/admin.py:914:995:1635 +#, python-format +msgid "no such %(classname)s node \"%(nodeid)s\"" +msgstr " %(classname)s \"%(nodeid)s\"" + +#: ../roundup/admin.py:917 +#, python-format +msgid "no such %(classname)s property \"%(propname)s\"" +msgstr " %(classname)s \"%(propname)s\"" + +#: ../roundup/admin.py:925 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -274,20 +600,125 @@ " all -- \n" " " -#: ../roundup/admin.py:293 +#: ../roundup/admin.py:947 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr ", \"%(topic)s\" ." -#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 -msgid "Templates:" -msgstr ":" - -#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 -msgid "Back ends:" -msgstr ":" - -#: ../roundup/admin.py:414 +#: ../roundup/admin.py:964 +msgid "" +"Usage: history designator [skipquiet]\n" +" Show the history entries of a designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Lists the journal entries viewable by the user for the\n" +" node identified by the designator. If skipquiet is the\n" +" second argument, journal entries for quiet properties\n" +" are not shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1000 +msgid "" +"Usage: import import_dir\n" +" Import a database from the directory containing CSV files,\n" +" two per class to import.\n" +"\n" +" The files used in the import are:\n" +"\n" +" <class>.csv\n" +" This must define the same properties as the class (including\n" +" having a \"header\" line with those property names.)\n" +" <class>-journals.csv\n" +" This defines the journals for the items being imported.\n" +"\n" +" The imported nodes will have the same nodeid as defined in the\n" +" import file, thus replacing any existing content.\n" +"\n" +" The new nodes are added to the existing database - if you want to\n" +" create a new database using the imported data, then create a new\n" +" database (or, tediously, retire all the old data.)\n" +" " +msgstr "" +": import \n" +" , \n" +" CSV (Comma Separated Values), .\n" +"\n" +" :\n" +"\n" +" <>.csv\n" +" ( \n" +" .)\n" +" <>-journals.csv\n" +" .\n" +"\n" +" , \n" +" ,\n" +" .\n" +"\n" +" .\n" +" ,\n" +" (, , \n" +" ).\n" +" " + +#: ../roundup/admin.py:1079 +msgid "" +"Usage: importtables export_dir\n" +"\n" +" This imports the database tables exported using exporttables.\n" +" " +msgstr "" + +# password +#. password +#: ../roundup/admin.py:1086 +msgid "" +"Usage: initialise [adminpw]\n" +" Initialise a new Roundup tracker.\n" +"\n" +" The administrator details will be set at this step.\n" +"\n" +" Execute the tracker's initialisation function dbinit.init()\n" +" " +msgstr "" +": initialise []\n" +" Roundup.\n" +"\n" +" .\n" +"\n" +" dbinit.init()\n" +" " + +#: ../roundup/admin.py:1100 +msgid "Admin Password: " +msgstr " : " + +#: ../roundup/admin.py:1101 +msgid " Confirm: " +msgstr " : " + +#: ../roundup/admin.py:1105 +msgid "Instance home does not exist" +msgstr " " + +#: ../roundup/admin.py:1109 +msgid "Instance has not been installed" +msgstr " " + +#: ../roundup/admin.py:1115 +msgid "" +"WARNING: The database is already initialised!\n" +"If you re-initialise it, you will lose all the data!\n" +"Erase it? Y/N: " +msgstr "" +": !\n" +" !\n" +" ? Y/N: " + +#: ../roundup/admin.py:1135 msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" " Install a new Roundup tracker.\n" @@ -339,23 +770,12 @@ " . \"help initopts\".\n" " " -#: ../roundup/admin.py:437 ../roundup/admin.py:568 ../roundup/admin.py:671 -#: ../roundup/admin.py:764 ../roundup/admin.py:822 ../roundup/admin.py:908 -#: ../roundup/admin.py:967 ../roundup/admin.py:994 ../roundup/admin.py:1021 -#: ../roundup/admin.py:1098 ../roundup/admin.py:1193 ../roundup/admin.py:1279 -#: ../roundup/admin.py:1340 ../roundup/admin.py:1367 ../roundup/admin.py:1403 -#: ../roundup/admin.py:1531 ../roundup/admin.py:1615 -#: ../roundup/admin.py:437:568 :1021:1098:1193 :1279:1340 :1367:1403 :1531:1615 -#: :671:764 :822:908 :967:994 -msgid "Not enough arguments supplied" -msgstr " " - -#: ../roundup/admin.py:443 +#: ../roundup/admin.py:1164 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr " \"%(parent)s\" " -#: ../roundup/admin.py:452 +#: ../roundup/admin.py:1173 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -366,22 +786,22 @@ " !\n" " ? Y/N: " -#: ../roundup/admin.py:465 +#: ../roundup/admin.py:1186 #, fuzzy msgid "Select template" msgstr " [classic]: " -#: ../roundup/admin.py:475 +#: ../roundup/admin.py:1196 #, fuzzy msgid "Select backend" msgstr " [anydbm]: " -#: ../roundup/admin.py:486 +#: ../roundup/admin.py:1207 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr " : \"%s\"" -#: ../roundup/admin.py:517 +#: ../roundup/admin.py:1238 #, python-format msgid "" "\n" @@ -394,12 +814,12 @@ " :\n" " %(config_file)s" -#: ../roundup/admin.py:527 +#: ../roundup/admin.py:1248 msgid " ... at a minimum, you must set following options:" msgstr " ... , :" # -#: ../roundup/admin.py:532 +#: ../roundup/admin.py:1253 #, python-format msgid "" "\n" @@ -426,136 +846,383 @@ " \"roundup-admin initialise\".\n" "---------------------------------------------------------------------------\n" -#: ../roundup/admin.py:563 -#, fuzzy +#: ../roundup/admin.py:1270 +msgid "" +"Usage: list classname [property]\n" +" List the instances of a class.\n" +"\n" +" Lists all instances of the given class. If the property is not\n" +" specified, the \"label\" property is used. The label property is\n" +" tried in order: the key, \"name\", \"title\" and then the first\n" +" property, alphabetically.\n" +"\n" +" With -c, -S or -s print a list of item id's if no property\n" +" specified. If property specified, print list of that property\n" +" for every class instance.\n" +" " +msgstr "" +": list []\n" +" .\n" +"\n" +" .\n" +" , \"\" .\n" +" \"\" \n" +" : , \"name\", \"title\" \n" +" .\n" +"\n" +" -c, -S -s, , \n" +" . ,\n" +" .\n" +" " + +#: ../roundup/admin.py:1283 +msgid "Too many arguments supplied" +msgstr " " + +#: ../roundup/admin.py:1319 +#, python-format +msgid "%(nodeid)4s: %(value)s" +msgstr "" + +#: ../roundup/admin.py:1323 msgid "" -"Usage: genconfig <filename>\n" -" Generate a new tracker config file (ini style) with default\n" -" values in <filename>.\n" +"Usage: migrate\n" +"\n" +" Update a tracker's database to be compatible with the Roundup\n" +" codebase.\n" +"\n" +" You should run the \"migrate\" command for your tracker once\n" +" you've installed the latest codebase.\n" +"\n" +" Do this before you use the web, command-line or mail interface\n" +" and before any users access the tracker.\n" +"\n" +" This command will respond with either \"Tracker updated\" (if\n" +" you've not previously run it on an RDBMS backend) or \"No\n" +" migration action required\" (if you have run it, or have used\n" +" another interface to the tracker, or possibly because you are\n" +" using anydbm).\n" +"\n" +" It's safe to run this even if it's not required, so just get\n" +" into the habit.\n" " " msgstr "" -": genconfig < >\n" -" ,\n" -" .\n" + +#: ../roundup/admin.py:1344 +#, python-format +msgid "Tracker updated to schema version %s." +msgstr "" + +#: ../roundup/admin.py:1348 +#, python-format +msgid "No migration action required. At schema version %s." +msgstr "" + +#: ../roundup/admin.py:1353 +msgid "" +"Usage: pack period | date\n" +"\n" +" Remove journal entries older than a period of time specified or\n" +" before a certain date.\n" +"\n" +" A period is specified using the suffixes \"y\", \"m\", and \"d\". " +"The\n" +" suffix \"w\" (for \"week\") means 7 days.\n" +"\n" +" \"3y\" means three years\n" +" \"2y 1m\" means two years and one month\n" +" \"1m 25d\" means one month and 25 days\n" +" \"2w 3d\" means two weeks and three days\n" +"\n" +" Date format is \"YYYY-MM-DD\" eg:\n" +" 2001-01-01\n" +"\n" " " - -#: ../roundup/admin.py:581 -#, python-format +msgstr "" +": pack | \n" +"\n" +" , \n" +" .\n" +"\n" +" , \"y\"\n" +" (year - ), \"m\" (month - ), \"d\" (day - )\n" +" \"w\" (week - , ).\n" +"\n" +" \"3y\" \n" +" \"2y 1m\" \n" +" \"1m 25d\" 25 \n" +" \"2w 3d\" \n" +"\n" +" \"YYYY-MM-DD\", :\n" +" 2001-01-01\n" +"\n" +" " + +#: ../roundup/admin.py:1381 +msgid "Invalid format" +msgstr " " + +#: ../roundup/admin.py:1392 msgid "" -"Changing option\n" -" 'password_pbkdf2_default_rounds'\n" -"from old default of %(old_number)s to new default of %(new_number)s." -msgstr "" - -#: ../roundup/admin.py:593 -#, python-format +"Usage: perftest [mode] [arguments]*\n" +"\n" +" Time operations in Roundup. Supported arguments:\n" +"\n" +" [password] [rounds=<integer>] [scheme=<scheme>]\n" +"\n" +" 'password' is the default mode. The tracker's config.ini\n" +" setting for 'password_pbkdf2_default_rounds' is the default\n" +" value for 'rounds'. On the command line, 'rounds' can include\n" +" thousands separator of ',' or '.'. 'scheme' is the default\n" +" coded into Roundup. List supported schemes by using 'scheme='.\n" +"\n" +" " +msgstr "" + +#: ../roundup/admin.py:1425 +msgid "Invalid 'rounds'. Must be larger than 999." +msgstr "" + +#: ../roundup/admin.py:1429 +#, python-format +msgid "Invalid 'rounds'. It must be an integer not: %s" +msgstr "" + +#: ../roundup/admin.py:1456 +msgid "scheme does not support rounds." +msgstr "" + +#: ../roundup/admin.py:1459 +#, python-format +msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" +msgstr "" + +#: ../roundup/admin.py:1465 msgid "" -"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" -"than %s." -msgstr "" - -#: ../roundup/admin.py:604 +"Usage: pragma setting=value | 'list'\n" +" Set internal admin settings to a value. E.G.\n" +"\n" +" pragma verbose=True\n" +" pragma verbose=yes\n" +" pragma verbose=on\n" +" pragma verbose=1\n" +"\n" +" will turn on verbose mode for roundup-admin.\n" +"\n" +" pragma list\n" +"\n" +" will show all settings and their current values. If verbose\n" +" is enabled hidden settings and descriptions will be shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1489 +#, python-format +msgid "Argument must be setting=value, was given: %s." +msgstr "" + +#: ../roundup/admin.py:1492 +msgid "Current settings and values (NYI - not yet implemented):" +msgstr "" + +#: ../roundup/admin.py:1505 +#, fuzzy, python-format +msgid "Unknown setting %s." +msgstr " " + +#: ../roundup/admin.py:1514 +#, python-format +msgid "Incorrect value for boolean setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1521 +#, python-format +msgid "Incorrect value for integer setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1527 +#, python-format +msgid "Internal error: pragma can not handle values of type: %s" +msgstr "" + +#: ../roundup/admin.py:1537 #, fuzzy msgid "" -"Usage: updateconfig <filename>\n" -" Generate an updated tracker config file (ini style) in\n" -" <filename>. Use current settings from existing roundup\n" -" tracker in tracker home.\n" -" " -msgstr "" -": genconfig < >\n" -" ,\n" -" .\n" -" " - -# password -#. password -#: ../roundup/admin.py:612 -msgid "" -"Usage: initialise [adminpw]\n" -" Initialise a new Roundup tracker.\n" -"\n" -" The administrator details will be set at this step.\n" -"\n" -" Execute the tracker's initialisation function dbinit.init()\n" +"Usage: reindex [classname|classname:#-#|designator]*\n" +" Re-generate a tracker's search indexes.\n" +"\n" +" This will re-generate the search indexes for a tracker.\n" +" This will typically happen automatically.\n" +"\n" +" You can incrementally reindex using an argument like:\n" +"\n" +" reindex issue:23-1000\n" +"\n" +" to reindex issue class items 23-1000. Missing items\n" +" are reported but do not stop indexing of the range.\n" " " msgstr "" -": initialise []\n" -" Roundup.\n" -"\n" -" .\n" -"\n" -" dbinit.init()\n" +": reindex [|]*\n" +" .\n" +"\n" +" , \n" +" . .\n" " " -#: ../roundup/admin.py:626 -msgid "Admin Password: " -msgstr " : " - -#: ../roundup/admin.py:627 -msgid " Confirm: " -msgstr " : " - -#: ../roundup/admin.py:631 -msgid "Instance home does not exist" -msgstr " " - -#: ../roundup/admin.py:635 -msgid "Instance has not been installed" -msgstr " " - -#: ../roundup/admin.py:641 -msgid "" -"WARNING: The database is already initialised!\n" -"If you re-initialise it, you will lose all the data!\n" -"Erase it? Y/N: " -msgstr "" -": !\n" -" !\n" -" ? Y/N: " - -#: ../roundup/admin.py:661 +#: ../roundup/admin.py:1560 +#, python-format +msgid "no such item \"%(designator)s\"" +msgstr " \"%(designator)s\" " + +#: ../roundup/admin.py:1570 +#, fuzzy, python-format +msgid "no such item \"%(class)s%(id)s\"" +msgstr " \"%(designator)s\" " + +#: ../roundup/admin.py:1582 #, fuzzy msgid "" -"Usage: get property designator[,designator]*\n" -" Get the given property of one or more designator(s).\n" +"Usage: restore designator[,designator]*\n" +" Restore the retired node specified by designator.\n" "\n" " A designator is a classname and a nodeid concatenated,\n" " eg. bug1, user10, ...\n" "\n" -" Retrieves the property value of the nodes specified\n" -" by the designators.\n" -" " -msgstr "" -": get [,]*\n" -" \n" -" .\n" -"\n" -" ,\n" -" .\n" +" The given nodes will become available for users again.\n" " " - -#: ../roundup/admin.py:705 ../roundup/admin.py:723 ../roundup/admin.py:705:723 -#, python-format -msgid "property %s is not of type Multilink or Link so -d flag does not apply." -msgstr "" -" '-d' , %s - Link Multilink" - -#: ../roundup/admin.py:733 ../roundup/admin.py:1297 ../roundup/admin.py:1352 -#: ../roundup/admin.py:733:1297:1352 -#, python-format -msgid "no such %(classname)s node \"%(nodeid)s\"" +msgstr "" +": restore [,]*\n" +" .\n" +"\n" +" , \n" +" .\n" +" " + +#: ../roundup/admin.py:1607 +#, fuzzy +msgid "no such %(classname)s node \" % (nodeid)s\"" msgstr " %(classname)s \"%(nodeid)s\"" -#: ../roundup/admin.py:736 -#, python-format -msgid "no such %(classname)s property \"%(propname)s\"" -msgstr " %(classname)s \"%(propname)s\"" - -#: ../roundup/admin.py:744 +#: ../roundup/admin.py:1613 #, fuzzy msgid "" -"Usage: set items property=value property=value ...\n" +"Usage: retire designator[,designator]*\n" +" Retire the node specified by designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This action indicates that a particular node is not to be retrieved\n" +" by the list or find commands, and its key value may be re-used.\n" +" " +msgstr "" +": retire [,]*\n" +" .\n" +"\n" +" .\n" +" , \n" +" list find, \n" +" .\n" +" " + +#: ../roundup/admin.py:1641 +msgid "" +"Usage: rollback\n" +" Undo all changes that are pending commit to the database.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" manually. This command undoes all those changes, so a commit\n" +" immediately after would make no changes to the database.\n" +" " +msgstr "" +": rollback\n" +" , .\n" +"\n" +" , , \n" +" . \n" +" commit. rollback \n" +" , , \n" +" .\n" +" " + +#: ../roundup/admin.py:1654 +msgid "" +"Usage: security [Role name]\n" +"\n" +" Display the Permissions available to one or all Roles.\n" +" Also validates that any properties defined in a\n" +" permission are valid.\n" +"\n" +" Run this after changing your permissions to catch\n" +" typos.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1668 +#, fuzzy, python-format +msgid "No such Role \"%(role)s\"\n" +msgstr " \"%(role)s\" " + +#: ../roundup/admin.py:1674 +#, fuzzy, python-format +msgid "New Web users get the Roles \"%(role)s\"\n" +msgstr " web \"%(role)s\"" + +#: ../roundup/admin.py:1677 +#, fuzzy, python-format +msgid "New Web users get the Role \"%(role)s\"\n" +msgstr " web \"%(role)s\"" + +#: ../roundup/admin.py:1681 +#, fuzzy, python-format +msgid "New Email users get the Roles \"%(role)s\"\n" +msgstr " email \"%(role)s\"" + +#: ../roundup/admin.py:1683 +#, fuzzy, python-format +msgid "New Email users get the Role \"%(role)s\"\n" +msgstr " email \"%(role)s\"" + +#: ../roundup/admin.py:1686 +#, fuzzy, python-format +msgid "Role \"%(name)s\":\n" +msgstr " \"%(name)s\":" + +#: ../roundup/admin.py:1692 +#, fuzzy +msgid " %(description)s (%(name)s for \"%(klass)s\"" +msgstr " %(description)s (%(name)s \"%(klass)s\")" + +#: ../roundup/admin.py:1692 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" +msgstr "" +" %(description)s (%(name)s \"%(klass)s\": " +"%(properties)s)" + +#: ../roundup/admin.py:1705 +#, python-format +msgid "" +"\n" +" **Invalid properties for %(class)s: %(props)s\n" +"\n" +msgstr "" + +#: ../roundup/admin.py:1711 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" +msgstr " %(description)s (%(name)s \"%(klass)s\")" + +#: ../roundup/admin.py:1714 +#, fuzzy, python-format +msgid " %(description)s (%(name)s)\n" +msgstr " %(description)s (%(name)s \"%(klass)s\")" + +#: ../roundup/admin.py:1718 +#, fuzzy +msgid "" +"Usage: set items property=value [property=value ...]\n" " Set the given properties of one or more items(s).\n" "\n" " The items are specified as a class or as a comma-separated\n" @@ -587,58 +1254,7 @@ " . (, \"1,2,3\".)\n" " " -#: ../roundup/admin.py:812 -#, fuzzy -msgid "" -"Usage: filter classname propname=value ...\n" -" Find the nodes of the given class with a given property value.\n" -"\n" -" Find the nodes of the given class with a given property value.\n" -" Multiple values can be specified by separating them with commas.\n" -" If property is a string, all values must match. I.E. it's an\n" -" 'and' operation. If the property is a link/multilink any value\n" -" matches. I.E. an 'or' operation.\n" -" " -msgstr "" -": find = ...\n" -" .\n" -"\n" -" \n" -" . , \n" -" , .\n" -" " - -#: ../roundup/admin.py:855 -#, fuzzy, python-format -msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." -msgstr " %(classname)s \"%(propname)s\"" - -#: ../roundup/admin.py:893 ../roundup/admin.py:954 ../roundup/admin.py:1118 -#: ../roundup/admin.py:1130 ../roundup/admin.py:1213 -#: ../roundup/admin.py:893:954 :1118:1130:1213 -#, python-format -msgid "%(classname)s has no property \"%(propname)s\"" -msgstr " %(classname)s \"%(propname)s\"" - -#: ../roundup/admin.py:900 -msgid "" -"Usage: find classname propname=value ...\n" -" Find the nodes of the given class with a given link property value.\n" -"\n" -" Find the nodes of the given class with a given link property value.\n" -" The value may be either the nodeid of the linked node, or its key\n" -" value.\n" -" " -msgstr "" -": find = ...\n" -" .\n" -"\n" -" \n" -" . , \n" -" , .\n" -" " - -#: ../roundup/admin.py:961 +#: ../roundup/admin.py:1786 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -652,133 +1268,17 @@ " .\n" " " -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1802 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s ( )" -#: ../roundup/admin.py:980 +#: ../roundup/admin.py:1805 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s ( )" -#: ../roundup/admin.py:983 -#, fuzzy -msgid "" -"Usage: display designator[,designator]*\n" -"\n" -" Show the property values for the given node(s).\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This lists the properties and their associated values\n" -" for the given node.\n" -" " -msgstr "" -": display [,]*\n" -" .\n" -"\n" -" ,\n" -" .\n" -" " - -#: ../roundup/admin.py:1010 -#, python-format -msgid "%(key)s: %(value)s" -msgstr "" - -#: ../roundup/admin.py:1013 -msgid "" -"Usage: create classname property=value ...\n" -" Create a new entry of a given class.\n" -"\n" -" This creates a new entry of the given class using the property\n" -" name=value arguments provided on the command line after the \"create" -"\"\n" -" command.\n" -" " -msgstr "" -": create = ...\n" -" .\n" -"\n" -" \n" -" .\n" -" " - -#: ../roundup/admin.py:1041 -#, python-format -msgid "%(propname)s (Password): " -msgstr " %(propname)s (): " - -#: ../roundup/admin.py:1044 -#, python-format -msgid " %(propname)s (Again): " -msgstr "%(propname)s ( ): " - -#: ../roundup/admin.py:1048 -msgid "Sorry, try again..." -msgstr " . ." - -#: ../roundup/admin.py:1052 -#, python-format -msgid "%(propname)s (%(proptype)s): " -msgstr "" - -#: ../roundup/admin.py:1071 -#, python-format -msgid "you must provide the \"%(propname)s\" property." -msgstr " \"%(propname)s\" ." - -#: ../roundup/admin.py:1083 -msgid "" -"Usage: list classname [property]\n" -" List the instances of a class.\n" -"\n" -" Lists all instances of the given class. If the property is not\n" -" specified, the \"label\" property is used. The label property is\n" -" tried in order: the key, \"name\", \"title\" and then the first\n" -" property, alphabetically.\n" -"\n" -" With -c, -S or -s print a list of item id's if no property\n" -" specified. If property specified, print list of that property\n" -" for every class instance.\n" -" " -msgstr "" -": list []\n" -" .\n" -"\n" -" .\n" -" , \"\" .\n" -" \"\" \n" -" : , \"name\", \"title\" \n" -" .\n" -"\n" -" -c, -S -s, , \n" -" . ,\n" -" .\n" -" " - -#: ../roundup/admin.py:1096 -msgid "Too many arguments supplied" -msgstr " " - -#: ../roundup/admin.py:1132 -#, python-format -msgid "%(nodeid)4s: %(value)s" -msgstr "" - -#: ../roundup/admin.py:1136 -msgid "" -"Usage: templates [trace_search]\n" -" List templates and their installed directories.\n" -"\n" -" With trace_search also list all directories that are\n" -" searched for templates.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1164 +#: ../roundup/admin.py:1808 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -838,485 +1338,69 @@ " \"Name\" .\n" " " -#: ../roundup/admin.py:1208 +#: ../roundup/admin.py:1852 #, python-format msgid "\"%(spec)s\" not name:width" msgstr " \"%(spec)s\" :" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1874 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1266 -msgid "" -"Usage: history designator [skipquiet]\n" -" Show the history entries of a designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" Lists the journal entries viewable by the user for the\n" -" node identified by the designator. If skipquiet is the\n" -" second argument, journal entries for quiet properties\n" -" are not shown.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1302 -msgid "" -"Usage: commit\n" -" Commit changes made to the database during an interactive session.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" using this command.\n" -"\n" -" One-off commands on the command-line are automatically committed if\n" -" they are successful.\n" -" " -msgstr "" -": commit\n" -" , .\n" -"\n" -" , , \n" -" . \n" -" .\n" -"\n" -" \n" -" , .\n" -" " - -#: ../roundup/admin.py:1317 +#: ../roundup/admin.py:1910 msgid "" -"Usage: rollback\n" -" Undo all changes that are pending commit to the database.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" manually. This command undoes all those changes, so a commit\n" -" immediately after would make no changes to the database.\n" -" " -msgstr "" -": rollback\n" -" , .\n" -"\n" -" , , \n" -" . \n" -" commit. rollback \n" -" , , \n" -" .\n" +"Usage: templates [trace_search]\n" +" List templates and their installed directories.\n" +"\n" +" With trace_search also list all directories that are\n" +" searched for templates.\n" " " - -#: ../roundup/admin.py:1330 -#, fuzzy -msgid "" -"Usage: retire designator[,designator]*\n" -" Retire the node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This action indicates that a particular node is not to be retrieved\n" -" by the list or find commands, and its key value may be re-used.\n" -" " -msgstr "" -": retire [,]*\n" -" .\n" -"\n" -" .\n" -" , \n" -" list find, \n" -" .\n" -" " - -#: ../roundup/admin.py:1358 +msgstr "" + +#: ../roundup/admin.py:1938 #, fuzzy msgid "" -"Usage: restore designator[,designator]*\n" -" Restore the retired node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" The given nodes will become available for users again.\n" -" " -msgstr "" -": restore [,]*\n" -" .\n" -"\n" -" , \n" -" .\n" -" " - -#: ../roundup/admin.py:1383 -#, fuzzy -msgid "no such %(classname)s node \" % (nodeid)s\"" -msgstr " %(classname)s \"%(nodeid)s\"" - -#. grab the directory to export to -#: ../roundup/admin.py:1389 -msgid "" -"Usage: export [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files.\n" -" To exclude the files (e.g. for the msg or file class),\n" -" use the exporttables command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" -": export [[-][,]] \n" -" .\n" -"\n" -" () " -",\n" -" , , \n" -" \"\", - , .\n" -" , " -".\n" -"\n" -" \n" -" . \n" -" . \n" -" . \n" -" .\n" -"\n" -" export ,\n" -" $TRACKER_HOME/db/files/. \n" -" \n" -" exporttables.\n" -" " - -#: ../roundup/admin.py:1496 -msgid "" -"Usage: exporttables [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files, excluding the\n" -" files below $TRACKER_HOME/db/files/ (which can be archived " -"separately).\n" -" To include the files, use the export command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" +"Usage: updateconfig <filename>\n" +" Generate an updated tracker config file (ini style) in\n" +" <filename>. Use current settings from existing roundup\n" +" tracker in tracker home.\n" " " msgstr "" -": exporttables [[-][,]] \n" -" .\n" -"\n" -" () " -",\n" -" , , \n" -" \"\", - , .\n" -" , " -".\n" -"\n" -" \n" -" . \n" -" . \n" -" . \n" -" .\n" -"\n" -" exporttables ,\n" -" $TRACKER_HOME/db/files/ ( \n" -" ). \n" -" , export.\n" -" " - -#: ../roundup/admin.py:1511 -msgid "" -"Usage: import import_dir\n" -" Import a database from the directory containing CSV files,\n" -" two per class to import.\n" -"\n" -" The files used in the import are:\n" -"\n" -" <class>.csv\n" -" This must define the same properties as the class (including\n" -" having a \"header\" line with those property names.)\n" -" <class>-journals.csv\n" -" This defines the journals for the items being imported.\n" -"\n" -" The imported nodes will have the same nodeid as defined in the\n" -" import file, thus replacing any existing content.\n" -"\n" -" The new nodes are added to the existing database - if you want to\n" -" create a new database using the imported data, then create a new\n" -" database (or, tediously, retire all the old data.)\n" -" " -msgstr "" -": import \n" -" , \n" -" CSV (Comma Separated Values), .\n" -"\n" -" :\n" -"\n" -" <>.csv\n" -" ( \n" -" .)\n" -" <>-journals.csv\n" -" .\n" -"\n" -" , \n" -" ,\n" -" .\n" -"\n" -" .\n" -" ,\n" -" (, , \n" -" ).\n" -" " - -#: ../roundup/admin.py:1590 -msgid "" -"Usage: importtables export_dir\n" -"\n" -" This imports the database tables exported using exporttables.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1597 -msgid "" -"Usage: pack period | date\n" -"\n" -" Remove journal entries older than a period of time specified or\n" -" before a certain date.\n" -"\n" -" A period is specified using the suffixes \"y\", \"m\", and \"d\". " -"The\n" -" suffix \"w\" (for \"week\") means 7 days.\n" -"\n" -" \"3y\" means three years\n" -" \"2y 1m\" means two years and one month\n" -" \"1m 25d\" means one month and 25 days\n" -" \"2w 3d\" means two weeks and three days\n" -"\n" -" Date format is \"YYYY-MM-DD\" eg:\n" -" 2001-01-01\n" -"\n" +": genconfig < >\n" +" ,\n" +" .\n" " " -msgstr "" -": pack | \n" -"\n" -" , \n" -" .\n" -"\n" -" , \"y\"\n" -" (year - ), \"m\" (month - ), \"d\" (day - )\n" -" \"w\" (week - , ).\n" -"\n" -" \"3y\" \n" -" \"2y 1m\" \n" -" \"1m 25d\" 25 \n" -" \"2w 3d\" \n" -"\n" -" \"YYYY-MM-DD\", :\n" -" 2001-01-01\n" -"\n" -" " - -#: ../roundup/admin.py:1625 -msgid "Invalid format" -msgstr " " - -#: ../roundup/admin.py:1638 -msgid "" -"Usage: reindex [classname|designator]*\n" -" Re-generate a tracker's search indexes.\n" -"\n" -" This will re-generate the search indexes for a tracker.\n" -" This will typically happen automatically.\n" -" " -msgstr "" -": reindex [|]*\n" -" .\n" -"\n" -" , \n" -" . .\n" -" " - -#: ../roundup/admin.py:1652 -#, python-format -msgid "no such item \"%(designator)s\"" -msgstr " \"%(designator)s\" " - -#: ../roundup/admin.py:1662 -#, fuzzy -msgid "" -"Usage: security [Role name]\n" -"\n" -" Display the Permissions available to one or all Roles.\n" -" " -msgstr "" -": security []\n" -" , \n" -" .\n" -" " - -#: ../roundup/admin.py:1671 -#, fuzzy, python-format -msgid "No such Role \"%(role)s\"\n" -msgstr " \"%(role)s\" " - -#: ../roundup/admin.py:1677 -#, fuzzy, python-format -msgid "New Web users get the Roles \"%(role)s\"\n" -msgstr " web \"%(role)s\"" - -#: ../roundup/admin.py:1680 -#, fuzzy, python-format -msgid "New Web users get the Role \"%(role)s\"\n" -msgstr " web \"%(role)s\"" - -#: ../roundup/admin.py:1684 -#, fuzzy, python-format -msgid "New Email users get the Roles \"%(role)s\"\n" -msgstr " email \"%(role)s\"" - -#: ../roundup/admin.py:1686 -#, fuzzy, python-format -msgid "New Email users get the Role \"%(role)s\"\n" -msgstr " email \"%(role)s\"" - -#: ../roundup/admin.py:1689 -#, fuzzy, python-format -msgid "Role \"%(name)s\":\n" -msgstr " \"%(name)s\":" - -#: ../roundup/admin.py:1695 -#, fuzzy -msgid " %(description)s (%(name)s for \"%(klass)s\"" -msgstr " %(description)s (%(name)s \"%(klass)s\")" - -#: ../roundup/admin.py:1695 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" -msgstr "" -" %(description)s (%(name)s \"%(klass)s\": " -"%(properties)s)" - -#: ../roundup/admin.py:1708 -#, python-format -msgid "" -"\n" -" **Invalid properties for %(class)s: %(props)s\n" -"\n" -msgstr "" - -#: ../roundup/admin.py:1714 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" -msgstr " %(description)s (%(name)s \"%(klass)s\")" - -#: ../roundup/admin.py:1717 -#, fuzzy, python-format -msgid " %(description)s (%(name)s)\n" -msgstr " %(description)s (%(name)s \"%(klass)s\")" - -#: ../roundup/admin.py:1721 -msgid "" -"Usage: migrate\n" -"\n" -" Update a tracker's database to be compatible with the Roundup\n" -" codebase.\n" -"\n" -" You should run the \"migrate\" command for your tracker once\n" -" you've installed the latest codebase.\n" -"\n" -" Do this before you use the web, command-line or mail interface\n" -" and before any users access the tracker.\n" -"\n" -" This command will respond with either \"Tracker updated\" (if\n" -" you've not previously run it on an RDBMS backend) or \"No\n" -" migration action required\" (if you have run it, or have used\n" -" another interface to the tracker, or possibly because you are\n" -" using anydbm).\n" -"\n" -" It's safe to run this even if it's not required, so just get\n" -" into the habit.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1742 -#, python-format -msgid "Tracker updated to schema version %s." -msgstr "" - -#: ../roundup/admin.py:1746 -#, python-format -msgid "No migration action required. At schema version %s." -msgstr "" - -#: ../roundup/admin.py:1751 -msgid "" -"Usage: perftest [mode] [arguments]*\n" -"\n" -" Time operations in Roundup. Supported arguments:\n" -"\n" -" [password] [rounds=<integer>] [scheme=<scheme>]\n" -"\n" -" 'password' is the default mode. The tracker's config.ini\n" -" setting for 'password_pbkdf2_default_rounds' is the default\n" -" value for 'rounds'. On the command line, 'rounds' can include\n" -" thousands separator of ',' or '.'. 'scheme' is the default\n" -" coded into Roundup. List supported schemes by using 'scheme='.\n" -"\n" -" " -msgstr "" - -#: ../roundup/admin.py:1785 -msgid "Invalid 'rounds'. Must be larger than 999." -msgstr "" - -#: ../roundup/admin.py:1789 -#, python-format -msgid "Invalid 'rounds'. It must be an integer not: %s" -msgstr "" - -#: ../roundup/admin.py:1816 -msgid "scheme does not support rounds." -msgstr "" - -#: ../roundup/admin.py:1819 -#, python-format -msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" -msgstr "" - -#: ../roundup/admin.py:1847 + +#: ../roundup/admin.py:1946 ../roundup/cgi/actions.py:886 +#: ../roundup/cgi/actions.py:897 ../roundup/cgi/actions.py:1099 +#: ../roundup/cgi/actions.py:1113 ../roundup/cgi/actions.py:886:897 :1099:1113 +#, python-format +msgid "Error: %s" +msgstr ": %s" + +#: ../roundup/admin.py:1974 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "" " \"%(command)s\" . (\"help commands\" )" -#: ../roundup/admin.py:1853 +#: ../roundup/admin.py:1980 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "\"%(command)s\" : %(list)s" -#: ../roundup/admin.py:1862 +#: ../roundup/admin.py:1996 msgid "Enter tracker home: " msgstr " : " -#: ../roundup/admin.py:1871 ../roundup/admin.py:1877 ../roundup/admin.py:1914 -#: ../roundup/admin.py:1871:1877:1914 -#, python-format -msgid "Error: %(message)s" -msgstr ": %(message)s" - -#: ../roundup/admin.py:1887 ../roundup/admin.py:1891 -#: ../roundup/admin.py:1887:1891 +#: ../roundup/admin.py:2023 ../roundup/admin.py:2027 +#: ../roundup/admin.py:2023:2027 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr ": : %(message)s" -#: ../roundup/admin.py:1927 +#: ../roundup/admin.py:2060 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1325,15 +1409,15 @@ "Roundup %s .\n" " \"help\" ." -#: ../roundup/admin.py:1932 +#: ../roundup/admin.py:2065 msgid "Note: command history and editing not available" msgstr ": " -#: ../roundup/admin.py:1938 +#: ../roundup/admin.py:2071 msgid "exit..." msgstr " ..." -#: ../roundup/admin.py:1951 +#: ../roundup/admin.py:2084 msgid "There are unsaved changes. Commit them (y/N)? " msgstr ", . (y/N)? " @@ -1367,7 +1451,7 @@ #: ../roundup/backends/back_anydbm.py:1422 #: ../roundup/backends/back_anydbm.py:1440 #: ../roundup/backends/back_anydbm.py:1487 -#: ../roundup/backends/back_anydbm.py:2117 +#: ../roundup/backends/back_anydbm.py:2113 #: ../roundup/backends/back_anydbm.py:871:884 #: ../roundup/backends/rdbms_common.py:1708 #: ../roundup/backends/rdbms_common.py:1955 @@ -1376,7 +1460,7 @@ #: ../roundup/backends/rdbms_common.py:2267 #: ../roundup/backends/rdbms_common.py:3219 #: ../roundup/backends/rdbms_common.py:1708:1955 :1158:1193 :1422:1440:1487 -#: :2117 :2194:2214 :2267:3219 +#: :2113 :2194:2214 :2267:3219 msgid "Database open read-only" msgstr "" @@ -1625,13 +1709,6 @@ msgid "Edit Error: %s" msgstr " : %s" -#: ../roundup/cgi/actions.py:886 ../roundup/cgi/actions.py:897 -#: ../roundup/cgi/actions.py:1099 ../roundup/cgi/actions.py:1113 -#: ../roundup/cgi/actions.py:886:897 :1099:1113 -#, python-format -msgid "Error: %s" -msgstr ": %s" - #: ../roundup/cgi/actions.py:931 msgid "" "Invalid One Time Key!\n" @@ -1890,8 +1967,8 @@ " .</p>\n" "</body></html>" -#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 -#: ../roundup/cgi/client.py:670:1570 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:670:1567 msgid "Required Header Missing" msgstr "" @@ -1900,138 +1977,138 @@ msgid "Client is not allowed to use Rest Interface." msgstr " -." -#: ../roundup/cgi/client.py:921 +#: ../roundup/cgi/client.py:918 msgid "Form Error: " msgstr " : " -#: ../roundup/cgi/client.py:1011 +#: ../roundup/cgi/client.py:1008 #, python-format msgid "Unrecognized charset: %r" msgstr " %r " -#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 -#: ../roundup/cgi/client.py:1264:2250 +#: ../roundup/cgi/client.py:1261 ../roundup/cgi/client.py:2247 +#: ../roundup/cgi/client.py:1261:2247 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1279 +#: ../roundup/cgi/client.py:1276 msgid "Anonymous users are not allowed to use the web interface" msgstr " -." -#: ../roundup/cgi/client.py:1430 +#: ../roundup/cgi/client.py:1427 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1434 +#: ../roundup/cgi/client.py:1431 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1463 +#: ../roundup/cgi/client.py:1460 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1467 +#: ../roundup/cgi/client.py:1464 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1475 +#: ../roundup/cgi/client.py:1472 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" -#: ../roundup/cgi/client.py:1480 +#: ../roundup/cgi/client.py:1477 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr " ." -#: ../roundup/cgi/client.py:1495 +#: ../roundup/cgi/client.py:1492 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" -#: ../roundup/cgi/client.py:1500 +#: ../roundup/cgi/client.py:1497 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr " ." -#: ../roundup/cgi/client.py:1514 +#: ../roundup/cgi/client.py:1511 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1520 +#: ../roundup/cgi/client.py:1517 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1539 +#: ../roundup/cgi/client.py:1536 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1544 +#: ../roundup/cgi/client.py:1541 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1552 +#: ../roundup/cgi/client.py:1549 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1553 +#: ../roundup/cgi/client.py:1550 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:1564 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1608 +#: ../roundup/cgi/client.py:1605 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 -#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 +#: ../roundup/cgi/client.py:1607 ../roundup/cgi/client.py:1634 +#: ../roundup/cgi/client.py:1651 ../roundup/cgi/client.py:1607:1634:1651 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1614 +#: ../roundup/cgi/client.py:1611 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1626 +#: ../roundup/cgi/client.py:1623 #, python-format msgid "" "Csrf mismatch user: current user %(user)s != stored user %(stored)s, current " "session, stored session: %(cur_sess)s,%(stor_sess)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1644 +#: ../roundup/cgi/client.py:1641 #, python-format msgid "" "Csrf mismatch user: current session %(curr_sess)s != stored session " "%(stor_sess)s, current user/stored user is: %(user)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1838 +#: ../roundup/cgi/client.py:1835 msgid "You are not allowed to view this file." msgstr " ." -#: ../roundup/cgi/client.py:2127 +#: ../roundup/cgi/client.py:2124 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "%(starttag)s : %(seconds)fs%(endtag)s\n" -#: ../roundup/cgi/client.py:2131 +#: ../roundup/cgi/client.py:2128 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " @@ -2041,7 +2118,7 @@ "%(cache_misses)d. : %(get_items)f . : " "%(filtering)f .%(endtag)s\n" -#: ../roundup/cgi/client.py:2669 +#: ../roundup/cgi/client.py:2666 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2239,16 +2316,16 @@ msgid "<option %svalue=\"-1\">- no selection -</option>" msgstr "<option %svalue=\"-1\">- -</option>" -#: ../roundup/cgi/timestamp.py:19 +#: ../roundup/cgi/timestamp.py:23 msgid "Form is corrupted." msgstr "" -#: ../roundup/cgi/timestamp.py:28 +#: ../roundup/cgi/timestamp.py:32 #, python-format msgid "Form is corrupted, missing: %s." msgstr "" -#: ../roundup/cgi/timestamp.py:30 +#: ../roundup/cgi/timestamp.py:34 msgid "Responding to form too quickly." msgstr "" @@ -2413,54 +2490,54 @@ msgid "in %s" msgstr " %s" -#: ../roundup/hyperdb.py:119 +#: ../roundup/hyperdb.py:120 #, fuzzy, python-format msgid "property %(property)s: %(errormsg)s" msgstr ": %s: %s" -#: ../roundup/hyperdb.py:148 +#: ../roundup/hyperdb.py:149 #, python-format msgid "property %(property)s: %(value)r is an invalid date (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:171 +#: ../roundup/hyperdb.py:172 #, python-format msgid "" "property %(property)s: %(value)r is an invalid date interval (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:428 +#: ../roundup/hyperdb.py:429 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a number" msgstr " \"%(propname)s\": \"%(value)s\" " -#: ../roundup/hyperdb.py:442 +#: ../roundup/hyperdb.py:443 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not an integer" msgstr " \"%(propname)s\": \"%(value)s\" " -#: ../roundup/hyperdb.py:464 +#: ../roundup/hyperdb.py:465 #, python-format msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 -#: ../roundup/hyperdb.py:1493:1501 +#: ../roundup/hyperdb.py:1494 ../roundup/hyperdb.py:1502 +#: ../roundup/hyperdb.py:1494:1502 #, python-format msgid "Not a property name: %s" msgstr "" -#: ../roundup/hyperdb.py:1978 +#: ../roundup/hyperdb.py:1979 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr " \"%(propname)s\": \"%(value)s\" " -#: ../roundup/hyperdb.py:1984 +#: ../roundup/hyperdb.py:1985 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2019 +#: ../roundup/hyperdb.py:2020 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" @@ -2783,116 +2860,116 @@ msgid "Method %(m)s not allowed. Allowed: %(a)s" msgstr "" -#: ../roundup/rest.py:1097 +#: ../roundup/rest.py:1101 #, fuzzy, python-format msgid "Invalid attribute %s" msgstr " ." -#: ../roundup/rest.py:2090 +#: ../roundup/rest.py:2094 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2125 +#: ../roundup/rest.py:2129 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2305 +#: ../roundup/rest.py:2309 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " "supported versions." msgstr "" -#: ../roundup/roundupdb.py:139 +#: ../roundup/roundupdb.py:140 #, python-format msgid "Username '%s' already exists." msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "files" msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "messages" msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "nosy" msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "superseder" msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "title" msgstr "" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "assignedto" msgstr "" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "keyword" msgstr " " -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "priority" msgstr "" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "status" msgstr "" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "activity" msgstr "" #. following properties are common for all hyperdb classes #. they are listed here to keep things in one place -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "actor" msgstr "" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creation" msgstr " " -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creator" msgstr "" -#: ../roundup/roundupdb.py:425 +#: ../roundup/roundupdb.py:426 #, python-format msgid "No key for \"%(adr)s\" in keyring" msgstr "" -#: ../roundup/roundupdb.py:503 +#: ../roundup/roundupdb.py:504 #, python-format msgid "New submission from %(authname)s%(authaddr)s:" msgstr " %(authname)s%(authaddr)s:" -#: ../roundup/roundupdb.py:506 +#: ../roundup/roundupdb.py:507 #, python-format msgid "%(authname)s%(authaddr)s added the comment:" msgstr "%(authname)s%(authaddr)s :" -#: ../roundup/roundupdb.py:509 +#: ../roundup/roundupdb.py:510 #, python-format msgid "Change by %(authname)s%(authaddr)s:" msgstr " %(authname)s%(authaddr)s:" -#: ../roundup/roundupdb.py:528 +#: ../roundup/roundupdb.py:529 #, python-format msgid "File '%(filename)s' not attached - you can download it from %(link)s." msgstr "" " '%(filename)s' - %(link)s." -#: ../roundup/roundupdb.py:903 +#: ../roundup/roundupdb.py:904 #, python-format msgid "" "\n" @@ -2907,12 +2984,12 @@ ":\n" "%(new)s" -#: ../roundup/scripts/roundup_demo.py:49 +#: ../roundup/scripts/roundup_demo.py:156 #, python-format msgid "Enter directory path to create demo tracker [%s]: " msgstr " [%s]: " -#: ../roundup/scripts/roundup_demo.py:54 +#: ../roundup/scripts/roundup_demo.py:162 #, python-format msgid "" "Enter tracker template to use (one of (%(template_list)s)) " @@ -3010,23 +3087,23 @@ msgid "User %(user)s doesn't exist" msgstr " %(user)s " -#: ../roundup/scripts/roundup_server.py:805 +#: ../roundup/scripts/roundup_server.py:809 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr " \"%s\" , " -#: ../roundup/scripts/roundup_server.py:832 +#: ../roundup/scripts/roundup_server.py:837 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr " %s, ." -#: ../roundup/scripts/roundup_server.py:836 +#: ../roundup/scripts/roundup_server.py:841 #, fuzzy, python-format msgid "" "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s" msgstr " %s, ." -#: ../roundup/scripts/roundup_server.py:915 +#: ../roundup/scripts/roundup_server.py:920 msgid "" " -c <Command> Windows Service options.\n" " If you want to run the server as a Windows Service, you\n" @@ -3043,7 +3120,7 @@ " . 'roundup-server -c help'\n" " Windows." -#: ../roundup/scripts/roundup_server.py:922 +#: ../roundup/scripts/roundup_server.py:927 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -3057,7 +3134,7 @@ " . \"-d\",\n" " ** \"-l\"" -#: ../roundup/scripts/roundup_server.py:929 +#: ../roundup/scripts/roundup_server.py:934 #, fuzzy, python-format msgid "" "\n" @@ -3078,6 +3155,8 @@ " -N log client machine names instead of IP addresses (much " "slower)\n" " -i <fname> set tracker index template\n" +" -m <children> maximum number of children to spawn in fork multiprocess " +"mode\n" " -s enable SSL\n" " -L http request logging uses python logging (roundup.http)\n" " -e <fname> PEM file containing SSL key and certificate\n" @@ -3180,21 +3259,21 @@ " URL (, .),\n" " IE.\n" -#: ../roundup/scripts/roundup_server.py:1105 +#: ../roundup/scripts/roundup_server.py:1111 msgid "Instances must be name=home" msgstr " =" -#: ../roundup/scripts/roundup_server.py:1119 +#: ../roundup/scripts/roundup_server.py:1125 #, python-format msgid "Configuration saved to %s" msgstr " %s" -#: ../roundup/scripts/roundup_server.py:1137 +#: ../roundup/scripts/roundup_server.py:1143 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "" ", " -#: ../roundup/scripts/roundup_server.py:1157 +#: ../roundup/scripts/roundup_server.py:1163 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr " Roundup %(HOST)s:%(PORT)s" @@ -5683,6 +5762,21 @@ msgstr "" #, fuzzy +#~ msgid "" +#~ "Usage: security [Role name]\n" +#~ "\n" +#~ " Display the Permissions available to one or all Roles.\n" +#~ " " +#~ msgstr "" +#~ ": security []\n" +#~ " , \n" +#~ " .\n" +#~ " " + +#~ msgid "Error: %(message)s" +#~ msgstr ": %(message)s" + +#, fuzzy #~ msgid "Tracker updated" #~ msgstr " "
--- a/locale/zh_CN.po Wed May 24 15:05:09 2023 -0400 +++ b/locale/zh_CN.po Wed May 24 20:35:53 2023 -0400 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Roundup 2.3.0\n" "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-03-03 17:28-0500\n" +"POT-Creation-Date: 2023-05-24 20:34-0400\n" "PO-Revision-Date: 2013-10-31 12:22+0100\n" "Last-Translator: Cheer Xiao <xiaqqaix@gmail.com>\n" "Language-Team: Chinese Simplified <limodou@gmail.com>\n" @@ -30,20 +30,40 @@ msgid "You may not retire the admin or anonymous user" msgstr "你不能撤除管理员或匿名用户" +#: ../roundup/admin.py:117 +msgid "Have 'display designator' show protected fields: creator. NYI" +msgstr "" + +#: ../roundup/admin.py:120 +msgid "Set indexer to use when running 'reindex' NYI" +msgstr "" + +#: ../roundup/admin.py:123 +msgid "Force reopening of tracker when running each command." +msgstr "" + +#: ../roundup/admin.py:125 +msgid "Show retired items in table, list etc. NYI" +msgstr "" + +#: ../roundup/admin.py:126 +msgid "Enable verbose output: tracing, descriptions..." +msgstr "" + # ../roundup/admin.py:84 :943 :992 :1014 -#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 -#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 +#: ../roundup/admin.py:138 ../roundup/admin.py:993 ../roundup/admin.py:1601 +#: ../roundup/admin.py:1633 ../roundup/admin.py:138:993 :1601:1633 #, python-format msgid "no such class \"%(classname)s\"" msgstr "无此类别 \"%(classname)s\"" # ../roundup/admin.py:94 :98 -#: ../roundup/admin.py:124 +#: ../roundup/admin.py:150 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "参数 \"%(arg)s\" 不是 propname=value 的形式" -#: ../roundup/admin.py:137 +#: ../roundup/admin.py:163 #, python-format msgid "" "Problem: %(message)s\n" @@ -52,7 +72,7 @@ "问题: %(message)s\n" "\n" -#: ../roundup/admin.py:138 +#: ../roundup/admin.py:164 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -99,12 +119,12 @@ " roundup-admin help <command> -- 命令详解帮助\n" " roundup-admin help all -- 所有可用的帮助\n" -#: ../roundup/admin.py:165 +#: ../roundup/admin.py:191 #, fuzzy msgid "Commands: " msgstr "命令:" -#: ../roundup/admin.py:172 +#: ../roundup/admin.py:198 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -112,7 +132,7 @@ "命令可以被缩写,只要缩写只有一个命令可以匹配上,\n" "如:l == li == lis == list." -#: ../roundup/admin.py:201 +#: ../roundup/admin.py:227 #, fuzzy msgid "" "\n" @@ -236,12 +256,290 @@ "\n" "使用帮助:\n" -#: ../roundup/admin.py:264 +#: ../roundup/admin.py:290 #, python-format msgid "%s:" msgstr "%s:" -#: ../roundup/admin.py:271 +# ../roundup/admin.py:337 :387 +#: ../roundup/admin.py:395 ../roundup/admin.py:1185 +#: ../roundup/admin.py:395:1185 +msgid "Templates:" +msgstr "模板:" + +# ../roundup/admin.py:340 :398 +#: ../roundup/admin.py:398 ../roundup/admin.py:1195 +#: ../roundup/admin.py:398:1195 +msgid "Back ends:" +msgstr "后端:" + +#: ../roundup/admin.py:415 +msgid "" +"Usage: commit\n" +" Commit changes made to the database during an interactive session.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" using this command.\n" +"\n" +" One-off commands on the command-line are automatically committed if\n" +" they are successful.\n" +" " +msgstr "" +"用法:commit\n" +" 提交在一个交互会话中所产生的改动。\n" +"\n" +" 在一个交互会话中所产生的改动不会自动写入数据库 - 它们必须使用此命令\n" +" 来提交。\n" +" 在命令行中的 One-off 命令如果成功会被自动提交。\n" +" " + +#: ../roundup/admin.py:430 +msgid "" +"Usage: create classname property=value ...\n" +" Create a new entry of a given class.\n" +"\n" +" This creates a new entry of the given class using the property\n" +" name=value arguments provided on the command line after the \"create" +"\"\n" +" command.\n" +" " +msgstr "" +"用法:create classname property=value ...\n" +" 创建一个给定类的新记录。\n" +"\n" +" 创建一个给定类的新记录,将使用 \"create\" 命令行后面的属性 " +"name=value 参数。\n" +" " + +# ../roundup/admin.py:359 :494 :573 :623 :676 :697 :725 :796 :863 :934 :982 +# :1004 :1031 :1093 :1159 +#: ../roundup/admin.py:438 ../roundup/admin.py:512 ../roundup/admin.py:545 +#: ../roundup/admin.py:663 ../roundup/admin.py:749 ../roundup/admin.py:807 +#: ../roundup/admin.py:852 ../roundup/admin.py:977 ../roundup/admin.py:1020 +#: ../roundup/admin.py:1158 ../roundup/admin.py:1285 ../roundup/admin.py:1371 +#: ../roundup/admin.py:1482 ../roundup/admin.py:1591 ../roundup/admin.py:1623 +#: ../roundup/admin.py:1738 ../roundup/admin.py:1792 ../roundup/admin.py:1837 +#: ../roundup/admin.py:438:512 :1020:1158:1285 :1371:1482 :1591:1623 :1738:1792 +#: :1837 :545:663 :749:807 :852:977 +msgid "Not enough arguments supplied" +msgstr "未提供足够的参数" + +#: ../roundup/admin.py:458 +#, python-format +msgid "%(propname)s (Password): " +msgstr "%(propname)s (密码):" + +#: ../roundup/admin.py:461 +#, python-format +msgid " %(propname)s (Again): " +msgstr " %(propname)s (再次):" + +#: ../roundup/admin.py:465 +msgid "Sorry, try again..." +msgstr "抱歉,再试一次..." + +#: ../roundup/admin.py:470 +#, python-format +msgid "%(propname)s (%(proptype)s): " +msgstr "" + +#: ../roundup/admin.py:489 +#, python-format +msgid "you must provide the \"%(propname)s\" property." +msgstr "你必须提供 \"%(propname)s\" 属性。" + +#: ../roundup/admin.py:501 +#, fuzzy +msgid "" +"Usage: display designator[,designator]*\n" +"\n" +" Show the property values for the given node(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This lists the properties and their associated values\n" +" for the given node.\n" +" " +msgstr "" +"用法:display designator[,designator]*\n" +" 显示给出结点的属性值。\n" +"\n" +" 将显示给出结点的属性和相应的值。\n" +" " + +#: ../roundup/admin.py:528 +#, python-format +msgid "%(key)s: %(value)s" +msgstr "%(key)s: %(value)s" + +#. grab the directory to export to +#: ../roundup/admin.py:531 +#, fuzzy +msgid "" +"Usage: export [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files.\n" +" To exclude the files (e.g. for the msg or file class),\n" +" use the exporttables command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +"用法:export [class[,class]] export_dir\n" +" 导出数据库为冒号分隔值的文件。\n" +"\n" +" 对于导出的可选限制只是类名。\n" +"\n" +" 这个动作从数据库中导出当前的数据到以冒号分隔值的文件中去,它们将存\n" +" 放在指定的目标目录中。\n" +" " + +#: ../roundup/admin.py:638 +#, fuzzy +msgid "" +"Usage: exporttables [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files, excluding the\n" +" files below $TRACKER_HOME/db/files/ (which can be archived " +"separately).\n" +" To include the files, use the export command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +"用法:export [class[,class]] export_dir\n" +" 导出数据库为冒号分隔值的文件。\n" +"\n" +" 对于导出的可选限制只是类名。\n" +"\n" +" 这个动作从数据库中导出当前的数据到以冒号分隔值的文件中去,它们将存\n" +" 放在指定的目标目录中。\n" +" " + +#: ../roundup/admin.py:653 +#, fuzzy +msgid "" +"Usage: filter classname propname=value ...\n" +" Find the nodes of the given class with a given property value.\n" +"\n" +" Find the nodes of the given class with a given property value.\n" +" Multiple values can be specified by separating them with commas.\n" +" If property is a string, all values must match. I.E. it's an\n" +" 'and' operation. If the property is a link/multilink any value\n" +" matches. I.E. an 'or' operation.\n" +" " +msgstr "" +"用法:find classname propname=value ...\n" +" 根据给定的 link 属性值来查找给定类型的结点。\n" +"\n" +" 根据给定的 link 属性值来查找给定类型的结点。这个值或者是链接结点的结" +"点ID,\n" +" 或者是结点的键值。\n" +" " + +# ../roundup/admin.py:663 :816 :828 :882 +#: ../roundup/admin.py:696 +#, fuzzy, python-format +msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." +msgstr "%(classname)s 没有 \"%(propname)s\" 属性" + +# ../roundup/admin.py:663 :816 :828 :882 +#: ../roundup/admin.py:734 ../roundup/admin.py:795 ../roundup/admin.py:1305 +#: ../roundup/admin.py:1317 ../roundup/admin.py:1857 +#: ../roundup/admin.py:734:795 :1305:1317:1857 +#, python-format +msgid "%(classname)s has no property \"%(propname)s\"" +msgstr "%(classname)s 没有 \"%(propname)s\" 属性" + +#: ../roundup/admin.py:741 +msgid "" +"Usage: find classname propname=value ...\n" +" Find the nodes of the given class with a given link property value.\n" +"\n" +" Find the nodes of the given class with a given link property value.\n" +" The value may be either the nodeid of the linked node, or its key\n" +" value.\n" +" " +msgstr "" +"用法:find classname propname=value ...\n" +" 根据给定的 link 属性值来查找给定类型的结点。\n" +"\n" +" 根据给定的 link 属性值来查找给定类型的结点。这个值或者是链接结点的结" +"点ID,\n" +" 或者是结点的键值。\n" +" " + +#: ../roundup/admin.py:802 +msgid "" +"Usage: genconfig <filename>\n" +" Generate a new tracker config file (ini style) with default\n" +" values in <filename>.\n" +" " +msgstr "" + +#: ../roundup/admin.py:820 +#, python-format +msgid "" +"Changing option\n" +" 'password_pbkdf2_default_rounds'\n" +"from old default of %(old_number)s to new default of %(new_number)s." +msgstr "" + +#: ../roundup/admin.py:831 +#, python-format +msgid "" +"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" +"than %s." +msgstr "" + +#: ../roundup/admin.py:842 +#, fuzzy +msgid "" +"Usage: get property designator[,designator]*\n" +" Get the given property of one or more designator(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Retrieves the property value of the nodes specified\n" +" by the designators.\n" +" " +msgstr "" +"用法:get property designator[,designator]*\n" +" 得到指定属性一个或多个指示器(designator)。\n" +"\n" +" 通过指示器(designator)来得到指定结点的属性值。\n" +" " + +# ../roundup/admin.py:527 :542 +#: ../roundup/admin.py:886 ../roundup/admin.py:904 ../roundup/admin.py:886:904 +#, python-format +msgid "property %s is not of type Multilink or Link so -d flag does not apply." +msgstr "属性 %s 不是 Multilink 或 Link 类型,所以 -d 标志不能应用。" + +# ../roundup/admin.py:550 :945 :994 :1016 +#: ../roundup/admin.py:914 ../roundup/admin.py:995 ../roundup/admin.py:1635 +#: ../roundup/admin.py:914:995:1635 +#, python-format +msgid "no such %(classname)s node \"%(nodeid)s\"" +msgstr "没有这样的 %(classname)s 结点 \"%(nodeid)s\"" + +#: ../roundup/admin.py:917 +#, python-format +msgid "no such %(classname)s property \"%(propname)s\"" +msgstr "没有这样的 %(classname)s 属性 \"%(propname)s\"" + +#: ../roundup/admin.py:925 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -261,22 +559,120 @@ " all -- 所有可用的帮助\n" " " -#: ../roundup/admin.py:293 +#: ../roundup/admin.py:947 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "抱歉,没有“%(topic)s”的帮助信息" -# ../roundup/admin.py:337 :387 -#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 -msgid "Templates:" -msgstr "模板:" - -# ../roundup/admin.py:340 :398 -#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 -msgid "Back ends:" -msgstr "后端:" - -#: ../roundup/admin.py:414 +#: ../roundup/admin.py:964 +msgid "" +"Usage: history designator [skipquiet]\n" +" Show the history entries of a designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Lists the journal entries viewable by the user for the\n" +" node identified by the designator. If skipquiet is the\n" +" second argument, journal entries for quiet properties\n" +" are not shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1000 +msgid "" +"Usage: import import_dir\n" +" Import a database from the directory containing CSV files,\n" +" two per class to import.\n" +"\n" +" The files used in the import are:\n" +"\n" +" <class>.csv\n" +" This must define the same properties as the class (including\n" +" having a \"header\" line with those property names.)\n" +" <class>-journals.csv\n" +" This defines the journals for the items being imported.\n" +"\n" +" The imported nodes will have the same nodeid as defined in the\n" +" import file, thus replacing any existing content.\n" +"\n" +" The new nodes are added to the existing database - if you want to\n" +" create a new database using the imported data, then create a new\n" +" database (or, tediously, retire all the old data.)\n" +" " +msgstr "" +"用法:import import_dir\n" +" 从包含 CSV 文件的目录中导入数据库,一个类有两个文件用于导入。\n" +"\n" +" 用于导入的文件为:\n" +"\n" +" <class>.csv\n" +" 它必须定义与类型一样的属性(包括一个 \"header\" 行包含那些\n" +" 属性的名字。)\n" +" <class>-journals.csv\n" +" 它用来定义被导入的条目的日志。\n" +"\n" +" 被导入的结点将具与在导入文件中一样的结点id,以便可以替换任何\n" +" 任何已经存在的内容。\n" +" 新结点被加入到已经存在的数据库中 - 如果你想要使用导入数据来创\n" +" 建一个新的数据库,那么创建一个新数据库(或者,麻烦点,回收所有\n" +" 旧数据。)\n" +" " + +#: ../roundup/admin.py:1079 +msgid "" +"Usage: importtables export_dir\n" +"\n" +" This imports the database tables exported using exporttables.\n" +" " +msgstr "" + +#. password +#: ../roundup/admin.py:1086 +msgid "" +"Usage: initialise [adminpw]\n" +" Initialise a new Roundup tracker.\n" +"\n" +" The administrator details will be set at this step.\n" +"\n" +" Execute the tracker's initialisation function dbinit.init()\n" +" " +msgstr "" +"用法:initialise [adminpw]\n" +" 初始化一个新的tracker。\n" +"\n" +" 管理员的信息需要在这一步进行设置。\n" +"\n" +" 执行tracker的初始化函数 dbinit.init()\n" +" " + +#: ../roundup/admin.py:1100 +msgid "Admin Password: " +msgstr "管理员密码:" + +#: ../roundup/admin.py:1101 +msgid " Confirm: " +msgstr " 确认:" + +#: ../roundup/admin.py:1105 +msgid "Instance home does not exist" +msgstr "实例目录不存在" + +#: ../roundup/admin.py:1109 +msgid "Instance has not been installed" +msgstr "实例还没有安装" + +#: ../roundup/admin.py:1115 +msgid "" +"WARNING: The database is already initialised!\n" +"If you re-initialise it, you will lose all the data!\n" +"Erase it? Y/N: " +msgstr "" +"警告:数据库已经被初始化!\n" +"如果你重新初始化它,所有的数据将会丢失!\n" +"删除它吗?Y/N: " + +#: ../roundup/admin.py:1135 #, fuzzy msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" @@ -316,25 +712,12 @@ " 请查看初始化参数帮助。\n" " " -# ../roundup/admin.py:359 :494 :573 :623 :676 :697 :725 :796 :863 :934 :982 -# :1004 :1031 :1093 :1159 -#: ../roundup/admin.py:437 ../roundup/admin.py:568 ../roundup/admin.py:671 -#: ../roundup/admin.py:764 ../roundup/admin.py:822 ../roundup/admin.py:908 -#: ../roundup/admin.py:967 ../roundup/admin.py:994 ../roundup/admin.py:1021 -#: ../roundup/admin.py:1098 ../roundup/admin.py:1193 ../roundup/admin.py:1279 -#: ../roundup/admin.py:1340 ../roundup/admin.py:1367 ../roundup/admin.py:1403 -#: ../roundup/admin.py:1531 ../roundup/admin.py:1615 -#: ../roundup/admin.py:437:568 :1021:1098:1193 :1279:1340 :1367:1403 :1531:1615 -#: :671:764 :822:908 :967:994 -msgid "Not enough arguments supplied" -msgstr "未提供足够的参数" - -#: ../roundup/admin.py:443 +#: ../roundup/admin.py:1164 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "实例目录的父目录 \"%(parent)s\" 不存在" -#: ../roundup/admin.py:452 +#: ../roundup/admin.py:1173 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -345,22 +728,22 @@ "如果你重新安装,所有的数据将会丢失!\n" "删除它吗?Y/N: " -#: ../roundup/admin.py:465 +#: ../roundup/admin.py:1186 #, fuzzy msgid "Select template" msgstr "选择模板 [classic]:" -#: ../roundup/admin.py:475 +#: ../roundup/admin.py:1196 #, fuzzy msgid "Select backend" msgstr "选择后端 [anydbm]:" -#: ../roundup/admin.py:486 +#: ../roundup/admin.py:1207 #, python-format msgid "Error in configuration settings: \"%s\"" msgstr "配置设定有错: “%s”" -#: ../roundup/admin.py:517 +#: ../roundup/admin.py:1238 #, fuzzy, python-format msgid "" "\n" @@ -372,11 +755,11 @@ " 现在你应该修改tracker的配置文件:\n" " %(config_file)s" -#: ../roundup/admin.py:527 +#: ../roundup/admin.py:1248 msgid " ... at a minimum, you must set following options:" msgstr " ... 至少,你必须设置以下选项:" -#: ../roundup/admin.py:532 +#: ../roundup/admin.py:1253 #, fuzzy, python-format msgid "" "\n" @@ -400,124 +783,371 @@ " %(database_init_file)s\n" " ... 查看关于客户化的文档来了解更多的信息。\n" -#: ../roundup/admin.py:563 -msgid "" -"Usage: genconfig <filename>\n" -" Generate a new tracker config file (ini style) with default\n" -" values in <filename>.\n" -" " -msgstr "" - -#: ../roundup/admin.py:581 -#, python-format +#: ../roundup/admin.py:1270 msgid "" -"Changing option\n" -" 'password_pbkdf2_default_rounds'\n" -"from old default of %(old_number)s to new default of %(new_number)s." -msgstr "" - -#: ../roundup/admin.py:593 +"Usage: list classname [property]\n" +" List the instances of a class.\n" +"\n" +" Lists all instances of the given class. If the property is not\n" +" specified, the \"label\" property is used. The label property is\n" +" tried in order: the key, \"name\", \"title\" and then the first\n" +" property, alphabetically.\n" +"\n" +" With -c, -S or -s print a list of item id's if no property\n" +" specified. If property specified, print list of that property\n" +" for every class instance.\n" +" " +msgstr "" +"用法:list classname [property]\n" +" 列出类型的实例。\n" +"\n" +" 列出所有给定类型的实例。如果属性未被指定,则使用 \"label\" 属性。\n" +" label 属性以下列顺序进行尝试:键、\"name\"、\"title\" 和按字典顺序\n" +" 的第一个属性。\n" +"\n" +" 如果没有指定属性,使用 -c, -S 或 -s 会打印出条目 id 的列表。如果指\n" +" 定了属性,对每个类型实例会打印出这个属性。\n" +" " + +#: ../roundup/admin.py:1283 +msgid "Too many arguments supplied" +msgstr "提供了太多的参数了" + +#: ../roundup/admin.py:1319 #, python-format +msgid "%(nodeid)4s: %(value)s" +msgstr "%(nodeid)4s: %(value)s" + +#: ../roundup/admin.py:1323 msgid "" -"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" -"than %s." -msgstr "" - -#: ../roundup/admin.py:604 -msgid "" -"Usage: updateconfig <filename>\n" -" Generate an updated tracker config file (ini style) in\n" -" <filename>. Use current settings from existing roundup\n" -" tracker in tracker home.\n" +"Usage: migrate\n" +"\n" +" Update a tracker's database to be compatible with the Roundup\n" +" codebase.\n" +"\n" +" You should run the \"migrate\" command for your tracker once\n" +" you've installed the latest codebase.\n" +"\n" +" Do this before you use the web, command-line or mail interface\n" +" and before any users access the tracker.\n" +"\n" +" This command will respond with either \"Tracker updated\" (if\n" +" you've not previously run it on an RDBMS backend) or \"No\n" +" migration action required\" (if you have run it, or have used\n" +" another interface to the tracker, or possibly because you are\n" +" using anydbm).\n" +"\n" +" It's safe to run this even if it's not required, so just get\n" +" into the habit.\n" " " msgstr "" -#. password -#: ../roundup/admin.py:612 +#: ../roundup/admin.py:1344 +#, python-format +msgid "Tracker updated to schema version %s." +msgstr "" + +#: ../roundup/admin.py:1348 +#, fuzzy, python-format +msgid "No migration action required. At schema version %s." +msgstr "不必执行迁移" + +#: ../roundup/admin.py:1353 msgid "" -"Usage: initialise [adminpw]\n" -" Initialise a new Roundup tracker.\n" -"\n" -" The administrator details will be set at this step.\n" -"\n" -" Execute the tracker's initialisation function dbinit.init()\n" +"Usage: pack period | date\n" +"\n" +" Remove journal entries older than a period of time specified or\n" +" before a certain date.\n" +"\n" +" A period is specified using the suffixes \"y\", \"m\", and \"d\". " +"The\n" +" suffix \"w\" (for \"week\") means 7 days.\n" +"\n" +" \"3y\" means three years\n" +" \"2y 1m\" means two years and one month\n" +" \"1m 25d\" means one month and 25 days\n" +" \"2w 3d\" means two weeks and three days\n" +"\n" +" Date format is \"YYYY-MM-DD\" eg:\n" +" 2001-01-01\n" +"\n" " " msgstr "" -"用法:initialise [adminpw]\n" -" 初始化一个新的tracker。\n" -"\n" -" 管理员的信息需要在这一步进行设置。\n" -"\n" -" 执行tracker的初始化函数 dbinit.init()\n" +"用法:pack period | date\n" +"\n" +" 删除早于指定的时期或日期的旧的流水记录。\n" +"\n" +" 一个时期使用后缀 \"y\", \"m\", 和 \"d\"。后缀 \"w\"(表示 \"week\")\n" +" 表示 7 天。\n" +"\n" +" \"3y\" 表示3年\n" +" \"2y 1m\" 表示2年1个月\n" +" \"1m 25d\" 表示1月25天\n" +" \"2w 3d\" 表示2周3天\n" +"\n" +" 日期格式是 \"YYYY-MM-DD\" 例如:\n" +" 2001-01-01\n" +"\n" +" " + +#: ../roundup/admin.py:1381 +msgid "Invalid format" +msgstr "无效的格式" + +#: ../roundup/admin.py:1392 +msgid "" +"Usage: perftest [mode] [arguments]*\n" +"\n" +" Time operations in Roundup. Supported arguments:\n" +"\n" +" [password] [rounds=<integer>] [scheme=<scheme>]\n" +"\n" +" 'password' is the default mode. The tracker's config.ini\n" +" setting for 'password_pbkdf2_default_rounds' is the default\n" +" value for 'rounds'. On the command line, 'rounds' can include\n" +" thousands separator of ',' or '.'. 'scheme' is the default\n" +" coded into Roundup. List supported schemes by using 'scheme='.\n" +"\n" " " - -#: ../roundup/admin.py:626 -msgid "Admin Password: " -msgstr "管理员密码:" - -#: ../roundup/admin.py:627 -msgid " Confirm: " -msgstr " 确认:" - -#: ../roundup/admin.py:631 -msgid "Instance home does not exist" -msgstr "实例目录不存在" - -#: ../roundup/admin.py:635 -msgid "Instance has not been installed" -msgstr "实例还没有安装" - -#: ../roundup/admin.py:641 +msgstr "" + +#: ../roundup/admin.py:1425 +msgid "Invalid 'rounds'. Must be larger than 999." +msgstr "" + +#: ../roundup/admin.py:1429 +#, python-format +msgid "Invalid 'rounds'. It must be an integer not: %s" +msgstr "" + +#: ../roundup/admin.py:1456 +msgid "scheme does not support rounds." +msgstr "" + +#: ../roundup/admin.py:1459 +#, python-format +msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" +msgstr "" + +#: ../roundup/admin.py:1465 msgid "" -"WARNING: The database is already initialised!\n" -"If you re-initialise it, you will lose all the data!\n" -"Erase it? Y/N: " -msgstr "" -"警告:数据库已经被初始化!\n" -"如果你重新初始化它,所有的数据将会丢失!\n" -"删除它吗?Y/N: " - -#: ../roundup/admin.py:661 +"Usage: pragma setting=value | 'list'\n" +" Set internal admin settings to a value. E.G.\n" +"\n" +" pragma verbose=True\n" +" pragma verbose=yes\n" +" pragma verbose=on\n" +" pragma verbose=1\n" +"\n" +" will turn on verbose mode for roundup-admin.\n" +"\n" +" pragma list\n" +"\n" +" will show all settings and their current values. If verbose\n" +" is enabled hidden settings and descriptions will be shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1489 +#, python-format +msgid "Argument must be setting=value, was given: %s." +msgstr "" + +#: ../roundup/admin.py:1492 +msgid "Current settings and values (NYI - not yet implemented):" +msgstr "" + +#: ../roundup/admin.py:1505 +#, fuzzy, python-format +msgid "Unknown setting %s." +msgstr "未知用户名" + +#: ../roundup/admin.py:1514 +#, python-format +msgid "Incorrect value for boolean setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1521 +#, python-format +msgid "Incorrect value for integer setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1527 +#, python-format +msgid "Internal error: pragma can not handle values of type: %s" +msgstr "" + +#: ../roundup/admin.py:1537 #, fuzzy msgid "" -"Usage: get property designator[,designator]*\n" -" Get the given property of one or more designator(s).\n" +"Usage: reindex [classname|classname:#-#|designator]*\n" +" Re-generate a tracker's search indexes.\n" +"\n" +" This will re-generate the search indexes for a tracker.\n" +" This will typically happen automatically.\n" +"\n" +" You can incrementally reindex using an argument like:\n" +"\n" +" reindex issue:23-1000\n" +"\n" +" to reindex issue class items 23-1000. Missing items\n" +" are reported but do not stop indexing of the range.\n" +" " +msgstr "" +"用法:reindex [classname|designator]*\n" +" 重新生成 tracker 的搜索索引。\n" +"\n" +" 重新生成 tracker 的搜索索引,它将自动进行。\n" +" " + +#: ../roundup/admin.py:1560 +#, python-format +msgid "no such item \"%(designator)s\"" +msgstr "没有这样的条目 \"%(designator)s\"" + +#: ../roundup/admin.py:1570 +#, fuzzy, python-format +msgid "no such item \"%(class)s%(id)s\"" +msgstr "没有这样的条目 \"%(designator)s\"" + +#: ../roundup/admin.py:1582 +#, fuzzy +msgid "" +"Usage: restore designator[,designator]*\n" +" Restore the retired node specified by designator.\n" "\n" " A designator is a classname and a nodeid concatenated,\n" " eg. bug1, user10, ...\n" "\n" -" Retrieves the property value of the nodes specified\n" -" by the designators.\n" +" The given nodes will become available for users again.\n" " " msgstr "" -"用法:get property designator[,designator]*\n" -" 得到指定属性一个或多个指示器(designator)。\n" -"\n" -" 通过指示器(designator)来得到指定结点的属性值。\n" +"Usage: restore designator[,designator]*\n" +" 恢复由指示器(designator)表明的已经撤除的结点。\n" +"\n" +" 给定的结点将对用户来说再次生效。\n" " " -# ../roundup/admin.py:527 :542 -#: ../roundup/admin.py:705 ../roundup/admin.py:723 ../roundup/admin.py:705:723 -#, python-format -msgid "property %s is not of type Multilink or Link so -d flag does not apply." -msgstr "属性 %s 不是 Multilink 或 Link 类型,所以 -d 标志不能应用。" - # ../roundup/admin.py:550 :945 :994 :1016 -#: ../roundup/admin.py:733 ../roundup/admin.py:1297 ../roundup/admin.py:1352 -#: ../roundup/admin.py:733:1297:1352 -#, python-format -msgid "no such %(classname)s node \"%(nodeid)s\"" +#: ../roundup/admin.py:1607 +#, fuzzy +msgid "no such %(classname)s node \" % (nodeid)s\"" msgstr "没有这样的 %(classname)s 结点 \"%(nodeid)s\"" -#: ../roundup/admin.py:736 -#, python-format -msgid "no such %(classname)s property \"%(propname)s\"" -msgstr "没有这样的 %(classname)s 属性 \"%(propname)s\"" - -#: ../roundup/admin.py:744 +#: ../roundup/admin.py:1613 #, fuzzy msgid "" -"Usage: set items property=value property=value ...\n" +"Usage: retire designator[,designator]*\n" +" Retire the node specified by designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This action indicates that a particular node is not to be retrieved\n" +" by the list or find commands, and its key value may be re-used.\n" +" " +msgstr "" +"用法:retire designator[,designator]*\n" +" 撤除由指示器(designator)所指明的结点。\n" +"\n" +" 这个动作指明一个特别的结点将不能被 list 或 find 命令得到,并且\n" +" 它的键值可以被重用。\n" +" " + +#: ../roundup/admin.py:1641 +msgid "" +"Usage: rollback\n" +" Undo all changes that are pending commit to the database.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" manually. This command undoes all those changes, so a commit\n" +" immediately after would make no changes to the database.\n" +" " +msgstr "" +"用法:rollback\n" +" 撤除所有未提交到数据库的改动。\n" +"\n" +" 在交互对话中产生的改动并不自动写到数据库中 - 它们必须被手工提交。\n" +" 这个命令用来撤除所有这些改动,所以在后面跟上提交的话不会对数据库\n" +" 产生变化。\n" +" " + +#: ../roundup/admin.py:1654 +msgid "" +"Usage: security [Role name]\n" +"\n" +" Display the Permissions available to one or all Roles.\n" +" Also validates that any properties defined in a\n" +" permission are valid.\n" +"\n" +" Run this after changing your permissions to catch\n" +" typos.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1668 +#, fuzzy, python-format +msgid "No such Role \"%(role)s\"\n" +msgstr "没有这样的角色 \"%(role)s\"" + +#: ../roundup/admin.py:1674 +#, fuzzy, python-format +msgid "New Web users get the Roles \"%(role)s\"\n" +msgstr "新Web用户得到角色 \"%(role)s\"" + +#: ../roundup/admin.py:1677 +#, fuzzy, python-format +msgid "New Web users get the Role \"%(role)s\"\n" +msgstr "新Web用户得到角色 \"%(role)s\"" + +#: ../roundup/admin.py:1681 +#, fuzzy, python-format +msgid "New Email users get the Roles \"%(role)s\"\n" +msgstr "新邮件用户得到角色 \"%(role)s\"" + +#: ../roundup/admin.py:1683 +#, fuzzy, python-format +msgid "New Email users get the Role \"%(role)s\"\n" +msgstr "新邮件用户得到角色 \"%(role)s\"" + +#: ../roundup/admin.py:1686 +#, fuzzy, python-format +msgid "Role \"%(name)s\":\n" +msgstr "角色 \"%(name)s\":" + +#: ../roundup/admin.py:1692 +#, fuzzy +msgid " %(description)s (%(name)s for \"%(klass)s\"" +msgstr " %(description)s (%(name)s 仅用于 \"%(klass)s\")" + +#: ../roundup/admin.py:1692 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" +msgstr " %(description)s (%(name)s 仅用于 \"%(klass)s\")" + +#: ../roundup/admin.py:1705 +#, python-format +msgid "" +"\n" +" **Invalid properties for %(class)s: %(props)s\n" +"\n" +msgstr "" + +#: ../roundup/admin.py:1711 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" +msgstr " %(description)s (%(name)s 仅用于 \"%(klass)s\")" + +#: ../roundup/admin.py:1714 +#, fuzzy, python-format +msgid " %(description)s (%(name)s)\n" +msgstr " %(description)s (%(name)s)" + +#: ../roundup/admin.py:1718 +#, fuzzy +msgid "" +"Usage: set items property=value [property=value ...]\n" " Set the given properties of one or more items(s).\n" "\n" " The items are specified as a class or as a comma-separated\n" @@ -547,60 +1177,7 @@ " 你需要为多链接提供用逗号分隔的数字(例如 \"1,2,3\")。\n" " " -#: ../roundup/admin.py:812 -#, fuzzy -msgid "" -"Usage: filter classname propname=value ...\n" -" Find the nodes of the given class with a given property value.\n" -"\n" -" Find the nodes of the given class with a given property value.\n" -" Multiple values can be specified by separating them with commas.\n" -" If property is a string, all values must match. I.E. it's an\n" -" 'and' operation. If the property is a link/multilink any value\n" -" matches. I.E. an 'or' operation.\n" -" " -msgstr "" -"用法:find classname propname=value ...\n" -" 根据给定的 link 属性值来查找给定类型的结点。\n" -"\n" -" 根据给定的 link 属性值来查找给定类型的结点。这个值或者是链接结点的结" -"点ID,\n" -" 或者是结点的键值。\n" -" " - -# ../roundup/admin.py:663 :816 :828 :882 -#: ../roundup/admin.py:855 -#, fuzzy, python-format -msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." -msgstr "%(classname)s 没有 \"%(propname)s\" 属性" - -# ../roundup/admin.py:663 :816 :828 :882 -#: ../roundup/admin.py:893 ../roundup/admin.py:954 ../roundup/admin.py:1118 -#: ../roundup/admin.py:1130 ../roundup/admin.py:1213 -#: ../roundup/admin.py:893:954 :1118:1130:1213 -#, python-format -msgid "%(classname)s has no property \"%(propname)s\"" -msgstr "%(classname)s 没有 \"%(propname)s\" 属性" - -#: ../roundup/admin.py:900 -msgid "" -"Usage: find classname propname=value ...\n" -" Find the nodes of the given class with a given link property value.\n" -"\n" -" Find the nodes of the given class with a given link property value.\n" -" The value may be either the nodeid of the linked node, or its key\n" -" value.\n" -" " -msgstr "" -"用法:find classname propname=value ...\n" -" 根据给定的 link 属性值来查找给定类型的结点。\n" -"\n" -" 根据给定的 link 属性值来查找给定类型的结点。这个值或者是链接结点的结" -"点ID,\n" -" 或者是结点的键值。\n" -" " - -#: ../roundup/admin.py:961 +#: ../roundup/admin.py:1786 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -614,129 +1191,17 @@ " 会列出给定类型的属性。\n" " " -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1802 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s (关键属性)" -#: ../roundup/admin.py:980 +#: ../roundup/admin.py:1805 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s" -#: ../roundup/admin.py:983 -#, fuzzy -msgid "" -"Usage: display designator[,designator]*\n" -"\n" -" Show the property values for the given node(s).\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This lists the properties and their associated values\n" -" for the given node.\n" -" " -msgstr "" -"用法:display designator[,designator]*\n" -" 显示给出结点的属性值。\n" -"\n" -" 将显示给出结点的属性和相应的值。\n" -" " - -#: ../roundup/admin.py:1010 -#, python-format -msgid "%(key)s: %(value)s" -msgstr "%(key)s: %(value)s" - -#: ../roundup/admin.py:1013 -msgid "" -"Usage: create classname property=value ...\n" -" Create a new entry of a given class.\n" -"\n" -" This creates a new entry of the given class using the property\n" -" name=value arguments provided on the command line after the \"create" -"\"\n" -" command.\n" -" " -msgstr "" -"用法:create classname property=value ...\n" -" 创建一个给定类的新记录。\n" -"\n" -" 创建一个给定类的新记录,将使用 \"create\" 命令行后面的属性 " -"name=value 参数。\n" -" " - -#: ../roundup/admin.py:1041 -#, python-format -msgid "%(propname)s (Password): " -msgstr "%(propname)s (密码):" - -#: ../roundup/admin.py:1044 -#, python-format -msgid " %(propname)s (Again): " -msgstr " %(propname)s (再次):" - -#: ../roundup/admin.py:1048 -msgid "Sorry, try again..." -msgstr "抱歉,再试一次..." - -#: ../roundup/admin.py:1052 -#, python-format -msgid "%(propname)s (%(proptype)s): " -msgstr "" - -#: ../roundup/admin.py:1071 -#, python-format -msgid "you must provide the \"%(propname)s\" property." -msgstr "你必须提供 \"%(propname)s\" 属性。" - -#: ../roundup/admin.py:1083 -msgid "" -"Usage: list classname [property]\n" -" List the instances of a class.\n" -"\n" -" Lists all instances of the given class. If the property is not\n" -" specified, the \"label\" property is used. The label property is\n" -" tried in order: the key, \"name\", \"title\" and then the first\n" -" property, alphabetically.\n" -"\n" -" With -c, -S or -s print a list of item id's if no property\n" -" specified. If property specified, print list of that property\n" -" for every class instance.\n" -" " -msgstr "" -"用法:list classname [property]\n" -" 列出类型的实例。\n" -"\n" -" 列出所有给定类型的实例。如果属性未被指定,则使用 \"label\" 属性。\n" -" label 属性以下列顺序进行尝试:键、\"name\"、\"title\" 和按字典顺序\n" -" 的第一个属性。\n" -"\n" -" 如果没有指定属性,使用 -c, -S 或 -s 会打印出条目 id 的列表。如果指\n" -" 定了属性,对每个类型实例会打印出这个属性。\n" -" " - -#: ../roundup/admin.py:1096 -msgid "Too many arguments supplied" -msgstr "提供了太多的参数了" - -#: ../roundup/admin.py:1132 -#, python-format -msgid "%(nodeid)4s: %(value)s" -msgstr "%(nodeid)4s: %(value)s" - -#: ../roundup/admin.py:1136 -msgid "" -"Usage: templates [trace_search]\n" -" List templates and their installed directories.\n" -"\n" -" With trace_search also list all directories that are\n" -" searched for templates.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1164 +#: ../roundup/admin.py:1808 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -794,444 +1259,64 @@ " 将生成4个字符宽的 \"Name\" 列。\n" " " -#: ../roundup/admin.py:1208 +#: ../roundup/admin.py:1852 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "\"%(spec)s\" 不是 名字:宽度" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1874 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1266 -msgid "" -"Usage: history designator [skipquiet]\n" -" Show the history entries of a designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" Lists the journal entries viewable by the user for the\n" -" node identified by the designator. If skipquiet is the\n" -" second argument, journal entries for quiet properties\n" -" are not shown.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1302 -msgid "" -"Usage: commit\n" -" Commit changes made to the database during an interactive session.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" using this command.\n" -"\n" -" One-off commands on the command-line are automatically committed if\n" -" they are successful.\n" -" " -msgstr "" -"用法:commit\n" -" 提交在一个交互会话中所产生的改动。\n" -"\n" -" 在一个交互会话中所产生的改动不会自动写入数据库 - 它们必须使用此命令\n" -" 来提交。\n" -" 在命令行中的 One-off 命令如果成功会被自动提交。\n" -" " - -#: ../roundup/admin.py:1317 +#: ../roundup/admin.py:1910 msgid "" -"Usage: rollback\n" -" Undo all changes that are pending commit to the database.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" manually. This command undoes all those changes, so a commit\n" -" immediately after would make no changes to the database.\n" -" " -msgstr "" -"用法:rollback\n" -" 撤除所有未提交到数据库的改动。\n" -"\n" -" 在交互对话中产生的改动并不自动写到数据库中 - 它们必须被手工提交。\n" -" 这个命令用来撤除所有这些改动,所以在后面跟上提交的话不会对数据库\n" -" 产生变化。\n" -" " - -#: ../roundup/admin.py:1330 -#, fuzzy -msgid "" -"Usage: retire designator[,designator]*\n" -" Retire the node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This action indicates that a particular node is not to be retrieved\n" -" by the list or find commands, and its key value may be re-used.\n" -" " -msgstr "" -"用法:retire designator[,designator]*\n" -" 撤除由指示器(designator)所指明的结点。\n" -"\n" -" 这个动作指明一个特别的结点将不能被 list 或 find 命令得到,并且\n" -" 它的键值可以被重用。\n" -" " - -#: ../roundup/admin.py:1358 -#, fuzzy -msgid "" -"Usage: restore designator[,designator]*\n" -" Restore the retired node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" The given nodes will become available for users again.\n" -" " -msgstr "" -"Usage: restore designator[,designator]*\n" -" 恢复由指示器(designator)表明的已经撤除的结点。\n" -"\n" -" 给定的结点将对用户来说再次生效。\n" +"Usage: templates [trace_search]\n" +" List templates and their installed directories.\n" +"\n" +" With trace_search also list all directories that are\n" +" searched for templates.\n" " " - -# ../roundup/admin.py:550 :945 :994 :1016 -#: ../roundup/admin.py:1383 -#, fuzzy -msgid "no such %(classname)s node \" % (nodeid)s\"" -msgstr "没有这样的 %(classname)s 结点 \"%(nodeid)s\"" - -#. grab the directory to export to -#: ../roundup/admin.py:1389 -#, fuzzy -msgid "" -"Usage: export [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files.\n" -" To exclude the files (e.g. for the msg or file class),\n" -" use the exporttables command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" -"用法:export [class[,class]] export_dir\n" -" 导出数据库为冒号分隔值的文件。\n" -"\n" -" 对于导出的可选限制只是类名。\n" -"\n" -" 这个动作从数据库中导出当前的数据到以冒号分隔值的文件中去,它们将存\n" -" 放在指定的目标目录中。\n" -" " - -#: ../roundup/admin.py:1496 -#, fuzzy -msgid "" -"Usage: exporttables [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files, excluding the\n" -" files below $TRACKER_HOME/db/files/ (which can be archived " -"separately).\n" -" To include the files, use the export command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" -"用法:export [class[,class]] export_dir\n" -" 导出数据库为冒号分隔值的文件。\n" -"\n" -" 对于导出的可选限制只是类名。\n" -"\n" -" 这个动作从数据库中导出当前的数据到以冒号分隔值的文件中去,它们将存\n" -" 放在指定的目标目录中。\n" -" " - -#: ../roundup/admin.py:1511 -msgid "" -"Usage: import import_dir\n" -" Import a database from the directory containing CSV files,\n" -" two per class to import.\n" -"\n" -" The files used in the import are:\n" -"\n" -" <class>.csv\n" -" This must define the same properties as the class (including\n" -" having a \"header\" line with those property names.)\n" -" <class>-journals.csv\n" -" This defines the journals for the items being imported.\n" -"\n" -" The imported nodes will have the same nodeid as defined in the\n" -" import file, thus replacing any existing content.\n" -"\n" -" The new nodes are added to the existing database - if you want to\n" -" create a new database using the imported data, then create a new\n" -" database (or, tediously, retire all the old data.)\n" -" " -msgstr "" -"用法:import import_dir\n" -" 从包含 CSV 文件的目录中导入数据库,一个类有两个文件用于导入。\n" -"\n" -" 用于导入的文件为:\n" -"\n" -" <class>.csv\n" -" 它必须定义与类型一样的属性(包括一个 \"header\" 行包含那些\n" -" 属性的名字。)\n" -" <class>-journals.csv\n" -" 它用来定义被导入的条目的日志。\n" -"\n" -" 被导入的结点将具与在导入文件中一样的结点id,以便可以替换任何\n" -" 任何已经存在的内容。\n" -" 新结点被加入到已经存在的数据库中 - 如果你想要使用导入数据来创\n" -" 建一个新的数据库,那么创建一个新数据库(或者,麻烦点,回收所有\n" -" 旧数据。)\n" -" " - -#: ../roundup/admin.py:1590 -msgid "" -"Usage: importtables export_dir\n" -"\n" -" This imports the database tables exported using exporttables.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1597 +msgstr "" + +#: ../roundup/admin.py:1938 msgid "" -"Usage: pack period | date\n" -"\n" -" Remove journal entries older than a period of time specified or\n" -" before a certain date.\n" -"\n" -" A period is specified using the suffixes \"y\", \"m\", and \"d\". " -"The\n" -" suffix \"w\" (for \"week\") means 7 days.\n" -"\n" -" \"3y\" means three years\n" -" \"2y 1m\" means two years and one month\n" -" \"1m 25d\" means one month and 25 days\n" -" \"2w 3d\" means two weeks and three days\n" -"\n" -" Date format is \"YYYY-MM-DD\" eg:\n" -" 2001-01-01\n" -"\n" -" " -msgstr "" -"用法:pack period | date\n" -"\n" -" 删除早于指定的时期或日期的旧的流水记录。\n" -"\n" -" 一个时期使用后缀 \"y\", \"m\", 和 \"d\"。后缀 \"w\"(表示 \"week\")\n" -" 表示 7 天。\n" -"\n" -" \"3y\" 表示3年\n" -" \"2y 1m\" 表示2年1个月\n" -" \"1m 25d\" 表示1月25天\n" -" \"2w 3d\" 表示2周3天\n" -"\n" -" 日期格式是 \"YYYY-MM-DD\" 例如:\n" -" 2001-01-01\n" -"\n" -" " - -#: ../roundup/admin.py:1625 -msgid "Invalid format" -msgstr "无效的格式" - -#: ../roundup/admin.py:1638 -msgid "" -"Usage: reindex [classname|designator]*\n" -" Re-generate a tracker's search indexes.\n" -"\n" -" This will re-generate the search indexes for a tracker.\n" -" This will typically happen automatically.\n" -" " -msgstr "" -"用法:reindex [classname|designator]*\n" -" 重新生成 tracker 的搜索索引。\n" -"\n" -" 重新生成 tracker 的搜索索引,它将自动进行。\n" -" " - -#: ../roundup/admin.py:1652 -#, python-format -msgid "no such item \"%(designator)s\"" -msgstr "没有这样的条目 \"%(designator)s\"" - -#: ../roundup/admin.py:1662 -#, fuzzy -msgid "" -"Usage: security [Role name]\n" -"\n" -" Display the Permissions available to one or all Roles.\n" -" " -msgstr "" -"用法:security [角色名]\n" -" 显示一个或多个角色的权限。\n" +"Usage: updateconfig <filename>\n" +" Generate an updated tracker config file (ini style) in\n" +" <filename>. Use current settings from existing roundup\n" +" tracker in tracker home.\n" " " - -#: ../roundup/admin.py:1671 -#, fuzzy, python-format -msgid "No such Role \"%(role)s\"\n" -msgstr "没有这样的角色 \"%(role)s\"" - -#: ../roundup/admin.py:1677 -#, fuzzy, python-format -msgid "New Web users get the Roles \"%(role)s\"\n" -msgstr "新Web用户得到角色 \"%(role)s\"" - -#: ../roundup/admin.py:1680 -#, fuzzy, python-format -msgid "New Web users get the Role \"%(role)s\"\n" -msgstr "新Web用户得到角色 \"%(role)s\"" - -#: ../roundup/admin.py:1684 -#, fuzzy, python-format -msgid "New Email users get the Roles \"%(role)s\"\n" -msgstr "新邮件用户得到角色 \"%(role)s\"" - -#: ../roundup/admin.py:1686 -#, fuzzy, python-format -msgid "New Email users get the Role \"%(role)s\"\n" -msgstr "新邮件用户得到角色 \"%(role)s\"" - -#: ../roundup/admin.py:1689 -#, fuzzy, python-format -msgid "Role \"%(name)s\":\n" -msgstr "角色 \"%(name)s\":" - -#: ../roundup/admin.py:1695 -#, fuzzy -msgid " %(description)s (%(name)s for \"%(klass)s\"" -msgstr " %(description)s (%(name)s 仅用于 \"%(klass)s\")" - -#: ../roundup/admin.py:1695 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" -msgstr " %(description)s (%(name)s 仅用于 \"%(klass)s\")" - -#: ../roundup/admin.py:1708 +msgstr "" + +# ../roundup/cgi/actions.py:549 :559 :730 :749 +#: ../roundup/admin.py:1946 ../roundup/cgi/actions.py:886 +#: ../roundup/cgi/actions.py:897 ../roundup/cgi/actions.py:1099 +#: ../roundup/cgi/actions.py:1113 ../roundup/cgi/actions.py:886:897 :1099:1113 #, python-format -msgid "" -"\n" -" **Invalid properties for %(class)s: %(props)s\n" -"\n" -msgstr "" - -#: ../roundup/admin.py:1714 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" -msgstr " %(description)s (%(name)s 仅用于 \"%(klass)s\")" - -#: ../roundup/admin.py:1717 -#, fuzzy, python-format -msgid " %(description)s (%(name)s)\n" -msgstr " %(description)s (%(name)s)" - -#: ../roundup/admin.py:1721 -msgid "" -"Usage: migrate\n" -"\n" -" Update a tracker's database to be compatible with the Roundup\n" -" codebase.\n" -"\n" -" You should run the \"migrate\" command for your tracker once\n" -" you've installed the latest codebase.\n" -"\n" -" Do this before you use the web, command-line or mail interface\n" -" and before any users access the tracker.\n" -"\n" -" This command will respond with either \"Tracker updated\" (if\n" -" you've not previously run it on an RDBMS backend) or \"No\n" -" migration action required\" (if you have run it, or have used\n" -" another interface to the tracker, or possibly because you are\n" -" using anydbm).\n" -"\n" -" It's safe to run this even if it's not required, so just get\n" -" into the habit.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1742 -#, python-format -msgid "Tracker updated to schema version %s." -msgstr "" - -#: ../roundup/admin.py:1746 -#, fuzzy, python-format -msgid "No migration action required. At schema version %s." -msgstr "不必执行迁移" - -#: ../roundup/admin.py:1751 -msgid "" -"Usage: perftest [mode] [arguments]*\n" -"\n" -" Time operations in Roundup. Supported arguments:\n" -"\n" -" [password] [rounds=<integer>] [scheme=<scheme>]\n" -"\n" -" 'password' is the default mode. The tracker's config.ini\n" -" setting for 'password_pbkdf2_default_rounds' is the default\n" -" value for 'rounds'. On the command line, 'rounds' can include\n" -" thousands separator of ',' or '.'. 'scheme' is the default\n" -" coded into Roundup. List supported schemes by using 'scheme='.\n" -"\n" -" " -msgstr "" - -#: ../roundup/admin.py:1785 -msgid "Invalid 'rounds'. Must be larger than 999." -msgstr "" - -#: ../roundup/admin.py:1789 -#, python-format -msgid "Invalid 'rounds'. It must be an integer not: %s" -msgstr "" - -#: ../roundup/admin.py:1816 -msgid "scheme does not support rounds." -msgstr "" - -#: ../roundup/admin.py:1819 -#, python-format -msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" -msgstr "" - -#: ../roundup/admin.py:1847 +msgid "Error: %s" +msgstr "错误:%s" + +#: ../roundup/admin.py:1974 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "未知命令 \"%(command)s\" (\"help commands\" 查看命令列表)" -#: ../roundup/admin.py:1853 +#: ../roundup/admin.py:1980 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "多命令匹配 \"%(command)s\": %(list)s" -#: ../roundup/admin.py:1862 +#: ../roundup/admin.py:1996 msgid "Enter tracker home: " msgstr "输入tracker起始目录:" -# ../roundup/admin.py:1279 :1285 :1305 -#: ../roundup/admin.py:1871 ../roundup/admin.py:1877 ../roundup/admin.py:1914 -#: ../roundup/admin.py:1871:1877:1914 -#, python-format -msgid "Error: %(message)s" -msgstr "错误:%(message)s" - -#: ../roundup/admin.py:1887 ../roundup/admin.py:1891 -#: ../roundup/admin.py:1887:1891 +#: ../roundup/admin.py:2023 ../roundup/admin.py:2027 +#: ../roundup/admin.py:2023:2027 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "错误:不能打开tracker:%(message)s" -#: ../roundup/admin.py:1927 +#: ../roundup/admin.py:2060 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1240,15 +1325,15 @@ "Roundup %s 输入就绪。\n" "敲入 \"help\" 获得帮助。" -#: ../roundup/admin.py:1932 +#: ../roundup/admin.py:2065 msgid "Note: command history and editing not available" msgstr "注意:命令历史和编辑无效" -#: ../roundup/admin.py:1938 +#: ../roundup/admin.py:2071 msgid "exit..." msgstr "退出..." -#: ../roundup/admin.py:1951 +#: ../roundup/admin.py:2084 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "存在未被保存的改动。提交吗(y/N)?" @@ -1282,7 +1367,7 @@ #: ../roundup/backends/back_anydbm.py:1422 #: ../roundup/backends/back_anydbm.py:1440 #: ../roundup/backends/back_anydbm.py:1487 -#: ../roundup/backends/back_anydbm.py:2117 +#: ../roundup/backends/back_anydbm.py:2113 #: ../roundup/backends/back_anydbm.py:871:884 #: ../roundup/backends/rdbms_common.py:1708 #: ../roundup/backends/rdbms_common.py:1955 @@ -1291,7 +1376,7 @@ #: ../roundup/backends/rdbms_common.py:2267 #: ../roundup/backends/rdbms_common.py:3219 #: ../roundup/backends/rdbms_common.py:1708:1955 :1158:1193 :1422:1440:1487 -#: :2117 :2194:2214 :2267:3219 +#: :2113 :2194:2214 :2267:3219 msgid "Database open read-only" msgstr "" @@ -1534,14 +1619,6 @@ msgid "Edit Error: %s" msgstr "编辑错误:%s" -# ../roundup/cgi/actions.py:549 :559 :730 :749 -#: ../roundup/cgi/actions.py:886 ../roundup/cgi/actions.py:897 -#: ../roundup/cgi/actions.py:1099 ../roundup/cgi/actions.py:1113 -#: ../roundup/cgi/actions.py:886:897 :1099:1113 -#, python-format -msgid "Error: %s" -msgstr "错误:%s" - #: ../roundup/cgi/actions.py:931 msgid "" "Invalid One Time Key!\n" @@ -1790,8 +1867,8 @@ "</body></html>" msgstr "" -#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 -#: ../roundup/cgi/client.py:670:1570 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:670:1567 msgid "Required Header Missing" msgstr "" @@ -1800,145 +1877,145 @@ msgid "Client is not allowed to use Rest Interface." msgstr "匿名用户不允许使用 web 界面" -#: ../roundup/cgi/client.py:921 +#: ../roundup/cgi/client.py:918 msgid "Form Error: " msgstr "表格错误:" -#: ../roundup/cgi/client.py:1011 +#: ../roundup/cgi/client.py:1008 #, python-format msgid "Unrecognized charset: %r" msgstr "无法识别的字符集:%r" -#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 -#: ../roundup/cgi/client.py:1264:2250 +#: ../roundup/cgi/client.py:1261 ../roundup/cgi/client.py:2247 +#: ../roundup/cgi/client.py:1261:2247 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1279 +#: ../roundup/cgi/client.py:1276 msgid "Anonymous users are not allowed to use the web interface" msgstr "匿名用户不允许使用 web 界面" -#: ../roundup/cgi/client.py:1430 +#: ../roundup/cgi/client.py:1427 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1434 +#: ../roundup/cgi/client.py:1431 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1463 +#: ../roundup/cgi/client.py:1460 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1467 +#: ../roundup/cgi/client.py:1464 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1475 +#: ../roundup/cgi/client.py:1472 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" -#: ../roundup/cgi/client.py:1480 +#: ../roundup/cgi/client.py:1477 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "无效登录" -#: ../roundup/cgi/client.py:1495 +#: ../roundup/cgi/client.py:1492 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" -#: ../roundup/cgi/client.py:1500 +#: ../roundup/cgi/client.py:1497 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "无效登录" -#: ../roundup/cgi/client.py:1514 +#: ../roundup/cgi/client.py:1511 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1520 +#: ../roundup/cgi/client.py:1517 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1539 +#: ../roundup/cgi/client.py:1536 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1544 +#: ../roundup/cgi/client.py:1541 #, fuzzy, python-format msgid "Invalid HOST %s" msgstr "无效请求" -#: ../roundup/cgi/client.py:1552 +#: ../roundup/cgi/client.py:1549 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1553 +#: ../roundup/cgi/client.py:1550 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:1564 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1608 +#: ../roundup/cgi/client.py:1605 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 -#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 +#: ../roundup/cgi/client.py:1607 ../roundup/cgi/client.py:1634 +#: ../roundup/cgi/client.py:1651 ../roundup/cgi/client.py:1607:1634:1651 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1614 +#: ../roundup/cgi/client.py:1611 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1626 +#: ../roundup/cgi/client.py:1623 #, python-format msgid "" "Csrf mismatch user: current user %(user)s != stored user %(stored)s, current " "session, stored session: %(cur_sess)s,%(stor_sess)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1644 +#: ../roundup/cgi/client.py:1641 #, python-format msgid "" "Csrf mismatch user: current session %(curr_sess)s != stored session " "%(stor_sess)s, current user/stored user is: %(user)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1838 +#: ../roundup/cgi/client.py:1835 msgid "You are not allowed to view this file." msgstr "你没有查看此文件的权限" -#: ../roundup/cgi/client.py:2127 +#: ../roundup/cgi/client.py:2124 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2131 +#: ../roundup/cgi/client.py:2128 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " "items: %(get_items)f secs. Filtering: %(filtering)f secs.%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2669 +#: ../roundup/cgi/client.py:2666 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2127,16 +2204,16 @@ msgid "<option %svalue=\"-1\">- no selection -</option>" msgstr "<option %svalue=\"-1\">- 未选择 -</option>" -#: ../roundup/cgi/timestamp.py:19 +#: ../roundup/cgi/timestamp.py:23 msgid "Form is corrupted." msgstr "" -#: ../roundup/cgi/timestamp.py:28 +#: ../roundup/cgi/timestamp.py:32 #, python-format msgid "Form is corrupted, missing: %s." msgstr "" -#: ../roundup/cgi/timestamp.py:30 +#: ../roundup/cgi/timestamp.py:34 msgid "Responding to form too quickly." msgstr "" @@ -2277,54 +2354,54 @@ msgid "in %s" msgstr "在 %s" -#: ../roundup/hyperdb.py:119 +#: ../roundup/hyperdb.py:120 #, fuzzy, python-format msgid "property %(property)s: %(errormsg)s" msgstr "属性 %s: %s" -#: ../roundup/hyperdb.py:148 +#: ../roundup/hyperdb.py:149 #, python-format msgid "property %(property)s: %(value)r is an invalid date (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:171 +#: ../roundup/hyperdb.py:172 #, python-format msgid "" "property %(property)s: %(value)r is an invalid date interval (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:428 +#: ../roundup/hyperdb.py:429 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a number" msgstr "属性 \"%(propname)s\": \"%(value)s\" 当前不在列表中" -#: ../roundup/hyperdb.py:442 +#: ../roundup/hyperdb.py:443 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not an integer" msgstr "属性 \"%(propname)s\": \"%(value)s\" 当前不在列表中" -#: ../roundup/hyperdb.py:464 +#: ../roundup/hyperdb.py:465 #, python-format msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 -#: ../roundup/hyperdb.py:1493:1501 +#: ../roundup/hyperdb.py:1494 ../roundup/hyperdb.py:1502 +#: ../roundup/hyperdb.py:1494:1502 #, python-format msgid "Not a property name: %s" msgstr "不是属性名: %s" -#: ../roundup/hyperdb.py:1978 +#: ../roundup/hyperdb.py:1979 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "属性 \"%(propname)s\": \"%(value)s\" 当前不在列表中" -#: ../roundup/hyperdb.py:1984 +#: ../roundup/hyperdb.py:1985 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2019 +#: ../roundup/hyperdb.py:2020 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" @@ -2568,115 +2645,115 @@ msgid "Method %(m)s not allowed. Allowed: %(a)s" msgstr "" -#: ../roundup/rest.py:1097 +#: ../roundup/rest.py:1101 #, fuzzy, python-format msgid "Invalid attribute %s" msgstr "无效登录" -#: ../roundup/rest.py:2090 +#: ../roundup/rest.py:2094 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2125 +#: ../roundup/rest.py:2129 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2305 +#: ../roundup/rest.py:2309 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " "supported versions." msgstr "" -#: ../roundup/roundupdb.py:139 +#: ../roundup/roundupdb.py:140 #, python-format msgid "Username '%s' already exists." msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "files" msgstr "文件" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "messages" msgstr "消息" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "nosy" msgstr "抄送" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "superseder" msgstr "后续" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "title" msgstr "标题" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "assignedto" msgstr "分配给" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "keyword" msgstr "关键字" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "priority" msgstr "优先级" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "status" msgstr "状态" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "activity" msgstr "最近修改" #. following properties are common for all hyperdb classes #. they are listed here to keep things in one place -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "actor" msgstr "最近修改者" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creation" msgstr "创建" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creator" msgstr "创建者" -#: ../roundup/roundupdb.py:425 +#: ../roundup/roundupdb.py:426 #, python-format msgid "No key for \"%(adr)s\" in keyring" msgstr "" -#: ../roundup/roundupdb.py:503 +#: ../roundup/roundupdb.py:504 #, python-format msgid "New submission from %(authname)s%(authaddr)s:" msgstr "" -#: ../roundup/roundupdb.py:506 +#: ../roundup/roundupdb.py:507 #, python-format msgid "%(authname)s%(authaddr)s added the comment:" msgstr "" -#: ../roundup/roundupdb.py:509 +#: ../roundup/roundupdb.py:510 #, python-format msgid "Change by %(authname)s%(authaddr)s:" msgstr "" -#: ../roundup/roundupdb.py:528 +#: ../roundup/roundupdb.py:529 #, python-format msgid "File '%(filename)s' not attached - you can download it from %(link)s." msgstr "" -#: ../roundup/roundupdb.py:903 +#: ../roundup/roundupdb.py:904 #, python-format msgid "" "\n" @@ -2686,12 +2763,12 @@ "%(old)s" msgstr "" -#: ../roundup/scripts/roundup_demo.py:49 +#: ../roundup/scripts/roundup_demo.py:156 #, python-format msgid "Enter directory path to create demo tracker [%s]: " msgstr "输入目录来创建演示tracker [%s]:" -#: ../roundup/scripts/roundup_demo.py:54 +#: ../roundup/scripts/roundup_demo.py:162 #, python-format msgid "" "Enter tracker template to use (one of (%(template_list)s)) " @@ -2784,23 +2861,23 @@ msgid "User %(user)s doesn't exist" msgstr "用户 %(user)s 不存在" -#: ../roundup/scripts/roundup_server.py:805 +#: ../roundup/scripts/roundup_server.py:809 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "" -#: ../roundup/scripts/roundup_server.py:832 +#: ../roundup/scripts/roundup_server.py:837 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "无法绑定到端口 %s, 端口已经被占用。" -#: ../roundup/scripts/roundup_server.py:836 +#: ../roundup/scripts/roundup_server.py:841 #, fuzzy, python-format msgid "" "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s" msgstr "无法绑定到端口 %s, 端口已经被占用。" -#: ../roundup/scripts/roundup_server.py:915 +#: ../roundup/scripts/roundup_server.py:920 #, fuzzy msgid "" " -c <Command> Windows Service options.\n" @@ -2817,7 +2894,7 @@ " 变量上配置一个tracker。这个选项与其经选项是互斥的。打入\n" " \"roundup-server -c help\" 来了解Windows服务的规范。" -#: ../roundup/scripts/roundup_server.py:922 +#: ../roundup/scripts/roundup_server.py:927 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2831,7 +2908,7 @@ "去。\n" " 如果使用了 -d 选项,则 -l 选项 *必须* 要指定。" -#: ../roundup/scripts/roundup_server.py:929 +#: ../roundup/scripts/roundup_server.py:934 #, fuzzy, python-format msgid "" "\n" @@ -2852,6 +2929,8 @@ " -N log client machine names instead of IP addresses (much " "slower)\n" " -i <fname> set tracker index template\n" +" -m <children> maximum number of children to spawn in fork multiprocess " +"mode\n" " -s enable SSL\n" " -L http request logging uses python logging (roundup.http)\n" " -e <fname> PEM file containing SSL key and certificate\n" @@ -2927,20 +3006,20 @@ " 意数量的 name=home 对。要确保 name 部分不能包括任何非url安全的\n" " 字符,象空格,因为它们会把IE搞乱。\n" -#: ../roundup/scripts/roundup_server.py:1105 +#: ../roundup/scripts/roundup_server.py:1111 msgid "Instances must be name=home" msgstr "实例必须是 实例名=实例路径" -#: ../roundup/scripts/roundup_server.py:1119 +#: ../roundup/scripts/roundup_server.py:1125 #, python-format msgid "Configuration saved to %s" msgstr "配置保存到 %s" -#: ../roundup/scripts/roundup_server.py:1137 +#: ../roundup/scripts/roundup_server.py:1143 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "抱歉,在这个操作系统上不能以守护进程的方式来运行服务" -#: ../roundup/scripts/roundup_server.py:1157 +#: ../roundup/scripts/roundup_server.py:1163 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "Roundup server 启动于 %(HOST)s:%(PORT)s" @@ -5396,6 +5475,21 @@ msgid "Password" msgstr "登录密码" +#, fuzzy +#~ msgid "" +#~ "Usage: security [Role name]\n" +#~ "\n" +#~ " Display the Permissions available to one or all Roles.\n" +#~ " " +#~ msgstr "" +#~ "用法:security [角色名]\n" +#~ " 显示一个或多个角色的权限。\n" +#~ " " + +# ../roundup/admin.py:1279 :1285 :1305 +#~ msgid "Error: %(message)s" +#~ msgstr "错误:%(message)s" + #~ msgid "Tracker updated" #~ msgstr "Tracker 已经更新"
--- a/locale/zh_TW.po Wed May 24 15:05:09 2023 -0400 +++ b/locale/zh_TW.po Wed May 24 20:35:53 2023 -0400 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Roundup 2.3.0\n" "Report-Msgid-Bugs-To: roundup-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2023-03-03 17:28-0500\n" +"POT-Creation-Date: 2023-05-24 20:34-0400\n" "PO-Revision-Date: 2013-10-31 12:23+0100\n" "Last-Translator: Fred Lin <gasolin@gmail>\n" "Language-Team: Chinese Traditional <gasolin@gmail.com>\n" @@ -29,20 +29,40 @@ msgid "You may not retire the admin or anonymous user" msgstr "你不能刪除管理員或匿名用戶" +#: ../roundup/admin.py:117 +msgid "Have 'display designator' show protected fields: creator. NYI" +msgstr "" + +#: ../roundup/admin.py:120 +msgid "Set indexer to use when running 'reindex' NYI" +msgstr "" + +#: ../roundup/admin.py:123 +msgid "Force reopening of tracker when running each command." +msgstr "" + +#: ../roundup/admin.py:125 +msgid "Show retired items in table, list etc. NYI" +msgstr "" + +#: ../roundup/admin.py:126 +msgid "Enable verbose output: tracing, descriptions..." +msgstr "" + # ../roundup/admin.py:84 :943 :992 :1014 -#: ../roundup/admin.py:112 ../roundup/admin.py:1295 ../roundup/admin.py:1350 -#: ../roundup/admin.py:1377 ../roundup/admin.py:112:1295 :1350:1377 +#: ../roundup/admin.py:138 ../roundup/admin.py:993 ../roundup/admin.py:1601 +#: ../roundup/admin.py:1633 ../roundup/admin.py:138:993 :1601:1633 #, python-format msgid "no such class \"%(classname)s\"" msgstr "無此類別 \"%(classname)s\"" # ../roundup/admin.py:94 :98 -#: ../roundup/admin.py:124 +#: ../roundup/admin.py:150 #, python-format msgid "argument \"%(arg)s\" not propname=value" msgstr "參數 \"%(arg)s\" 不是 propname=value 的形式" -#: ../roundup/admin.py:137 +#: ../roundup/admin.py:163 #, python-format msgid "" "Problem: %(message)s\n" @@ -51,7 +71,7 @@ "問題: %(message)s\n" "\n" -#: ../roundup/admin.py:138 +#: ../roundup/admin.py:164 #, fuzzy, python-format msgid "" "%(message)sUsage: roundup-admin [options] [<command> <arguments>]\n" @@ -98,12 +118,12 @@ " roundup-admin help <command> -- 命令詳解說明\n" " roundup-admin help all -- 所有可用的說明\n" -#: ../roundup/admin.py:165 +#: ../roundup/admin.py:191 #, fuzzy msgid "Commands: " msgstr "命令:" -#: ../roundup/admin.py:172 +#: ../roundup/admin.py:198 msgid "" "Commands may be abbreviated as long as the abbreviation\n" "matches only one command, e.g. l == li == lis == list." @@ -111,7 +131,7 @@ "命令可以被縮寫,只要縮寫只有一個命令可以匹配上,\n" "如:l == li == lis == list." -#: ../roundup/admin.py:201 +#: ../roundup/admin.py:227 #, fuzzy msgid "" "\n" @@ -234,12 +254,290 @@ "\n" "使用說明:\n" -#: ../roundup/admin.py:264 +#: ../roundup/admin.py:290 #, python-format msgid "%s:" msgstr "" -#: ../roundup/admin.py:271 +# ../roundup/admin.py:337 :387 +#: ../roundup/admin.py:395 ../roundup/admin.py:1185 +#: ../roundup/admin.py:395:1185 +msgid "Templates:" +msgstr "模板:" + +# ../roundup/admin.py:340 :398 +#: ../roundup/admin.py:398 ../roundup/admin.py:1195 +#: ../roundup/admin.py:398:1195 +msgid "Back ends:" +msgstr "後端:" + +#: ../roundup/admin.py:415 +msgid "" +"Usage: commit\n" +" Commit changes made to the database during an interactive session.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" using this command.\n" +"\n" +" One-off commands on the command-line are automatically committed if\n" +" they are successful.\n" +" " +msgstr "" +"用法:commit\n" +" 提交在一個交互會話中所產生的改動。\n" +"\n" +" 在一個交互會話中所產生的改動不會自動寫入數據庫 - 它們必須使用此命令\n" +" 來提交。\n" +" 在命令行中的 One-off 命令如果成功會被自動提交。\n" +" " + +#: ../roundup/admin.py:430 +msgid "" +"Usage: create classname property=value ...\n" +" Create a new entry of a given class.\n" +"\n" +" This creates a new entry of the given class using the property\n" +" name=value arguments provided on the command line after the \"create" +"\"\n" +" command.\n" +" " +msgstr "" +"用法:create classname property=value ...\n" +" 建立一個給定類的新記錄。\n" +"\n" +" 建立一個給定類的新記錄,將使用 \"create\" 命令行後面的屬性 " +"name=value 參數。\n" +" " + +# ../roundup/admin.py:359 :494 :573 :623 :676 :697 :725 :796 :863 :934 :982 +# :1004 :1031 :1093 :1159 +#: ../roundup/admin.py:438 ../roundup/admin.py:512 ../roundup/admin.py:545 +#: ../roundup/admin.py:663 ../roundup/admin.py:749 ../roundup/admin.py:807 +#: ../roundup/admin.py:852 ../roundup/admin.py:977 ../roundup/admin.py:1020 +#: ../roundup/admin.py:1158 ../roundup/admin.py:1285 ../roundup/admin.py:1371 +#: ../roundup/admin.py:1482 ../roundup/admin.py:1591 ../roundup/admin.py:1623 +#: ../roundup/admin.py:1738 ../roundup/admin.py:1792 ../roundup/admin.py:1837 +#: ../roundup/admin.py:438:512 :1020:1158:1285 :1371:1482 :1591:1623 :1738:1792 +#: :1837 :545:663 :749:807 :852:977 +msgid "Not enough arguments supplied" +msgstr "未提供足夠的參數" + +#: ../roundup/admin.py:458 +#, python-format +msgid "%(propname)s (Password): " +msgstr "%(propname)s (口令):" + +#: ../roundup/admin.py:461 +#, python-format +msgid " %(propname)s (Again): " +msgstr " %(propname)s (再次):" + +#: ../roundup/admin.py:465 +msgid "Sorry, try again..." +msgstr "抱歉,再試一次..." + +#: ../roundup/admin.py:470 +#, python-format +msgid "%(propname)s (%(proptype)s): " +msgstr "" + +#: ../roundup/admin.py:489 +#, python-format +msgid "you must provide the \"%(propname)s\" property." +msgstr "你必須提供 \"%(propname)s\" 屬性。" + +#: ../roundup/admin.py:501 +#, fuzzy +msgid "" +"Usage: display designator[,designator]*\n" +"\n" +" Show the property values for the given node(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This lists the properties and their associated values\n" +" for the given node.\n" +" " +msgstr "" +"用法:display designator[,designator]*\n" +" 顯示給出結點的屬性值。\n" +"\n" +" 將顯示給出結點的屬性和相應的值。\n" +" " + +#: ../roundup/admin.py:528 +#, python-format +msgid "%(key)s: %(value)s" +msgstr "" + +#. grab the directory to export to +#: ../roundup/admin.py:531 +#, fuzzy +msgid "" +"Usage: export [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files.\n" +" To exclude the files (e.g. for the msg or file class),\n" +" use the exporttables command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +"用法:export [class[,class]] export_dir\n" +" 導出數據庫為冒號分隔值的文件。\n" +"\n" +" 對於導出的可選限制只是類名。\n" +"\n" +" 這個動作從數據庫中導出當前的數據到以冒號分隔值的文件中去,它們將存\n" +" 放在指定的目標目錄中。\n" +" " + +#: ../roundup/admin.py:638 +#, fuzzy +msgid "" +"Usage: exporttables [[-]class[,class]] export_dir\n" +" Export the database to colon-separated-value files, excluding the\n" +" files below $TRACKER_HOME/db/files/ (which can be archived " +"separately).\n" +" To include the files, use the export command.\n" +"\n" +" Optionally limit the export to just the named classes\n" +" or exclude the named classes, if the 1st argument starts with '-'.\n" +"\n" +" This action exports the current data from the database into\n" +" colon-separated-value files that are placed in the nominated\n" +" destination directory.\n" +" " +msgstr "" +"用法:export [class[,class]] export_dir\n" +" 導出數據庫為冒號分隔值的文件。\n" +"\n" +" 對於導出的可選限制只是類名。\n" +"\n" +" 這個動作從數據庫中導出當前的數據到以冒號分隔值的文件中去,它們將存\n" +" 放在指定的目標目錄中。\n" +" " + +#: ../roundup/admin.py:653 +#, fuzzy +msgid "" +"Usage: filter classname propname=value ...\n" +" Find the nodes of the given class with a given property value.\n" +"\n" +" Find the nodes of the given class with a given property value.\n" +" Multiple values can be specified by separating them with commas.\n" +" If property is a string, all values must match. I.E. it's an\n" +" 'and' operation. If the property is a link/multilink any value\n" +" matches. I.E. an 'or' operation.\n" +" " +msgstr "" +"用法:find classname propname=value ...\n" +" 根據給定的 link 屬性值來查找給定類型的結點。\n" +"\n" +" 根據給定的 link 屬性值來查找給定類型的結點。這個值或者是鏈接結點的結" +"點ID,\n" +" 或者是結點的鍵值。\n" +" " + +# ../roundup/admin.py:663 :816 :828 :882 +#: ../roundup/admin.py:696 +#, fuzzy, python-format +msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." +msgstr "%(classname)s 沒有 \"%(propname)s\" 屬性" + +# ../roundup/admin.py:663 :816 :828 :882 +#: ../roundup/admin.py:734 ../roundup/admin.py:795 ../roundup/admin.py:1305 +#: ../roundup/admin.py:1317 ../roundup/admin.py:1857 +#: ../roundup/admin.py:734:795 :1305:1317:1857 +#, python-format +msgid "%(classname)s has no property \"%(propname)s\"" +msgstr "%(classname)s 沒有 \"%(propname)s\" 屬性" + +#: ../roundup/admin.py:741 +msgid "" +"Usage: find classname propname=value ...\n" +" Find the nodes of the given class with a given link property value.\n" +"\n" +" Find the nodes of the given class with a given link property value.\n" +" The value may be either the nodeid of the linked node, or its key\n" +" value.\n" +" " +msgstr "" +"用法:find classname propname=value ...\n" +" 根據給定的 link 屬性值來查找給定類型的結點。\n" +"\n" +" 根據給定的 link 屬性值來查找給定類型的結點。這個值或者是鏈接結點的結" +"點ID,\n" +" 或者是結點的鍵值。\n" +" " + +#: ../roundup/admin.py:802 +msgid "" +"Usage: genconfig <filename>\n" +" Generate a new tracker config file (ini style) with default\n" +" values in <filename>.\n" +" " +msgstr "" + +#: ../roundup/admin.py:820 +#, python-format +msgid "" +"Changing option\n" +" 'password_pbkdf2_default_rounds'\n" +"from old default of %(old_number)s to new default of %(new_number)s." +msgstr "" + +#: ../roundup/admin.py:831 +#, python-format +msgid "" +"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" +"than %s." +msgstr "" + +#: ../roundup/admin.py:842 +#, fuzzy +msgid "" +"Usage: get property designator[,designator]*\n" +" Get the given property of one or more designator(s).\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Retrieves the property value of the nodes specified\n" +" by the designators.\n" +" " +msgstr "" +"用法:get property designator[,designator]*\n" +" 得到指定屬性一個或多個指示器(designator)。\n" +"\n" +" 通過指示器(designator)來得到指定結點的屬性值。\n" +" " + +# ../roundup/admin.py:527 :542 +#: ../roundup/admin.py:886 ../roundup/admin.py:904 ../roundup/admin.py:886:904 +#, python-format +msgid "property %s is not of type Multilink or Link so -d flag does not apply." +msgstr "屬性 %s 不是 Multilink 或 Link 類型,所以 -d 標誌不能應用。" + +# ../roundup/admin.py:550 :945 :994 :1016 +#: ../roundup/admin.py:914 ../roundup/admin.py:995 ../roundup/admin.py:1635 +#: ../roundup/admin.py:914:995:1635 +#, python-format +msgid "no such %(classname)s node \"%(nodeid)s\"" +msgstr "沒有這樣的 %(classname)s 結點 \"%(nodeid)s\"" + +#: ../roundup/admin.py:917 +#, python-format +msgid "no such %(classname)s property \"%(propname)s\"" +msgstr "沒有這樣的 %(classname)s 屬性 \"%(propname)s\"" + +#: ../roundup/admin.py:925 msgid "" "Usage: help topic\n" " Give help about topic.\n" @@ -259,22 +557,120 @@ " all -- 所有可用的說明\n" " " -#: ../roundup/admin.py:293 +#: ../roundup/admin.py:947 #, python-format msgid "Sorry, no help for \"%(topic)s\"" msgstr "抱歉,沒有對 \"%(topic)s\" 的說明信息" -# ../roundup/admin.py:337 :387 -#: ../roundup/admin.py:408 ../roundup/admin.py:464 ../roundup/admin.py:408:464 -msgid "Templates:" -msgstr "模板:" - -# ../roundup/admin.py:340 :398 -#: ../roundup/admin.py:411 ../roundup/admin.py:474 ../roundup/admin.py:411:474 -msgid "Back ends:" -msgstr "後端:" - -#: ../roundup/admin.py:414 +#: ../roundup/admin.py:964 +msgid "" +"Usage: history designator [skipquiet]\n" +" Show the history entries of a designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" Lists the journal entries viewable by the user for the\n" +" node identified by the designator. If skipquiet is the\n" +" second argument, journal entries for quiet properties\n" +" are not shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1000 +msgid "" +"Usage: import import_dir\n" +" Import a database from the directory containing CSV files,\n" +" two per class to import.\n" +"\n" +" The files used in the import are:\n" +"\n" +" <class>.csv\n" +" This must define the same properties as the class (including\n" +" having a \"header\" line with those property names.)\n" +" <class>-journals.csv\n" +" This defines the journals for the items being imported.\n" +"\n" +" The imported nodes will have the same nodeid as defined in the\n" +" import file, thus replacing any existing content.\n" +"\n" +" The new nodes are added to the existing database - if you want to\n" +" create a new database using the imported data, then create a new\n" +" database (or, tediously, retire all the old data.)\n" +" " +msgstr "" +"用法:import import_dir\n" +" 從包含 CSV 文件的目錄中導入數據庫,一個類有兩個文件用於導入。\n" +"\n" +" 用於導入的文件為:\n" +"\n" +" <class>.csv\n" +" 它必須定義與類型一樣的屬性(包括一個 \"header\" 行包含那些\n" +" 屬性的名字。)\n" +" <class>-journals.csv\n" +" 它用來定義被導入的條目的日誌。\n" +"\n" +" 被導入的結點將具與在導入文件中一樣的結點id,以便可以替換任何\n" +" 任何已經存在的內容。\n" +" 新結點被加入到已經存在的數據庫中 - 如果你想要使用導入數據來建\n" +" 立一個新的數據庫,那麼創建一個新數據庫(或者,麻煩點,回收所有\n" +" 舊數據。)\n" +" " + +#: ../roundup/admin.py:1079 +msgid "" +"Usage: importtables export_dir\n" +"\n" +" This imports the database tables exported using exporttables.\n" +" " +msgstr "" + +#. password +#: ../roundup/admin.py:1086 +msgid "" +"Usage: initialise [adminpw]\n" +" Initialise a new Roundup tracker.\n" +"\n" +" The administrator details will be set at this step.\n" +"\n" +" Execute the tracker's initialisation function dbinit.init()\n" +" " +msgstr "" +"用法:initialise [adminpw]\n" +" 初始化一個新的tracker。\n" +"\n" +" 管理員的信息需要在這一步進行設置。\n" +"\n" +" 執行tracker的初始化函數 dbinit.init()\n" +" " + +#: ../roundup/admin.py:1100 +msgid "Admin Password: " +msgstr "管理員口令:" + +#: ../roundup/admin.py:1101 +msgid " Confirm: " +msgstr " 確認:" + +#: ../roundup/admin.py:1105 +msgid "Instance home does not exist" +msgstr "實例目錄不存在" + +#: ../roundup/admin.py:1109 +msgid "Instance has not been installed" +msgstr "實例還沒有安裝" + +#: ../roundup/admin.py:1115 +msgid "" +"WARNING: The database is already initialised!\n" +"If you re-initialise it, you will lose all the data!\n" +"Erase it? Y/N: " +msgstr "" +"警告:數據庫已經被初始化!\n" +"如果你重新初始化它,所有的數據將會丟失!\n" +"刪除它嗎?Y/N: " + +#: ../roundup/admin.py:1135 #, fuzzy msgid "" "Usage: install [template [backend [key=val[,key=val]]]]\n" @@ -314,25 +710,12 @@ " 請查看初始化參數說明。\n" " " -# ../roundup/admin.py:359 :494 :573 :623 :676 :697 :725 :796 :863 :934 :982 -# :1004 :1031 :1093 :1159 -#: ../roundup/admin.py:437 ../roundup/admin.py:568 ../roundup/admin.py:671 -#: ../roundup/admin.py:764 ../roundup/admin.py:822 ../roundup/admin.py:908 -#: ../roundup/admin.py:967 ../roundup/admin.py:994 ../roundup/admin.py:1021 -#: ../roundup/admin.py:1098 ../roundup/admin.py:1193 ../roundup/admin.py:1279 -#: ../roundup/admin.py:1340 ../roundup/admin.py:1367 ../roundup/admin.py:1403 -#: ../roundup/admin.py:1531 ../roundup/admin.py:1615 -#: ../roundup/admin.py:437:568 :1021:1098:1193 :1279:1340 :1367:1403 :1531:1615 -#: :671:764 :822:908 :967:994 -msgid "Not enough arguments supplied" -msgstr "未提供足夠的參數" - -#: ../roundup/admin.py:443 +#: ../roundup/admin.py:1164 #, python-format msgid "Instance home parent directory \"%(parent)s\" does not exist" msgstr "實例目錄的父目錄 \"%(parent)s\" 不存在" -#: ../roundup/admin.py:452 +#: ../roundup/admin.py:1173 #, python-format msgid "" "WARNING: There appears to be a tracker in \"%(tracker_home)s\"!\n" @@ -343,22 +726,22 @@ "如果你打算重新安裝它,所有的數據將會丟失!\n" "刪除它嗎?Y/N: " -#: ../roundup/admin.py:465 +#: ../roundup/admin.py:1186 #, fuzzy msgid "Select template" msgstr "選擇模板 [classic]:" -#: ../roundup/admin.py:475 +#: ../roundup/admin.py:1196 #, fuzzy msgid "Select backend" msgstr "選擇後端 [anydbm]:" -#: ../roundup/admin.py:486 +#: ../roundup/admin.py:1207 #, fuzzy, python-format msgid "Error in configuration settings: \"%s\"" msgstr "配置保存到 %s" -#: ../roundup/admin.py:517 +#: ../roundup/admin.py:1238 #, fuzzy, python-format msgid "" "\n" @@ -370,11 +753,11 @@ " 現在你應該修改tracker的配置文件:\n" " %(config_file)s" -#: ../roundup/admin.py:527 +#: ../roundup/admin.py:1248 msgid " ... at a minimum, you must set following options:" msgstr " ... 至少,你必須設置以下選項:" -#: ../roundup/admin.py:532 +#: ../roundup/admin.py:1253 #, fuzzy, python-format msgid "" "\n" @@ -398,124 +781,371 @@ " %(database_init_file)s\n" " ... 查看關於客戶化的文檔來瞭解更多的信息。\n" -#: ../roundup/admin.py:563 -msgid "" -"Usage: genconfig <filename>\n" -" Generate a new tracker config file (ini style) with default\n" -" values in <filename>.\n" -" " -msgstr "" - -#: ../roundup/admin.py:581 -#, python-format +#: ../roundup/admin.py:1270 msgid "" -"Changing option\n" -" 'password_pbkdf2_default_rounds'\n" -"from old default of %(old_number)s to new default of %(new_number)s." -msgstr "" - -#: ../roundup/admin.py:593 +"Usage: list classname [property]\n" +" List the instances of a class.\n" +"\n" +" Lists all instances of the given class. If the property is not\n" +" specified, the \"label\" property is used. The label property is\n" +" tried in order: the key, \"name\", \"title\" and then the first\n" +" property, alphabetically.\n" +"\n" +" With -c, -S or -s print a list of item id's if no property\n" +" specified. If property specified, print list of that property\n" +" for every class instance.\n" +" " +msgstr "" +"用法:list classname [property]\n" +" 列出類型的實例。\n" +"\n" +" 列出所有給定類型的實例。如果屬性未被指定,則使用 \"label\" 屬性。\n" +" label 屬性以下列順序進行嘗試:鍵、\"name\"、\"title\" 和按字典順序\n" +" 的第一個屬性。\n" +"\n" +" 如果沒有指定屬性,使用 -c, -S 或 -s 會列印出條目 id 的列表。如果指\n" +" 定了屬性,對每個類型實例會列印出這個屬性。\n" +" " + +#: ../roundup/admin.py:1283 +msgid "Too many arguments supplied" +msgstr "提供了太多的參數了" + +#: ../roundup/admin.py:1319 #, python-format +msgid "%(nodeid)4s: %(value)s" +msgstr "" + +#: ../roundup/admin.py:1323 msgid "" -"Update 'password_pbkdf2_default_rounds' to a number equal to or larger\n" -"than %s." -msgstr "" - -#: ../roundup/admin.py:604 -msgid "" -"Usage: updateconfig <filename>\n" -" Generate an updated tracker config file (ini style) in\n" -" <filename>. Use current settings from existing roundup\n" -" tracker in tracker home.\n" +"Usage: migrate\n" +"\n" +" Update a tracker's database to be compatible with the Roundup\n" +" codebase.\n" +"\n" +" You should run the \"migrate\" command for your tracker once\n" +" you've installed the latest codebase.\n" +"\n" +" Do this before you use the web, command-line or mail interface\n" +" and before any users access the tracker.\n" +"\n" +" This command will respond with either \"Tracker updated\" (if\n" +" you've not previously run it on an RDBMS backend) or \"No\n" +" migration action required\" (if you have run it, or have used\n" +" another interface to the tracker, or possibly because you are\n" +" using anydbm).\n" +"\n" +" It's safe to run this even if it's not required, so just get\n" +" into the habit.\n" " " msgstr "" -#. password -#: ../roundup/admin.py:612 +#: ../roundup/admin.py:1344 +#, python-format +msgid "Tracker updated to schema version %s." +msgstr "" + +#: ../roundup/admin.py:1348 +#, python-format +msgid "No migration action required. At schema version %s." +msgstr "" + +#: ../roundup/admin.py:1353 msgid "" -"Usage: initialise [adminpw]\n" -" Initialise a new Roundup tracker.\n" -"\n" -" The administrator details will be set at this step.\n" -"\n" -" Execute the tracker's initialisation function dbinit.init()\n" +"Usage: pack period | date\n" +"\n" +" Remove journal entries older than a period of time specified or\n" +" before a certain date.\n" +"\n" +" A period is specified using the suffixes \"y\", \"m\", and \"d\". " +"The\n" +" suffix \"w\" (for \"week\") means 7 days.\n" +"\n" +" \"3y\" means three years\n" +" \"2y 1m\" means two years and one month\n" +" \"1m 25d\" means one month and 25 days\n" +" \"2w 3d\" means two weeks and three days\n" +"\n" +" Date format is \"YYYY-MM-DD\" eg:\n" +" 2001-01-01\n" +"\n" " " msgstr "" -"用法:initialise [adminpw]\n" -" 初始化一個新的tracker。\n" -"\n" -" 管理員的信息需要在這一步進行設置。\n" -"\n" -" 執行tracker的初始化函數 dbinit.init()\n" +"用法:pack period | date\n" +"\n" +" 刪除早於指定的時期或日期的舊的流水記錄。\n" +"\n" +" 一個時期使用後綴 \"y\", \"m\", 和 \"d\"。後綴 \"w\"(表示 \"week\")\n" +" 表示 7 天。\n" +"\n" +" \"3y\" 表示3年\n" +" \"2y 1m\" 表示2年1個月\n" +" \"1m 25d\" 表示1月25天\n" +" \"2w 3d\" 表示2周3天\n" +"\n" +" 日期格式是 \"YYYY-MM-DD\" 例如:\n" +" 2001-01-01\n" +"\n" +" " + +#: ../roundup/admin.py:1381 +msgid "Invalid format" +msgstr "無效的格式" + +#: ../roundup/admin.py:1392 +msgid "" +"Usage: perftest [mode] [arguments]*\n" +"\n" +" Time operations in Roundup. Supported arguments:\n" +"\n" +" [password] [rounds=<integer>] [scheme=<scheme>]\n" +"\n" +" 'password' is the default mode. The tracker's config.ini\n" +" setting for 'password_pbkdf2_default_rounds' is the default\n" +" value for 'rounds'. On the command line, 'rounds' can include\n" +" thousands separator of ',' or '.'. 'scheme' is the default\n" +" coded into Roundup. List supported schemes by using 'scheme='.\n" +"\n" " " - -#: ../roundup/admin.py:626 -msgid "Admin Password: " -msgstr "管理員口令:" - -#: ../roundup/admin.py:627 -msgid " Confirm: " -msgstr " 確認:" - -#: ../roundup/admin.py:631 -msgid "Instance home does not exist" -msgstr "實例目錄不存在" - -#: ../roundup/admin.py:635 -msgid "Instance has not been installed" -msgstr "實例還沒有安裝" - -#: ../roundup/admin.py:641 +msgstr "" + +#: ../roundup/admin.py:1425 +msgid "Invalid 'rounds'. Must be larger than 999." +msgstr "" + +#: ../roundup/admin.py:1429 +#, python-format +msgid "Invalid 'rounds'. It must be an integer not: %s" +msgstr "" + +#: ../roundup/admin.py:1456 +msgid "scheme does not support rounds." +msgstr "" + +#: ../roundup/admin.py:1459 +#, python-format +msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" +msgstr "" + +#: ../roundup/admin.py:1465 msgid "" -"WARNING: The database is already initialised!\n" -"If you re-initialise it, you will lose all the data!\n" -"Erase it? Y/N: " -msgstr "" -"警告:數據庫已經被初始化!\n" -"如果你重新初始化它,所有的數據將會丟失!\n" -"刪除它嗎?Y/N: " - -#: ../roundup/admin.py:661 +"Usage: pragma setting=value | 'list'\n" +" Set internal admin settings to a value. E.G.\n" +"\n" +" pragma verbose=True\n" +" pragma verbose=yes\n" +" pragma verbose=on\n" +" pragma verbose=1\n" +"\n" +" will turn on verbose mode for roundup-admin.\n" +"\n" +" pragma list\n" +"\n" +" will show all settings and their current values. If verbose\n" +" is enabled hidden settings and descriptions will be shown.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1489 +#, python-format +msgid "Argument must be setting=value, was given: %s." +msgstr "" + +#: ../roundup/admin.py:1492 +msgid "Current settings and values (NYI - not yet implemented):" +msgstr "" + +#: ../roundup/admin.py:1505 +#, fuzzy, python-format +msgid "Unknown setting %s." +msgstr "未知用戶名" + +#: ../roundup/admin.py:1514 +#, python-format +msgid "Incorrect value for boolean setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1521 +#, python-format +msgid "Incorrect value for integer setting %(setting)s: %(value)s." +msgstr "" + +#: ../roundup/admin.py:1527 +#, python-format +msgid "Internal error: pragma can not handle values of type: %s" +msgstr "" + +#: ../roundup/admin.py:1537 #, fuzzy msgid "" -"Usage: get property designator[,designator]*\n" -" Get the given property of one or more designator(s).\n" +"Usage: reindex [classname|classname:#-#|designator]*\n" +" Re-generate a tracker's search indexes.\n" +"\n" +" This will re-generate the search indexes for a tracker.\n" +" This will typically happen automatically.\n" +"\n" +" You can incrementally reindex using an argument like:\n" +"\n" +" reindex issue:23-1000\n" +"\n" +" to reindex issue class items 23-1000. Missing items\n" +" are reported but do not stop indexing of the range.\n" +" " +msgstr "" +"用法:reindex [classname|designator]*\n" +" 重新生成 tracker 的搜索索引。\n" +"\n" +" 重新生成 tracker 的搜索索引,它將自動進行。\n" +" " + +#: ../roundup/admin.py:1560 +#, python-format +msgid "no such item \"%(designator)s\"" +msgstr "沒有這樣的條目 \"%(designator)s\"" + +#: ../roundup/admin.py:1570 +#, fuzzy, python-format +msgid "no such item \"%(class)s%(id)s\"" +msgstr "沒有這樣的條目 \"%(designator)s\"" + +#: ../roundup/admin.py:1582 +#, fuzzy +msgid "" +"Usage: restore designator[,designator]*\n" +" Restore the retired node specified by designator.\n" "\n" " A designator is a classname and a nodeid concatenated,\n" " eg. bug1, user10, ...\n" "\n" -" Retrieves the property value of the nodes specified\n" -" by the designators.\n" +" The given nodes will become available for users again.\n" " " msgstr "" -"用法:get property designator[,designator]*\n" -" 得到指定屬性一個或多個指示器(designator)。\n" -"\n" -" 通過指示器(designator)來得到指定結點的屬性值。\n" +"Usage: restore designator[,designator]*\n" +" 恢復由指示器(designator)表明的已經回收的結點。\n" +"\n" +" 給定的結點將對用戶來說再次生效。\n" " " -# ../roundup/admin.py:527 :542 -#: ../roundup/admin.py:705 ../roundup/admin.py:723 ../roundup/admin.py:705:723 -#, python-format -msgid "property %s is not of type Multilink or Link so -d flag does not apply." -msgstr "屬性 %s 不是 Multilink 或 Link 類型,所以 -d 標誌不能應用。" - # ../roundup/admin.py:550 :945 :994 :1016 -#: ../roundup/admin.py:733 ../roundup/admin.py:1297 ../roundup/admin.py:1352 -#: ../roundup/admin.py:733:1297:1352 -#, python-format -msgid "no such %(classname)s node \"%(nodeid)s\"" +#: ../roundup/admin.py:1607 +#, fuzzy +msgid "no such %(classname)s node \" % (nodeid)s\"" msgstr "沒有這樣的 %(classname)s 結點 \"%(nodeid)s\"" -#: ../roundup/admin.py:736 -#, python-format -msgid "no such %(classname)s property \"%(propname)s\"" -msgstr "沒有這樣的 %(classname)s 屬性 \"%(propname)s\"" - -#: ../roundup/admin.py:744 +#: ../roundup/admin.py:1613 #, fuzzy msgid "" -"Usage: set items property=value property=value ...\n" +"Usage: retire designator[,designator]*\n" +" Retire the node specified by designator.\n" +"\n" +" A designator is a classname and a nodeid concatenated,\n" +" eg. bug1, user10, ...\n" +"\n" +" This action indicates that a particular node is not to be retrieved\n" +" by the list or find commands, and its key value may be re-used.\n" +" " +msgstr "" +"用法:retire designator[,designator]*\n" +" 回收由指示器(designator)所指明的結點。\n" +"\n" +" 這個動作指明一個特別的結點將不能被 list 或 find 命令得到,並且\n" +" 它的鍵值可以被重用。\n" +" " + +#: ../roundup/admin.py:1641 +msgid "" +"Usage: rollback\n" +" Undo all changes that are pending commit to the database.\n" +"\n" +" The changes made during an interactive session are not\n" +" automatically written to the database - they must be committed\n" +" manually. This command undoes all those changes, so a commit\n" +" immediately after would make no changes to the database.\n" +" " +msgstr "" +"用法:rollback\n" +" 撤銷所有未提交到數據庫的改動。\n" +"\n" +" 在交互對話中產生的改動並不自動寫到數據庫中 - 它們必須被手工提交。\n" +" 這個命令用來撤銷所有這些改動,所以在後面跟上提交的話不會對數據庫\n" +" 產生變化。\n" +" " + +#: ../roundup/admin.py:1654 +msgid "" +"Usage: security [Role name]\n" +"\n" +" Display the Permissions available to one or all Roles.\n" +" Also validates that any properties defined in a\n" +" permission are valid.\n" +"\n" +" Run this after changing your permissions to catch\n" +" typos.\n" +" " +msgstr "" + +#: ../roundup/admin.py:1668 +#, fuzzy, python-format +msgid "No such Role \"%(role)s\"\n" +msgstr "沒有這樣的角色 \"%(role)s\"" + +#: ../roundup/admin.py:1674 +#, fuzzy, python-format +msgid "New Web users get the Roles \"%(role)s\"\n" +msgstr "新Web用戶得到角色 \"%(role)s\"" + +#: ../roundup/admin.py:1677 +#, fuzzy, python-format +msgid "New Web users get the Role \"%(role)s\"\n" +msgstr "新Web用戶得到角色 \"%(role)s\"" + +#: ../roundup/admin.py:1681 +#, fuzzy, python-format +msgid "New Email users get the Roles \"%(role)s\"\n" +msgstr "新郵件用戶得到角色 \"%(role)s\"" + +#: ../roundup/admin.py:1683 +#, fuzzy, python-format +msgid "New Email users get the Role \"%(role)s\"\n" +msgstr "新郵件用戶得到角色 \"%(role)s\"" + +#: ../roundup/admin.py:1686 +#, fuzzy, python-format +msgid "Role \"%(name)s\":\n" +msgstr "角色 \"%(name)s\":" + +#: ../roundup/admin.py:1692 +#, fuzzy +msgid " %(description)s (%(name)s for \"%(klass)s\"" +msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" + +#: ../roundup/admin.py:1692 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" +msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" + +#: ../roundup/admin.py:1705 +#, python-format +msgid "" +"\n" +" **Invalid properties for %(class)s: %(props)s\n" +"\n" +msgstr "" + +#: ../roundup/admin.py:1711 +#, fuzzy, python-format +msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" +msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" + +#: ../roundup/admin.py:1714 +#, fuzzy, python-format +msgid " %(description)s (%(name)s)\n" +msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" + +#: ../roundup/admin.py:1718 +#, fuzzy +msgid "" +"Usage: set items property=value [property=value ...]\n" " Set the given properties of one or more items(s).\n" "\n" " The items are specified as a class or as a comma-separated\n" @@ -545,60 +1175,7 @@ " 你需要為多鏈接提供用逗號分隔的數字(例如 \"1,2,3\")。\n" " " -#: ../roundup/admin.py:812 -#, fuzzy -msgid "" -"Usage: filter classname propname=value ...\n" -" Find the nodes of the given class with a given property value.\n" -"\n" -" Find the nodes of the given class with a given property value.\n" -" Multiple values can be specified by separating them with commas.\n" -" If property is a string, all values must match. I.E. it's an\n" -" 'and' operation. If the property is a link/multilink any value\n" -" matches. I.E. an 'or' operation.\n" -" " -msgstr "" -"用法:find classname propname=value ...\n" -" 根據給定的 link 屬性值來查找給定類型的結點。\n" -"\n" -" 根據給定的 link 屬性值來查找給定類型的結點。這個值或者是鏈接結點的結" -"點ID,\n" -" 或者是結點的鍵值。\n" -" " - -# ../roundup/admin.py:663 :816 :828 :882 -#: ../roundup/admin.py:855 -#, fuzzy, python-format -msgid "Class %(curclassname)s has no property %(pn)s in %(propname)s." -msgstr "%(classname)s 沒有 \"%(propname)s\" 屬性" - -# ../roundup/admin.py:663 :816 :828 :882 -#: ../roundup/admin.py:893 ../roundup/admin.py:954 ../roundup/admin.py:1118 -#: ../roundup/admin.py:1130 ../roundup/admin.py:1213 -#: ../roundup/admin.py:893:954 :1118:1130:1213 -#, python-format -msgid "%(classname)s has no property \"%(propname)s\"" -msgstr "%(classname)s 沒有 \"%(propname)s\" 屬性" - -#: ../roundup/admin.py:900 -msgid "" -"Usage: find classname propname=value ...\n" -" Find the nodes of the given class with a given link property value.\n" -"\n" -" Find the nodes of the given class with a given link property value.\n" -" The value may be either the nodeid of the linked node, or its key\n" -" value.\n" -" " -msgstr "" -"用法:find classname propname=value ...\n" -" 根據給定的 link 屬性值來查找給定類型的結點。\n" -"\n" -" 根據給定的 link 屬性值來查找給定類型的結點。這個值或者是鏈接結點的結" -"點ID,\n" -" 或者是結點的鍵值。\n" -" " - -#: ../roundup/admin.py:961 +#: ../roundup/admin.py:1786 msgid "" "Usage: specification classname\n" " Show the properties for a classname.\n" @@ -612,129 +1189,17 @@ " 會列出給定類型的屬性。\n" " " -#: ../roundup/admin.py:977 +#: ../roundup/admin.py:1802 #, fuzzy, python-format msgid "%(key)s: %(value)s (key property)\n" msgstr "%(key)s: %(value)s (關鍵屬性)" -#: ../roundup/admin.py:980 +#: ../roundup/admin.py:1805 #, fuzzy, python-format msgid "%(key)s: %(value)s\n" msgstr "%(key)s: %(value)s (關鍵屬性)" -#: ../roundup/admin.py:983 -#, fuzzy -msgid "" -"Usage: display designator[,designator]*\n" -"\n" -" Show the property values for the given node(s).\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This lists the properties and their associated values\n" -" for the given node.\n" -" " -msgstr "" -"用法:display designator[,designator]*\n" -" 顯示給出結點的屬性值。\n" -"\n" -" 將顯示給出結點的屬性和相應的值。\n" -" " - -#: ../roundup/admin.py:1010 -#, python-format -msgid "%(key)s: %(value)s" -msgstr "" - -#: ../roundup/admin.py:1013 -msgid "" -"Usage: create classname property=value ...\n" -" Create a new entry of a given class.\n" -"\n" -" This creates a new entry of the given class using the property\n" -" name=value arguments provided on the command line after the \"create" -"\"\n" -" command.\n" -" " -msgstr "" -"用法:create classname property=value ...\n" -" 建立一個給定類的新記錄。\n" -"\n" -" 建立一個給定類的新記錄,將使用 \"create\" 命令行後面的屬性 " -"name=value 參數。\n" -" " - -#: ../roundup/admin.py:1041 -#, python-format -msgid "%(propname)s (Password): " -msgstr "%(propname)s (口令):" - -#: ../roundup/admin.py:1044 -#, python-format -msgid " %(propname)s (Again): " -msgstr " %(propname)s (再次):" - -#: ../roundup/admin.py:1048 -msgid "Sorry, try again..." -msgstr "抱歉,再試一次..." - -#: ../roundup/admin.py:1052 -#, python-format -msgid "%(propname)s (%(proptype)s): " -msgstr "" - -#: ../roundup/admin.py:1071 -#, python-format -msgid "you must provide the \"%(propname)s\" property." -msgstr "你必須提供 \"%(propname)s\" 屬性。" - -#: ../roundup/admin.py:1083 -msgid "" -"Usage: list classname [property]\n" -" List the instances of a class.\n" -"\n" -" Lists all instances of the given class. If the property is not\n" -" specified, the \"label\" property is used. The label property is\n" -" tried in order: the key, \"name\", \"title\" and then the first\n" -" property, alphabetically.\n" -"\n" -" With -c, -S or -s print a list of item id's if no property\n" -" specified. If property specified, print list of that property\n" -" for every class instance.\n" -" " -msgstr "" -"用法:list classname [property]\n" -" 列出類型的實例。\n" -"\n" -" 列出所有給定類型的實例。如果屬性未被指定,則使用 \"label\" 屬性。\n" -" label 屬性以下列順序進行嘗試:鍵、\"name\"、\"title\" 和按字典順序\n" -" 的第一個屬性。\n" -"\n" -" 如果沒有指定屬性,使用 -c, -S 或 -s 會列印出條目 id 的列表。如果指\n" -" 定了屬性,對每個類型實例會列印出這個屬性。\n" -" " - -#: ../roundup/admin.py:1096 -msgid "Too many arguments supplied" -msgstr "提供了太多的參數了" - -#: ../roundup/admin.py:1132 -#, python-format -msgid "%(nodeid)4s: %(value)s" -msgstr "" - -#: ../roundup/admin.py:1136 -msgid "" -"Usage: templates [trace_search]\n" -" List templates and their installed directories.\n" -"\n" -" With trace_search also list all directories that are\n" -" searched for templates.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1164 +#: ../roundup/admin.py:1808 msgid "" "Usage: table classname [property[,property]*]\n" " List the instances of a class in tabular form.\n" @@ -792,444 +1257,64 @@ " 將生成4個字符寬的 \"Name\" 列。\n" " " -#: ../roundup/admin.py:1208 +#: ../roundup/admin.py:1852 #, python-format msgid "\"%(spec)s\" not name:width" msgstr "\"%(spec)s\" 不是 名字:寬度" -#: ../roundup/admin.py:1230 +#: ../roundup/admin.py:1874 #, python-format msgid "\"%(spec)s\" does not have an integer width: \"%(width)s\"" msgstr "" -#: ../roundup/admin.py:1266 -msgid "" -"Usage: history designator [skipquiet]\n" -" Show the history entries of a designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" Lists the journal entries viewable by the user for the\n" -" node identified by the designator. If skipquiet is the\n" -" second argument, journal entries for quiet properties\n" -" are not shown.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1302 -msgid "" -"Usage: commit\n" -" Commit changes made to the database during an interactive session.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" using this command.\n" -"\n" -" One-off commands on the command-line are automatically committed if\n" -" they are successful.\n" -" " -msgstr "" -"用法:commit\n" -" 提交在一個交互會話中所產生的改動。\n" -"\n" -" 在一個交互會話中所產生的改動不會自動寫入數據庫 - 它們必須使用此命令\n" -" 來提交。\n" -" 在命令行中的 One-off 命令如果成功會被自動提交。\n" -" " - -#: ../roundup/admin.py:1317 +#: ../roundup/admin.py:1910 msgid "" -"Usage: rollback\n" -" Undo all changes that are pending commit to the database.\n" -"\n" -" The changes made during an interactive session are not\n" -" automatically written to the database - they must be committed\n" -" manually. This command undoes all those changes, so a commit\n" -" immediately after would make no changes to the database.\n" -" " -msgstr "" -"用法:rollback\n" -" 撤銷所有未提交到數據庫的改動。\n" -"\n" -" 在交互對話中產生的改動並不自動寫到數據庫中 - 它們必須被手工提交。\n" -" 這個命令用來撤銷所有這些改動,所以在後面跟上提交的話不會對數據庫\n" -" 產生變化。\n" -" " - -#: ../roundup/admin.py:1330 -#, fuzzy -msgid "" -"Usage: retire designator[,designator]*\n" -" Retire the node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" This action indicates that a particular node is not to be retrieved\n" -" by the list or find commands, and its key value may be re-used.\n" -" " -msgstr "" -"用法:retire designator[,designator]*\n" -" 回收由指示器(designator)所指明的結點。\n" -"\n" -" 這個動作指明一個特別的結點將不能被 list 或 find 命令得到,並且\n" -" 它的鍵值可以被重用。\n" -" " - -#: ../roundup/admin.py:1358 -#, fuzzy -msgid "" -"Usage: restore designator[,designator]*\n" -" Restore the retired node specified by designator.\n" -"\n" -" A designator is a classname and a nodeid concatenated,\n" -" eg. bug1, user10, ...\n" -"\n" -" The given nodes will become available for users again.\n" -" " -msgstr "" -"Usage: restore designator[,designator]*\n" -" 恢復由指示器(designator)表明的已經回收的結點。\n" -"\n" -" 給定的結點將對用戶來說再次生效。\n" +"Usage: templates [trace_search]\n" +" List templates and their installed directories.\n" +"\n" +" With trace_search also list all directories that are\n" +" searched for templates.\n" " " - -# ../roundup/admin.py:550 :945 :994 :1016 -#: ../roundup/admin.py:1383 -#, fuzzy -msgid "no such %(classname)s node \" % (nodeid)s\"" -msgstr "沒有這樣的 %(classname)s 結點 \"%(nodeid)s\"" - -#. grab the directory to export to -#: ../roundup/admin.py:1389 -#, fuzzy -msgid "" -"Usage: export [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files.\n" -" To exclude the files (e.g. for the msg or file class),\n" -" use the exporttables command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" -"用法:export [class[,class]] export_dir\n" -" 導出數據庫為冒號分隔值的文件。\n" -"\n" -" 對於導出的可選限制只是類名。\n" -"\n" -" 這個動作從數據庫中導出當前的數據到以冒號分隔值的文件中去,它們將存\n" -" 放在指定的目標目錄中。\n" -" " - -#: ../roundup/admin.py:1496 -#, fuzzy -msgid "" -"Usage: exporttables [[-]class[,class]] export_dir\n" -" Export the database to colon-separated-value files, excluding the\n" -" files below $TRACKER_HOME/db/files/ (which can be archived " -"separately).\n" -" To include the files, use the export command.\n" -"\n" -" Optionally limit the export to just the named classes\n" -" or exclude the named classes, if the 1st argument starts with '-'.\n" -"\n" -" This action exports the current data from the database into\n" -" colon-separated-value files that are placed in the nominated\n" -" destination directory.\n" -" " -msgstr "" -"用法:export [class[,class]] export_dir\n" -" 導出數據庫為冒號分隔值的文件。\n" -"\n" -" 對於導出的可選限制只是類名。\n" -"\n" -" 這個動作從數據庫中導出當前的數據到以冒號分隔值的文件中去,它們將存\n" -" 放在指定的目標目錄中。\n" -" " - -#: ../roundup/admin.py:1511 -msgid "" -"Usage: import import_dir\n" -" Import a database from the directory containing CSV files,\n" -" two per class to import.\n" -"\n" -" The files used in the import are:\n" -"\n" -" <class>.csv\n" -" This must define the same properties as the class (including\n" -" having a \"header\" line with those property names.)\n" -" <class>-journals.csv\n" -" This defines the journals for the items being imported.\n" -"\n" -" The imported nodes will have the same nodeid as defined in the\n" -" import file, thus replacing any existing content.\n" -"\n" -" The new nodes are added to the existing database - if you want to\n" -" create a new database using the imported data, then create a new\n" -" database (or, tediously, retire all the old data.)\n" -" " -msgstr "" -"用法:import import_dir\n" -" 從包含 CSV 文件的目錄中導入數據庫,一個類有兩個文件用於導入。\n" -"\n" -" 用於導入的文件為:\n" -"\n" -" <class>.csv\n" -" 它必須定義與類型一樣的屬性(包括一個 \"header\" 行包含那些\n" -" 屬性的名字。)\n" -" <class>-journals.csv\n" -" 它用來定義被導入的條目的日誌。\n" -"\n" -" 被導入的結點將具與在導入文件中一樣的結點id,以便可以替換任何\n" -" 任何已經存在的內容。\n" -" 新結點被加入到已經存在的數據庫中 - 如果你想要使用導入數據來建\n" -" 立一個新的數據庫,那麼創建一個新數據庫(或者,麻煩點,回收所有\n" -" 舊數據。)\n" -" " - -#: ../roundup/admin.py:1590 -msgid "" -"Usage: importtables export_dir\n" -"\n" -" This imports the database tables exported using exporttables.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1597 +msgstr "" + +#: ../roundup/admin.py:1938 msgid "" -"Usage: pack period | date\n" -"\n" -" Remove journal entries older than a period of time specified or\n" -" before a certain date.\n" -"\n" -" A period is specified using the suffixes \"y\", \"m\", and \"d\". " -"The\n" -" suffix \"w\" (for \"week\") means 7 days.\n" -"\n" -" \"3y\" means three years\n" -" \"2y 1m\" means two years and one month\n" -" \"1m 25d\" means one month and 25 days\n" -" \"2w 3d\" means two weeks and three days\n" -"\n" -" Date format is \"YYYY-MM-DD\" eg:\n" -" 2001-01-01\n" -"\n" -" " -msgstr "" -"用法:pack period | date\n" -"\n" -" 刪除早於指定的時期或日期的舊的流水記錄。\n" -"\n" -" 一個時期使用後綴 \"y\", \"m\", 和 \"d\"。後綴 \"w\"(表示 \"week\")\n" -" 表示 7 天。\n" -"\n" -" \"3y\" 表示3年\n" -" \"2y 1m\" 表示2年1個月\n" -" \"1m 25d\" 表示1月25天\n" -" \"2w 3d\" 表示2周3天\n" -"\n" -" 日期格式是 \"YYYY-MM-DD\" 例如:\n" -" 2001-01-01\n" -"\n" -" " - -#: ../roundup/admin.py:1625 -msgid "Invalid format" -msgstr "無效的格式" - -#: ../roundup/admin.py:1638 -msgid "" -"Usage: reindex [classname|designator]*\n" -" Re-generate a tracker's search indexes.\n" -"\n" -" This will re-generate the search indexes for a tracker.\n" -" This will typically happen automatically.\n" -" " -msgstr "" -"用法:reindex [classname|designator]*\n" -" 重新生成 tracker 的搜索索引。\n" -"\n" -" 重新生成 tracker 的搜索索引,它將自動進行。\n" -" " - -#: ../roundup/admin.py:1652 -#, python-format -msgid "no such item \"%(designator)s\"" -msgstr "沒有這樣的條目 \"%(designator)s\"" - -#: ../roundup/admin.py:1662 -#, fuzzy -msgid "" -"Usage: security [Role name]\n" -"\n" -" Display the Permissions available to one or all Roles.\n" -" " -msgstr "" -"用法:security [角色名]\n" -" 顯示一個或多個角色的權限。\n" +"Usage: updateconfig <filename>\n" +" Generate an updated tracker config file (ini style) in\n" +" <filename>. Use current settings from existing roundup\n" +" tracker in tracker home.\n" " " - -#: ../roundup/admin.py:1671 -#, fuzzy, python-format -msgid "No such Role \"%(role)s\"\n" -msgstr "沒有這樣的角色 \"%(role)s\"" - -#: ../roundup/admin.py:1677 -#, fuzzy, python-format -msgid "New Web users get the Roles \"%(role)s\"\n" -msgstr "新Web用戶得到角色 \"%(role)s\"" - -#: ../roundup/admin.py:1680 -#, fuzzy, python-format -msgid "New Web users get the Role \"%(role)s\"\n" -msgstr "新Web用戶得到角色 \"%(role)s\"" - -#: ../roundup/admin.py:1684 -#, fuzzy, python-format -msgid "New Email users get the Roles \"%(role)s\"\n" -msgstr "新郵件用戶得到角色 \"%(role)s\"" - -#: ../roundup/admin.py:1686 -#, fuzzy, python-format -msgid "New Email users get the Role \"%(role)s\"\n" -msgstr "新郵件用戶得到角色 \"%(role)s\"" - -#: ../roundup/admin.py:1689 -#, fuzzy, python-format -msgid "Role \"%(name)s\":\n" -msgstr "角色 \"%(name)s\":" - -#: ../roundup/admin.py:1695 -#, fuzzy -msgid " %(description)s (%(name)s for \"%(klass)s\"" -msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" - -#: ../roundup/admin.py:1695 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\": %(properties)s only)\n" -msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" - -#: ../roundup/admin.py:1708 +msgstr "" + +# ../roundup/cgi/actions.py:549 :559 :730 :749 +#: ../roundup/admin.py:1946 ../roundup/cgi/actions.py:886 +#: ../roundup/cgi/actions.py:897 ../roundup/cgi/actions.py:1099 +#: ../roundup/cgi/actions.py:1113 ../roundup/cgi/actions.py:886:897 :1099:1113 #, python-format -msgid "" -"\n" -" **Invalid properties for %(class)s: %(props)s\n" -"\n" -msgstr "" - -#: ../roundup/admin.py:1714 -#, fuzzy, python-format -msgid " %(description)s (%(name)s for \"%(klass)s\" only)\n" -msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" - -#: ../roundup/admin.py:1717 -#, fuzzy, python-format -msgid " %(description)s (%(name)s)\n" -msgstr " %(description)s (%(name)s 僅用於 \"%(klass)s\")" - -#: ../roundup/admin.py:1721 -msgid "" -"Usage: migrate\n" -"\n" -" Update a tracker's database to be compatible with the Roundup\n" -" codebase.\n" -"\n" -" You should run the \"migrate\" command for your tracker once\n" -" you've installed the latest codebase.\n" -"\n" -" Do this before you use the web, command-line or mail interface\n" -" and before any users access the tracker.\n" -"\n" -" This command will respond with either \"Tracker updated\" (if\n" -" you've not previously run it on an RDBMS backend) or \"No\n" -" migration action required\" (if you have run it, or have used\n" -" another interface to the tracker, or possibly because you are\n" -" using anydbm).\n" -"\n" -" It's safe to run this even if it's not required, so just get\n" -" into the habit.\n" -" " -msgstr "" - -#: ../roundup/admin.py:1742 -#, python-format -msgid "Tracker updated to schema version %s." -msgstr "" - -#: ../roundup/admin.py:1746 -#, python-format -msgid "No migration action required. At schema version %s." -msgstr "" - -#: ../roundup/admin.py:1751 -msgid "" -"Usage: perftest [mode] [arguments]*\n" -"\n" -" Time operations in Roundup. Supported arguments:\n" -"\n" -" [password] [rounds=<integer>] [scheme=<scheme>]\n" -"\n" -" 'password' is the default mode. The tracker's config.ini\n" -" setting for 'password_pbkdf2_default_rounds' is the default\n" -" value for 'rounds'. On the command line, 'rounds' can include\n" -" thousands separator of ',' or '.'. 'scheme' is the default\n" -" coded into Roundup. List supported schemes by using 'scheme='.\n" -"\n" -" " -msgstr "" - -#: ../roundup/admin.py:1785 -msgid "Invalid 'rounds'. Must be larger than 999." -msgstr "" - -#: ../roundup/admin.py:1789 -#, python-format -msgid "Invalid 'rounds'. It must be an integer not: %s" -msgstr "" - -#: ../roundup/admin.py:1816 -msgid "scheme does not support rounds." -msgstr "" - -#: ../roundup/admin.py:1819 -#, python-format -msgid "Hash time: %(time)0.9f seconds, scheme: %(scheme)s, rounds: %(rounds)s" -msgstr "" - -#: ../roundup/admin.py:1847 +msgid "Error: %s" +msgstr "錯誤:%s" + +#: ../roundup/admin.py:1974 #, python-format msgid "Unknown command \"%(command)s\" (\"help commands\" for a list)" msgstr "未知命令 \"%(command)s\" (\"help commands\" 查看命令列表)" -#: ../roundup/admin.py:1853 +#: ../roundup/admin.py:1980 #, python-format msgid "Multiple commands match \"%(command)s\": %(list)s" msgstr "多命令匹配 \"%(command)s\": %(list)s" -#: ../roundup/admin.py:1862 +#: ../roundup/admin.py:1996 msgid "Enter tracker home: " msgstr "輸入tracker起始目錄:" -# ../roundup/admin.py:1279 :1285 :1305 -#: ../roundup/admin.py:1871 ../roundup/admin.py:1877 ../roundup/admin.py:1914 -#: ../roundup/admin.py:1871:1877:1914 -#, python-format -msgid "Error: %(message)s" -msgstr "錯誤:%(message)s" - -#: ../roundup/admin.py:1887 ../roundup/admin.py:1891 -#: ../roundup/admin.py:1887:1891 +#: ../roundup/admin.py:2023 ../roundup/admin.py:2027 +#: ../roundup/admin.py:2023:2027 #, python-format msgid "Error: Couldn't open tracker: %(message)s" msgstr "錯誤:不能打開tracker:%(message)s" -#: ../roundup/admin.py:1927 +#: ../roundup/admin.py:2060 #, python-format msgid "" "Roundup %s ready for input.\n" @@ -1238,15 +1323,15 @@ "Roundup %s 輸入就緒。\n" "敲入 \"help\" 獲得說明。" -#: ../roundup/admin.py:1932 +#: ../roundup/admin.py:2065 msgid "Note: command history and editing not available" msgstr "注意:命令歷史和編輯無效" -#: ../roundup/admin.py:1938 +#: ../roundup/admin.py:2071 msgid "exit..." msgstr "退出..." -#: ../roundup/admin.py:1951 +#: ../roundup/admin.py:2084 msgid "There are unsaved changes. Commit them (y/N)? " msgstr "存在未被保存的改動。提交嗎(y/N)?" @@ -1280,7 +1365,7 @@ #: ../roundup/backends/back_anydbm.py:1422 #: ../roundup/backends/back_anydbm.py:1440 #: ../roundup/backends/back_anydbm.py:1487 -#: ../roundup/backends/back_anydbm.py:2117 +#: ../roundup/backends/back_anydbm.py:2113 #: ../roundup/backends/back_anydbm.py:871:884 #: ../roundup/backends/rdbms_common.py:1708 #: ../roundup/backends/rdbms_common.py:1955 @@ -1289,7 +1374,7 @@ #: ../roundup/backends/rdbms_common.py:2267 #: ../roundup/backends/rdbms_common.py:3219 #: ../roundup/backends/rdbms_common.py:1708:1955 :1158:1193 :1422:1440:1487 -#: :2117 :2194:2214 :2267:3219 +#: :2113 :2194:2214 :2267:3219 msgid "Database open read-only" msgstr "" @@ -1535,14 +1620,6 @@ msgid "Edit Error: %s" msgstr "編輯錯誤:%s" -# ../roundup/cgi/actions.py:549 :559 :730 :749 -#: ../roundup/cgi/actions.py:886 ../roundup/cgi/actions.py:897 -#: ../roundup/cgi/actions.py:1099 ../roundup/cgi/actions.py:1113 -#: ../roundup/cgi/actions.py:886:897 :1099:1113 -#, python-format -msgid "Error: %s" -msgstr "錯誤:%s" - #: ../roundup/cgi/actions.py:931 msgid "" "Invalid One Time Key!\n" @@ -1791,8 +1868,8 @@ "</body></html>" msgstr "" -#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1570 -#: ../roundup/cgi/client.py:670:1570 +#: ../roundup/cgi/client.py:670 ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:670:1567 msgid "Required Header Missing" msgstr "" @@ -1801,146 +1878,146 @@ msgid "Client is not allowed to use Rest Interface." msgstr "匿名用戶不允許使用web界面" -#: ../roundup/cgi/client.py:921 +#: ../roundup/cgi/client.py:918 msgid "Form Error: " msgstr "表格錯誤:" -#: ../roundup/cgi/client.py:1011 +#: ../roundup/cgi/client.py:1008 #, python-format msgid "Unrecognized charset: %r" msgstr "無法識別的字符集:%r" -#: ../roundup/cgi/client.py:1264 ../roundup/cgi/client.py:2250 -#: ../roundup/cgi/client.py:1264:2250 +#: ../roundup/cgi/client.py:1261 ../roundup/cgi/client.py:2247 +#: ../roundup/cgi/client.py:1261:2247 msgid "broken form: multiple @action values submitted" msgstr "" -#: ../roundup/cgi/client.py:1279 +#: ../roundup/cgi/client.py:1276 msgid "Anonymous users are not allowed to use the web interface" msgstr "匿名用戶不允許使用web界面" -#: ../roundup/cgi/client.py:1430 +#: ../roundup/cgi/client.py:1427 msgid "Referer header not available." msgstr "" -#: ../roundup/cgi/client.py:1434 +#: ../roundup/cgi/client.py:1431 #, python-format msgid "csrf key used with wrong method from: %s" msgstr "" -#: ../roundup/cgi/client.py:1463 +#: ../roundup/cgi/client.py:1460 #, python-format msgid "csrf header %(header)s required but missing for user%(userid)s." msgstr "" -#: ../roundup/cgi/client.py:1467 +#: ../roundup/cgi/client.py:1464 #, python-format msgid "Missing header: %s" msgstr "" -#: ../roundup/cgi/client.py:1475 +#: ../roundup/cgi/client.py:1472 #, python-format msgid "csrf Referer header check failed for user%(userid)s. Value=%(referer)s" msgstr "" -#: ../roundup/cgi/client.py:1480 +#: ../roundup/cgi/client.py:1477 #, fuzzy, python-format msgid "Invalid Referer: %s" msgstr "無效登錄" -#: ../roundup/cgi/client.py:1495 +#: ../roundup/cgi/client.py:1492 #, python-format msgid "csrf Origin header check failed for user%(userid)s. Value=%(origin)s" msgstr "" -#: ../roundup/cgi/client.py:1500 +#: ../roundup/cgi/client.py:1497 #, fuzzy, python-format msgid "Invalid Origin %s" msgstr "無效登錄" -#: ../roundup/cgi/client.py:1514 +#: ../roundup/cgi/client.py:1511 #, python-format msgid "" "csrf X-FORWARDED-HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1520 +#: ../roundup/cgi/client.py:1517 #, python-format msgid "Invalid X-FORWARDED-HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1539 +#: ../roundup/cgi/client.py:1536 #, python-format msgid "csrf HOST header check failed for user%(userid)s. Value=%(host)s" msgstr "" -#: ../roundup/cgi/client.py:1544 +#: ../roundup/cgi/client.py:1541 #, python-format msgid "Invalid HOST %s" msgstr "" -#: ../roundup/cgi/client.py:1552 +#: ../roundup/cgi/client.py:1549 msgid "Csrf: unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1553 +#: ../roundup/cgi/client.py:1550 msgid "Unable to verify sufficient headers" msgstr "" -#: ../roundup/cgi/client.py:1567 +#: ../roundup/cgi/client.py:1564 #, python-format msgid "csrf X-REQUESTED-WITH xmlrpc required header check failed for user%s." msgstr "" -#: ../roundup/cgi/client.py:1608 +#: ../roundup/cgi/client.py:1605 #, python-format msgid "Required csrf field missing for user%s" msgstr "" -#: ../roundup/cgi/client.py:1610 ../roundup/cgi/client.py:1637 -#: ../roundup/cgi/client.py:1654 ../roundup/cgi/client.py:1610:1637:1654 +#: ../roundup/cgi/client.py:1607 ../roundup/cgi/client.py:1634 +#: ../roundup/cgi/client.py:1651 ../roundup/cgi/client.py:1607:1634:1651 msgid "" "We can't validate your session (csrf failure). Re-enter any unsaved data and " "try again." msgstr "" -#: ../roundup/cgi/client.py:1614 +#: ../roundup/cgi/client.py:1611 #, python-format msgid "csrf field not supplied by user%s" msgstr "" -#: ../roundup/cgi/client.py:1626 +#: ../roundup/cgi/client.py:1623 #, python-format msgid "" "Csrf mismatch user: current user %(user)s != stored user %(stored)s, current " "session, stored session: %(cur_sess)s,%(stor_sess)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1644 +#: ../roundup/cgi/client.py:1641 #, python-format msgid "" "Csrf mismatch user: current session %(curr_sess)s != stored session " "%(stor_sess)s, current user/stored user is: %(user)s for key %(key)s." msgstr "" -#: ../roundup/cgi/client.py:1838 +#: ../roundup/cgi/client.py:1835 #, fuzzy msgid "You are not allowed to view this file." msgstr "你不允許查看此頁" -#: ../roundup/cgi/client.py:2127 +#: ../roundup/cgi/client.py:2124 #, python-format msgid "%(starttag)sTime elapsed: %(seconds)fs%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2131 +#: ../roundup/cgi/client.py:2128 #, python-format msgid "" "%(starttag)sCache hits: %(cache_hits)d, misses %(cache_misses)d. Loading " "items: %(get_items)f secs. Filtering: %(filtering)f secs.%(endtag)s\n" msgstr "" -#: ../roundup/cgi/client.py:2669 +#: ../roundup/cgi/client.py:2666 #, python-format msgid "" "Cache failure: compressed file %(compressed)s is older than its source file " @@ -2129,16 +2206,16 @@ msgid "<option %svalue=\"-1\">- no selection -</option>" msgstr "<option %svalue=\"-1\">- 未選擇 -</option>" -#: ../roundup/cgi/timestamp.py:19 +#: ../roundup/cgi/timestamp.py:23 msgid "Form is corrupted." msgstr "" -#: ../roundup/cgi/timestamp.py:28 +#: ../roundup/cgi/timestamp.py:32 #, python-format msgid "Form is corrupted, missing: %s." msgstr "" -#: ../roundup/cgi/timestamp.py:30 +#: ../roundup/cgi/timestamp.py:34 msgid "Responding to form too quickly." msgstr "" @@ -2279,54 +2356,54 @@ msgid "in %s" msgstr "在 %s" -#: ../roundup/hyperdb.py:119 +#: ../roundup/hyperdb.py:120 #, fuzzy, python-format msgid "property %(property)s: %(errormsg)s" msgstr "錯誤:%s: %s" -#: ../roundup/hyperdb.py:148 +#: ../roundup/hyperdb.py:149 #, python-format msgid "property %(property)s: %(value)r is an invalid date (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:171 +#: ../roundup/hyperdb.py:172 #, python-format msgid "" "property %(property)s: %(value)r is an invalid date interval (%(errormsg)s)" msgstr "" -#: ../roundup/hyperdb.py:428 +#: ../roundup/hyperdb.py:429 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a number" msgstr "屬性 \"%(propname)s\": \"%(value)s\" 當前不在列表中" -#: ../roundup/hyperdb.py:442 +#: ../roundup/hyperdb.py:443 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not an integer" msgstr "屬性 \"%(propname)s\": \"%(value)s\" 當前不在列表中" -#: ../roundup/hyperdb.py:464 +#: ../roundup/hyperdb.py:465 #, python-format msgid "\"%s\" not a node designator" msgstr "" -#: ../roundup/hyperdb.py:1493 ../roundup/hyperdb.py:1501 -#: ../roundup/hyperdb.py:1493:1501 +#: ../roundup/hyperdb.py:1494 ../roundup/hyperdb.py:1502 +#: ../roundup/hyperdb.py:1494:1502 #, fuzzy, python-format msgid "Not a property name: %s" msgstr "不是日期格式:%s" -#: ../roundup/hyperdb.py:1978 +#: ../roundup/hyperdb.py:1979 #, fuzzy, python-format msgid "property %(property)s: %(value)r is not a %(classname)s." msgstr "屬性 \"%(propname)s\": \"%(value)s\" 當前不在列表中" -#: ../roundup/hyperdb.py:1984 +#: ../roundup/hyperdb.py:1985 #, python-format msgid "you may only enter ID values for property %s" msgstr "" -#: ../roundup/hyperdb.py:2019 +#: ../roundup/hyperdb.py:2020 #, python-format msgid "%(property)r is not a property of %(classname)s" msgstr "" @@ -2573,116 +2650,116 @@ msgid "Method %(m)s not allowed. Allowed: %(a)s" msgstr "" -#: ../roundup/rest.py:1097 +#: ../roundup/rest.py:1101 #, fuzzy, python-format msgid "Invalid attribute %s" msgstr "無效登錄" -#: ../roundup/rest.py:2090 +#: ../roundup/rest.py:2094 #, python-format msgid "Api rate limits exceeded. Please wait: %s seconds." msgstr "" -#: ../roundup/rest.py:2125 +#: ../roundup/rest.py:2129 #, python-format msgid "" "Unable to parse Accept Header. %(error)s. Acceptable types: " "%(acceptable_types)s" msgstr "" -#: ../roundup/rest.py:2305 +#: ../roundup/rest.py:2309 #, python-format msgid "" "Unrecognized api version: %s. See /rest without specifying api version for " "supported versions." msgstr "" -#: ../roundup/roundupdb.py:139 +#: ../roundup/roundupdb.py:140 #, python-format msgid "Username '%s' already exists." msgstr "" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "files" msgstr "文件" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "messages" msgstr "信息" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "nosy" msgstr "雜事" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "superseder" msgstr "延期" -#: ../roundup/roundupdb.py:223 +#: ../roundup/roundupdb.py:224 msgid "title" msgstr "標題" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "assignedto" msgstr "分配給" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 #, fuzzy msgid "keyword" msgstr "關鍵字" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "priority" msgstr "優先級" -#: ../roundup/roundupdb.py:224 +#: ../roundup/roundupdb.py:225 msgid "status" msgstr "狀態" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "activity" msgstr "活躍度" #. following properties are common for all hyperdb classes #. they are listed here to keep things in one place -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "actor" msgstr "執行人" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creation" msgstr "建立" -#: ../roundup/roundupdb.py:227 +#: ../roundup/roundupdb.py:228 msgid "creator" msgstr "建立者" -#: ../roundup/roundupdb.py:425 +#: ../roundup/roundupdb.py:426 #, python-format msgid "No key for \"%(adr)s\" in keyring" msgstr "" -#: ../roundup/roundupdb.py:503 +#: ../roundup/roundupdb.py:504 #, python-format msgid "New submission from %(authname)s%(authaddr)s:" msgstr "" -#: ../roundup/roundupdb.py:506 +#: ../roundup/roundupdb.py:507 #, python-format msgid "%(authname)s%(authaddr)s added the comment:" msgstr "" -#: ../roundup/roundupdb.py:509 +#: ../roundup/roundupdb.py:510 #, python-format msgid "Change by %(authname)s%(authaddr)s:" msgstr "" -#: ../roundup/roundupdb.py:528 +#: ../roundup/roundupdb.py:529 #, python-format msgid "File '%(filename)s' not attached - you can download it from %(link)s." msgstr "" -#: ../roundup/roundupdb.py:903 +#: ../roundup/roundupdb.py:904 #, python-format msgid "" "\n" @@ -2692,12 +2769,12 @@ "%(old)s" msgstr "" -#: ../roundup/scripts/roundup_demo.py:49 +#: ../roundup/scripts/roundup_demo.py:156 #, python-format msgid "Enter directory path to create demo tracker [%s]: " msgstr "輸入目錄來建立演示tracker [%s]:" -#: ../roundup/scripts/roundup_demo.py:54 +#: ../roundup/scripts/roundup_demo.py:162 #, python-format msgid "" "Enter tracker template to use (one of (%(template_list)s)) " @@ -2790,23 +2867,23 @@ msgid "User %(user)s doesn't exist" msgstr "用戶 %(user)s 不存在" -#: ../roundup/scripts/roundup_server.py:805 +#: ../roundup/scripts/roundup_server.py:809 #, python-format msgid "Multiprocess mode \"%s\" is not available, switching to single-process" msgstr "" -#: ../roundup/scripts/roundup_server.py:832 +#: ../roundup/scripts/roundup_server.py:837 #, python-format msgid "Unable to bind to port %s, port already in use." msgstr "無法綁定到端口 %s, 端口已經被佔用。" -#: ../roundup/scripts/roundup_server.py:836 +#: ../roundup/scripts/roundup_server.py:841 #, fuzzy, python-format msgid "" "Unable to bind to port %(port)s, access not allowed, errno: %(errno)s %(msg)s" msgstr "無法綁定到端口 %s, 端口已經被佔用。" -#: ../roundup/scripts/roundup_server.py:915 +#: ../roundup/scripts/roundup_server.py:920 #, fuzzy msgid "" " -c <Command> Windows Service options.\n" @@ -2823,7 +2900,7 @@ " 變量上配置一個tracker。這個選項與其經選項是互斥的。打入\n" " \"roundup-server -c help\" 來瞭解Windows服務的規範。" -#: ../roundup/scripts/roundup_server.py:922 +#: ../roundup/scripts/roundup_server.py:927 msgid "" " -u <UID> runs the Roundup web server as this UID\n" " -g <GID> runs the Roundup web server as this GID\n" @@ -2837,7 +2914,7 @@ "去。\n" " 如果使用了 -d 選項,則 -l 選項 *必須* 要指定。" -#: ../roundup/scripts/roundup_server.py:929 +#: ../roundup/scripts/roundup_server.py:934 #, fuzzy, python-format msgid "" "\n" @@ -2858,6 +2935,8 @@ " -N log client machine names instead of IP addresses (much " "slower)\n" " -i <fname> set tracker index template\n" +" -m <children> maximum number of children to spawn in fork multiprocess " +"mode\n" " -s enable SSL\n" " -L http request logging uses python logging (roundup.http)\n" " -e <fname> PEM file containing SSL key and certificate\n" @@ -2933,20 +3012,20 @@ " 意數量的 name=home 對。要確保 name 部分不能包括任何非url安全的\n" " 字符,像空格,因為它們會把IE搞亂。\n" -#: ../roundup/scripts/roundup_server.py:1105 +#: ../roundup/scripts/roundup_server.py:1111 msgid "Instances must be name=home" msgstr "實例必須是 實例名=實例路徑" -#: ../roundup/scripts/roundup_server.py:1119 +#: ../roundup/scripts/roundup_server.py:1125 #, python-format msgid "Configuration saved to %s" msgstr "配置保存到 %s" -#: ../roundup/scripts/roundup_server.py:1137 +#: ../roundup/scripts/roundup_server.py:1143 msgid "Sorry, you can't run the server as a daemon on this Operating System" msgstr "抱歉,在這個操作系統上不能以守護進程的方式來運行服務" -#: ../roundup/scripts/roundup_server.py:1157 +#: ../roundup/scripts/roundup_server.py:1163 #, python-format msgid "Roundup server started on %(HOST)s:%(PORT)s" msgstr "Roundup server 啟動於 %(HOST)s:%(PORT)s" @@ -5409,6 +5488,21 @@ msgstr "登錄口令" #, fuzzy +#~ msgid "" +#~ "Usage: security [Role name]\n" +#~ "\n" +#~ " Display the Permissions available to one or all Roles.\n" +#~ " " +#~ msgstr "" +#~ "用法:security [角色名]\n" +#~ " 顯示一個或多個角色的權限。\n" +#~ " " + +# ../roundup/admin.py:1279 :1285 :1305 +#~ msgid "Error: %(message)s" +#~ msgstr "錯誤:%(message)s" + +#, fuzzy #~ msgid "Tracker updated" #~ msgstr "Tracker根目錄"
